aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-28Include patches for GuixRojar Smith
2021-12-28Merge bitcoin/bitcoin#23873: test: use MiniWallet for p2p_compactblocks.pyMarcoFalke
d2efb66458e5ded38fe15216710de7036fe55244 test: use MiniWallet for p2p_compactblocks.py (Sebastian Falbesoner) Pull request description: This PR enables one more of the non-wallet functional tests (p2p_compactblocks.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in #20078. The wallet RPCs calls (`getnewaddress`/`sendtoaddress`) can easily be substituted by generating/sending to the MiniWallet's internal address instead (`self.generate(self.wallet, ...)`/`self.wallet.send_self_transfer(...)`). ACKs for top commit: josibake: ACK https://github.com/bitcoin/bitcoin/pull/23873/commits/d2efb66458e5ded38fe15216710de7036fe55244 brunoerg: tACK d2efb66458e5ded38fe15216710de7036fe55244 Tree-SHA512: 25340d95199ffd1fa734231c22b7710aad1ed4cda78c8c533c19cea90dc4eab65832f043d20e4fc5c0869692b1f300ad79af4e7fd3c4af8f2578ac9ccbbc9aeb
2021-12-28Merge bitcoin/bitcoin#23878: doc: Remove TODO comment in tx_verifyfanquake
fa50d8b66e74792eb46515853e4aa8a99f25561b doc: Remove TODO comment in tx_verify (MarcoFalke) Pull request description: The comment has no clear motivation, so it seems better to remove it and fix it when there is a reason. An alternative (if a fix isn't possible when there is a clear motivation) would be to create an issue thread for easier discussion. ACKs for top commit: fanquake: ACK fa50d8b66e74792eb46515853e4aa8a99f25561b Tree-SHA512: e9c25bab46a73b7c2db288c62ed9838a5e794b3b72db494173f4502da60b58dec4383064964c0842932cd30e4251fc01ad0c28681e2ef6cb442482eea2bad595
2021-12-28Merge bitcoin/bitcoin#23840: doc: Fix -changetype help textfanquake
fa993d0e7e4d27ca1cf7d88a5a6ec5b93b7ed503 doc: Fix -changetype help text (MarcoFalke) Pull request description: This was forgotten in commit 3ac38058ce0e80a9f4276bfa82951decdb237e9a ACKs for top commit: shaavan: ACK fa993d0e7e4d27ca1cf7d88a5a6ec5b93b7ed503 w0xlt: ACK fa993d0 josibake: ACK https://github.com/bitcoin/bitcoin/pull/23840/commits/fa993d0e7e4d27ca1cf7d88a5a6ec5b93b7ed503 Tree-SHA512: 9f84b1168e3b3ab06e5c1f4915a1874598b273099eb5878ed28c3a66f1484e34c836fd3c68c4131bee541f3428052f6b66e02b192170752d1082de689d44cd4d
2021-12-28Merge bitcoin/bitcoin#23883: doc: Remove fixed TODO from wallet/feebumperfanquake
fa562fdd5e36566f8013eee17c6dbf830942094e doc: Remove fixed TODO from wallet/feebumper (MarcoFalke) Pull request description: Fixed in commit 9522b53a91f28032c34b94662d50b000534708ce ACKs for top commit: shaavan: ACK fa562fdd5e36566f8013eee17c6dbf830942094e Tree-SHA512: 968fda0994020c369b7acfc01db109d0f50d4c137fadf533ae55d0e14a353ebbde4320e798cf89e5489f1020c459712631b3967976c1f73d99db8a2d1cbad982
2021-12-28Merge bitcoin/bitcoin#23881: doc: Remove TODO from block fuzz testfanquake
fa5d0b6ecda384b591fff42b4072fa7d02525975 doc: Remove TODO from block fuzz test (MarcoFalke) Pull request description: I don't see a reason to fix the TODO, as all call sites assume at least one tx in `vtx`. So remove it. ACKs for top commit: fanquake: ACK fa5d0b6ecda384b591fff42b4072fa7d02525975 Tree-SHA512: 8fe03a5bdebf4d6dad00f410a1dc6449c485a4d61afb79ebcaa221489cde2a465fea981742fde130238ebed6d2f1f032aa4976726ee07b23fe7fb745b2728d46
2021-12-27doc: Remove fixed TODO from wallet/feebumperMarcoFalke
Fixed in commit 9522b53a91f28032c34b94662d50b000534708ce
2021-12-27doc: Remove TODO from block fuzz testMarcoFalke
2021-12-27doc: Remove TODO comment in tx_verifyMarcoFalke
2021-12-27test: use MiniWallet for p2p_compactblocks.pySebastian Falbesoner
This test can now be run even with the Bitcoin Core wallet disabled.
2021-12-27Merge bitcoin/bitcoin#23866: test: use MiniWallet for rpc_scantxoutset.pyMarcoFalke
e844115deae8a11c591704a84e56ed45fa81409c test: use MiniWallet for rpc_scantxoutset.py (Sebastian Falbesoner) 983ca0456c0fd32dc6ce166cb1e9aeb925e81161 test: introduce `address_to_scriptpubkey` helper (Sebastian Falbesoner) e704d4d26f62f83068dc7d4082ab9b57bc33d1fb test: introduce `getnewdestination` helper for generating various address types (Sebastian Falbesoner) Pull request description: This PR enables one more of the non-wallet functional tests (rpc_scantxoutset.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in #20078 and https://github.com/bitcoin/bitcoin/pull/23858#issue-1088320649 more recently. Reviewer's guide: * [commit 1/3] For replacing the getnewaddress/getaddressinfo RPC calls a helper `getnewdestination` is introduced which allows to create addresses with the common address format types ('legacy', 'p2sh-segwit' and 'bech32'), but also additionally returns the corresponding pubkey and output script. * [commit 2/3] In order to send to addresses with MiniWallet, a helper `address_to_scriptpubkey` is introduced. It only supports legacy addresses (Base58Check) so far, which is sufficient for the scantxoutset test. * [commit 3/3] With those helpers, the use of MiniWallet in the test is quite straight-forward. To avoid repeatedly specifying parameters like `from_node` to MiniWallet's `send_to` method, another test-internal helper `sendtodestination` is introduced which supports specifying the destination both as outputscript or as address. ACKs for top commit: w0xlt: reACK [e844115](https://github.com/bitcoin/bitcoin/pull/23866/commits/e844115deae8a11c591704a84e56ed45fa81409c) Tree-SHA512: e4823dc507019b2b8e479602963c5dddc4c78211e1d934218ee0f0e32c068ab7e44e9793307f549127946364f57d684c4ea1d70f25865ea70d30d4f3855836d0
2021-12-27Merge bitcoin/bitcoin#23817: build: Fix regression introduced in PR23603fanquake
d3b0f82a438ae60060d0d4d83245bf75f5de433d build: Fix regression introduced in PR23603 (Hennadii Stepanov) Pull request description: It appears 7629efcc2c3a8a8a7c17b1300cd466ec6c8c1f3f from bitcoin/bitcoin#23603 introduced a regression in build tool flag evaluation. On macOS system: - pre-PR23603 master (ae017b81604761b57e22c28913c4ce81bf2e31ce): ``` % make -C depends print-darwin_CXXFLAGS darwin_CXXFLAGS=-pipe % make -C depends print-host_CXXFLAGS host_CXXFLAGS=-pipe ``` - the current master (369978686e156ad34df703f1e60bd90aeaa8f2d6): ``` % make -C depends print-darwin_CXXFLAGS darwin_CXXFLAGS=-pipe % make -C depends print-host_CXXFLAGS host_CXXFLAGS=-arch x86_64 ``` It's obvious a flag being set in `depends/hosts/darwin.mk`, i.e., `-pipe`, is lost. With this PR: ``` % make -C depends print-darwin_CXXFLAGS darwin_CXXFLAGS=-pipe % make -C depends print-host_CXXFLAGS host_CXXFLAGS=-pipe -arch x86_64 ``` ACKs for top commit: fanquake: ACK d3b0f82a438ae60060d0d4d83245bf75f5de433d Tree-SHA512: 643099ce6858475ac9f3a4dfa72a4e493fec6fdd7042ae0f0d5fe44c5cd175e4eda63cb39fc46ac1501cadcd3466507ec88d9089235e005fe43ea7ab47ce37c1
2021-12-27Merge bitcoin/bitcoin#23862: build, qt: Hardcode last modified timestamp in ↵fanquake
Qt RCC 11736dbe3dbe34bcb430d05810b9e9aa66ec1cd6 build, qt: Hardcode last modified timestamp in Qt RCC (Hennadii Stepanov) Pull request description: Our Guix build system sets the [`SOURCE_DATE_EPOCH`](https://reproducible-builds.org/specs/source-date-epoch/) and propagates it to the depends build subsystem. Its [default value](https://github.com/bitcoin/bitcoin/blob/master/contrib/guix/README.md#recognized-environment-variables) is the top commit timestamp. After bumping Qt version up to 5.15.2, due to [this](https://github.com/qt/qtbase/commit/1ffcca4cc208c48ddb06b6a23abf1756f9724351) change, every time they are going to make new Guix builds for another branch/commit they must ensure that the `qt` package will be rebuilt from scratch. Otherwise, Bitcoin Core GUI binaries will be non-deterministic. Such behavior makes working with Guix builds suboptimal. This PR fixes the described issue by patching Qt RCC and hardcoding last modified timestamps with `1`. It's worth to mention that this change is compatible with a possible future [improvement](https://github.com/bitcoin/bitcoin/pull/21995) which makes each dependency package reproducible. A drawback of such an approach is not currently applied to our project, as it effectively makes [QML cache files](https://bugreports.qt.io/browse/QTBUG-57182) useless. I can't say it's a problem for the https://github.com/bitcoin-core/gui-qml project. --- **A note for thinkers:** For now this change is enough as only Qt source contains `SOURCE_DATE_EPOCH`. But in general we should re-think about treating the `SOURCE_DATE_EPOCH` variable in the depends build subsystem. For instance, its default value could be the output of `git log --format=%at -1 -- depends`. ACKs for top commit: fanquake: ACK 11736dbe3dbe34bcb430d05810b9e9aa66ec1cd6 Tree-SHA512: 31f104010a0a78d217aafcc5bc4606351f9060fc2a827277935b85fc8ced9f3d90a31d812c7db8c2711fb6daccd279cf0945dc1d7a7199e0eb0ade451cdbcd5d
2021-12-26test: use MiniWallet for rpc_scantxoutset.pySebastian Falbesoner
This test can now be run even with the Bitcoin Core wallet disabled.
2021-12-26Merge bitcoin/bitcoin#23864: doc: Drop outdated noteMarcoFalke
94a7f09de6ed1899372bf14f6202629e27dc1512 doc: Drop outdated note (Hennadii Stepanov) Pull request description: It is outdated since bitcoin/bitcoin#23060. ACKs for top commit: MarcoFalke: cr ACK 94a7f09de6ed1899372bf14f6202629e27dc1512 theStack: Code-review ACK 94a7f09de6ed1899372bf14f6202629e27dc1512 Tree-SHA512: 5a98cf39c3939845d1abb64cb62dbb9bdb1135aa07a5cd0d85de7b6a6d9a3397b0e5da06cdb89991aac31151cb3c0d38eacf4898c53014cb7f7600e992230f87
2021-12-26test: introduce `address_to_scriptpubkey` helperSebastian Falbesoner
Works only with legacy addresses (Base58Check) right now.
2021-12-26test: introduce `getnewdestination` helper for generating various address typesSebastian Falbesoner
This serves as a replacement for the getnewaddress RPC if no wallet is available. In addition to the address, it also returns the corresponding public key and output script (scriptPubKey).
2021-12-26Merge bitcoin/bitcoin#23858: test: Fix rpc_scantxoutset intermittent issueMarcoFalke
fafe4dea16c93ac8d5cd5eee872dfb8427d7809a test: Fix pep8 of touched file (MarcoFalke) fa0ac9d7e36ec616cd673b9041f0e54b9f32d5b0 test: Fix rpc_scantxoutset intermittent issue (MarcoFalke) Pull request description: I fail to see how this could have ever worked, since there is nothing that prevents the wallet from spending the coins in the utxo set. Fixes https://github.com/bitcoin/bitcoin/issues/23847 Longer term it would be nice to remove the wallet and use MiniWallet here. ACKs for top commit: brunoerg: tACK fafe4dea16c93ac8d5cd5eee872dfb8427d7809a theStack: Code-review ACK fafe4dea16c93ac8d5cd5eee872dfb8427d7809a Tree-SHA512: d92b7be9a81eb62f496488dd15b8e564e9b7a64b55634af2714b53f985e6a35fdae788323833ff59c40ae7c6a0cf54fe069db8eb3be03686f7c100379f54a292
2021-12-25build, qt: Hardcode last modified timestamp in Qt RCCHennadii Stepanov
This change allows the already built qt package to be reused even with the SOURCE_DATE_EPOCH variable set, e.g., for Guix builds.
2021-12-25doc: Drop outdated noteHennadii Stepanov
It is outdated since bitcoin/bitcoin#23060.
2021-12-25Merge bitcoin/bitcoin#23859: test: Add missing suppressions for ↵fanquake
crypto_diff_fuzz_chacha20.cpp faaf9da20a2920fe52ec4efa1e9a07090c089cb3 test: Add missing suppressions for crypto_diff_fuzz_chacha20.cpp (MarcoFalke) Pull request description: Without them, CI and fuzzing is broken ACKs for top commit: stratospher: ACK faaf9da. The changes look good to me. Tree-SHA512: 46604ba1b6eb8ea321e55e043835ca1e7a4f562855007b08cf9cf96d9a7f2a0155009ca1397f34338e478b8cc5b5a6a0dc94e1878a2f00bfab11595ae58bb014
2021-12-24test: Add missing suppressions for crypto_diff_fuzz_chacha20.cppMarcoFalke
2021-12-24build: Fix regression introduced in PR23603Hennadii Stepanov
Assignments in builders/darwin.mk actually override previous assignments in hosts/default.mk. Therefore, the append operator must be used instead.
2021-12-24test: Fix pep8 of touched fileMarcoFalke
Can be reviewed with --word-diff-regex=. --ignore-all-space
2021-12-24test: Fix rpc_scantxoutset intermittent issueMarcoFalke
2021-12-24Merge bitcoin/bitcoin#23835: test: check for invalid listtransactions RPC ↵MarcoFalke
parameters c27bba96723384488fb6995e21bb43969d94b0f6 test: check for invalid listtransactions RPC parameters (Sebastian Falbesoner) Pull request description: This PR adds missing test coverage for RPC errors that are thrown if invalid parameters are passed to `listtransactions`: https://github.com/bitcoin/bitcoin/blob/887796a5ffcbafcd281b920f8d55fcb6e8347584/src/wallet/rpc/transactions.cpp#L508 https://github.com/bitcoin/bitcoin/blob/887796a5ffcbafcd281b920f8d55fcb6e8347584/src/wallet/rpc/transactions.cpp#L524 https://github.com/bitcoin/bitcoin/blob/887796a5ffcbafcd281b920f8d55fcb6e8347584/src/wallet/rpc/transactions.cpp#L526 ACKs for top commit: shaavan: ACK c27bba96723384488fb6995e21bb43969d94b0f6 Tree-SHA512: e5a23590186b4d9663261ff6cea52ac45e9bf2f2ef693c22b3452bb07af9b800fdabc2a94fd2852c686c28214a496d7afe296e41831759f2182feac2482635d0
2021-12-24Merge bitcoin/bitcoin#22875: util: Fix Racy ParseOpCode function initializationMarcoFalke
7b481f015a0386f5ee3e13415474952653ddc198 Fix Racy ParseOpCode function initialization (Jeremy Rubin) Pull request description: If multiple callers call ParseOpCode concurrently it will cause a race condition. We can either move the static to it's own area and require init be called explicitly, or just allow concurrent first callers to race to fill in an atomic variable that never changes thereafter. The second approach is taken here. Static initialization *is* threadsafe, but only insofar as definining the variable being guaranteed to be called once. This is used incorrectly here. practicalswift --> are there tools we can deploy to catch usage like this? ACKs for top commit: MarcoFalke: re-ACK 7b481f015a0386f5ee3e13415474952653ddc198 🗣 Tree-SHA512: cbf9dc3af26d7335305026f32ce8472a018309b89b3d81a67357e59fbeed72c37b5b8a6e30325ea68145c3b2403867be82de01f22decefb6e6717cf0c0045633
2021-12-23Fix Racy ParseOpCode function initializationJeremy Rubin
2021-12-23Merge bitcoin/bitcoin#23845: ci: use GCC 8 when building packages in ↵MarcoFalke
native_qt5 CI 2da97b271b23225c394217ebc7b37999e34e345e ci: use GCC 8 when building packages in native_qt5 CI (fanquake) Pull request description: Our minimum required GCC is GCC 8, and this change in required for PRs like #23839 which take advantage of flags introduced in that version of GCC. This should have been included as part of 182de7ba10811ec39e24ec5bec7cd2119f776f2f. ACKs for top commit: MarcoFalke: cr ACK 2da97b271b23225c394217ebc7b37999e34e345e hebasto: ACK 2da97b271b23225c394217ebc7b37999e34e345e Tree-SHA512: 2b64c21119fb95b959ac0f7d8d2d38f6ed98309695bb35425fad45b3b628247c2c78d0647c4d1f511669e8d333c6febe1cc44fac8027ed0bd7593eb630add548
2021-12-23Merge bitcoin/bitcoin#23842: scripted-diff: Rename interfaces::WalletClient ↵MarcoFalke
to interfaces::WalletLoader ff5f6dea5336075d1a6cace1112be3252d97540b scripted-diff: Rename interfaces::WalletClient to interfaces::WalletLoader (Russell Yanofsky) Pull request description: Name has been confusing since it was introduced, and it was pointed in recent review club https://bitcoincore.reviews/10102 that it was particularly unclear how `interfaces::WalletClient` was different from `interfaces::Wallet`. ACKs for top commit: w0xlt: ACK ff5f6de Tree-SHA512: 26fa10baa457e76da1933adab187e9be61b8d76cff1cf2c73ad4320461c7e31fb9db07b7c2486998294826beb4a1aca255c14903920b443db6213e653c5f7e0a
2021-12-23Merge bitcoin/bitcoin#23736: test: call VerifyLoadedChainstate during ↵fanquake
ChainTestingSetup 826e12b010eda4238f9e8cd875e8915a405bed0d test: call VerifyLoadedChainstate during ChainTestingSetup (James O'Beirne) Pull request description: for additional coverage and similarity to actual init process. Followup to #23280. ACKs for top commit: dongcarl: Code Review ACK 826e12b010eda4238f9e8cd875e8915a405bed0d ryanofsky: Code review ACK 826e12b010eda4238f9e8cd875e8915a405bed0d Tree-SHA512: a4e7fd25e5d7a08b1e154ae6daf67c3048260a2684b0e569b544dd826693b7b969db9923b191e499cb8d8d0a2a73eb9330ff45909313145a9abb6052eb8c3ad9
2021-12-23ci: use GCC 8 when building packages in native_qt5 CIfanquake
Our minimum required GCC is GCC 8, and this change in required for changes like #23839 which take advantage of flags introduced in that version of GCC. This should have been included as part of 182de7ba10811ec39e24ec5bec7cd2119f776f2f.
2021-12-22test: check for invalid listtransactions RPC parametersSebastian Falbesoner
2021-12-22scripted-diff: Rename interfaces::WalletClient to interfaces::WalletLoaderRussell Yanofsky
Name has been confusing since it was introduced, and it was pointed in recent review club as https://bitcoincore.reviews/10102 that it was particularly unclear how interfaces::WalletClient was different from interfaces::Wallet. -BEGIN VERIFY SCRIPT- ren() { git grep -l "$1" src | xargs sed -i "s/$1/$2/g"; } ren WalletClient WalletLoader ren walletClient walletLoader ren wallet_client wallet_loader ren "wallet clients release the wallet" "wallet pointer owners release the wallet" ren "wallet client" "wallet loader" ren "Wallet client" "Wallet loader" -END VERIFY SCRIPT-
2021-12-22Merge bitcoin-core/gui#459: Address type dropdown, add Taproot (Receive tab)MarcoFalke
c9a77e227eecf357c7dd550efb8c1827bb99a5de gui: address type dropdown, add bech32m (Sjors Provoost) 56113daef4830cad1af3c00f6b3c447c9e2a8e05 wallet: add taprootEnabled() to interface (Sjors Provoost) Pull request description: This PR replaces the Bech32 checkbox with an address type dropdown It "Use Taproot" checkbox to the receive screen for any wallet with a Taproot descriptor. The Bech32m option is hidden for wallets that don't have taproot descriptors. Bech32 is kept as the default even for Taproot enabled wallets until it's more widely supported. (an earlier attempt of this PR added a second checkbox) <img width="469" alt="Schermafbeelding 2021-12-21 om 11 44 05" src="https://user-images.githubusercontent.com/10217/146872660-339fae1f-c0b8-4673-b8be-33c25f3933fd.png"> **Suggested testing** * notice that the Bech32m entry only appears for wallet with a taproot descriptor * verify that it generates a bc1p instead of bc1q address 1. Legacy wallet 2. Default descriptor wallet (current does not have taproot descriptor) 3. Wallet with taproot descriptor: * just create a new descriptor wallet Replaces https://github.com/bitcoin/bitcoin/pull/22260 ACKs for top commit: Rspigler: tACK c9a77e227eecf357c7dd550efb8c1827bb99a5de. I like the changes made now, thanks! kristapsk: re-ACK c9a77e227eecf357c7dd550efb8c1827bb99a5de Tree-SHA512: bae66ac90ed55372e6c94878db0e37d32b7b5c24ed00c0f2ebb10fd127dddce3a061162df915d67e92d7b35b3da093137db17b73931a0ae1a470fff20be1f30b
2021-12-22doc: Fix -changetype help textMarcoFalke
This was forgotten in commit 3ac38058ce0e80a9f4276bfa82951decdb237e9a
2021-12-21gui: address type dropdown, add bech32mSjors Provoost
Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
2021-12-21wallet: add taprootEnabled() to interfaceSjors Provoost
2021-12-20Merge bitcoin/bitcoin#23341: RPC: Better safety with newkeypool command and ↵Andrew Chow
wallet backups a2a92317ad4ab88cfca234f68337a7cd37897f10 rpc: Add warning to user about newkeypool command (Samuel Dobson) Pull request description: This PR prevents `newkeypool` from being run on non-HD wallets, because this would require a new backup every time, so it isn't very safe. David Harding also suggested [here](https://github.com/bitcoin/bitcoin/pull/23093#issuecomment-945350003) that the RPC help text should include a warning to the users about the interaction between newkeypool. ACKs for top commit: achow101: ACK a2a92317ad4ab88cfca234f68337a7cd37897f10 Tree-SHA512: 0aa497900f1d179764bce13ffce0bb081ba2ca354492bf2e04b21d0212e960b3ed13a386fbf65602b6b50461f4056a0285752ef707d312da28e82449cd8ea048
2021-12-20Merge bitcoin/bitcoin#23789: wallet: Strictly match tx change type to ↵Andrew Chow
improve privacy fada6c65d23f7bd4682fac281026612b835c4f8b wallet: Strictly match tx change type to improve privacy (MarcoFalke) Pull request description: Currently the change type will only match a destination by accident, making it easier to determine the change. Fix that by strictly matching one of the destinations. ACKs for top commit: S3RK: Concept & Approach ACK fada6c6. Also did light code review . achow101: ACK fada6c65d23f7bd4682fac281026612b835c4f8b prayank23: tACK https://github.com/bitcoin/bitcoin/pull/23789/commits/fada6c65d23f7bd4682fac281026612b835c4f8b w0xlt: tACK fada6c6 Tree-SHA512: 2b072c3c32debac7b0bef07a6df9a8f1a631e0f7d556b859973f18894ca490225582dc13e4588b29fa205ffbcd30fb632d5313b304d10ad17a26adc3f7684471
2021-12-20Merge bitcoin/bitcoin#23796: test: check that pruneblockchain RPC fails for ↵MarcoFalke
future block or timestamp 140a49ce5e547a1b520a7cd063af8308184e7cbf test: check that pruneblockchain RPC fails for future block or timestamp (Sebastian Falbesoner) Pull request description: This PR adds missing test coverage for the `pruneblockchain` RPC for the case that a future block or timestamp is passed: https://github.com/bitcoin/bitcoin/blob/8c0bd871fcf6c5ff5851ccb18a7bc7554a0484b0/src/rpc/blockchain.cpp#L1101 https://github.com/bitcoin/bitcoin/blob/8c0bd871fcf6c5ff5851ccb18a7bc7554a0484b0/src/rpc/blockchain.cpp#L1111 Note that the test method `manual_test` gets called twice, once each with `use_timestamp` set to True/False, respectively. Depending on that, the helper function `height` either converts the passed block height to the timestamp of that block, or just returns it without modification. The other tests for failures in this RPC are also changed to be more detailled ("Cannot prune blocks because node is not in prune mode", "Negative block height"), as I don't think there is any value in just checking a sub-string. If there is ever an error with the same sub-string is introduced, it's not clear which error is exactly checked with the test, so it makes sense to be as specific as possible. ACKs for top commit: brunoerg: tACK 140a49ce5e547a1b520a7cd063af8308184e7cbf Tree-SHA512: bee3cee9f35c2a63a1839d7ec1f83e354d9d3c0c2ca32d300dca2de8b755d555f769ba2b80ac37d31df6ee7e2b8eaefb8134c4727a7144e47c0f5e34f2cc5822
2021-12-20Merge bitcoin/bitcoin#23797: ci: Use Cirrus "greedy" flag to use idle CPU ↵MarcoFalke
time when available cfeb1942bc9e80be59ef3c2f122d254290db5347 ci: Use Cirrus "greedy" flag to use idle CPU time when available (Luke Dashjr) Pull request description: Disabled for MSan to avoid excessive RAM usage Top commit has no ACKs. Tree-SHA512: 4351d477b8749b3578a1f808ba7e963a44e0a4a1b695605b473ab3cf424d75ade6e13e7401a39675843e7c9b48a3e46936909d6bcc4af1f7abe1b690fe5b7a55
2021-12-20Merge bitcoin/bitcoin#23801: Refactor: Change time variable type from ↵MarcoFalke
int64_t to std::chrono::seconds in net_processing.cpp 92082ea0bb62ab6ec723b57ca4f2b2c5f6b28469 Change time variable type to std::chrono::seconds in src/net_processing.cpp (Shashwat) Pull request description: - This is a follow-up to PR #23758 - This changes the remaining time variable in `net_processing.cpp` from **int64_t** to **std::chrono::seconds** ACKs for top commit: naumenkogs: ACK 92082ea0bb62ab6ec723b57ca4f2b2c5f6b28469 hebasto: re-ACK 92082ea0bb62ab6ec723b57ca4f2b2c5f6b28469 Tree-SHA512: 559e351d9046d4ba2b842ae38da13b4befc7feee71f0762f97907812471e2840b0d43c90c92222d15619fe40cc21f11d40900500ca07b470f7ac8b0046cc1d68
2021-12-20Merge bitcoin/bitcoin#23711: docs: RBF policy and mempool limit exemptionsMarcoFalke
82858bab64274506cfcd365a6588a1a9141fb22c [doc] CPFP carve out and single-conflict RBF exemption (glozow) 1fd49eb498c75a1d14193bb736d195a3dc75ae12 [doc] clarify RBF difference from BIP125 (glozow) 919ae8b8cdeccfc04026293153b876e27469a027 [doc] current rbf policy (glozow) Pull request description: Since RBF was first implemented and BIP125 was written, our code has changed, people have highlighted implementation differences, and some people have proposed further changes to it. Many people seem to support the idea of documenting our _current_ RBF policy as it stands today. As the ancestor/descendant limit carve-out exemptions are very related to RBF, it seemed appropriate to group them with this PR. Related to #22806 - it seems that these policies are the most confusing for people, or at least the most documentation-requested. ACKs for top commit: dunxen: ACK 82858ba t-bast: ACK https://github.com/bitcoin/bitcoin/pull/23711/commits/82858bab64274506cfcd365a6588a1a9141fb22c, thanks @glozow! darosior: re-ACK 82858bab64274506cfcd365a6588a1a9141fb22c ariard: ACK 82858ba Tree-SHA512: 5d296537cce3488c18179c0aa76c739ca02fdc424e5aa17129b4cdd0d057358f86bcc1e92a9857bd2c60495f834fe9d9406d1a9f8ac5cfc8f0f4f4c27ec4f8e1
2021-12-20Merge bitcoin/bitcoin#23780: refactor, test: update `addrman_tests.cpp` to ↵MarcoFalke
use output from `AddrMan::Good()` bf4f8171352e9b384b42c91da61dfc9c3ca89ed8 refactor: addrman_select test (josibake) 5a64dc018c04ce16202a8e58ce92d2657c0b1806 refactor: addrman_evictionworks test (josibake) e281fccd8a80d7cd48c3b17d58fd4a8915e1e965 refactor: addrman_noevict test (josibake) 8bdd9240d4310aafa1332159355f106a8fcfc5c9 refactor: addrman_selecttriedcollisions test (josibake) Pull request description: As a follow-up to #23713 , this PR refactors the remaining tests in `src/tests/addrman_tests.cpp` to use the output from `AddrMan::Good()` where appropriate. ACKs for top commit: naumenkogs: ACK bf4f8171352e9b384b42c91da61dfc9c3ca89ed8 mzumsande: Code Review ACK bf4f8171352e9b384b42c91da61dfc9c3ca89ed8 Tree-SHA512: 93cc127aecff42c1c174daa04911af7e3460a5c40ddf96952fe4a6ab86fa1ff22d66724326abb709008d7f9f79c26c55c6d62753c40059c9ac60f869507ec913
2021-12-20Merge bitcoin/bitcoin#23812: test: fix intermittent failures in p2p_timeouts.pyMarcoFalke
0a1b6fa5a18f3efb2ac3e28a23a4fd5e1cf9eaf0 test: fix intermittent timeouts in p2p_timeouts.py (Martin Zumsande) Pull request description: Fixes #23800 by making sure that all peers are connected (i.e. `m_connected` is set) before the mocktime is bumped. We can't wait for verack here, but we can wait for a debug log entry ("Added connection peer=2") instead. In the failed CI runs (e.g. https://cirrus-ci.com/task/5600553806856192?logs=ci#L7469) different peers were added at different mocktimes. ACKs for top commit: naumenkogs: ACK 0a1b6fa5a18f3efb2ac3e28a23a4fd5e1cf9eaf0 theStack: Concept and approach ACK 0a1b6fa5a18f3efb2ac3e28a23a4fd5e1cf9eaf0 Tree-SHA512: 1a3c8a9a79339d4adc6ecb1731eb0d0eadb2e5024ad3c6779b4696691f85d6c3304ef8689746d0332150a4cf04489ca4b2ff3eeb0bb76feec28c1e4bb9dbca19
2021-12-20Merge bitcoin/bitcoin#17631: Expose block filters over RESTMarcoFalke
2b64fa3251ac5ff4b4d174f1f0be7226490dce87 Update REST docs with new accessors (Matt Corallo) ef7c8228fd5cf45526518ae2bd5ebdd483e65525 Expose block filters over REST. (Matt Corallo) Pull request description: This adds a new rest endpoint: /rest/blockfilter/filtertype/requesttype/blockhash (eg /rest/blockfilter/basic/header/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f.hex) which exposes either the filter "header" or the filter data itself. Most of the code is cribbed from the equivalent RPC. You can test it at http://bitcoin-rest.bitcoin.ninja/rest//blockfilter/basic/header/000000005b7a58a939b2636f61fa4ddd62258c5fed57667a35d23f2334c4f86d.hex ACKs for top commit: dergoegge: ACK 2b64fa3251ac5ff4b4d174f1f0be7226490dce87 - Adding blockfilters to the REST interface is analogous to serving other public data such as transactions or blocks. Tree-SHA512: d487bc694266375c94d6fcf2e9d788a8a42a3b94e8d3290e46335a64cbcde55084ce5ea6119b79a4065888d94d7c3ae25a59a901fa46e3711f0eb296add12696
2021-12-20Merge bitcoin/bitcoin#23798: contrib: add achow101 to trusted keysfanquake
33b511251acbd0ed802a8843361c7dc8d1512008 contrib: add achow101 to trusted keys (Andrew Chow) Pull request description: For maintaining the wallet and psbt things ACKs for top commit: glozow: concept ACK 33b511251acbd0ed802a8843361c7dc8d1512008 michaelfolkson: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 kiminuo: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 jb55: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 gruve-p: ACK https://github.com/bitcoin/bitcoin/pull/23798/commits/33b511251acbd0ed802a8843361c7dc8d1512008 prayank23: ACK https://github.com/bitcoin/bitcoin/pull/23798/commits/33b511251acbd0ed802a8843361c7dc8d1512008 meshcollider: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 darosior: Concept ACK 33b511251acbd0ed802a8843361c7dc8d1512008 shaavan: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 benthecarman: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 hebasto: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 Zero-1729: ACK 33b511251acbd0ed802a8843361c7dc8d1512008 Tree-SHA512: 2e242b5f763a3d9fab00413760973a41a41c78f327f4a8f7bed788d6dd9f31043a644ff5f612ff033f8a3c7b4e9936737475fec67536935257053a9f6a3fb9bb
2021-12-20Change time variable type to std::chrono::seconds in src/net_processing.cppShashwat
- This commit is a followup to commit: 60b579 - This changes the remaining time variable in net_processing.cpp from int64_t to std::chrono
2021-12-19Merge bitcoin/bitcoin#23811: scripts: match on `EXE_FORMATS` rather than ↵fanquake
name string d1711a40b30a3627d116d494a36a788701f0dd90 scripts: match on exe type over str in symbol-check.py (fanquake) feee308401835456e00171e0b909c611c752d3e6 scripts: match on exe type over str in security-check.py (fanquake) Pull request description: This is a minor change, but matching on the `EXE_FORMAT` is slightly simpler and more robust, and this reduces the diff for a future change I plan on making. Guix build: ```bash ba2e4f2ff66206cc793483977386016ffd8c018c553f76e3a432ffdf7d33cc00 guix-build-d1711a40b30a/output/aarch64-linux-gnu/SHA256SUMS.part 296feb453c6b3f6a24ef45ccabe6e35b4b6728f8dab34493d76debd0cf38cb70 guix-build-d1711a40b30a/output/aarch64-linux-gnu/bitcoin-d1711a40b30a-aarch64-linux-gnu-debug.tar.gz 319ce7e2178c479e0e065593e903c1696d38504b69bc0a7cca45a0aeccbb83dc guix-build-d1711a40b30a/output/aarch64-linux-gnu/bitcoin-d1711a40b30a-aarch64-linux-gnu.tar.gz 7e961a14ace0523303e6a381f2d59aac1072cb68517a205cce704c5f324c97fa guix-build-d1711a40b30a/output/arm-linux-gnueabihf/SHA256SUMS.part 7cb96340ccd7911114e84aba731b7924500aa18731e6a10e4750898c523052a5 guix-build-d1711a40b30a/output/arm-linux-gnueabihf/bitcoin-d1711a40b30a-arm-linux-gnueabihf-debug.tar.gz 8c5858498054753363a14a57447b77c9c3ad4b8a5584fa3ff9e96b58c358008f guix-build-d1711a40b30a/output/arm-linux-gnueabihf/bitcoin-d1711a40b30a-arm-linux-gnueabihf.tar.gz 10299105a0011df9d5ec5ff0af500b902d1d16617c1f620f7836a255e6ecf155 guix-build-d1711a40b30a/output/dist-archive/bitcoin-d1711a40b30a.tar.gz 3115d3e51c50e1c41374544be76386684f6bc3a3ad3bce8fa47ad953950d1f6f guix-build-d1711a40b30a/output/powerpc64-linux-gnu/SHA256SUMS.part e1ac147d026323f486a702872cd05e96c1dfa6dc052512e80e01a9a6b9957aac guix-build-d1711a40b30a/output/powerpc64-linux-gnu/bitcoin-d1711a40b30a-powerpc64-linux-gnu-debug.tar.gz 6f793fe6218754d78f3353644cc34d8caa1aff5d3ffd4b2fd3f3c2d5547c50b1 guix-build-d1711a40b30a/output/powerpc64-linux-gnu/bitcoin-d1711a40b30a-powerpc64-linux-gnu.tar.gz 44b5e75dc090ba409fb426d41aa546e14c280a0f89038cbef483ffa26644703c guix-build-d1711a40b30a/output/powerpc64le-linux-gnu/SHA256SUMS.part cdebf42e32efab57ce82bb431db0666e5df539d65bf2936cb9e766d4b903126a guix-build-d1711a40b30a/output/powerpc64le-linux-gnu/bitcoin-d1711a40b30a-powerpc64le-linux-gnu-debug.tar.gz 2646ec19f145ef302f75f5d5aa0b565573077e474dfa9e0650fb3da61b97d102 guix-build-d1711a40b30a/output/powerpc64le-linux-gnu/bitcoin-d1711a40b30a-powerpc64le-linux-gnu.tar.gz 2b45352095a32f058fe55358a875a8b43bc76daeb834f42346a01e0e5aec4e95 guix-build-d1711a40b30a/output/riscv64-linux-gnu/SHA256SUMS.part 11119508a14f75af5d3eb47e7be059dc171691a5d6e6aefd2ab89cc57bdebce9 guix-build-d1711a40b30a/output/riscv64-linux-gnu/bitcoin-d1711a40b30a-riscv64-linux-gnu-debug.tar.gz 7f834a91e2cb2c114101f1dd030dde56591bad42ca94cb25e33251a24aa05976 guix-build-d1711a40b30a/output/riscv64-linux-gnu/bitcoin-d1711a40b30a-riscv64-linux-gnu.tar.gz 26c36170daaa91187367a1137ed5cce6707a20dbea7d4a18fcf6c69e3201a50a guix-build-d1711a40b30a/output/x86_64-apple-darwin/SHA256SUMS.part 9cbe875de7fa98684682786da66a10ee9bdf111f51cd01174355b2de0cff69e6 guix-build-d1711a40b30a/output/x86_64-apple-darwin/bitcoin-d1711a40b30a-osx-unsigned.dmg 83fe4ebe0d9a23b55c990f9587af78cf54a9323e4f809f354945cff234889164 guix-build-d1711a40b30a/output/x86_64-apple-darwin/bitcoin-d1711a40b30a-osx-unsigned.tar.gz 68b03467521d678cf7c6b4ae95eb13685b5684492106c5fa98a6243e21b51433 guix-build-d1711a40b30a/output/x86_64-apple-darwin/bitcoin-d1711a40b30a-osx64.tar.gz 52b85be0df8c041ea280833ba1f6ead15bff57f8f7d96e0660756c5d22676893 guix-build-d1711a40b30a/output/x86_64-linux-gnu/SHA256SUMS.part df43b04f4cb720996dc3d6006d8d7cf19123806b5168429e2c63012763122a4a guix-build-d1711a40b30a/output/x86_64-linux-gnu/bitcoin-d1711a40b30a-x86_64-linux-gnu-debug.tar.gz ccdecd3b22c70fd1f7efef9a42ba22e1fa7d28d5adc4235587b77a7d98373a73 guix-build-d1711a40b30a/output/x86_64-linux-gnu/bitcoin-d1711a40b30a-x86_64-linux-gnu.tar.gz b1a80c07945cbfc768981ecbb35646d84fde8fa9ea7d68b1024fe0602224c007 guix-build-d1711a40b30a/output/x86_64-w64-mingw32/SHA256SUMS.part c7888791485e5ee37e987aa516b7c1d5cb3d39d77eed5a75110be164e2da81bc guix-build-d1711a40b30a/output/x86_64-w64-mingw32/bitcoin-d1711a40b30a-win-unsigned.tar.gz 650d3544cfea1a76967a8ddcc77340245280d0a07045bfaef01e65f579a33d68 guix-build-d1711a40b30a/output/x86_64-w64-mingw32/bitcoin-d1711a40b30a-win64-debug.zip 2f068168a9261517f8be577fc78f13bc11bb6bb018b9bb949707043016cdf526 guix-build-d1711a40b30a/output/x86_64-w64-mingw32/bitcoin-d1711a40b30a-win64-setup-unsigned.exe f8776caf9c363a680589b50397f5aa2d57378cbf8dd49d4574e1ea636fe5ebbe guix-build-d1711a40b30a/output/x86_64-w64-mingw32/bitcoin-d1711a40b30a-win64.zip ``` ACKs for top commit: laanwj: Code review ACK d1711a40b30a3627d116d494a36a788701f0dd90 hebasto: ACK d1711a40b30a3627d116d494a36a788701f0dd90, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: 507950df63924dcc33a2d320f1c55ccda618ffbedfd614843d9c0278f3d2eb93646216040f710ad824bf2adf3fb71d00d7ef098ad5574f40f7b90e05c9431ea4