aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-28fix walletcreatefundedpsbt deriv paths, add testGregory Sanders
Github-Pull: #14055 Rebased-From: 61fe653bd919cb0533b2b9d6259bc86a4b2975c0 Tree-SHA512: 2f3edf62318fab4b405b47788096005f59cbe6ba4723fe51ce3b386539a58b7ea7369c31c3840c6baa76cdf6ba8f8440f977c36e2ee2916e711d7872bd1eadad
2018-08-28Merge #14084: [0.17] qa: BackportsWladimir J. van der Laan
cf3d7f94c2efd15a9cb910ccee31505934d55641 Use assert when running from multithreaded code as BOOST_CHECK_* are not thread safe (Jesse Cohen) fab0fbefcf51f38aa858423017b545df6d098311 qa: Stop txindex thread before calling destructor (MarcoFalke) b5ec6d4bf8a8ca18ca520e2f484e3ddd2d1138a3 Docs: Fix help message typo optiona -> optional (Ben Woosley) Pull request description: Fixes to make the unit tests and bench pass with the thread sanitizer (beside the issue with fChecked https://github.com/bitcoin/bitcoin/issues/14058#issuecomment-416042917). For testing: `./configure --with-sanitizers=undefined,thread && make -j 16 && ./src/test/test_bitcoin` Tree-SHA512: 5cb85ecc278b719dba03240265e93424ed1a28671834da7590adab88c2d43c6e6cbf3269bbe2fd79e5ed3a85ec77a268e05301e7a7421cf6a97d413dddac6327
2018-08-27Use assert when running from multithreaded code as BOOST_CHECK_* are not ↵Jesse Cohen
thread safe Github-Pull: #14069 Rebased-From: 737670c036e802e0fd8b51efffb41131d08f0204
2018-08-27qa: Stop txindex thread before calling destructorMarcoFalke
Github-Pull: #14071 Rebased-From: faf4a9b674186923f8c837e3621d147f504c1944
2018-08-27Docs: Fix help message typo optiona -> optionalBen Woosley
Github-Pull: #14056 Rebased-From: 7d0a8ad3103200145ab2e73368c3b8345a66c15d
2018-08-22Bugfix: NSIS: Exclude Makefile* from docsv0.17.0rc2Luke Dashjr
Otherwise, the generated Makefile is included in the NSIS-installed documentation, which can lead to non-determinism (eg, if gawk is installed on some build VMs, but others only have mawk) Github-Pull: #14018 Rebased-From: 8563341714a1ec452dd3304a39dd880face49c84 Tree-SHA512: 2d219a4a2027bcd7359b7320bafc6b7cd3bde3dcf9309ddd6198ff67407470025baa71e6d0ed3d6cec081834ddc9a0247043865eb26737e6fd0d2f09574f5932
2018-08-21RPCTypeCheck bip32derivs arg in walletcreatefundedGregory Sanders
Github-Pull: #13968 Rebased-From: faaac5caaab4d5131040292f4ef2404074ad268b Tree-SHA512: 758c0c3e4435897d1a9b03ea93f1b2a1a1b64071eda9450f968acf537c172ee61acf9d962bc22ddb6de26e0ad39d9165cdee6f260bb5a95bf97b4003853f0874
2018-08-21QA: add basic walletcreatefunded optional arg testGregory Sanders
Github-Pull: #13968 Rebased-From: 1f0c4282e961baea85d5f74d7493bd7459784391 Tree-SHA512: 1f8b10629a314f623d589801ef2e62724de2cd82a0e523e0ab25a285f92b76a3b31304c1c0418b1b611ec3ca0016016d1e6af410ac81a78449b875c4f89a46d7
2018-08-21walletcreatefundedpsbt: remove duplicate replaceable argGregory Sanders
Github-Pull: #13968 Rebased-From: 1f18d7b591ffcc8bb9422a9b728bd9a0d8da6a2a Tree-SHA512: 90391703181db6880a135c60aca792a9e92c4abcad26907cd6cb0a0378593fe45cf995a22ae142ea7de2767c72a9df444e918ff15e460ce19c0435163917d812
2018-08-21Allow ConstructTransaction to not throw error with 0-input txnGregory Sanders
Github-Pull: #13968 Rebased-From: 2252ec50085c151e7998ca9a30cda6a33ee862b6 Tree-SHA512: 1f9978ee25fbe9bb338af19d81b401fa531d314ac8288cdb21c1bf10459edea50b43e2d5e97c9bb5fe24c8db89363f8233c0a3d96066ed85f7bd6d2eb234aac0
2018-08-21Merge #14005: [0.17] depends: fix qt determinismWladimir J. van der Laan
48c845902ac044af99ceb7cacc1ea3eacfaeb913 depends: fix qt determinism (Cory Fields) Pull request description: Backport for rc2 Tree-SHA512: 990a1b32ca8c80b22595c4b19e801d5033e42b7e86da0f80028e708131a136f6383d7510dab8bd7cd12fe8533f73246fe78c72a8a22a54eb136b2bfada1e67ea
2018-08-19depends: fix qt determinismCory Fields
Qt's configure grabs the path to xkb's data root during configure, but the build changes in 5.8 apparently broke the handling for cross builds. As a result, the string embedded in the binary depends on whether or not some files are present in the builder's filesystem. The "-xkb-config-root" configure setting is intended to allow manual overriding but it is also broken. See: https://bugreports.qt.io/browse/QTBUG-60005 This has since been fixed upstream, so just hard-code the path for now. We can drop this patch when we bump to a fixed Qt. Also, fix the "-qt-xkbcommon-x11" config param which was renamed. This does not appear to affect build results, presumably because auto-detection is working, but it does not hurt to be explicit. Github-Pull: #14000 Rebased-From: de0b4fba2fb5270dcc8d851243af9187b8ef191a
2018-08-16qt: Pre-rc1 translations updatev0.17.0rc1Wladimir J. van der Laan
Tree-SHA512: 11d0d6a23f47e428661b33fa175aa97cc6841452c0c55845fdb0a903a0b147cd6df65e8fdab8b98823bf411018d5d85006af8c2cf14597286e9e284764d15041
2018-08-15Merge #13976: [0.17] Backport #13960 & #13917Wladimir J. van der Laan
0333914467466d22133e25b71ef330bb2c609958 More tests of signer checks (Andrew Chow) 8935869487ffe858534d73c4929a4ee3d96ca6ac Test that a non-witness script as witness utxo is not signed (Andrew Chow) dbaadc9ea92fd0e221c60584a5d1ca871fdd9c66 Only wipe wrong UTXO type data if overwritten by wallet (Pieter Wuille) ad6d845ac9d43aac663fa46912b49aaf837a1a9e Additional sanity checks in SignPSBTInput (Pieter Wuille) 517010e30e4ac52868fcfd537b644515f3081f88 Serialize non-witness utxo as a non-witness tx but always deserialize as witness (Andrew Chow) 8c4cd2bd895fe7467307867fefc3cd45a685367c Fix PSBT deserialization of 0-input transactions (Andrew Chow) Pull request description: Backports #13917 and #13960 to the 0.17 branch. Tree-SHA512: b3853aff2a13a53aa0a390b6b4b0c539f0ef0d42f2c517e956efd0b135c74c4ddce6a1d00700849a58c696824fa95951d8cac6ca58b426e8dfcb8bb62f680b7c
2018-08-15More tests of signer checksAndrew Chow
GitHub-Pull: #13917 Rebased-From: 5df6f08
2018-08-15Test that a non-witness script as witness utxo is not signedAndrew Chow
GitHub-Pull: #13917 Rebased-From: 7c8bffd
2018-08-15Only wipe wrong UTXO type data if overwritten by walletPieter Wuille
GitHub-Pull: #13917 Rebased-From: c05712c
2018-08-15Additional sanity checks in SignPSBTInputPieter Wuille
GitHub-Pull: #13917 Rebased-From: 8254e99
2018-08-15Serialize non-witness utxo as a non-witness tx but always deserialize as witnessAndrew Chow
Strip out the witnesses when serializing the non-witness utxo. However witness serializations are allowed, so make sure we always deserialize as witness. GitHub-Pull: #13960 Rebased-From: bd19cc7
2018-08-15Fix PSBT deserialization of 0-input transactionsAndrew Chow
0-input transactions can be ambiguously deserialized as being witness transactions. Since the unsigned transaction is never serialized as a witness transaction as it has no witnesses, we should always deserialize it as a non-witness transaction and set the serialization flags as such. Also always serialize the unsigned transaction as a non-witness transaction. GitHub-Pull: #13960 Rebased-From: 43811e6
2018-08-13Merge #13956: [0.17] doc: regenerate manpagesWladimir J. van der Laan
f0f745d8de9ab8fd18208671294063abf783cf90 doc: regenerate manpages (fanquake) Pull request description: Done using: `contrib/devtools/gen-manpages.sh` Tree-SHA512: 523b333768aa5ff289ceee3dbe627698f60c7b4624a1fe2812a40d99a5184aa2f6abd20fa467487918bbcbe1d88693c589456e75a5e747281333f75ab1f5f8b9
2018-08-13doc: regenerate manpagesfanquake
2018-08-13build: bump version to 0.17.0Wladimir J. van der Laan
Update version after branching off. Tree-SHA512: a2e2f82e7b50c0027edc8f382ad29429327edb81ca058abe3c35e049afcd5b7bcedae4545bfb59e8f7a1c8b9c97cfe550d8ae9275bd9e90cfadea22f7b835a2b
2018-08-13Merge #13951: Hardcoded seeds update pre-0.17 branchWladimir J. van der Laan
176aa5aa1d944113161b99cf6c09b7dd3a5c684e contrib: fix GetDesirableServiceFlags typo in seeds/README.md (MarcoFalke) 825fb02ef1c716f930bc7c40a6acda5eaff2c40f net: Update hardcoded seeds (Wladimir J. van der Laan) 61c0d3b9aae57556d706897c265730879009ba58 contrib: in makeseeds, add 0.16.x to PATTERN_AGENT, remove 0.13.x (Wladimir J. van der Laan) Pull request description: As per release process and https://github.com/bitcoin/bitcoin/blob/master/contrib/seeds/README.md Tree-SHA512: c1acd43d8462196f2606babd5268ea75dbb844da729ac9592f08b4895c6a4754591ccbc6ac0bc364b2fb082695e72656154c141dd83c847db8973b3af8df74be
2018-08-13contrib: fix GetDesirableServiceFlags typo in seeds/README.mdMarcoFalke
2018-08-13Merge #13950: doc: move-only 0.17.0 release notes of individual prsWladimir J. van der Laan
fad389862725abe4351879e3333e47e9e5bf9e0c doc: move-only release notes of individual prs (MarcoFalke) Pull request description: Suggestion for reviewers: `git diff HEAD~ --color-moved=dimmed_zebra` Tree-SHA512: 9d8be96d3a578e9df831eda1b5d942798ea4fbe2b1105f4c12a61a13716e62defd5ef8460fcd2411400849c057a8a1b3553ba2f490b70a353a6b46ce5be86acc
2018-08-13Merge #13054: tests: Enable automatic detection of undefined names in Python ↵MarcoFalke
tests scripts. Remove wildcard imports. 68400d8b96 tests: Use explicit imports (practicalswift) Pull request description: Enable automatic detection of undefined names in Python tests scripts. Remove wildcard imports. Wildcard imports make it unclear which names are present in the namespace, confusing both readers and many automated tools. An additional benefit of not using wildcard imports in tests scripts is that readers of a test script then can infer the rough testing scope just by looking at the imports. Before this commit: ``` $ contrib/devtools/lint-python.sh | head -10 ./test/functional/feature_rbf.py:8:1: F403 'from test_framework.util import *' used; unable to detect undefined names ./test/functional/feature_rbf.py:9:1: F403 'from test_framework.script import *' used; unable to detect undefined names ./test/functional/feature_rbf.py:10:1: F403 'from test_framework.mininode import *' used; unable to detect undefined names ./test/functional/feature_rbf.py:15:12: F405 bytes_to_hex_str may be undefined, or defined from star imports: test_framework.mininode, test_framework.script, test_framework.util ./test/functional/feature_rbf.py:17:58: F405 CScript may be undefined, or defined from star imports: test_framework.mininode, test_framework.script, test_framework.util ./test/functional/feature_rbf.py:25:13: F405 COIN may be undefined, or defined from star imports: test_framework.mininode, test_framework.script, test_framework.util ./test/functional/feature_rbf.py:26:31: F405 satoshi_round may be undefined, or defined from star imports: test_framework.mininode, test_framework.script, test_framework.util ./test/functional/feature_rbf.py:26:60: F405 COIN may be undefined, or defined from star imports: test_framework.mininode, test_framework.script, test_framework.util ./test/functional/feature_rbf.py:30:41: F405 satoshi_round may be undefined, or defined from star imports: test_framework.mininode, test_framework.script, test_framework.util ./test/functional/feature_rbf.py:30:68: F405 COIN may be undefined, or defined from star imports: test_framework.mininode, test_framework.script, test_framework.util $ ``` After this commit: ``` $ contrib/devtools/lint-python.sh | head -10 $ ``` Tree-SHA512: 3f826d39cffb6438388e5efcb20a9622ff8238247e882d68f7b38609877421b2a8e10e9229575f8eb6a8fa42dec4256986692e92922c86171f750a0e887438d9
2018-08-13tests: Use explicit importspracticalswift
2018-08-13net: Update hardcoded seedsWladimir J. van der Laan
Pre-0.17 branch hardcoded seeds update.
2018-08-13contrib: in makeseeds, add 0.16.x to PATTERN_AGENT, remove 0.13.xWladimir J. van der Laan
2018-08-13doc: move-only release notes of individual prsMarcoFalke
2018-08-13Merge #13905: docs: fixed bitcoin-cli -help output for help2manMarcoFalke
869193f5a6 docs: fixed bitcoin-cli -help output for help2man (Hennadii Stepanov) Pull request description: Currently `bitcon-cli -help` output forces help2man to produce `.TP` and `.IP` commands instead of a single `.IP` command for `-stdinrpcpass` option. Removing an extra space fixes this issue. This pull request is rebased from #13879 Tree-SHA512: 1c5b25ed2ef7b7de42bc6210165bdbabe63f045699487f2db4790e0d3176f6493dfd3e8e19f4ddc38b551539465d7b41aea570f20dccbc0609f00fdfee1b5180
2018-08-13Merge #13928: qa: blocktools enforce named args for amountMarcoFalke
cf9ed307e6 qa: blocktools enforce named args for amount (MarcoFalke) Pull request description: Since #13669 changed some signatures, I think it might be worthwhile to enforce named args for primitive types such as amounts. Tree-SHA512: 2733e7b6a20590b54bd54e81a09e3f5e2fadf4390bed594916b70729bcf485b048266012c1203369e0968032a2c6a2719107ac17ee925d8939af3df916eab1a6
2018-08-13Merge #13918: rpc: Replace median fee rate with feerate percentiles in ↵MarcoFalke
getblockstats 4b7091a842 Replace median fee rate with feerate percentiles (Marcin Jachymiak) Pull request description: Currently, the `medianfeerate` statistic is calculated from the feerate of the middle transaction of a list of transactions sorted by feerate. This PR instead uses the value of the 50th percentile weight unit in the block, and also calculates the feerate at the 10th, 25th, 75th, and 90th percentiles. This more accurately corresponds with what is generally meant by median feerate. Tree-SHA512: 59255e243df90d7afbe69839408c58c9723884b8ab82c66dc24a769e89c6d539db1905374a3f025ff28272fb25a0b90e92d8101103e39a6d9c0d60423a596714
2018-08-13Merge #13939: lint: Make format string linter understand basic template ↵MarcoFalke
parameter syntax 4441ad677a Make format string linter understand basic template parameter syntax (practicalswift) Pull request description: Make format string linter understand basic template parameter syntax. Fixes issue described in https://github.com/bitcoin/bitcoin/pull/13705#issuecomment-412046126. Thanks to @ken2812221 for reporting! Tree-SHA512: 8fb995bc6b29d8b9926ef5969e02cf71c494e829434fcdeb4ed5fabad5ab96e86e5b8eea705e8a416927757b4fa4e58abc0fd4f483daa58c94e2c6fdcb8ee822
2018-08-13Merge #13666: Always create signatures with Low R valuesWladimir J. van der Laan
e306be742932d4ea5aca0ea4768e54b2fc3dc6a0 Use 72 byte dummy signatures when watching only inputs may be used (Andrew Chow) 48b1473c898129a99212e2db36c61cf93625ea17 Use 71 byte signature for DUMMY_SIGNATURE_CREATOR (Andrew Chow) 18dfea0dd082af18dfb02981b7ee1cd44d514388 Always create 70 byte signatures with low R values (Andrew Chow) Pull request description: When creating signatures for transactions, always make one which has a 32 byte or smaller R and 32 byte or smaller S value. This results in signatures that are always less than 71 bytes (32 byte R + 32 byte S + 6 bytes DER + 1 byte sighash) with low R values. In most cases, the signature will be 71 bytes. Because R is not mutable in the same way that S is, a low R value can only be found by trying different nonces. RFC 6979 for deterministic nonce generation has the option to specify additional entropy, so we simply use that and add a uin32_t counter which we increment in order to try different nonces. Nonces are sill deterministically generated as the nonce used will the be the first one where the counter results in a nonce that results in a low R value. Because different nonces need to be tried, time to produce a signature does increase. On average, it takes twice as long to make a signature as two signatures need to be created, on average, to find one with a low R. Having a fixed size signature makes size calculations easier and also saves half a byte of transaction size, on average. DUMMY_SIGNATURE_CREATOR has been modified to produce 71 byte dummy signatures instead of 72 byte signatures. Tree-SHA512: 3cd791505126ce92da7c631856a97ba0b59e87d9c132feff6e0eef1dc47768e81fbb38bfbe970371bedf9714b7f61a13a5fe9f30f962c81734092a4d19a4ef33
2018-08-13Merge #13808: wallet: shuffle coins before grouping, where warrantedWladimir J. van der Laan
18f690ec2f7eb1b4aa51825bfed0cbfdadc93ac7 wallet: shuffle coins before grouping, where warranted (Karl-Johan Alm) Pull request description: Coins are randomly shuffled in coin selection to avoid unintentional privacy leaks regarding the user's coin set. For the case where a user has a lot of coins with the same destination, these will be grouped into groups of 10 *before* the shuffling. It is unclear whether this has any implications at all, but this PR plugs the potential issue, if there ever is one, by shuffling the coins before they are grouped. Issue brought up in https://github.com/bitcoin/bitcoin/pull/12257#discussion_r204554549 Tree-SHA512: fb50ed4b5fc03ab4853d45b76e1c64476ad5bcd797497179bc37b9262885c974ed6811159fd8e581f1461b6cc6d0a66146f4b70a2777c0f5e818d1322e0edb89
2018-08-13docs: fixed bitcoin-cli -help output for help2manHennadii Stepanov
The `help2man` parses a string containing two spaces between words with an issue: it gives out `.TP` and `.IP` commands instead of a single `.IP` command. Removing an extra space fixes this issue. Currently the `-help` output for the `-stdin` option looks without any issue due to eliminating of two spaces between words by a `FormatParagraph` call for this particular case. For consistency and preventing from future regressions extra spaces have been removed from the both lines. The redundant `strprintf` call has been removed aswell.
2018-08-13qt: Translations update before 0.17 branchWladimir J. van der Laan
Make sure that translations are synchronized with transifex before the branch-off point to minimize the difference and prevent duplicate work. Tree-SHA512: 41e71eaf14094606fd90011d035c551a635d5a715f865a49841dbe2b54a76b7fbf59a7918f86e5fd80a717e2934a9613fe463391fd01848d0a01e5c4e7e7fef0
2018-08-12Merge #13944: test: Port usage of deprecated optparse module to argparse moduleWladimir J. van der Laan
5654efb187d24eb29a343c720e3937b01457c8b7 Ported usage of deprecated optparse module to argparse module (Kvaciral) Pull request description: The optparse module is deprecated since Python 2,7/3.2 . Recommend usage of the argparse module which improves upon optparse. Tree-SHA512: ffd0e3e6f3babef1675226b107eeb7a6bab6e5199de572703da9d94e1f69c70d1c9abc353e9664b40670bb4976c06964bb2606deee52f5dfcc619f336ceb8cf8
2018-08-12Ported usage of deprecated optparse module to argparse moduleKvaciral
2018-08-11Replace median fee rate with feerate percentilesMarcin Jachymiak
Removes medianfeerate result from getblockstats. Adds feerate_percentiles which give the feerate of the 10th, 25th, 50th, 75th, and 90th percentile weight unit in the block.
2018-08-11Merge #13867: qa: Make extended tests pass on native WindowsMarcoFalke
fafe73a626 qa: Raise feature_help timeout to 5s (MarcoFalke) faabd7bc47 qa: Use files for stdout/stderr to support Windows (MarcoFalke) facb56ffaf qa: Run gen_rpcauth with sys.executable (MarcoFalke) fada8966c5 qa: Close stdout and stderr file when node stops (MarcoFalke) Pull request description: ### qa: Close stdout and stderr file when node stops Since these files are potentially deleted by the test framework for cleanup, they should be closed first. Otherwise this will lead to errors on Windows when the tests finish successfully. Side note: After the patch, it is no longer possible to reopen the file on Windows (see https://docs.python.org/3/library/tempfile.html#tempfile.NamedTemporaryFile) ### qa: Run gen_rpcauth with sys.executable Similar to `test_runner.py`, the `sys.executable` needs to be passed down into subprocesses to pass on native Windows. (Should have no effect on Linux) ### qa: Use files for stdout/stderr to support Windows It seems that using PIPE is not supported on Windows. Also, it is easier to just use the files that capture the stdout and stderr within the test node class. Tree-SHA512: ec675012b10705978606b7fcbdb287c39a8e6e3732aae2fa4041d963a3c6993c6eac6a9a3cbd5479514e7d8017fe74c12235d1ed6fed2e8af8f3c71981e91864
2018-08-11Merge #13915: [qa] Add test for max number of entries in locatorMarcoFalke
fa85c985ed qa: Add p2p_invalid_locator test (MarcoFalke) Pull request description: Should not be merged *before* #13907 Tree-SHA512: a67ca407854c421ed20a184d0b0dc90085aed3e3431d9652a107fa3022244767e67f67e50449b7e95721f56906836b134615875f28a21e8a012eb22cfe6a66a5
2018-08-11Merge #13913: qa: Remove redundant checkmempool/checkblockindex extra_argsMarcoFalke
fa31ca0c22 qa: Remove redundant checkmempool/checkblockindex extra_args (MarcoFalke) Pull request description: They are already enabled by default for regtest: https://github.com/bitcoin/bitcoin/blob/df9f71274645a917e2578c52a1c59745bce8112d/src/init.cpp#L1002-L1007 Closes #13912. CC #12138 Tree-SHA512: b11a3e8cc4715569f917ab89132f8c8dcae64aebcd7a34182675f86cf7f6e207e3187b7ea01a56c92c8c3af76122b6b995e84f533e134676863f8953dc1f0574
2018-08-10Merge #13908: [Docs] upgrade rescan time warning from minutes to >1 hourMarcoFalke
bb5b1c0b2d [Docs] upgrade rescan time warning from minutes to >1 hour (Mason Simon) Pull request description: When I rescanned just now it took well over an hour. The time warning "may take minutes" didn't prepare me for that. ``` 2018-08-08T03:10:17Z [wallet] Still rescanning. At block 174747. Progress=0.008341 2018-08-08T03:11:17Z [wallet] Still rescanning. At block 204233. Progress=0.024533 2018-08-08T03:12:17Z [wallet] Still rescanning. At block 221170. Progress=0.038340 ... 2018-08-08T04:16:17Z [wallet] Still rescanning. At block 524815. Progress=0.957105 2018-08-08T04:17:17Z [wallet] Still rescanning. At block 528572. Progress=0.971323 2018-08-08T04:18:17Z [wallet] Still rescanning. At block 532458. Progress=0.986824 ``` This is on a 4-core 4ghz system with a 7200rpm drive. Tree-SHA512: 722ccf566bfd6a3381fa173e08849cb676fe4c1f1cb2c4b86b07df2a5dc1ca0d54797cbe8fd606cdc2c60fef2be7c98e052460decdac2132ba759cff822132e8
2018-08-10Merge #13927: rpc: Use pushKV in some new PSBT RPCsMarcoFalke
227d27e70c Use pushKV in some new PSBT RPCs. (Daniel Kraft) Pull request description: Most of the code uses `UniValue::pushKV` where appropriate, but some new RPC code related to PSBTs did not. This fixes those places - after this change, there are no remaining source files I could find that contain `push_back(Pair(`. Tree-SHA512: d6567cf144d05d7e42276bd66ff4cd44413328f985772d11bb9d7339d32ab7c3438d4bb0040a37e75f8d193c610b08fa971073935885e0a178546aa045daf9fa
2018-08-10Merge #13924: tests: Simplify comparison in rpc_blockchain.pyMarcoFalke
1f87c372b5 Simplify comparison in rpc_blockchain.py. (Daniel Kraft) Pull request description: The test for `gettxoutsetinfo` in `rpc_blockchain.py` verifies that the result is the same as before after invalidating and reconsidering a block. The comparison has to exclude the `disk_size` field, though, as it is not deterministic. Instead of comparing all the other fields for equality, this change explicitly removes the `disk_size` field and then compares the full objects. This makes the intent more explicit (compare everything except for `disk_size`, not compare just a given list of fields) and also the code simpler. Tree-SHA512: 3c376a8836b62988fb2f0117c9ca65de64a33bf3cd4980a123de30bf5e7b7a48eda477b25e03d672ff076e205c698e83432469156caa0f0f3ebbb0480f0dd77d
2018-08-10qa: Add p2p_invalid_locator testMarcoFalke
2018-08-10Merge #13907: Introduce a maximum size for locators.Wladimir J. van der Laan
e254ff5d53b79bee29203b965fca572f218bff54 Introduce a maximum size for locators. (Gregory Maxwell) Pull request description: The largest sensible size for a locator is log in the number of blocks. But, as noted by Coinr8d on BCT a maximum size message could encode a hundred thousand locators. If height were used to limit the messages that could open new attacks where peers on long low diff forks would get disconnected and end up stuck. Ideally, nodes first first learn to limit the size of locators they send before limiting what would be processed, but common implementations back off with an exponent of 2 and have an implicit limit of 2^32 blocks, so they already cannot produce locators over some size. Locators are cheap to process so allowing a few more is harmless, so this sets the maximum to 64-- which is enough for blockchains with 2^64 blocks before the get overhead starts increasing. Tree-SHA512: da28df9c46c988980da861046c62e6e7f93d0eaab3083d32e408d1062f45c00316d5e1754127e808c1feb424fa8e00e5a91aea2cc3b80326b71c148696f7cdb3