< bitcoin-git> [bitcoin] fanquake pushed 3 commits to master: https://github.com/bitcoin/bitcoin/compare/b3067f4338d9...cc1d7fd57c9e
< bitcoin-git> bitcoin/master 4d45577 fanquake: build: remove unnecessary macOS qt patching
< bitcoin-git> bitcoin/master 93995c2 fanquake: build: remove unnecessary qt xcb patching
< bitcoin-git> bitcoin/master cc1d7fd fanquake: Merge #16879: build: remove redundant sed patching
< bitcoin-git> [bitcoin] fanquake merged pull request #16879: build: remove redundant sed patching (master...messy_depends) https://github.com/bitcoin/bitcoin/pull/16879
< bitcoin-git> [bitcoin] sipa opened pull request #16902: [POC] O(1) OP_IF/NOTIF/ELSE/ENDIF script implementation (master...201909_o1nestedifs) https://github.com/bitcoin/bitcoin/pull/16902
< bitcoin-git> [bitcoin] fanquake closed pull request #14245: Minimize vfExec counting in script handling (master...fexec) https://github.com/bitcoin/bitcoin/pull/14245
< provoostenator> achow101: I made them per commit, which is probably what confuses Github
< bitcoin-git> [bitcoin] laanwj pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/cc1d7fd57c9e...4b5e5ef4cec3
< bitcoin-git> bitcoin/master f0636d3 Carl Dong: depends: zlib: Move toolchain options to configure
< bitcoin-git> bitcoin/master 4b5e5ef Wladimir J. van der Laan: Merge #16809: depends: zlib: Move toolchain options to configure
< bitcoin-git> [bitcoin] laanwj merged pull request #16809: depends: zlib: Move toolchain options to configure (master...2019-09-improve-zlib-pkg) https://github.com/bitcoin/bitcoin/pull/16809
< promag> running extended tests in branch #16898
< gribble> https://github.com/bitcoin/bitcoin/issues/16898 | test: Remove connect_nodes_bi by MarcoFalke · Pull Request #16898 · bitcoin/bitcoin · GitHub
< bitcoin-git> [bitcoin] laanwj pushed 3 commits to master: https://github.com/bitcoin/bitcoin/compare/4b5e5ef4cec3...feb162d50027
< bitcoin-git> bitcoin/master 38bfca6 lucash-dev: Added comments referencing multiple CVEs in tests and production code.
< bitcoin-git> bitcoin/master 0c62e3a lucash-dev: New regression testing for CVE-2018-17144, CVE-2012-2459, and CVE-2010-513...
< bitcoin-git> bitcoin/master feb162d Wladimir J. van der Laan: Merge #14696: qa: Add explicit references to related CVE's in p2p_invalid_...
< bitcoin-git> [bitcoin] laanwj merged pull request #14696: qa: Add explicit references to related CVE's in p2p_invalid_block test (master...mention-cve-invalid-block) https://github.com/bitcoin/bitcoin/pull/14696
< bitcoin-git> [bitcoin] laanwj pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/feb162d50027...408c92038102
< bitcoin-git> bitcoin/master 4a87c5c Suhas Daftuar: [refactor] Rewrite AcceptToMemoryPoolWorker() using smaller parts
< bitcoin-git> bitcoin/master 408c920 Wladimir J. van der Laan: Merge #16400: refactor: Rewrite AcceptToMemoryPoolWorker() using smaller p...
< bitcoin-git> [bitcoin] laanwj merged pull request #16400: refactor: Rewrite AcceptToMemoryPoolWorker() using smaller parts (master...2019-07-refactor-atmp) https://github.com/bitcoin/bitcoin/pull/16400
< bitcoin-git> [bitcoin] laanwj pushed 3 commits to master: https://github.com/bitcoin/bitcoin/compare/408c92038102...72d30d668afd
< bitcoin-git> bitcoin/master 6f405a1 Andrew Chow: Shuffle inputs and outputs after joining psbts
< bitcoin-git> bitcoin/master c0b5d97 Andrew Chow: Test that joinpsbts randomly shuffles the inputs
< bitcoin-git> bitcoin/master 72d30d6 Wladimir J. van der Laan: Merge #16512: rpc: Shuffle inputs and outputs after joining psbts
< bitcoin-git> [bitcoin] laanwj merged pull request #16512: rpc: Shuffle inputs and outputs after joining psbts (master...joinpsbt-rand) https://github.com/bitcoin/bitcoin/pull/16512
< bitcoin-git> [bitcoin] laanwj pushed 3 commits to master: https://github.com/bitcoin/bitcoin/compare/72d30d668afd...dd8cf82e9604
< bitcoin-git> bitcoin/master 7fb886b Ben Woosley: [moveonly] Split glibc sanity_test_fdelt out
< bitcoin-git> bitcoin/master b4fd0ca Ben Woosley: Include cstring for sanity_test_fdelt if required
< bitcoin-git> bitcoin/master dd8cf82 Wladimir J. van der Laan: Merge #15146: Solve SmartOS FD_ZERO build issue
< bitcoin-git> [bitcoin] laanwj merged pull request #15146: build: Solve SmartOS FD_ZERO build issue (master...glibc-sanity-string) https://github.com/bitcoin/bitcoin/pull/15146
< bitcoin-git> [bitcoin] laanwj pushed 3 commits to master: https://github.com/bitcoin/bitcoin/compare/dd8cf82e9604...0ee047423465
< bitcoin-git> bitcoin/master 261843e Joonmo Yang: wallet/rpc: Use the default maxfeerate value as BTC/kB
< bitcoin-git> bitcoin/master 2dfd683 Joonmo Yang: test: Add test for default maxfeerate in sendrawtransaction
< bitcoin-git> bitcoin/master 0ee0474 Wladimir J. van der Laan: Merge #16521: rpc: Use the default maxfeerate value as BTC/kB
< bitcoin-git> [bitcoin] laanwj merged pull request #16521: rpc: Use the default maxfeerate value as BTC/kB (master...maxfeerate-as-rate) https://github.com/bitcoin/bitcoin/pull/16521
< bitcoin-git> [bitcoin] elichai opened pull request #16905: test: return self from ECKey/ECPubKey functions (master...2019-09-self) https://github.com/bitcoin/bitcoin/pull/16905
< wumpus> hmm don't really know what to do with #16906
< gribble> https://github.com/bitcoin/bitcoin/issues/16906 | False positive (?) in lint-python-dead-code.sh · Issue #16906 · bitcoin/bitcoin · GitHub
< wumpus> is there a pragma to make the linter ignore it?
< wumpus> iterating over subclasses is kiiinda weird code, but, how can we get travis to pass here for now without refactoring the entire way this works?
< wumpus> if we don't get a better solution I'm going to disable that linter for now
< bitcoin-git> [bitcoin] MarcoFalke opened pull request #16907: test: Add DisabledOpcodeTemplates to dead code whitelist linter (master...1909-testLintCrap) https://github.com/bitcoin/bitcoin/pull/16907
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/0ee047423465...cfcaa9759e23
< bitcoin-git> bitcoin/master fac35b2 MarcoFalke: test: lint: Add DisabledOpcodeTemplates to whitelist
< bitcoin-git> bitcoin/master cfcaa97 MarcoFalke: Merge #16907: test: lint: Add DisabledOpcodeTemplates to whitelist
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #16907: test: lint: Add DisabledOpcodeTemplates to whitelist (master...1909-testLintCrap) https://github.com/bitcoin/bitcoin/pull/16907
< stevenroose> are HWI questions allowed here?
< achow101> ooh lots of merges
< achow101> stevenroose: ##hwi
< bitcoin-git> [bitcoin] MarcoFalke opened pull request #16908: txmempool: Make entry time type-safe (std::chrono) (master...1909-mempoolEntryChrono) https://github.com/bitcoin/bitcoin/pull/16908
< achow101> wumpus: I think someone has vandalized the devwiki a bit. could you see if it can be restored to how it was originally? The history for the wallet class structure stuff has been lost
< achow101> nvm, I fixed it I think
< luke-jr> achow101: it's a git repo, so it shouldn't be able to lose anything without a force push (which I expect is forbidden)
< achow101> yeah, it looks like github's ui just wasn't showing it. it's still in history
< bitcoin-git> [bitcoin] MarcoFalke pushed 5 commits to master: https://github.com/bitcoin/bitcoin/compare/cfcaa9759e23...59c138d2f149
< bitcoin-git> bitcoin/master 1111bb9 MarcoFalke: test: Reformat python imports to aid scripted diff
< bitcoin-git> bitcoin/master faaee1e MarcoFalke: test: Use connect_nodes when connecting nodes in the test_framework
< bitcoin-git> bitcoin/master fa3b9ee MarcoFalke: scripted-diff: test: Replace connect_nodes_bi with connect_nodes
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #16898: test: Remove connect_nodes_bi (master...1908-testConnectNodes) https://github.com/bitcoin/bitcoin/pull/16898
< bitcoin-git> [bitcoin] achow101 opened pull request #16910: wallet: reduce loading time by using unordered maps (master...reduce-wallet-load) https://github.com/bitcoin/bitcoin/pull/16910
< promag> achow101: typo in "Chamge mapWallet to be a std::unordered_map"
< promag> achow101: are you happy with the 10% reduction?
< achow101> promag: fixed that
< achow101> 10% is better than 0%
< achow101> I'm looking for more places to improve as well
< promag> well for big wallets, for "regular" (or common) wallets I guess it's ~0%?
< sipa> achow101: is there a measurable memory usage change?
< promag> I also wonder what is the impact of "Change getWalletTxs to return a set instead of a vector"
< achow101> sipa: I haven't checked
< sipa> there is probably a performance difference too for other operations than loading, but perhaps harder to measure
< achow101> sipa: I expect those to also improve
< promag> you may be turning the GUI slower than it is
< achow101> it shouldn't be
< achow101> what were previously log(n) operations to load things from the wallet now become O(1). the only difference with the gui is that there is now one additional O(log(n)) during load
< achow101> I changed it to use a std::set which is sorted and is log(n) instead of sorting a vector
< promag> ah that's because getWalletTxs is only called once
< achow101> yes
< bitcoin-git> [bitcoin] achow101 opened pull request #16911: Only check the hash of transactions loaded from disk (master...wallet-skip-checktx) https://github.com/bitcoin/bitcoin/pull/16911
< achow101> sipa: memory impact seems to be 3 MB with my test case. 262.5 MB on master, 259.6 with the pr
< achow101> saves a little bit apparently
< promag> achow101: re #16991 not sure of this but wasn't there a bug in the past that caused bad txs in wallets?
< gribble> https://github.com/bitcoin/bitcoin/issues/16991 | HTTP Error 404: Not Found
< promag> #16911
< gribble> https://github.com/bitcoin/bitcoin/issues/16911 | wallet: Only check the hash of transactions loaded from disk by achow101 · Pull Request #16911 · bitcoin/bitcoin · GitHub
< achow101> promag: hmm, maybe?
< achow101> even there, the CheckTransaction isn't really well motivated
< achow101> any corruption issue (which that commit is supposed to be handling better) would be caught by the hash check
< promag> right, nothing at all, not even in the PR discussion
< promag> achow101: anyway CheckTransaction sounds sane, does it slows down loading that much?
< achow101> not really
< achow101> but that's just on my test case where such slowdowns may not be noticeable
< achow101> the variance in load times is too high for me tell
< promag> without that test couldn't you inject a fake tx with no input just to fake balance for instance?
< achow101> sure, but you could do the same with one with invalid inputs. signatures aren't checked
< achow101> or even existence of inputs
< achow101> err, that the inputs spend valid outputs
< promag> you are saying that currently balances shouldn't be trusted?
< sipa> ?
< sipa> if an attacker has access to your wallet.dat, nothing can be trusted
< promag> case is you wouldn't know that, say you have a watchonly wallet, see an incorrect balance spend and sign elsewhere
< achow101> having something directly modify your wallet.dat file isn't part of our threat model
< promag> I understand is farfetched, but validation on loading just sounds good to me, and if it doesn't cost then why not
< achow101> if you had an invalid transaction in your wallet that changed the balance, you would probably also have a high likelihood of making an invalid spending tx
< promag> achow101: only when it picks the invalid utxo I believe
< sipa> promag: if they can overwrite your wallet.dat, they can modify the UTXO set too
< promag> just playing the devils advocate :P
< achow101> promag: have you even looked at what CheckTransaction does? it only checks that a transaction is well formed, it doesn't actually check validity
< promag> yes I did
< promag> still, you are dropping a validation check for no good reason afaict
< achow101> I'll see if I can get benchmarks with less variance
< sipa> i doesn't look like it protects againsy anything that isn't checked otherwise
< sipa> so if there is a performance reason for dropping it, i think it should be considered
< promag> yes in that case I agree
< promag> regarding balances validity, this could be done asynchronously
< luke-jr> promag: if your full node is compromised, you are compromised. this is why hardware wallets today are a false sense of security
< sipa> promag: we don't have the data available to fully validate transactions in the wallet; the UTXOs they spend are gone
< promag> partial validation would be better than nothing? and the source utxos could be retrieved?
< achow101> not without txindex
< sipa> promag: partial validation is useless unless it actually makes attacks more expensive
< sipa> achow101: and without pruning
< promag> right right right
< sipa> and arguably validity of wallet transactions needs recursive validity of all transactions dependent on, which may in fact be pretty much the entire chain
< sipa> *depended
< promag> so in wallet.dat we trust
< sipa> and chainstate/ we trust
< sipa> and bitcoind we trust
< sipa> and the OS we trust
< promag> eventually the network trusts too
< promag> now the word trust sounds weird
< bitcoin-git> [bitcoin] ch4ot1c opened pull request #16912: doc: Remove Doxygen intro from src/bitcoind.cpp (master...doc/doxygen-intro) https://github.com/bitcoin/bitcoin/pull/16912
< fanquake> #proposedmeetingtopic #16883: QML based mobile GUI - feel free to skip if I'm not up.
< gribble> https://github.com/bitcoin/bitcoin/issues/16883 | WIP: Qt: add QML based mobile GUI by icota · Pull Request #16883 · bitcoin/bitcoin · GitHub
< fanquake> I will leave further thoughts in the PR.