aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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 #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-26Add Poly1305 benchJonas Schnelli
2019-03-26Add Poly1305 implementationJonas Schnelli
2019-03-25Remove unused AES-128 codepracticalswift
2019-03-24rpc: Rename size to vsize in mempool related callsMiguel Herranz
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-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 #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-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-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-18depends: Defer to Python detected by autoconfCarl Dong
Since autoconf already detects the correct python binary path, we should use that instead of going around it. Also has the benefit of working in extremely restricted environments where /usr/bin/env might not be available.
2019-03-18Merge #15491: wallet: Improve log output for errors during loadMeshCollider
faf369880 wallet: Improve log output for errors during load (Glenn Willen) Pull request description: When loading the wallet, display the entire path in error messages, instead of the name (which, for the default wallet, is the empty string.) When an exception occurs during wallet loading, display e.what() if possible, instead of nothing. Tree-SHA512: 435247628db669579bb694ba4b53ba174fe42c0329fc72f09fc274bb28463ee69f53412abb2a3b45bb8f59f7eb928c0167e397b8d0a514135142192a87294614
2019-03-17Do not relay banned IP addressesPieter Wuille
2019-03-17rpc: decodescript use IsValidNumArgs over hardcoded checkMarcoFalke
2019-03-17rpc: Clarify decodescript RPCResult docMarcoFalke
2019-03-16Merge #15522: Document sizeof(size_t) assumptions and compiler assumptions ↵Wladimir J. van der Laan
in assumptions.h c7a7250302b60b78af39f39ee403d330c0cb7aa0 Document assumptions about C++ compiler (practicalswift) c7ea8d3236e7c1b0c198345cc78a6754338d3724 Add sizeof(size_t) assumptions (practicalswift) Pull request description: Document `sizeof(size_t)` assumptions and compiler assumptions by adding compile-time checks in `assumptions.h`. Tree-SHA512: db46481eecad6a87718ae637a7761d39d32cfe6f95fc8ad2b3a52a3d966c2a05c8f540dd3f362721279816571b04b6cce2de9b3b1d17606d7b197126cd4a8d1f
2019-03-14wallet: Improve log output for errors during loadGlenn Willen
When loading the wallet, display the entire path in error messages, instead of the name (which, for the default wallet, is the empty string.) When an exception occurs during wallet loading, display e.what() if possible, instead of nothing.
2019-03-14Merge #15583: wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtreeWladimir J. van der Laan
15c69b158da570f4e1430280c610e94ffdee0e51 wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree (João Barbosa) Pull request description: Use the `noexcept` members of `boost::filesystem::recursive_directory_iterator` in order to ignore `boost::filesystem::directory_iterator::construct: Permission denied` errors. The errors are logged though. Steps to reproduce the issue: ```sh # 1. create directory for -walletdir without read access: mkdir /tmp/foo && chmod a-r /tmp/foo # 2. run bitcoin-qt and should print an error, but continues running: /Volumes/Bitcoin-Core/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt -regtest -walletdir=/tmp/foo /private/tmp/foo: Permission denied # 4. go to File -> Open Wallet and should segfault: EXCEPTION: N5boost10filesystem16filesystem_errorE boost::filesystem::directory_iterator::construct: Permission denied: "/private/tmp/foo" bitcoin in Runaway exception ``` Tree-SHA512: 37e8bf5a1e0defc331030fd511bf9cac2765d01dfbf23e7233f37506e85b8ad07edcde9ba6dae7a2c95700c78d28c7dd248153607381852da96273cb159c4934
2019-03-13Generate log entry when blocks messages are received unexpectedly.Patrick Strateman
2019-03-14wallet/rpc: add maxfeerate parameter to sendrawtransactionKarl-Johan Alm
2019-03-14wallet/rpc: add maxfeerate parameter to testmempoolacceptKarl-Johan Alm
2019-03-13wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtreeJoão Barbosa
2019-03-13Merge #15559: doc: correct analyzepsbt rpc docWladimir J. van der Laan
335931df4a37467299a2ee0ba521ecd5c4e6d39e rpc: return a number for estimated_feerate in analyzepsbt (fanquake) a4d0fd026b74db034dc8a1fa7efbd4f1dba8cdb9 doc: correct analysepsbt rpc doc (fanquake) Pull request description: Even though `missing` is optional, all its field are also all optional. `estimated_vsize` is optional (calculate alongside `estimated_feerate`). Make `estimated_feerate` output numeric. Tree-SHA512: 5e063bcfbca73d3d08d29c5d1f59bc1791757f69248da4a9c70fe4b2fe82807ec4ed9fca48d439101d66ba924916fa5da9232167d74ea2b967fc04f0a36f190e
2019-03-12Merge #15573: dead code: Remove dead option in HexStr conversionWladimir J. van der Laan
56f1d28d9b606397c0c746b57243a0f2b971ff8a dead code: Remove dead option in HexStr conversion (Lenny Maiorani) Pull request description: Problem: - Nothing uses the `fspaces` argument to `HexStr()` besides unit tests. This argument results in extra complexity and a small performance decrease within the function. Solution: - Remove unused `fspaces` option. - Remove associated unit tests. Tree-SHA512: 33d00ce354bbc62a77232fa301cdef0a9ed2c5a09e792bc40e9620c2f2f88636e322a38c76b81d10d12a1768dd1b3b2b9cf180f7e33daef9b4f27afed68ccf70
2019-03-12rpc: return a number for estimated_feerate in analyzepsbtfanquake
2019-03-12doc: correct analysepsbt rpc docfanquake
2019-03-11Fix overflow bug in analyzepsbt fee: CAmount instead of intPieter Wuille
2019-03-11Merge #15564: cli: remove duplicate wallet fields from -getinfoMarcoFalke
3f6568d66b cli: remove duplicate wallet fields from -getinfo (fanquake) Pull request description: `walletversion` and `balance` are both included below. Tree-SHA512: cd9fe9739a2f492c8f7c0407b43a6fa95187f7e5318f05e080bac112f9f4333d2e9b84c505d098f8d66fa79439007d1c0b22e5a87d70bf5ea53ab647ee4c2046
2019-03-11Merge #15566: cli: replace testnet with chain and return network name as per ↵MarcoFalke
BIP70. 890396cbd5 cli: replace testnet with chain and return network name as per BIP70. (fanquake) Pull request description: Related IRC discussion [here (line 151)](http://www.erisian.com.au/bitcoin-core-dev/log-2019-03-09.html). Tree-SHA512: 8bdbacc7b8ce8bd2cc7c47aa9d73f2830a7c2e2ec43686430e3fba1a9db0e53a285467f26cde6dcc3bf948b7d6d59b9b7f184ce1a30a8970f39e5396dfc122f0
2019-03-10dead code: Remove dead option in HexStr conversionLenny Maiorani
Problem: - Nothing uses the `fspaces` argument to `HexStr()` besides unit tests. This argument results in extra complexity and a small performance decrease within the function for branch evalulation. Solution: - Remove unused `fspaces` option.
2019-03-09cli: remove duplicate wallet fields from -getinfofanquake
2019-03-09cli: replace testnet with chain and return network name as per BIP70.fanquake
2019-03-09Merge #15486: [addrman, net] Ensure tried collisions resolve, and allow ↵Wladimir J. van der Laan
feeler connections to existing outbound netgroups 20e6ea259b222b10f066f22695a5f56c52071f63 [addrman] Improve collision logging and address nits (Suhas Daftuar) f71fdda3bc2e7acd2a8b74e882364866b8b0f55b [addrman] Ensure collisions eventually get resolved (Suhas Daftuar) 4991e3c813c9848d3b3957ea3ad433f02fca9e81 [net] feeler connections can be made to outbound peers in same netgroup (Suhas Daftuar) 4d834018e368c3481a5421891395f64aa9002185 [addrman] Improve tried table collision logging (Suhas Daftuar) Pull request description: The restriction on outbound peers sharing the same network group is not intended to apply to feeler connections, so fix this. This fixes an issue where a tried table collision with an entry to a netgroup we already have an outbound connection to could cause feelers to stop working, because the tried collision buffer (`m_tried_collisions`) would never be drained. Also, ensure that all entries don't linger in `m_tried_collisions` by evicting an old entry if its collisions is unresolved after 40 minutes. Tree-SHA512: 553fe2b01b82cd7f0f62f90c6781e373455a45b254e3bec085b5e6b16690aa9f3938e8c50e7136f19dafa250ed4578a26227d944b76daf9ce4ef0c75802389b6
2019-03-08Merge #15532: Remove sharp edge (uninit member) when using the ↵Wladimir J. van der Laan
compiler-generated ctor for BlockFilter 82c3b3f8e07f0572327275841333256fa3e679e3 Remove sharp edge (uninitialized m_filter_type) when using the compiler-generated constructor for BlockFilter (practicalswift) Pull request description: Remove sharp edge (uninitialised member `m_filter_type`) when using the compiler-generated constructor for `BlockFilter`. Before (but after added test): ``` $ src/test/test_bitcoin -t blockfilter_tests/blockfilter_basic_test Running 1 test case... test/blockfilter_tests.cpp(118): error: in "blockfilter_tests/blockfilter_basic_test": check default_ctor_block_filter_1.GetFilterType() == default_ctor_block_filter_2.GetFilterType() has failed [ != ] *** 1 failure is detected in the test module "Bitcoin Test Suite" ``` After: ``` $ src/test/test_bitcoin -t blockfilter_tests/blockfilter_basic_test Running 1 test case... *** No errors detected ``` Tree-SHA512: 21d41f036b0bf12adcf1a788d84747353f2023cb85fd8ea6c97222967032e8bf54e7910cadb45dfcecd78e5b5dca86685f78cad0596b6d1a08f910ebf20d90aa
2019-03-07Merge #15464: gui: Drop unused return values in WalletFrameJonas Schnelli
28c86de3b gui: Drop unused return values in WalletFrame (João Barbosa) Pull request description: This is a small cleanup since the return value of `WalletFrame` methods are not used. This is in line with the usual async slot declaration. Tree-SHA512: ff0ca098804118bba200a58cd796ff90e853a6430e58125bd178b7bfa9b2b763c13d17b81e8f3ebd94395cac249d80379ba1529680c47682ba6a2ed81492ba33