aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-29[tests] fix block time in feature_pruning.pyJohn Newbery
2019-03-29Merge #15686: [tests] make pruning test fasterMarcoFalke
03d6d23810 [tests] make pruning test faster (John Newbery) 1c29ac40fb [tests] style fixes in feature_pruning.py (John Newbery) Pull request description: This commit makes the pruning.py much faster. Key insights to do this: - pruning.py doesn't care what kind of transactions make up the big blocks that are pruned in the test. Instead of making blocks with several large, expensive to construct and validate transactions, instead make the large blocks contain a single coinbase transaction with a huge OP_RETURN txout. - avoid stop-starting nodes where possible. ACKs for commit 03d6d2: MarcoFalke: utACK 03d6d238104d228acfae9f3e122879bddef8d27d Tree-SHA512: 511642ce0fa294319dce3486fe06d75970d8ab66deda7f692be081d3056b4ce5b4cf91a7b5762eefbba224ba6c848750016454ff1e5d564acc507b1c41213628
2019-03-29[tests] make pruning test fasterJohn Newbery
This commit makes the pruning.py much faster. Key insights to do this: - pruning.py doesn't care what kind of transactions make up the big blocks that are pruned in the test. Instead of making blocks with several large, expensive to construct and validate transactions, instead make the large blocks contain a single coinbase transaction with a huge OP_RETURN txout. - avoid stop-starting nodes where possible. This test could probably be made even faster by using the P2P interface for submitting blocks instead of the submitblock RPC.
2019-03-29[tests] style fixes in feature_pruning.pyJohn Newbery
Minor style fixups. No functional change.
2019-03-29Merge #15255: [tests] Remove travis_wait from lint scriptMarcoFalke
8b8d8eeae9 Remove travis_wait from lint script (Graham Krizek) Pull request description: Using the `travis_wait` command in conjunction with `set -o errexit` causes problems. The `travis_wait` command will correctly log the command's output if successful, but if the command fails the process exits before the `travis_wait` command can dump the logs. This will hide important debugging information like error messages and stack traces. We ran into this in #15196 and it was very hard to debug because output was being suppressed. `travis_wait` was being used because the `contrib/verify-commits/verify-commits.py` script can sometimes run for a long time without producing any output. If a script runs for 10 minutes without logging anything, the CI run times out. The `travis_wait` command will extend this timeout by logging a message for you, while sending stderr and stdout to a file. This PR removes the `travis_wait` command from our CI system and adds additional logging to the `verify-commits.py` script so it doesn't make Travis timeout. ACKs for commit 8b8d8e: MarcoFalke: utACK 8b8d8eeae9e8feff6d78420ee172c820ccef9db1 Tree-SHA512: 175a8dd3f4d4e03ab272ddba94fa8bb06875c9027c3f3f81577feda4bc8918b5f0e003a19027f04f8cf2d0b56c68633716a6ab23f95b910121a8d1132428767d
2019-03-29Merge #15663: crypto: Remove unused AES-128 codeJonas Schnelli
f6ee177f7 Remove unused AES-128 code (practicalswift) Pull request description: Remove unused AES-128 code. As far as I can tell this AES-128 code has never been in use in the project (outside of testing/benchmarking). The AES-256 code is used in `CCrypter::Encrypt`/`CCrypter::Decrypt` (`src/wallet/crypter.cpp`). Trivia: 0.15% of the project's C++ LOC count (excluding dependencies) is trimmed off: ``` $ LOC_BEFORE=$(git grep -I "" HEAD~1 -- "*.cpp" "*.h" ":(exclude)src/leveldb/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" | wc -l) $ LOC_AFTER=$(git grep -I "" -- "*.cpp" "*.h" ":(exclude)src/leveldb/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" | wc -l) $ bc <<< "scale=4; ${LOC_AFTER}/${LOC_BEFORE}" .9985 ``` :-) Tree-SHA512: 9588a3cd795a89ef658b8ee7323865f57723cb4ed9560c21de793f82d35e2835059e7d6d0705e99e3d16bf6b2a444b4bf19568d50174ff3776caf8a3168f5c85
2019-03-28Merge #15616: rpc: Clarify decodescript RPCResult docMarcoFalke
fa926ec24f rpc: Mention all output types in decodescript doc (MarcoFalke) fa3caa1666 rpc: decodescript use IsValidNumArgs over hardcoded check (MarcoFalke) faad33ff15 rpc: Clarify decodescript RPCResult doc (MarcoFalke) Pull request description: * Remove `"hex"` from the decodescript RPCResult doc * Add `"segwit`" to the doc Follow up to a6099ef319a73e2255dca77065600abb22c4f5f8 and 4f933b3d23010d3b03998460290faed97cd6f236 ACKs for commit fa926e: ryanofsky: utACK fa926ec24fb3d07de32bd8f67a297f9e4f0822a6. Only change since last review is listing possible output types in the help string using a new `GetAllOutputTypes` function Tree-SHA512: e6ecc563d04769942567118d50188467bf64ceb276ba6268928d469e8f06621f2ca1ae1e555d3daa6ec22a615ee259bb31c4141c19818d0f53fb6c529b18381b
2019-03-28Merge #15684: doc/dependencies: Fix typo libsrvg->librsvgMarcoFalke
7d01b5cf2c doc/dependencies: Fix typo libsrvg->librsvg (Luke Dashjr) Pull request description: ACKs for commit 7d01b5: practicalswift: ACK 7d01b5cf2ca67535374d444725fdff699b891683 Tree-SHA512: f04e20a482df586ae60fae68a94c53b7a3efcdd050bc60eed5b3ac51e1f8ac4b5016290302b1729fcd4ac600393fd163ebf01c919583efa8ddde44f7a5de5462
2019-03-28doc/dependencies: Fix typo libsrvg->librsvgLuke Dashjr
2019-03-28Merge #15682: release: Update the Windows Codesigning certificateWladimir J. van der Laan
43ae1e96ed2c2c71375f91309e789723045fcf0c release: Update the Windows Codesigning certificate (Cory Fields) Pull request description: Thanks to @gwillen for paying and @jonasschnelli for setting up the small company needed for signing! This updates the Windows codesigning certificate to replace our expired one. Testing showed that Windows 7 had trouble finding the path to a trusted CA. I am not sure if this will work better with more recent Windows versions, but because the previous cert is expired, this can only be an improvement. This needs feedback after rc3. ACKs for commit 43ae1e: laanwj: utACK 43ae1e96ed2c2c71375f91309e789723045fcf0c achow101: utACK 43ae1e96ed2c2c71375f91309e789723045fcf0c Tree-SHA512: 2e70591d2deeac5f6e73d73474ccefba5db6cfd9004c40a56c7c2d8300b67ccee4916a04f43e0b75796cc1089d111e30276819e0bfb954c63c4760b8d96423a4
2019-03-28release: Update the Windows Codesigning certificateCory Fields
2019-03-27Merge #15646: [tests] Add test for wallet rebroadcastsMarcoFalke
529c1ae4a0 [tests] Add test for wallet rebroadcasts (John Newbery) Pull request description: The existing wallet_resendwallettransactions.py test only tests the resendwallettransactions RPC. It does not test whether transactions are actually rebroadcast, or whether the rebroadcast logic is called on a timer. Update the test to not use the resendwallettransactions RPC and test that transactions are resent on a timer. ACKs for commit 529c1a: MarcoFalke: re-utACK 529c1ae4a0 Tree-SHA512: 7341e7dd07cdc8ecbc08b1949121824148d2b58133a8e298ecdc5b7555713df3cecffb49854443cef9f033ef847cbf329e879a3bf57ab4e1fc733be432e9f718
2019-03-27[tests] Add test for wallet rebroadcastsJohn Newbery
The existing wallet_resendwallettransactions.py test only tests the resendwallettransactions RPC. It does not test whether transactions are actually rebroadcast, or whether the rebroadcast logic is called on a timer. This commit updates the test to not use the resendwallettransactions RPC and test that transactions are rebroadcast on a timer.
2019-03-27Merge #15620: rpc: Uncouple non-wallet rpcs from maxTxFee globalMarcoFalke
fa1ad200d3 doc: Add release notes for 15620 (MarcoFalke) fa96d76421 rpc: Uncouple rpcs from maxTxFee global (MarcoFalke) fa965e03c7 rpc: Use IsValidNumArgs over hardcoded size checks (MarcoFalke) Pull request description: This makes the rpcs a bit more stateless by falling back to their own default max fee instead of the global maxTxFee. A follow up pull request will move `-maxtxfee` to the wallet. See also related discussions: * `-maxtxfee` should not be used by both node and wallet #15355 * [RFC] Long term plan for wallet command-line args #13044 ACKs for commit fa1ad2: jnewbery: utACK fa1ad200d378fc3a4dc4c54214965d3c852db7d7 Empact: utACK https://github.com/bitcoin/bitcoin/pull/15620/commits/fa1ad200d378fc3a4dc4c54214965d3c852db7d7 jnewbery: utACK fa1ad200d378fc3a4dc4c54214965d3c852db7d7 promag: utACK fa1ad20. Tree-SHA512: c9cf0b54cd30ff3ab0d090b072cc38fcbb2840bc6ad9a9711995333bc927d2500aece6b5a60e061666eca5ed72b70aa318d21e51eb15ee0106b41f5b6e4e1adf
2019-03-27Merge #15643: contrib: gh-merge: Include ACKs in merge commitWladimir J. van der Laan
fa1c073154c6a39dca878f5c9a37abee8af0fd30 contrib: gh-merge: Include review comments in merge commit (MarcoFalke) Pull request description: This includes all up-to-date ACKs in the merge commit for reference Tree-SHA512: 32c9352d884f9ecf94940f50f2921fc9fc026083c120f54d0651a41814872e852aee8d0c4ad5bcd03292329f05d76fcb7bac11741e1dd3bf417211a186005afb
2019-03-27Merge #15519: Add Poly1305 implementationWladimir J. van der Laan
e9d5e975612e828ec44f9247b4c5c08f0268d360 Poly1305: tolerate the intentional unsigned wraparound in poly1305.cpp (Jonas Schnelli) b34bf302f26c7cede47cc20b3bdfb613c51ab67e Add Poly1305 bench (Jonas Schnelli) 03be7f48fad10aa8da3291c28a185ed750193c7b Add Poly1305 implementation (Jonas Schnelli) Pull request description: This adds a currently unused Poly1305 implementation including test vectors from RFC7539. Required for BIP151 (and related to #15512). Tree-SHA512: f8c1ad2f686b980a7498ca50c517e2348ac7b1fe550565156f6c2b20faf764978e4fa6b5b1c3777a16e7a12e2eca3fb57a59be9c788b00d4358ee80f2959edb1
2019-03-26Poly1305: tolerate the intentional unsigned wraparound in poly1305.cppJonas Schnelli
2019-03-26Add Poly1305 benchJonas Schnelli
2019-03-26Add Poly1305 implementationJonas Schnelli
2019-03-26Merge #15637: rpc: Rename size to vsize in mempool related callsMarcoFalke
e16b6a7188 rpc: Rename size to vsize in mempool related calls (Miguel Herranz) Pull request description: #13008 rebased on `master`, with release notes split out. > In getmempoolancestors, getmempooldescendants, getmempoolentry and getrawmempool RPCs size returns the virtual transaction size as defined in BIP 141. Renaming it to vsize makes it consistent with returned value and other calls such as getrawtransaction. > > Related to #11218. ACKs for commit e16b6a: MarcoFalke: re-utACK e16b6a71880052a6f7a368d8357901b0460abaef jnewbery: utACK e16b6a71880052a6f7a368d8357901b0460abaef Tree-SHA512: ce95260fe7f280eacf4ff70bfffe02315c3a521b3b462a34e72a05b90733f40cc473319ac2df05d3e3c12cb7b1fbf2a1bbea632a8f979fff94207854cdbd494d
2019-03-25Merge #15603: docs: Add more tips to productivity.mdMarcoFalke
5801dd628d docs: Add more tips to productivity.md (gwillen) Pull request description: Add advice to productivity.md on: - Using ccache to optimal effect - The with-incompatible-bdb configure option - Building less than the entire set of targets ACKs for commit 5801dd: promag: utACK 5801dd6. MarcoFalke: utACK 5801dd6 Tree-SHA512: 2138acd4bf5a27ecaa9a02fb2141903d01ee199ba85ccf6a5ad6a0a4dabf4447d043108cdd86998801b0282e899f70892f9337b0b6dc59c6d1f0fccf61adb4e4
2019-03-25Remove unused AES-128 codepracticalswift
2019-03-24rpc: Rename size to vsize in mempool related callsMiguel Herranz
2019-03-23Merge #15642: [rpc] Remove deprecated rpc warningsWladimir J. van der Laan
947f73ceba7d74153fe83b538e42be1dfe77aea4 [docs] remove reference to signrawtransaction in the developer docs. (John Newbery) 7b6616b78bd9f76502002db1a209a0363979e506 [rpc] Remove deprecated functionality message from validateaddress help (John Newbery) 839c3f7c4937eb8a3e1e5ab2dafff26688af1078 [rpc] Remove signrawtransaction warning (John Newbery) Pull request description: Removes some deprecated code from the RPCs: - signrawtransaction was deprecated in 0.17 and removed in 0.18. A warning message was left in place to advise users to use signrawtransactionwithwallet and signrawtransactionwithkey. That warning can now be removed. - validateaddress had some functionality deprecated in 0.17 and removed in 0.18. The help text for that functionality was not removed in 0.18 and can be removed now. Tree-SHA512: 981678a697954ff2c392752e5a183b4b12c4eb94f55766ee1aa97a70d300668237db8fc5748c2772869d0155ba4a93e38817887b98160ee972a6f6ee94e3f7d9
2019-03-22docs: Add more tips to productivity.mdgwillen
Add advice to productivity.md on: - Using ccache to optimal effect - The with-incompatible-bdb configure option - Building less than the entire set of targets
2019-03-22[docs] remove reference to signrawtransaction in the developer docs.John Newbery
2019-03-22Merge #15631: qa: mininode: Clearer error message on invalid magic bytesMarcoFalke
fab0a68aa2 qa: mininode: Clearer error message on invalid magic bytes (MarcoFalke) Pull request description: Old message: ``` ValueError: got garbage b'\xfa\xbf\xb5\xdafeefilter\x00\x00\x00\x08\x00\x00\x00\xe8\x0f\xd1\x9f\xe8\x03\x00\x00\x00\x00\x00\x00' ``` New message: ``` ValueError: magic bytes mismatch: b'\x00\x11"2' != b'\xfa\xbf\xb5\xdapong\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x97\xe6\x04\xd2\xff\x00\x00\x00\x00\x00\x00\x00' ``` ACKs for commit fab0a6: laanwj: Much better message, utACK fab0a68aa25191a532f26cf8e227f456b853d8f1 Tree-SHA512: 55854ef93d79c4f3219440e367fbcdf5db7b54c6530db0087fa8f8d9e786dac713f05da6f6c4c3cf29e18d07b4472f96a8ed894d66318e08cf8f208252199b70
2019-03-22contrib: gh-merge: Include review comments in merge commitMarcoFalke
2019-03-22[rpc] Remove deprecated functionality message from validateaddress helpJohn Newbery
This functionality was removed in v0.18.
2019-03-22[rpc] Remove signrawtransaction warningJohn Newbery
signrawtransaction was deprecated in 0.17 and removed in 0.18. A warning was left in place to tell users to migrate to using signrawtransactionswithwallet or signrawtransactionwithkey. Remove the warning now that it's been two releases since the method was removed.
2019-03-22Merge #15614: gui: Defer removeAndDeleteWallet when no modal widget is activeJonas Schnelli
a10972bc0 gui: Defer removeAndDeleteWallet when no modal widget is active (João Barbosa) Pull request description: Fixes #15310. Tree-SHA512: ac91a4e37020d3a854830c50c0a7a45c2c0537f80be492ec5e9ba7daf90725e912f9dcc324605493599c36180e1d3bcdfa86840b7325cba208b7e93fbe7be368
2019-03-22gui: Defer removeAndDeleteWallet when no modal widget is activeJoão Barbosa
2019-03-21Merge #15625: refactor: Remove unused functionMeshCollider
bb6195e34 refactor: Remove unused function (practicalswift) Pull request description: Last use removed in cad5dd2368109ec398a3b79c8b9e94dfd23f0845. Tree-SHA512: f65bf8f77b9aadbfba39bd80076a4d773eddf685a8a90ef2db549552a3d0ccd426ce3920b2f71954703f64d840fa88349957996d1f64a9c4d3f27a99b4da70e7
2019-03-21Merge #10973: Refactor: separate wallet from nodeMeshCollider
d358466de Remove remaining wallet accesses to node globals (Russell Yanofsky) b1b2b2389 Remove use of CCoinsViewMemPool::GetCoin in wallet code (Russell Yanofsky) 4e4d9e9f8 Remove use of CRPCTable::appendCommand in wallet code (Russell Yanofsky) 91868e628 Remove use CValidationInterface in wallet code (Russell Yanofsky) Pull request description: This PR is the last in a chain of PRs (#14437, #14711, and #15288) that make the wallet code access node state through an abstract [`Chain`](https://github.com/ryanofsky/bitcoin/blob/pr/wipc-sep/src/interfaces/chain.h) class in [`src/interfaces/`](https://github.com/ryanofsky/bitcoin/tree/pr/wipc-sep/src/interfaces) instead of using global variables like `cs_main`, `chainActive`, and `g_connman`. After this PR, wallet code no longer accesses global variables declared outside the wallet directory, and no longer calls functions accessing those globals (as verified by the `hide-globals` script in #10244). This PR and the previous PRs have been refactoring changes that do not affect behavior. Previous PRs have consisted of lots of mechanical changes like: ```diff - wtx.nTimeReceived = GetAdjustedTime(); + wtx.nTimeReceived = m_chain->getAdjustedTime(); ``` This PR is smaller, but less mechanical. It replaces last few bits of wallet code that access node state directly (through `CValidationInterface`, `CRPCTable`, and `CCoinsViewMemPool` interfaces) with code that uses the `Chain` interface. These changes allow followup PR #10102 (multiprocess gui & wallet PR) to work without any significant updates to wallet code. Additionally they: * Provide a single place to describe the interface between wallet and node code. * Can make better wallet testing possible, because the `Chain` object consists of virtual methods that can be overloaded for mocking. (This could be used to test edge cases in the rescan code, for example). Tree-SHA512: e6291d8a3c50bdff18a9c8ad11e729beb30b5b7040d7aaf31ba678800b4a97b2dd2be76340b1e5c01fe2827d67d37ed1bb4c8380cf8ed653aadfea003e9b22e7
2019-03-20Merge #15597: net: Generate log entry when blocks messages are received ↵Wladimir J. van der Laan
unexpectedly ef0019e054734a14214dfbce56611ce4db1688a5 Generate log entry when blocks messages are received unexpectedly. (Patrick Strateman) Pull request description: Currently these are incorrectly logged as an unknown command. Tree-SHA512: dd272388a90b79897f8c1ea6d4c949323fcf75493f3a5b2ec9a26a2cf6a8ee743b497941702f21df8fae0f5b9481444363643379832dbd5053b0cc0b0363de04
2019-03-20Merge #15626: Docs: Update ACK description in CONTRIBUTING.mdWladimir J. van der Laan
0d9d2b385b8c32ab422964128d10b99cfcad2612 Doc: update ACK description in CONTRIBUTING.md (Jon Atack) Pull request description: as per https://github.com/bitcoin/bitcoin/pull/15617#issuecomment-474773043. Edit: as per https://github.com/bitcoin/bitcoin/pull/15617#issuecomment-474773043 and https://github.com/bitcoin/bitcoin/pull/15626#discussion_r267286564. Tree-SHA512: 12df420d20338270bca310873c73d2f38b631c05cf8b3e5b2c1380f95936cb122687ba66b71de53348222efd5fed6d21e67f535a6ada689bf294dceec184a631
2019-03-20Merge #15623: refactor: Expose UndoReadFromDisk in headerMarcoFalke
fa11c036e9 refactor: Expose UndoReadFromDisk in header (MarcoFalke) Pull request description: It is not possible to calculate the fee of a non-mempool transaction in RPCs unless txindex is active or the prevtxs are passed in through the RPC. Fix that issue for confirmed txs by exposing `UndoReadFromDisk` in the header file. This pull is a requirement for * rpc: faster getblockstats using BlockUndo data #14802 * Index for BIP 157 block filters #14121 * my local patches Tree-SHA512: 859ea5f2dfb4feac612b50faeb0e2b6c07b83f1d983e519d7647a78058d85c0390fd09ec66b460ae7a4c3b273e81b0013ee9f4bb8dfba0c4782ffaa1fa453ea6
2019-03-20Doc: update ACK description in CONTRIBUTING.mdJon Atack
as per https://github.com/bitcoin/bitcoin/pull/15617#issuecomment-474773043 and https://github.com/bitcoin/bitcoin/pull/15626#discussion_r267286564.
2019-03-20Merge #15617: p2p: Do not relay banned IP addressesWladimir J. van der Laan
054d01d0a87a5adc43428588ecc29f1339a69dd2 Do not relay banned IP addresses (Pieter Wuille) Pull request description: Tree-SHA512: 538c43781c789949e1ae566533e76835d478e40e8ba6427b22234ee611cb4a311b2940a214e37c1e9c9afe28a6814a00d490a39e3580bb5ebd85b03e95040246
2019-03-20refactor: Remove unused functionpracticalswift
2019-03-19qa: mininode: Clearer error message on invalid magic bytesMarcoFalke
2019-03-19doc: Add release notes for 15620MarcoFalke
2019-03-19rpc: Mention all output types in decodescript docMarcoFalke
2019-03-19refactor: Expose UndoReadFromDisk in headerMarcoFalke
2019-03-18Merge #15618: refactor: Remove unused functionWladimir J. van der Laan
fa5c511a832632b964617776eb6c3535bb2bd893 refactor: Remove unused function (MarcoFalke) Pull request description: Oversight of kallewoof and mine in https://github.com/bitcoin/bitcoin/pull/13541#discussion_r266555476 Tree-SHA512: 2fd3c4ecde5d3c58b113aa58d606976ceb4998358bde0547ead8e83df210722fa9821d2c88b717bdd190ef71593cd9c0154c3a5d3f2ccc3af8cbf6c36aaa6d45
2019-03-18rpc: Uncouple rpcs from maxTxFee globalMarcoFalke
2019-03-18rpc: Use IsValidNumArgs over hardcoded size checksMarcoFalke
2019-03-18refactor: Remove unused functionMarcoFalke
2019-03-18Merge #13541: wallet/rpc: sendrawtransaction maxfeerateMarcoFalke
7abd2e697c wallet/rpc: add maxfeerate parameter to testmempoolaccept (Karl-Johan Alm) 6c0a6f73e3 wallet/rpc: add maxfeerate parameter to sendrawtransaction (Karl-Johan Alm) e5efacb941 test: Refactor vout fetches in rpc_rawtransaction (Karl-Johan Alm) Pull request description: This adds a new `maxfeerate` parameter to `sendrawtransaction` which forces the node to reject a transaction whose feerate is above the given fee rate. This is a safety harness from shooting yourself in the foot and accidentally overpaying fees. See also #12911. Tree-SHA512: efa50134a7c17c9330cfdfd48ba400e095c0a419cc45e630618d8b44929c25d780d1bb2710c1fbbb6e687eca373505b0338cdaa7f2ff4ca22636d84c31557a2e
2019-03-18Merge #15581: depends: Make less assumptions about build envMarcoFalke
f7696e6183 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1bdbf depends: tar: Always extract as yourself (Carl Dong) 340ef50772 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc