aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-02change default Python block serialization to witnessGregory Sanders
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-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-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
2019-03-18Merge #15466: tests: Print remaining jobs in test_runner.pyMarcoFalke
2e5d482659 tests: Print remaining jobs in test_runner.py (Steven Roose) Pull request description: This helps finding out which tests fail to finish. Tree-SHA512: d22beb82beecd33aaa50731c83075e49577842d29fd21aa63bcb859df5da99069eba9cc16eed5d91dbba8fb0fdc317fb88b3b370c4d3917e9da1cd13b0a622dc
2019-03-18depends: qt: Don't hardcode pwd pathCarl Dong
Let a man use his builtins if he wants to! Also, removes the unnecessary assumption that pwd lives under /bin/pwd.
2019-03-18depends: tar: Always extract as yourselfCarl Dong
For normal users, --no-same-owner is default, but not so for root, where it is assumed that root can change ownership willy-nilly. This is not the case for privilege-limited container environments where we gaslight the process into thinking it's root.
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-17Merge #15601: build: depends: Switch to python3 (take 3)MarcoFalke
fa0f92af9a build: depends: Switch to python3 (MarcoFalke) Pull request description: Actually try to switch to python3 after the incomplete attempts: * Remove Python2 support #11881 * build: Require python 3.5 #14954 * ... Tree-SHA512: ba689c3788f2dd91c15d4ff5f6a73219c1a73893c18d3bb8e6da5c35acfef9897c7e100439ce5cac05624c66f7619d13528b60065c36545608fb387aab25e117
2019-03-17Merge #15611: Add Gitian key for droarkWladimir J. van der Laan
204c729457aa21e5fc6325a5af57f69b55a67c6a Add Gitian key for droark (Douglas Roark) Pull request description: I've signed 0.18.0rc1 and 0.18.0rc2, and I intend to sign every release moving forward. Tree-SHA512: 0662d4f3d4f719324c34f4074a5d4fcb8d8426846ea55e0771d84293bd2c390cc0a590da39b59a1ff96fc1dc2486e579f1e14a7aebbc1e7d991dfee7020a9032
2019-03-16Add Gitian key for droarkDouglas Roark
I've signed 0.18.0rc1 and 0.18.0rc2, and I intend to sign every release moving forward.
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-16Merge #15604: [docs] release note for disabling reject messages by defaultWladimir J. van der Laan
92f3e808f65f9d3574c6c4ad866fa6bb20950ca7 [docs] release note for disabling reject messages by default (John Newbery) Pull request description: v0.18 deprecated BIP 61 REJECT messages. v0.19 disables them by default (#14054). This adds a release note to document that. BIP 61 REJECT messages will be removed entirely in a future version. Tree-SHA512: 575b7e2800c40cd47b8704abb3ab1e5acdd266ece7209a629e47fed1a88ca94bc0858591e8707b157e913385360a43f2695ecaae81e9881dc2a9b3c9391c80c2
2019-03-16Merge #15609: scripts and tools: Set 'distro' explicitlyWladimir J. van der Laan
b8705a091565d4373e0e8ad4aa764cfd906708db Set 'distro' explicitly (Hennadii Stepanov) Pull request description: The [gitian-builder](https://github.com/devrandom/gitian-builder) implicitly uses `ubuntu` as a default distro. [bin/gbuild#L237](https://github.com/devrandom/gitian-builder/blob/81edd2fc8e66193bc0e2ca8530a918eb57727139/bin/gbuild#L237): ```ruby distro = build_desc["distro"] || "ubuntu" ``` This PR sets a gitian building distro explicitly in description files. Tree-SHA512: d2a692047f3466a5c637433610854d1100fe68a78fb03b4a81c70911fa14b0228d9cf25bcf115930aab9cc8c5063dacaf79bcd151f1c3f6fee6419389aefcb8b
2019-03-16Set 'distro' explicitlyHennadii Stepanov
2019-03-15Merge #15580: depends: native_protobuf: avoid system zlibMarcoFalke
19a0c4af0f depends: native_protobuf: avoid system zlib (Carl Dong) Pull request description: I don't believe we use any zlib features in protobufs Tree-SHA512: cd09229f3fac215f58e9ddd4871f190cf2a301e25939aaa1c6ee130d1ba5bbb00d9ebe9ca012a2894bac4c2db923259f34fe43e255ad55ccd2b11ec88afc2a8f
2019-03-15[docs] release note for disabling reject messages by defaultJohn Newbery
2019-03-15Merge #15577: Docs: Enable TLS in link to chris.beams.ioJonas Schnelli
228e80608 Enable TLS in link to chris.beams.io (JeremyRand) Pull request description: This PR enables TLS in a documentation link to chris.beams.io, which improves security. This change was originally part of https://github.com/bitcoin/bitcoin/pull/13778 , which was closed for reasons unrelated to this change. Tree-SHA512: 01f02031b39ebdaa7fc1859befde7e3bfff105892a8b9e1737ff94741599c6c5936eff53871e5e3560931512c9b7a4ea34f48d8555b583d232c90c2ca6d4d776
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 #15444: [docs] Additional productivity tipsMarcoFalke
ff7f31e07d [doc] productivity: more advanced git range-diff (Sjors Provoost) 3a21905a4e [doc] devtools: mention clang-format dependency (Sjors Provoost) bf12093191 [doc] productivity: fix broken link (Sjors Provoost) Pull request description: Fixes a broken link to `devtools/README.md`, points out the `clang-format` dependency and adds a `git range-diff` incantation that works even with rebases and squashes. Tree-SHA512: 36e46282f1e28d1bf3f48ada995fbac548f61b7747091eb032b60919cf76c7bdad0fa8aecb0c47adbdaa9ef986d3ec7752b0bb94c63191401856e2ddeec48f3e
2019-03-14build: depends: Switch to python3MarcoFalke
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-12Merge #15582: Fix overflow bug in analyzepsbt fee: CAmount instead of intWladimir J. van der Laan
c9963ae8b1a4d26d19c58e18fde9c85783edb788 Fix overflow bug in analyzepsbt fee: CAmount instead of int (Pieter Wuille) Pull request description: This causes the `fee` and `estimated_feerate` values in the the analyzepsbt output to be off if the amount being spent exceed 21.47483647 BTC. Tree-SHA512: 61c1e26894617c51cc5fc026a3677a0b759fcbac1e70efa7fdc68d57cfd484525e18c906f1b8c06fd5d846b74a3cb4bc0bbd302a6eeaade79055a47d6d0dacc2
2019-03-12Merge #15548: build: use full version string in setup.exeWladimir J. van der Laan
fa55104cb8e73c709e90fc5f81c9cb6a8a0713a6 build: use full version string in setup.exe (MarcoFalke) Pull request description: Fixes: #15546 Tree-SHA512: a8ccbfef6b9fdd10bd0facadb25019b9296579eee6c8f7b4e5298cc4df52bba61864135ab8f46b900f7a3888fbcc921e039412d5a8127e44d8f2dd2c8fc56f86
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-11depends: native_protobuf: avoid system zlibCarl Dong
2019-03-11Enable TLS in link to chris.beams.ioJeremyRand
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.