-
Notifications
You must be signed in to change notification settings - Fork 37.7k
test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage #32516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage #32516
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32516. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. LLM Linter (✨ experimental)Possible typos and grammar issues:
drahtbot_id_4_m |
I don't think I'm actually hitting that particular limit, getting weird results when looking closer, draft for now while I look |
7d53373
to
19ac117
Compare
19ac117
to
6c04de2
Compare
🚧 At least one of the CI tasks failed. HintsTry to run the tests locally, according to the documentation. However, a CI failure may still
Leave a comment here, if you need help tracking down a confusing failure. |
e54610c
to
16af944
Compare
fee7af2
to
8f25666
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
0468367
to
2b202e9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review ACK 2b202e9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tACK 2b202e9
DisconnectTip()
& reconnect viainvalidateblock
andreconsiderblock
LimitMemoryUsage()
: exercised by flooding > 20 MBtest_chainlimits_exceeded
Logs
2025-05-21T16:57:42.023000Z TestFramework (INFO): PRNG seed is: 4085491027579870526
2025-05-21T16:57:42.024000Z TestFramework (INFO): Initializing test directory /var/folders/jb/wlbrz0t95vl58wzxjt75wqmh0000gn/T/bitcoin_func_test_jb27si_k
2025-05-21T16:57:42.337000Z TestFramework (INFO): Creating 100 transactions...
2025-05-21T16:57:42.717000Z TestFramework (INFO): The batch of 25 transactions has been accepted into the mempool.
2025-05-21T16:57:42.722000Z TestFramework (INFO): All of the transactions from the current batch have been mined into a block.
2025-05-21T16:57:44.161000Z TestFramework (INFO): The batch of 25 transactions has been accepted into the mempool.
2025-05-21T16:57:44.166000Z TestFramework (INFO): All of the transactions from the current batch have been mined into a block.
2025-05-21T16:57:46.466000Z TestFramework (INFO): The batch of 25 transactions has been accepted into the mempool.
2025-05-21T16:57:46.472000Z TestFramework (INFO): All of the transactions from the current batch have been mined into a block.
2025-05-21T16:57:48.423000Z TestFramework (INFO): The last batch of 25 transactions has been accepted into the mempool.
2025-05-21T16:57:48.571000Z TestFramework (INFO): All of the recently mined transactions have been re-added into the mempool in 0.1478879451751709 seconds.
2025-05-21T16:57:48.571000Z TestFramework (INFO): Checking descendants/ancestors properties of all of the in-mempool transactions...
2025-05-21T16:57:48.633000Z TestFramework (INFO): Creating independent transactions to test MAX_DISCONNECTED_TX_POOL_BYTES limit during reorg
2025-05-21T16:57:53.509000Z TestFramework (INFO): Check that too long chains on reorg are handled
2025-05-21T16:57:55.389000Z TestFramework (INFO): Stopping nodes
2025-05-21T16:57:55.494000Z TestFramework (INFO): Cleaning up /var/folders/jb/wlbrz0t95vl58wzxjt75wqmh0000gn/T/bitcoin_func_test_jb27si_k on exit
2025-05-21T16:57:55.494000Z TestFramework (INFO): Tests successful
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
# Set up empty fork blocks ahead of time, needs to be longer than full fork made later | ||
fork_length = 60 | ||
fork_blocks = self.generate(self.nodes[0], fork_length) | ||
self.nodes[0].invalidateblock(fork_blocks[0]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a comment, I think it is kind of fine to do the reorgs through invalidateblock instead of connecting and disconnecting nodes from each other, but the disconnectpool behaviour here is kind of on the line where I would tend to prefer exercising the actual code through ActiveBestChainStep
, since the two methods do not share the same object. I think to test the mempool in general it is fine to do, both methods at least use the same object at runtime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did a proper reorg using blocktools to prep the fork.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm ACK 2b202e9 🛤
Show signature
Signature:
untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
trusted comment: lgtm ACK 2b202e9db56487e658fc41089178f31ef4259a0d 🛤
SBccUIAZKcRyVW63zp8B0dLkfguSYFAfLhxM+uFjRVeT01zjRQ9onvrSXYmRRKWtG0RZDIGQjc6YaDks3w3JDw==
The current test directly uses invalidatblock to trigger mempool re-entry of transactions. Unfortunately, the behavior doesn't match what a real reorg would look like. As a result you get surprising behavior such as the mempool descendant chain limits being exceeded, or if a fork is greater than 10 blocks deep, evicted block transactions stop being submitted back into in the mempool. Fix this by preparing an empty fork chain, and then continuing with the logic, finally submitting the fork chain once the rest of the test is prepared. This triggers a more typical codepath. Also, extend the descendant limit to 100, like ancestor limit.
2b202e9
to
84aa484
Compare
# Last tx fits now | ||
self.nodes[0].sendrawtransaction(chain[-1]["hex"]) | ||
|
||
# Finally, reorg to empty chain kick everything back into mempool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style nit: either to kick
or kicks
or will kick
(feel free to ignore)
re-ACK 84aa484 🚋 Show signatureSignature:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for entertaining my suggestion :)
ACK 84aa484
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Post-Merge ACK 84aa484
…9e030d56343 d9e030d56343 kernel: Fix bitcoin-chainstate for windows cc4ac564cc38 kernel: Add Purpose section to header documentation bfdf605296ce kernel: Add pure kernel bitcoin-chainstate 35099f39b7ea kernel: Add functions to get the block hash from a block fae94070a72e kernel: Add block index utility functions to C header d5d377859785 kernel: Add function to read block undo data from disk to C header 43f6039b7b48 kernel: Add functions to read block from disk to C header 54cdfcdc68e6 kernel: Add function for copying block data to C header 18cab45358c3 kernel: Add functions for the block validation state to C header 033e86a06cbc kernel: Add validation interface to C header 9398f9ea4e14 kernel: Add interrupt function to C header 86340a490541 kernel: Add import blocks function to C header f11dc01bba94 kernel: Add chainstate load options for in-memory dbs in C header be9fc18dd54f kernel: Add options for reindexing in C header 7947a9b500fc kernel: Add block validation to C header d5ace1f8ea96 kernel: Add chainstate loading when instantiating a ChainstateManager 47ff652cf08f kernel: Add chainstate manager option for setting worker threads 106898e0c25f kernel: Add chainstate manager object to C header 3eadf1ccbe1c kernel: Add notifications context option to C header 98b1454a987a kernel: Add chain params context option to C header ca8d6ee344b7 kernel: Add kernel library context object 96f5ebe97748 kernel: Add logging to kernel library C header 906a19748152 kernel: Introduce initial kernel C header API 4b8ac9eacd1b Merge bitcoin/bitcoin#32680: ci: Rewrite test-each-commit as py script 157bbd0a07c0 Merge bitcoin/bitcoin#32425: config: allow setting -proxy per network ebec7bf3895c Merge bitcoin/bitcoin#32572: doc: Remove stale sections in dev notes 011a8c5f0168 Merge bitcoin/bitcoin#32696: doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` fe39050a66c7 Merge bitcoin/bitcoin#32678: guix: warn and abort when SOURCE_DATE_EPOCH is set 692fe280c232 Merge bitcoin/bitcoin#32713: doc: fuzz: fix AFL++ link c1d4253d316e Merge bitcoin/bitcoin#32711: doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md 89526deddf87 doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md a39b7071cfb4 doc: fuzz: fix AFL++ link dff208bd5a14 Merge bitcoin/bitcoin#32708: rpc, doc: update `listdescriptors` RCP help d978a43d054d Merge bitcoin/bitcoin#32408: tests: Expand HTTP coverage to assert libevent behavior f3bbc746647d Merge bitcoin/bitcoin#32406: policy: uncap datacarrier by default b44514b87633 rpc, doc: update `listdescriptors` RCP help 32d4e92b9ac8 doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` e2174378aa8a Merge bitcoin/bitcoin#32539: init: Configure reachable networks before we start the RPC server 2053c4368472 Merge bitcoin/bitcoin#32675: test: wallet: cover wallet passphrase with a null char fa9cfdf3be75 ci: [doc] fix url redirect fac60b9c4839 ci: Rewrite test-each-commit as py script ae024137bda9 Merge bitcoin/bitcoin#32496: depends: drop `ltcg` for Windows Qt 6a2ff6790929 Merge bitcoin/bitcoin#32679: doc: update tor docs to use bitcoind binary from path fd4399cb9c69 Merge bitcoin/bitcoin#32602: fuzz: Add target for coins database f94167512dc9 Merge bitcoin/bitcoin#32676: test: apply microsecond precision to test framework logging 0dcb45290cf8 Merge bitcoin/bitcoin#32607: rpc: Note in fundrawtransaction doc, fee rate is for package 4ce53495e5e1 doc: update tor docs to use bitcoind binary from path a5e98dc3ae63 Merge bitcoin/bitcoin#32651: cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 9653ebc05360 depends: remove support for Windows Qt LTO builds 7cfbb8575e1f test: wallet: cover wallet passphrase with a null char 5c4a0f8009ce guix: warn and abort when SOURCE_DATE_EPOCH is set 4af72d8b0892 Merge bitcoin/bitcoin#32647: build: add -Wthread-safety-pointer a980918f51d7 Merge bitcoin/bitcoin#32568: depends: use "mkdir -p" when installing xproto ed179e0a6528 test: apply microsecond precision to test framework logging e872a566f251 Merge bitcoin/bitcoin#32644: doc: miscellaneous changes e50312eab0b5 doc: fix typos c797e50ddae9 ci: update codespell to 2.4.1 21ee656337b0 doc: Remove obselete link in notificator.cpp ee4406c04af0 doc: update URLs 2d819fa4dff9 Merge bitcoin/bitcoin#29032: signet: omit commitment for some trivial challenges f999c3775c12 Merge bitcoin/bitcoin#32449: wallet: init, don't error out when loading legacy wallets f98e1aaf34e3 rpc: Note in fundrawtransaction doc, fee rate is for package 1c6602399be6 Merge bitcoin/bitcoin#32662: doc: Remove build instruction for running `clang-tidy` 4b1b36acb48f doc: Remove build instruction for running `clang-tidy` 9e105107bf52 Merge bitcoin/bitcoin#32656: depends: don't install & then delete sqlite pkgconf 72a5aa9b791e depends: don't install & then delete sqlite pkgconf 18cf727429e9 cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 83bfe1485c37 build: add -Wthread-safety-pointer e639ae05315e Update leveldb subtree to latest upstream 240a4fb95d5b Squashed 'src/leveldb/' changes from 113db4962b..aba469ad6a a189d636184b add release note for datacarriersize default change a141e1bf501b Add more OP_RETURN mempool acceptance functional tests 0b4048c73385 datacarrier: deprecate startup arguments for future removal 63091b79e70b test: remove unnecessary -datacarriersize args from tests 9f36962b07ef policy: uncap datacarrier by default 4b1d48a6866b Merge bitcoin/bitcoin#32598: walletdb: Log additional exception error messages for corrupted wallets b933813386ef Merge bitcoin/bitcoin#32619: wallet, rpc, gui: List legacy wallets with a message about migration 053bda5d9fb3 Merge bitcoin/bitcoin#32460: fs: remove `_POSIX_C_SOURCE` defining 9393aeeca4b1 Merge bitcoin/bitcoin#32641: Update libmultiprocess subtree to fix clang-tidy errors 5471e29d0570 Merge bitcoin/bitcoin#32304: test: test MAX_SCRIPT_SIZE for block validity 9f6565488fc1 Merge commit '154af1eea1170f5626aa1c5f19cc77d1434bcc9d' into HEAD 154af1eea117 Squashed 'src/ipc/libmultiprocess/' changes from 35944ffd23fa..27c7e8e5a581 c540ede1cbca Merge bitcoin/bitcoin#32633: windows: Use predefined `RC_INVOKED` macro instead of custom one cfc42ae5b7ef fuzz: add a target for the coins database 55f1c2ac8beb windows: Use predefined `RC_INVOKED` macro instead of custom one 14c16e81598a Merge bitcoin/bitcoin#32582: log: Additional compact block logging aad5938c49f9 Merge bitcoin/bitcoin#32516: test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage 1062df81eec7 Merge bitcoin/bitcoin#32634: build: Add resource file and manifest to `bitcoin.exe` 83df64d7491b log: Stats when fulfilling GETBLOCKTXN 370c59261269 Merge bitcoin/bitcoin#32630: test: fix sync function in rpc_psbt.py dbb2d4c3d547 windows: Add application manifest to `bitcoin.exe` df82c2dc17e3 windows: Add resource file for `bitcoin.exe` 3733ed2dae3d log: Size of missing tx'es when reconstructing compact block 4df4df45d7bc test: fix sync function in rpc_psbt.py 84aa484d45e2 test: fix transaction_graph_test reorg test eaf44f376784 test: check chainlimits respects on reorg 47894367b583 functional test: add MAX_DISCONNECTED_TX_POOL_BYTES coverage f3a444c45fb4 gui: Disallow loading legacy wallets 09955172f38a wallet, rpc: Give warning in listwalletdir for legacy wallets ad9a13fc424e walletdb: Log additional exception error messages for corrupted wallets 46e14630f7fe fuzz: move the coins_view target's body into a standalone function 56d878c4650c fuzz: avoid underflow in coins_view target 36bcee05dc71 log: Log start of compact block initialization. 24e5fd3bedce fs: remove _POSIX_C_SOURCE defining f16c8c67bf13 tests: Expand HTTP coverage to assert libevent behavior fac00d4ed361 doc: Move CI-must-pass requirement into readme section fab79c1a250d doc: Clarify and move "hygienic commit" note fac8b0519799 doc: Clarify strprintf size specifier note faaf34ad7253 doc: Remove section about RPC alias via function pointer 2222d61e1ce5 doc: Remove section about RPC arg names in table fa00b8c02c9d doc: Remove section about include guards fad6cd739b63 doc: Remove dev note section on includes fa6623d85af1 doc: Remove file name section 7777fb8bc749 doc: Remove shebang section faf65f05312b doc: Remove .gitignore section faf2094f2511 doc: Remove note about removed ParsePrechecks fa69c5b170f5 doc: Remove -disablewallet from dev notes df9ebbf659d5 depends: use "mkdir -p" when installing xproto 6ee32aaaca4a test: signet tool genpsbt and solvepsbt commands 0a99d99fe4cb signet: miner skips PSBT step for OP_TRUE cdfb70e5a6a9 signet: split decode_psbt miner helper 86e1111239cd test: verify node skips loading legacy wallets during startup 12ff4be9c724 test: ensure -rpcallowip is compatible with RFC4193 c02bd3c1875a config: Explain RFC4193 and CJDNS interaction in help and init error f728b6b11100 init: Configure reachable networks before we start the RPC server 9f94de5bb54f wallet: init, don't error out when loading legacy wallets e98c51fcce9a doc: update tor.md to mention the new -proxy=addr:port=tor ca5781e23a8f config: allow setting -proxy per network b1ea542ae651 test: test MAX_SCRIPT_SIZE for block validity REVERT: 9f83f8b46c84 kernel: build monolithic static lib REVERT: 1417e0b3b1b0 kernel: Fix bitcoin-chainstate for windows REVERT: 4f07590a8bd6 kernel: Add Purpose section to header documentation REVERT: 58c01a82c163 kernel: Add pure kernel bitcoin-chainstate REVERT: 0416a292f545 kernel: Add functions to get the block hash from a block REVERT: 8d25dfd1b2a2 kernel: Add block index utility functions to C header REVERT: eacf99dd3c28 kernel: Add function to read block undo data from disk to C header REVERT: 3c012048c2f1 kernel: Add functions to read block from disk to C header REVERT: 85f5264462e0 kernel: Add function for copying block data to C header REVERT: f136ca589153 kernel: Add functions for the block validation state to C header REVERT: 9d7e19ee522d kernel: Add validation interface to C header REVERT: 51555301a882 kernel: Add interrupt function to C header REVERT: 61c4ac9c8e1f kernel: Add import blocks function to C header REVERT: 4153ab77084e kernel: Add chainstate load options for in-memory dbs in C header REVERT: cb128288a0d9 kernel: Add options for reindexing in C header REVERT: 7ead2a92be50 kernel: Add block validation to C header REVERT: 9262ce715448 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 594b060da476 kernel: Add chainstate manager option for setting worker threads REVERT: 7384b7325d5f kernel: Add chainstate manager object to C header REVERT: 7920e23c22b8 kernel: Add notifications context option to C header REVERT: c0a86769e784 kernel: Add chain params context option to C header REVERT: 3769d12882f9 kernel: Add kernel library context object REVERT: f7b435493bd7 kernel: Add logging to kernel library C header REVERT: 62d0122c7ed0 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: d9e030d56343bb452d86169f77ddfb64f7160235
690a5dac22 kernel: Fix bitcoin-chainstate for windows 345d2ac841 kernel: Add Purpose section to header documentation 790b2baa7c kernel: Add pure kernel bitcoin-chainstate 78e4ca20aa kernel: Add functions to get the block hash from a block 4c0de2443d kernel: Add block index utility functions to C header d031c5871e kernel: Add function to read block undo data from disk to C header e10616b59b kernel: Add functions to read block from disk to C header 71e76017b8 kernel: Add function for copying block data to C header a015529dd4 kernel: Add functions for the block validation state to C header e5870b8253 kernel: Add validation interface to C header 24d56ecfba kernel: Add interrupt function to C header 98710edc97 kernel: Add import blocks function to C header 2b9382a5eb kernel: Add chainstate load options for in-memory dbs in C header 15dff3f0b5 kernel: Add options for reindexing in C header f2faf17904 kernel: Add block validation to C header 4cd4577fc8 kernel: Add chainstate loading when instantiating a ChainstateManager 7a40d4ddb2 kernel: Add chainstate manager option for setting worker threads 7bac421d18 kernel: Add chainstate manager object to C header fc83bef508 kernel: Add notifications context option to C header 76a0c97e0d kernel: Add chain params context option to C header a3cc9ec2dc kernel: Add kernel library context object d7230ea9b9 kernel: Add logging to kernel library C header 84680fe7ca kernel: Introduce initial kernel C header API 4b8ac9eacd Merge bitcoin/bitcoin#32680: ci: Rewrite test-each-commit as py script 157bbd0a07 Merge bitcoin/bitcoin#32425: config: allow setting -proxy per network ebec7bf389 Merge bitcoin/bitcoin#32572: doc: Remove stale sections in dev notes 011a8c5f01 Merge bitcoin/bitcoin#32696: doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` fe39050a66 Merge bitcoin/bitcoin#32678: guix: warn and abort when SOURCE_DATE_EPOCH is set 692fe280c2 Merge bitcoin/bitcoin#32713: doc: fuzz: fix AFL++ link c1d4253d31 Merge bitcoin/bitcoin#32711: doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md 89526deddf doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md a39b7071cf doc: fuzz: fix AFL++ link dff208bd5a Merge bitcoin/bitcoin#32708: rpc, doc: update `listdescriptors` RCP help d978a43d05 Merge bitcoin/bitcoin#32408: tests: Expand HTTP coverage to assert libevent behavior f3bbc74664 Merge bitcoin/bitcoin#32406: policy: uncap datacarrier by default b44514b876 rpc, doc: update `listdescriptors` RCP help 32d4e92b9a doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` e2174378aa Merge bitcoin/bitcoin#32539: init: Configure reachable networks before we start the RPC server 2053c43684 Merge bitcoin/bitcoin#32675: test: wallet: cover wallet passphrase with a null char fa9cfdf3be ci: [doc] fix url redirect fac60b9c48 ci: Rewrite test-each-commit as py script ae024137bd Merge bitcoin/bitcoin#32496: depends: drop `ltcg` for Windows Qt 6a2ff67909 Merge bitcoin/bitcoin#32679: doc: update tor docs to use bitcoind binary from path fd4399cb9c Merge bitcoin/bitcoin#32602: fuzz: Add target for coins database f94167512d Merge bitcoin/bitcoin#32676: test: apply microsecond precision to test framework logging 0dcb45290c Merge bitcoin/bitcoin#32607: rpc: Note in fundrawtransaction doc, fee rate is for package 4ce53495e5 doc: update tor docs to use bitcoind binary from path a5e98dc3ae Merge bitcoin/bitcoin#32651: cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 9653ebc053 depends: remove support for Windows Qt LTO builds 7cfbb8575e test: wallet: cover wallet passphrase with a null char 5c4a0f8009 guix: warn and abort when SOURCE_DATE_EPOCH is set 4af72d8b08 Merge bitcoin/bitcoin#32647: build: add -Wthread-safety-pointer a980918f51 Merge bitcoin/bitcoin#32568: depends: use "mkdir -p" when installing xproto ed179e0a65 test: apply microsecond precision to test framework logging e872a566f2 Merge bitcoin/bitcoin#32644: doc: miscellaneous changes e50312eab0 doc: fix typos c797e50dda ci: update codespell to 2.4.1 21ee656337 doc: Remove obselete link in notificator.cpp ee4406c04a doc: update URLs 2d819fa4df Merge bitcoin/bitcoin#29032: signet: omit commitment for some trivial challenges f999c3775c Merge bitcoin/bitcoin#32449: wallet: init, don't error out when loading legacy wallets f98e1aaf34 rpc: Note in fundrawtransaction doc, fee rate is for package 1c6602399b Merge bitcoin/bitcoin#32662: doc: Remove build instruction for running `clang-tidy` 4b1b36acb4 doc: Remove build instruction for running `clang-tidy` 9e105107bf Merge bitcoin/bitcoin#32656: depends: don't install & then delete sqlite pkgconf 72a5aa9b79 depends: don't install & then delete sqlite pkgconf 18cf727429 cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 83bfe1485c build: add -Wthread-safety-pointer e639ae0531 Update leveldb subtree to latest upstream 240a4fb95d Squashed 'src/leveldb/' changes from 113db4962b..aba469ad6a a189d63618 add release note for datacarriersize default change a141e1bf50 Add more OP_RETURN mempool acceptance functional tests 0b4048c733 datacarrier: deprecate startup arguments for future removal 63091b79e7 test: remove unnecessary -datacarriersize args from tests 9f36962b07 policy: uncap datacarrier by default 4b1d48a686 Merge bitcoin/bitcoin#32598: walletdb: Log additional exception error messages for corrupted wallets b933813386 Merge bitcoin/bitcoin#32619: wallet, rpc, gui: List legacy wallets with a message about migration 053bda5d9f Merge bitcoin/bitcoin#32460: fs: remove `_POSIX_C_SOURCE` defining 9393aeeca4 Merge bitcoin/bitcoin#32641: Update libmultiprocess subtree to fix clang-tidy errors 5471e29d05 Merge bitcoin/bitcoin#32304: test: test MAX_SCRIPT_SIZE for block validity 9f6565488f Merge commit '154af1eea1170f5626aa1c5f19cc77d1434bcc9d' into HEAD 154af1eea1 Squashed 'src/ipc/libmultiprocess/' changes from 35944ffd23fa..27c7e8e5a581 c540ede1cb Merge bitcoin/bitcoin#32633: windows: Use predefined `RC_INVOKED` macro instead of custom one cfc42ae5b7 fuzz: add a target for the coins database 55f1c2ac8b windows: Use predefined `RC_INVOKED` macro instead of custom one 14c16e8159 Merge bitcoin/bitcoin#32582: log: Additional compact block logging aad5938c49 Merge bitcoin/bitcoin#32516: test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage 1062df81ee Merge bitcoin/bitcoin#32634: build: Add resource file and manifest to `bitcoin.exe` 83df64d749 log: Stats when fulfilling GETBLOCKTXN 370c592612 Merge bitcoin/bitcoin#32630: test: fix sync function in rpc_psbt.py dbb2d4c3d5 windows: Add application manifest to `bitcoin.exe` df82c2dc17 windows: Add resource file for `bitcoin.exe` 3733ed2dae log: Size of missing tx'es when reconstructing compact block 4df4df45d7 test: fix sync function in rpc_psbt.py 88b22acc3d Merge bitcoin/bitcoin#32528: rpc: Round verificationprogress to 1 for a recent tip aee7cec0db Merge bitcoin/bitcoin#32364: refactor: validation: mark CheckBlockIndex as const ce46000712 Merge bitcoin/bitcoin#32509: qa: feature_framework_startup_failures.py fixes & improvements (#30660 follow-up) d21612fc4b Merge bitcoin/bitcoin#32404: log: print reason when writing chainstate 84aa484d45 test: fix transaction_graph_test reorg test eaf44f3767 test: check chainlimits respects on reorg 47894367b5 functional test: add MAX_DISCONNECTED_TX_POOL_BYTES coverage 9bd9aee5a6 Merge bitcoin/bitcoin#32487: blocks: avoid recomputing block header hash in `ReadBlock` 4173805a15 Merge bitcoin/bitcoin#32623: test: Add missing ipc subtree to lint 012f347685 Merge bitcoin/bitcoin#31375: multiprocess: Add bitcoin wrapper executable 38ad8027a2 Merge bitcoin/bitcoin#32439: guix: accomodate migration to codeberg fa4b8b16c3 test: Add missing ipc subtree to lint f7cc7f6468 Merge bitcoin/bitcoin#32591: test: fix and augment block tests of invalid_txs 87860143be Merge bitcoin/bitcoin#32270: test: fix pushdata scripts c8d9baae94 guix: accomodate migration to codeberg f3a444c45f gui: Disallow loading legacy wallets 09955172f3 wallet, rpc: Give warning in listwalletdir for legacy wallets 09ee8b7f27 node: avoid recomputing block hash in `ReadBlock` 2bf173210f test: exercise `ReadBlock` hash‑mismatch path fab1e02086 refactor: Pass verification_progress into block tip notifications 638a4c0bd8 Merge bitcoin/bitcoin#32596: wallet, rpc, doc: various legacy wallet removal cleanups in RPCs 53e9b71b2f log: print reason for why should_write was triggered in `FlushStateToDisk` ad9a13fc42 walletdb: Log additional exception error messages for corrupted wallets 46e14630f7 fuzz: move the coins_view target's body into a standalone function 56d878c465 fuzz: avoid underflow in coins_view target e5cbea416b rpc: doc: remove redundant "descriptors" parameter in `createwallet` examples 7a05f941bb rpc: doc: drop descriptor wallet mentions in fast wallet rescan related RPCs db465a50e2 wallet, rpc: remove obsolete "keypoololdest" result field/code 36bcee05dc log: Log start of compact block initialization. 2df824f4e6 Merge bitcoin/bitcoin#32586: ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task 0a8ab55951 Merge bitcoin/bitcoin#32467: checkqueue: make the queue non-optional for CCheckQueueControl and drop legacy locking macro usage 8fcd684505 test: ensure reason is checked for invalid blocks rejection 1a689a2c88 test: fix block tests of invalid_txs d2c9fc84e1 Merge bitcoin/bitcoin#32533: test: properly check for per-tx sigops limit fa079538e3 ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task 35bf3f8839 Merge bitcoin/bitcoin#32400: random: Use modern Windows randomness functions a42faa25d8 Merge bitcoin/bitcoin#32551: cmake: Remove `ENABLE_{SSE41,AVX2,X86_SHANI,ARM_SHANI}` from `bitcoin-build-config.h` 24e5fd3bed fs: remove _POSIX_C_SOURCE defining f16c8c67bf tests: Expand HTTP coverage to assert libevent behavior fac00d4ed3 doc: Move CI-must-pass requirement into readme section fab79c1a25 doc: Clarify and move "hygienic commit" note fac8b05197 doc: Clarify strprintf size specifier note faaf34ad72 doc: Remove section about RPC alias via function pointer 2222d61e1c doc: Remove section about RPC arg names in table fa00b8c02c doc: Remove section about include guards fad6cd739b doc: Remove dev note section on includes fa6623d85a doc: Remove file name section 7777fb8bc7 doc: Remove shebang section faf65f0531 doc: Remove .gitignore section faf2094f25 doc: Remove note about removed ParsePrechecks 87ec923d3a Merge bitcoin/bitcoin#32475: wallet: Use `util::Error` throughout `AddWalletDescriptor` instead of returning `nullptr` for some errors 7763e86afa Merge bitcoin/bitcoin#32573: ci: Avoid && dropping errors 0a56ed1ac8 Merge bitcoin/bitcoin#32567: subprocess: Backport upstream changes 54e406a305 Merge bitcoin/bitcoin#32459: qt: drop unused watch-only functionality ec81204694 Merge bitcoin/bitcoin#31622: psbt: add non-default sighash types to PSBTs and unify sighash type match checking fab97f583f ci: Avoid && dropping errors 9a887baade Merge bitcoin/bitcoin#32344: Wallet: Fix Non-Ranged Descriptors with Range [0,0] Trigger Unexpected Wallet Errors in AddWalletDescriptor 26fba39bda Merge bitcoin/bitcoin#32466: threading: drop CSemaphore in favor of c++20 std::counting_semaphore 878556947b Merge bitcoin/bitcoin#32333: doc: Add missing top-level description to pruneblockchain RPC fd290730f5 validation: clean up and clarify CheckInputScripts logic fa69c5b170 doc: Remove -disablewallet from dev notes df9ebbf659 depends: use "mkdir -p" when installing xproto fad009af49 Merge bitcoin/bitcoin#32520: Remove legacy `Parse(U)Int*` f66b14d2ec test: fix pushdata scripts 0f9baba0fb Merge bitcoin/bitcoin#29868: Reintroduce external signer support for Windows cf2cbfac65 Merge bitcoin/bitcoin#32553: wallet: Fix logging of wallet version bc4b04c5bf Merge bitcoin/bitcoin#31864: doc: add missing copyright headers e63a7034f0 subprocess: Don't add an extra whitespace at end of Windows command line 800b7cc42c cmake: Add missed `SSE41_CXXFLAGS` 028476e71f cmake: Remove `ENABLE_ARM_SHANI` from `bitcoin-build-config.h` 1e900528d2 cmake: Remove `ENABLE_X86_SHANI` from `bitcoin-build-config.h` 8689628e2e cmake: Remove `ENABLE_AVX2` from `bitcoin-build-config.h` a8e2342dca cmake: Remove `ENABLE_SSE41` from `bitcoin-build-config.h` fa76b378e4 rpc: Round verificationprogress to exactly 1 for a recent tip faf6304bdf test: Use mockable time in GuessVerificationProgress c7c3bfadfc doc: add & amend copyright headers f667000c83 contrib: remove outdated entries from copyright_header.py 0817f2d6cf doc: update MIT license URL 6854497b47 contrib: remove GPL-3+ from debian/copyright af65fd1a33 Merge bitcoin/bitcoin#32560: ci: Move DEBUG=1 to centos task 548f6b8cde Merge bitcoin/bitcoin#32562: doc: remove // for ... comments 7c87a0e3fb Merge bitcoin/bitcoin#32477: lint: Check for missing trailing newline faf55fc80b doc: Remove ParseInt mentions in documentation 785e1407b0 wallet: Use util::Error throughout AddWalletDescriptor 1a37507895 validation: use a lock for CCheckQueueControl c3b0e6c7f4 validation: make CCheckQueueControl's CCheckQueue non-optional 4c8c90b556 validation: only create a CCheckQueueControl if it's actually going to be used 11fed833b3 threading: add LOCK_ARGS macro 33f8f8ae4c Merge bitcoin/bitcoin#30221: wallet: Ensure best block matches wallet scan state 7054d24f11 Merge bitcoin-core/gui#875: Use WitnessV0KeyHash in TestAddAddressesToSendBook 4272966d02 Merge bitcoin/bitcoin#32423: rpc: Undeprecate rpcuser/rpcpassword, store all credentials hashed in memory 7193245cd6 doc: remove For ... comments 3333282933 refactor: Remove unused Parse(U)Int* 1b9cdc933f net: drop win32 ifdef 19ba499b1f init: cerrno is used on all platforms fa982f1425 Use WitnessV0KeyHash in TestAddAddressesToSendBook fa58d6cdab ci: Move DEBUG=1 to centos task ff1ee102c4 Merge bitcoin/bitcoin#32561: doc: Adjust stale MSVC bug url fa330a5e38 doc: Adjust stale MSVC bug url 88791fb97b Merge bitcoin/bitcoin#32544: scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls e8661aac75 wallet: drop watch-only things from interface e99188e7da qt: drop unused watch-only functionality 6ee32aaaca test: signet tool genpsbt and solvepsbt commands 0a99d99fe4 signet: miner skips PSBT step for OP_TRUE cdfb70e5a6 signet: split decode_psbt miner helper 4b2cd0b41f test: check that creating a wallet does not log version info 39a483c8e9 test: Check that the correct versions are logged on wallet load 359ecd3704 walletdb: Log the wallet version after it has been read from disk 86de8c1668 scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls 7710a31f0c Merge bitcoin/bitcoin#32452: test: Remove legacy wallet RPC overloads b81e5076aa Merge bitcoin/bitcoin#32514: scripted-diff: Remove unused leading newline in RPC docs 3023d7e6ad Merge bitcoin/bitcoin#32534: Update leveldb subtree to latest upstream fa84e6c36c bitcoin-tx: Reject + sign in MutateTxDel* face2519fa bitcoin-tx: Reject + sign in vout parsing fa8acaf0b9 bitcoin-tx: Reject + sign in replaceable parsing faff25a558 bitcoin-tx: Reject + sign in locktime dddd9e5fe3 bitcoin-tx: Reject + sign in nversion parsing fab06ac037 rest: Use SAFE_CHARS_URI in SanitizeString error msg c461d15287 Merge bitcoin/bitcoin#32511: refactor: bdb removals 86e1111239 test: verify node skips loading legacy wallets during startup 12ff4be9c7 test: ensure -rpcallowip is compatible with RFC4193 c02bd3c187 config: Explain RFC4193 and CJDNS interaction in help and init error f728b6b111 init: Configure reachable networks before we start the RPC server b15c386933 Merge bitcoin/bitcoin#32519: ci: Enable feature_init and wallet_reorgsrestore in valgrind task 7015052eba build: remove Wsuggest-override suppression from leveldb build 7bc64a8859 test: properly check for per-tx sigops limit 3f83c744ac Merge bitcoin/bitcoin#32526: fuzz: Delete wallet_notifications fa1f10a49e doc: Fix minor typos in rpc help e2c84b896f Squashed 'src/leveldb/' changes from 4188247086..113db4962b 0769c8fc99 Update leveldb subtree to latest upstream 04c6c961b6 Merge bitcoin/bitcoin#32527: test: Remove unused verify_flags suppression 742b30549f Merge bitcoin/bitcoin#32491: build: document why we check for `std::system` fab5a3c803 test: Remove unused verify_flags suppression c521192d8b Merge bitcoin/bitcoin#32485: Update minisketch subtree 3afde679c3 Merge bitcoin/bitcoin#32296: refactor: reenable `implicit-integer-sign-change` check for `serialize.h` 5af757bb78 Merge bitcoin/bitcoin#32505: depends: bump to latest config.guess and config.sub c60455a645 Merge bitcoin/bitcoin#32500: init: drop `-upnp` e230affaa3 Merge bitcoin/bitcoin#32396: cmake: Add application manifests when cross-compiling for Windows 51be79c42b Merge bitcoin/bitcoin#32238: qt, wallet: Convert uint256 to Txid f96ae941a1 Merge bitcoin/bitcoin#32525: build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC fad2faf6c5 fuzz: Delete wallet_notifications bf950c4544 qa: Improve suppressed errors output 075352ec8e qa: assert_raises_message() - search in str(e) bd8ebbc4ab qa: Make --timeout-factor=0 result in a smaller factor fa2c662362 build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC" 8888bb499d rest: Reject + sign in /blockhashbyheight/ fafd43c691 test: Reject + sign when parsing regtest deployment params fa123afa0e Reject + sign when checking -ipcfd fa479857ed Reject + sign in SplitHostPort fab4c2967d net: Reject + sign when parsing subnet mask fa89652e68 init: Reject + sign in -*port parsing 9f94de5bb5 wallet: init, don't error out when loading legacy wallets fa9c45577d cli: Reject + sign in -netinfo level parsing fa98041325 refactor: Use ToIntegral in CreateFromDump fa23ed7fc2 refactor: Use ToIntegral in ParseHDKeypath fa2be605fe ci: Enable feature_init and wallet_reorgsrestore in valgrind task 725c9f7780 Merge bitcoin/bitcoin#31895: doc: Improve `dependencies.md` bdc1cef1de Merge bitcoin/bitcoin#32507: ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now fae840e94b rpc: Reject beginning newline in RPC docs e62423d6f1 doc: Improve dependencies.md documentation a3520f9d56 doc: Add dependency self-compilation info d1fdc84c54 doc: Remove Linux Kernel from dep. table 135a0f0aa7 doc: Add missing top-level description to pruneblockchain RPC fa414eda08 scripted-diff: Remove unused leading newline in RPC docs fafee85358 remove unused GetDestinationForKey fac72fef27 remove unused GetAllDestinationsForKey fa91d57de3 remove unused AddrToPubKey 8f4fed7ec7 symbol-check: Add check for application manifest in Windows binaries 2bb6ab8f1b ci: Add "Get bitcoind manifest" steps to Windows CI jobs 282b4913c7 cmake: Add application manifests when cross-compiling for Windows faecf158d9 remove unused Import* function signatures d8f05e7bf3 qa: Fix dormant bug caused by multiple --tmpdir fa981b90f5 ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now c779ee3a40 Merge bitcoin/bitcoin#32492: test: add skip_if_running_under_valgrind() 89c7b6b97a Merge bitcoin/bitcoin#32498: doc: remove Carls substitute server from Guix docs 6b4bcc1623 random: Use modern Windows randomness functions 31d3eebfb9 Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON 486bc91790 depends: bump to latest config.sub 6880383427 depends: bump to latest config.guess 4b26ca0e2f Merge bitcoin/bitcoin#32502: wallet: Drop unused fFromMe from CWalletTx d5786bc19a Merge bitcoin/bitcoin#32490: refactor: Remove UB in prevector reverse iterators ee045b61ef rpc, psbt: Require sighashes match for descriptorprocesspsbt 2b7682c372 psbt: use sighash type field to determine whether to remove non-witness utxos 28781b5f06 psbt: Add sighash types to PSBT when not DEFAULT or ALL 15ce1bd73f psbt: Enforce sighash type of signatures matches psbt 1f71cd337a wallet: Remove sighash type enforcement from FillPSBT 4c7d767e49 psbt: Check sighash types in SignPSBTInput and take sighash as optional a118256948 script: Add IsPayToTaproot() d6001dcd4a wallet: change FillPSBT to take sighash as optional e58b680923 psbt: Return PSBTError from SignPSBTInput 2adfd81532 tests: Test PSBT sighash type mismatch 5a5d26d612 psbt: Require ECDSA signatures to be validly encoded 53eb5593f0 Merge bitcoin/bitcoin#32305: test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) e7a9372376 Merge bitcoin/bitcoin#32378: interfaces: refactor: move `Mining` and `BlockTemplate` implementation to miner 5bf91ba880 wallet: Drop unused fFromMe from CWalletTx 30a94b1ab9 test, wallet: Remove concurrent writes test b44b7c03fe wallet: Write best block record on unload 876a2585a8 wallet: Remove unnecessary database Close step on shutdown 98a1a5275c wallet: Remove chainStateFlushed 7fd3e1cf0c wallet, bench: Write a bestblock record in WalletMigration 6d3a8b195a wallet: Replace chainStateFlushed in loading with SetLastBlockProcessed 7bacabb204 wallet: Update best block record after block dis/connect 301993ebf7 init: drop -upnp 3b824169c7 doc: remove Carls substitute server from Guix docs f1d78a3087 Merge bitcoin/bitcoin#31624: doc: warn that CheckBlock() underestimates sigops 516f0689b5 refactor: re-enable UBSan implicit-sign-change in serialize.h 5827e93507 refactor: use consistent size type for serialization template parameters 62fc42d475 interfaces: refactor: move `waitTipChanged` implementation to miner c39ca9d4f7 interfaces: move getTip implementation to miner 33dfbbdff6 Merge bitcoin/bitcoin#32483: test: fix two intermittent failures in wallet_basic.py 8a65f03894 Merge bitcoin/bitcoin#32488: fuzz: Properly setup wallet in wallet_fees target 75a185ea3d test: add skip_if_running_under_valgrind() 8f4ba90b8f build: document why we check for std::system faf9082a5f test: Fix whitespace in prevector_tests.cpp fa7f04c8a7 refactor: Remove UB in prevector reverse iterators fa427ffcee fuzz: Properly setup wallet in wallet_fees target f9d8910539 Merge bitcoin/bitcoin#31080: fees: document non-monotonic estimation edge case 31650b458b Merge bitcoin/bitcoin#32386: mining: rename gbt_force and gbt_force_name bac43b957e Merge bitcoin/bitcoin#32312: test: Fix feature_pruning test after nTime typo fix c9ab10910c Merge bitcoin/bitcoin#31444: cluster mempool: add txgraph diagrams/mining/eviction e7ad86e1ca test: fix another intermittent failure in wallet_basic.py 07350e204d test: Fix intermittent failure in wallet_basic.py 46b533dfe6 Update minisketch subtree to latest upstream bf25a0918f Squashed 'src/minisketch/' changes from d1e6bb8bbf..ea8f66b1ea 8309a9747a Merge bitcoin/bitcoin#32028: Update `secp256k1` subtree to latest master 720f201e65 interfaces: refactor: move `waitNext` implementation to miner e6c2f4ce7a interfaces: refactor: move `submitSolution` implementation to miner 02d4bc776b interfaces: remove redundant coinbase fee check in `waitNext` fa9198af55 lint: Check for missing trailing newline fa2b2aa27c lint: Add archived notes to default excludes cbd8e3d511 Merge bitcoin/bitcoin#32476: refactor: Remove unused HaveKey and HaveWatchOnly 915c1fa72c Update secp256k1 subtree to latest master c31fcaaad3 Squashed 'src/secp256k1/' changes from 0cdc758a56..4187a46649 e98c51fcce doc: update tor.md to mention the new -proxy=addr:port=tor ca5781e23a config: allow setting -proxy per network fabdc5ad06 Remove unused LegacyDataSPKM::HaveWatchOnly() fa7b7f796a Remove HaveKey helper, unused after sethdseed removal 8673e8f019 txgraph: Special-case singletons in chunk index (optimization) abdd9d35a3 txgraph: Skipping end of cluster has no impact (optimization) 604acc2c28 txgraph: Reuse discarded chunkindex entries (optimization) c734081454 txgraph: Introduce TxGraph::GetWorstMainChunk (feature) 394dbe2142 txgraph: Introduce BlockBuilder interface (feature) 883df3648e txgraph: Generalize GetClusterRefs to support subsections (preparation) c28a602e00 txgraph: Introduce TxGraphImpl observer tracking (preparation) 9095d8ac1c txgraph: Maintain chunk index (preparation) 87e74e1242 txgraph: abstract out transaction ordering (refactor) 2614fea17f txgraph: Add GetMainStagingDiagrams function (feature) a5ac43d98d doc: Add release notes describing bitcoin wrapper executable 663a9cabf8 Merge bitcoin/bitcoin#32458: guix: move `*-check.py` scripts under contrib/guix/ 258bda80c0 doc: Mention bitcoin wrapper executable in documentation d2739d75c9 build: add bitcoin.exe to windows installer ba649c0006 ci: Run multiprocess tests through wrapper executable 29bdd743bb test: Support BITCOIN_CMD environment variable 9c8c68891b multiprocess: Add bitcoin wrapper executable 5076d20fdb util: Add cross-platform ExecVp and GetExePath functions 05765b8818 Merge bitcoin/bitcoin#32472: doc: Fix typo d847e17c96 doc: Fix typo 3edf400b10 Merge bitcoin/bitcoin#32469: cmake: Allow `WITH_DBUS` on all Unix-like systems 59e09e0fb7 Merge bitcoin-core/gui#871: qt, docs: Unify term "clipboard" 46f79dde67 Merge bitcoin-core/gui#841: Decouple WalletModel from RPCExecutor 5b7ed460c7 cmake: Allow `WITH_DBUS` on all Unix-like systems 746ab19d5a Merge bitcoin/bitcoin#32446: build: simplify *ifaddr handling 6f7052a7b9 threading: semaphore: move CountingSemaphoreGrant to its own header fd15469892 threading: semaphore: remove temporary convenience types 1f89e2a49a scripted-diff: threading: semaphore: use direct types rather than the temporary convenience ones f21365c4fc threading: replace CountingSemaphore with std::counting_semaphore 1acacfbad7 threading: make CountingSemaphore/CountingSemaphoreGrant template types e6ce5f9e78 scripted-diff: rename CSemaphore and CSemaphoreGrant 793166d381 wallet: change the write semaphore to a BinarySemaphore 6790ad27f1 scripted-diff: rename CSemaphoreGrant and CSemaphore for net d870bc9451 threading: add temporary semaphore aliases 19b1e177d6 Merge bitcoin/bitcoin#32155: miner: timelock the coinbase to the mined block's height 6c6ef58b0b Merge bitcoin/bitcoin#32436: test: refactor: negate signature-s using libsecp256k1 b104d44227 test: Remove RPCOverloadWrapper 4d32c19516 test: Replace importpubkey fe838dd391 test: Replace usage of addmultisigaddress d314207779 test: Replace usage of importaddress fcc457573f test: Replace importprivkey with wallet_importprivkey 94c87bbbd0 test: Remove unnecessary importprivkey from wallet_createwallet 9a05b45da6 Merge bitcoin/bitcoin#32438: refactor: Removals after bdb removal e49a7274a2 rpc: Avoid join-split roundtrip for user:pass for auth credentials 98ff38a6f1 rpc: Perform HTTP user:pass split once in `RPCAuthorized` 879a17bcb1 rpc: Store all credentials hashed in memory 4ab9bedee9 rpc: Undeprecate rpcuser/rpcpassword, change message to security warning fa061bfcdb Remove create options from wallet tool fa2125e7b8 Remove unused IsSingleKey fab5e2a094 doc: Remove note about bdb wallets eeeef88d46 doc: fix typo in abortrescan rpc fa7e5c15a7 Remove unused LegacyDataSPKM::DeleteRecords() b070ce1696 Merge bitcoin/bitcoin#31360: depends: Avoid using helper variables in toolchain file ffff949472 remove NotifyWatchonlyChanged fa62a013a5 remove dead flush() fa5f3e62c8 vcpkg: Remove bdb 415650cea9 guix: move *-check.py scripts under contrib/guix 5b8752198e Merge bitcoin/bitcoin#32454: tracing: fix invalid argument in mempool_monitor 31c5ebc400 tracing: fix invalid argument in mempool_monitor ad5cd129f3 Merge bitcoin/bitcoin#30660: qa: Verify clean shutdown on startup failure 7b816c4e00 threading: rename CSemaphore methods to match std::semaphore 1656f6dbba Merge bitcoin/bitcoin#32448: contrib: remove bdb exception from FORTIFY check a04f17a188 doc: warn that CheckBlock() underestimates sigops ab878a7e74 build: simplify *ifaddr handling 1b4ddb0c2d Merge bitcoin/bitcoin#32356: cmake: Respect user-provided configuration-specific flags 1ee698fde2 test: refactor: negate signature-s using libsecp256k1 f9dfe8d5e0 contrib: remove bdb exception from FORTIFY check 66c968b4b4 Merge bitcoin/bitcoin#32444: doc: swap "Docker image" for "container image" 6469752952 Merge bitcoin/bitcoin#32434: lint: Remove string exclusion from locale check 1372eb09c5 doc: swap "Docker image" for "container image" 03ebdd0793 Merge bitcoin/bitcoin#32437: crypto: disable ASan for sha256_sse4 with Clang 95bb305b96 Merge bitcoin/bitcoin#32429: docs: Improve `keypoolrefill` RPC docs 1b1b9f32cf Merge bitcoin/bitcoin#32440: test: remove bdb assert in tool_wallet.py e08e6567f2 test: remove assert_dump since it is not used anymore ff35a4b021 docs: Improve `keypoolrefill` RPC docs 4b24186756 test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) 8ba245cb83 test: add constants for MuSig2 PSBT key types (BIP 373) 4b6dd9790b test: remove bdb assert in tool_wallet.py 97d383af6d Test updating non-ranged descriptor with [0,0] range succeeds 7343a1846c depends: Avoid using helper variables in toolchain file 0671d66a8e wallet, refactor: Convert uint256 to Txid in wallet c8ed51e62b wallet, refactor: Convert uint256 to Txid in wallet interfaces b3214cefe6 qt, refactor: Convert uint256 to Txid in the GUI efac285a0d Merge bitcoin/bitcoin#28710: Remove the legacy wallet and BDB dependency fa24fdcb7f lint: Remove string exclusion from locale check 4e8ab5e00f crypto: disable ASan for sha256_sse4 with Clang 6d5edfcc58 Merge bitcoin/bitcoin#32388: fuzz: Remove unused TimeoutExpired catch in fuzz runner de054df6dc contrib: Remove legacy wallet RPCs from bash completions 5dff04a1bb legacy spkm: Make IsMine() and CanProvide() private and migration only c0f3f3264f wallet: Remove unused db functions 83af1a3cca wallet: Delete LegacySPKM 59d3e4ed34 Merge bitcoin/bitcoin#32415: scripted-diff: adapt script error constant names in feature_taproot.py fffb272c25 Merge bitcoin/bitcoin#29532: Refactor BnB tests 3bbdbc0a5e qt, docs: Unify term "clipboard" 8ede6dea0c wallet, rpc: Remove legacy wallet only RPCs 4de3cec28d test: rpcs disabled for descriptor wallets will be removed 84f671b01d test: Run multisig script limit test 810476f31e test: Remove unused options and variables, correct comments 04a7a7a28c build, wallet, doc: Remove BDB 44057fe38c Merge bitcoin/bitcoin#32287: build: Fix `macdeployqtplus` after switching to Qt 6 229943b513 Merge bitcoin/bitcoin#32086: Shuffle depends instructions and recommend modern make for macOS 3e6ac5bf77 refactor: validation: mark CheckBlockIndex as const 61a51eccbb validation: don't use GetAll() in CheckBlockIndex() edde96376a cmake: Respect user-provided configuration-specific flags 22cff32319 doc: recommend gmake for FreeBSD b645c52071 doc: recommend modern make for macOS depends 99e6490dc5 doc: shuffle depends instructions 1e0de7a6ba fees: document non-monotonic estimation edge case baa848b8d3 Merge bitcoin/bitcoin#32405: build: replace header checks with `__has_include` 3a18075aed ci: Drop `-DENABLE_EXTERNAL_SIGNER=ON` configure option 719fa9f4ef build: Re-enable external signer support for Windows 6e5fc2bf9b test: Reintroduce Windows support in `system_tests/run_command` test 53ccb75f0c Merge bitcoin/bitcoin#32358: subprocess: Backport upstream changes fa2c548429 Merge bitcoin/bitcoin#32417: doc: Explain that .gitignore is not for IDE-specific excludes fada115cbe doc: Explain that .gitignore is not for IDE-specific excludes b5f580c580 scripted-diff: adapt script error constant names in feature_taproot.py eba5f9c4b6 Merge bitcoin/bitcoin#32403: test: remove Boost SIGCHLD workaround. e1f543823b build: replace header checks with __has_include 3add6ab9ad test: remove Boost SIGCHLD workaround. cd95c9d6a7 subprocess: check and handle fcntl(F_GETFD) failure b7288decdf subprocess: Proper implementation of wait() on Windows 7423214d8d subprocess: Do not escape double quotes for command line arguments on Windows bb9ffea53f subprocess: Explicitly define move constructor of Streams class 174bd43f2e subprocess: Avoid leaking POSIX name aliases beyond `subprocess.h` 7997b7656f subprocess: Fix cross-compiling with mingw toolchain 647630462f subprocess: Get Windows return code in wait() d3f511b458 subprocess: Fix string_arg when used with rref 2fd3f2fec6 subprocess: Fix memory leaks 5b8046a6e8 Merge bitcoin/bitcoin#30611: validation: write chainstate to disk every hour fc6346dbc8 Merge bitcoin/bitcoin#32389: doc: Fix test_bitcoin path a0eed55398 run_command: Enable close_fds option to avoid lingering fds c7c356a448 cpp-subprocess: Iterate through /proc/self/fd for close_fds option on Linux 4f5e04da13 Revert "remove unneeded close_fds option from cpp-subprocess" 6cbc28b8dd doc: Fix test_bitcoin path 85368aafa0 test: Run simple tests at various feerates d610951c15 test: Recreate BnB iteration exhaustion test 2a1b2754f1 test: Remove redundant repeated test 4781f5c8be test: Recreate simple BnB failure tests a94030ae98 test: Recreate BnB clone skipping test 7db6f012c0 test: Move BnB feerate sensitivity tests 2bafc46261 test: Recreate simple BnB success tests e976bd3045 validation: add randomness to periodic write interval 2e2f410681 refactor: replace m_last_write with m_next_write b557fa7a17 refactor: rename fDoFullFlush to should_write d73bd9fbe4 validation: write chainstate to disk every hour 68ac9f116c Merge bitcoin/bitcoin#32383: util: Remove `fsbridge::get_filesystem_error_message()` fa4804009c fuzz: Remove unused TimeoutExpired catch in fuzz runner 0750249289 mining: document gbt_rule_value helper 5e87c3ec09 scripted-diff: rename gbt_force and gbt_force_name 97eaadc3bf util: Remove `fsbridge::get_filesystem_error_message()` 14b8dfb2bd Merge bitcoin/bitcoin#31398: wallet: refactor: various master key encryption cleanups a60445cd04 Merge bitcoin/bitcoin#32355: Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 2d5b424414 Merge bitcoin/bitcoin#32351: test: avoid stack overflow in `FindChallenges` via manual iteration 0ed5f37afe Merge bitcoin/bitcoin#31014: net: Use GetAdaptersAddresses to get local addresses on Windows 7a4a2a38ea Merge bitcoin/bitcoin#27826: validation: log which peer sent us a header 4694732bc4 Merge bitcoin/bitcoin#32338: net: remove unnecessary check from AlreadyConnectedToAddress() 7db096121d Merge bitcoin/bitcoin#29039: versionbits refactoring 51d76634fb Merge bitcoin/bitcoin#32365: descriptors: Reject + sign while parsing unsigned c5e44a0435 Merge bitcoin/bitcoin#32369: test: Use the correct node for doubled keypath test 32d55e28af test: Use the correct node for doubled keypath test 65714c162c Merge bitcoin/bitcoin#32327: test: Add missing check for empty stderr in util tester a4eee6d50b Merge bitcoin/bitcoin#29124: test: Test that migration automatically repairs corrupted metadata with doubled derivation path af6cffa36d Merge bitcoin/bitcoin#32350: test: Slim down previous releases bdb check 33e6538b30 Merge bitcoin/bitcoin#32360: test: Force named args for RPCOverloadWrapper optional args 3a29ba33dc Merge bitcoin/bitcoin#32357: depends: Fix cross-compiling `qt` package from macOS to Windows fa655da159 test: [refactor] Use ToIntegral in CheckInferDescriptor fa55dd01df descriptors: Reject + sign when parsing multi threshold fa6f77ed3c descriptors: Reject + sign in ParseKeyPathNum 7e8ef959d0 refactor: Fix Sonar rule `cpp:S4998` - avoid unique_ptr const& as parameter e400ac5352 refactor: simplify repeated comparisons in `FindChallenges` f670836112 test: remove old recursive `FindChallenges_recursive` implementation b80d0bdee4 test: avoid stack overflow in `FindChallenges` via manual iteration fa48be3ba4 test: Force named args for RPCOverloadWrapper optional args aaaa45399c test: Remove unused createwallet_passthrough d05481df64 refactor: validation: mark SnapshotBase as const f409444d02 Merge bitcoin/bitcoin#32071: build: Drop option to disable hardening. cccc1f4e91 test: Remove unused RPCOverloadWrapper is_cli field d62c2d82e1 Merge bitcoin/bitcoin#32353: doc: Fix fuzz test_runner.py path 10845cd7cc qa: Add feature_framework_startup_failures.py 35e57fbe33 depends: Fix cross-compiling `qt` package from macOS to Windows d2ac748e9e Merge bitcoin-core/gui#864: Crash fix, disconnect numBlocksChanged() signal during shutdown 524f981bb8 Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 84de8c93e7 ci: Add `deploy` target for native macOS CI job fad57e9e0f build: Fix `macdeployqtplus` after switching to Qt 6 de90b47ea0 Merge bitcoin-core/gui#868: Replace stray tfm::format to cerr with qWarning a58cb3b1c1 qa: sanity check mined block have their coinbase timelocked to height 8f2078af6a miner: timelock coinbase transactions 788aeebf34 qa: use prev height as nLockTime for coinbase txs created in unit tests c76dbe9b8b qa: timelock coinbase transactions created in fuzz targets 9c94069d8b contrib: timelock coinbase transactions in signet miner a5f52cfcc4 qa: timelock coinbase transactions created in functional tests 61f238e84a doc: Fix fuzz test_runner.py path c7e2b9e264 tests: Test migration cleans up bad inactive chain derivation path fa58f40b89 test: Slim down previous releases bdb check f1b142856a test: Same addr, diff port is already connected 94e85a82a7 net: remove unnecessary check from AlreadyConnectedToAddress() 28e282ef9a qa: assert_raises_message() - Stop assuming certain structure for exceptions 80e6ad9e30 Merge bitcoin/bitcoin#31250: wallet: Disable creating and loading legacy wallets 971952588d Merge bitcoin/bitcoin#32242: guix: Remove unused `file` package ff69046e66 Merge bitcoin/bitcoin#32215: depends: Fix cross-compiling on macOS 2ae1788dd4 Skip range verification for non-ranged desc 4eee328a98 Merge bitcoin/bitcoin#32318: Fix failing util_time_GetTime test on Windows 71656bdfaa gui: crash fix, disconnect numBlocksChanged() signal during shutdown 3dbd50a576 Fix failing util_time_GetTime test on Windows edd46566bd qt: Replace stray tfm::format to cerr with qWarning 458720e5e9 Merge bitcoin/bitcoin#32336: test: Suppress upstream `-Wduplicate-decl-specifier` in bpfcc facb9b327b scripted-diff: Use bpf_cflags fa0c1baaf8 test: Add imports for util bpf_cflags 9efe546688 Merge bitcoin/bitcoin#31835: validation: set BLOCK_FAILED_CHILD correctly bd158ab4e3 Merge bitcoin/bitcoin#32023: wallet: removed duplicate call to GetDescriptorScriptPubKeyMan 17bb63f9f9 wallet: Disallow loading legacy wallets 9f04e02ffa wallet: Disallow creating legacy wallets 6b247279b7 wallet: Disallow legacy wallet creation from the wallet tool 5e93b1fd6c bench: Remove WalletLoadingLegacy benchmark 56f959d829 wallet: Remove wallettool salvage 7a41c939f0 wallet: Remove -format and bdb from wallet tool's createfromdump c847dee148 test: remove legacy wallet functional tests 20a9173717 test: Remove legacy wallet tests from wallet_reindex.py 446d480cb2 test: Remove legacy wallet tests from wallet_backwards_compatibility.py aff80298d0 test: wallet_signer.py bdb will be removed f94f9399ac test: Remove legacy wallet unit tests d9ac9dbd8e tests, gui: Use descriptors watchonly wallet for watchonly test 9a4c92eb9a Merge bitcoin/bitcoin#32226: ci: switch to LLVM 20 in tidy job 82d1e94838 Merge bitcoin/bitcoin#32310: test: Run all benchmarks in the sanity check dda2d4e176 Merge bitcoin/bitcoin#32113: fuzz: enable running fuzz test cases in Debug mode faca46b042 test: Run all benchmarks in the sanity check e5a00b2497 Merge bitcoin/bitcoin#32309: bench: close wallets after migration 8406a9f4f1 Merge bitcoin/bitcoin#32325: ci: Add missing -Wno-error=array-bounds to valgrind fuzz fadf12a56c test: Add missing check for empty stderr in util tester fa653cb416 ci: Add missing -Wno-error=array-bounds to valgrind fuzz 08aa7fe232 ci: clang-tidy 20 2b85d31bcc refactor: starts/ends_with changes for clang-tidy 20 96a5cd8000 Merge bitcoin/bitcoin#32293: doc: Add deps install notes for multiprocess 2844adc8ba Merge bitcoin/bitcoin#32308: ci: Drop no longer necessary `-Wno-error=array-bounds` cad39f86fb bench: ensure wallet migration benchmark runs exactly once c1f458aaa0 ci: re-enable all benchmark runs 1da11dbc44 bench: clean up migrated descriptor wallets via loader teardown 3669ecd4cc doc: Document fuzz build options c1d01f59ac fuzz: enable running fuzz test cases in Debug mode 06439a14c8 Merge bitcoin/bitcoin#31953: rpc: Allow fullrbf fee bump in (psbt)bumpfee 3e78ac6811 Merge bitcoin/bitcoin#31243: descriptor: Move filling of keys from `DescriptorImpl::MakeScripts` to `PubkeyProvider::GetPubKey` 728e86e3f3 Merge bitcoin/bitcoin#31640: tests: improves tapscript unit tests 1f639efca5 qa: Work around Python socket timeout issue e3d7533ac9 test: improves tapscript unit tests 2aa63d511a test: Use uninvolved pruned node in feature_pruning undo test 772ba7f9ce test: Fix nTimes typo in feature_pruning test b1ea542ae6 test: test MAX_SCRIPT_SIZE for block validity 9b24a403fa qa: Only allow calling TestNode.stop() after connecting 6ad21b4c01 qa: Include ignored errors in RPC connection timeout 879243e81f qa refactor: wait_for_rpc_connection - Treat OSErrors the same d91a746815 Merge bitcoin/bitcoin#32306: ci: Temporarily disable `WalletMigration` benchmark ff136d046a Merge bitcoin/bitcoin#32213: msvc: Update vcpkg manifest e34f12bdd4 ci: Drop no longer necessary `-Wno-error=array-bounds` 055254e212 Merge bitcoin/bitcoin#32300: feefrac: avoid integer overflow in temporary 33d40a6ad4 Merge bitcoin/bitcoin#32282: torcontrol: Fix addrOnion outdated comment 18a035145d ci: Temporarily disable `WalletMigration` benchmark c7b592fbd7 Merge bitcoin/bitcoin#31247: psbt: MuSig2 Fields e261eb8d50 tests: Add BIP 373 test vectors 26370c68d0 rpc: Include MuSig2 fields in decodepsbt ff3d460898 psbt: Implement un/ser of musig2 fields 5cb1241814 feefrac: avoid integer overflow in temporary 7f5a35cf4b doc: Add deps install notes for multiprocess 247e9de622 Merge bitcoin/bitcoin#32191: Make TxGraph fuzz tests more deterministic bfeacc18b3 Merge bitcoin/bitcoin#32154: fuzz: Avoid integer sanitizer warnings in policy_estimator target fa86190e6e rpc: Allow fullrbf fee bump 06f9ead9f9 Merge bitcoin/bitcoin#32271: doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 4a964868f8 Merge bitcoin/bitcoin#32288: ci: drop -priority-level from bench in win cross CI cd01c9a173 Merge bitcoin/bitcoin#32250: ci: Slim down lint image 513e2020a9 guix: Remove unused `file` package 27f11217ca ci: drop -priority-level from bench in win cross CI 7a3afe6787 Merge bitcoin/bitcoin#32281: bench: Fix WalletMigration benchmark e66e30c9e5 Merge bitcoin/bitcoin#31862: doc: Fix and clarify description of ZMQ message format b6282dbd45 Merge bitcoin/bitcoin#32079: test: Add test coverage for rpcwhitelistdefault when unset eb6b1003c1 Merge bitcoin/bitcoin#32286: test: Handle empty string returned by CLI as None in RPC tests 33df4aebae Merge bitcoin/bitcoin#31551: [IBD] batch block reads/writes during `AutoFile` serialization 679bb2aac2 Merge bitcoin/bitcoin#31958: rpc: add cli examples, update docs dfa2813e31 Merge bitcoin/bitcoin#32248: Remove support for RNDR/RNDRRS for aarch64 7912cd4125 bench: Fix WalletMigration benchmark 938208d91a build: Resolve `@rpath` in `macdeployqtplus` bcaa23a2b7 torcontrol: Fix addrOnion outdate comment a4041c77f0 test: Handle empty string returned by CLI as None in RPC tests abe43dfadd doc: release note for #27826 f9fa28788e Use LogBlockHeader for compact blocks bad7c91479 Log which peer sent us a header 9d3e39c29c Log block header in net_processing cdc32994fe Merge bitcoin/bitcoin#32272: [doc] archive 29.0 release notes faeb1babe2 ci: refactor: Use version id over version codename consistently 12dc507c4a [doc] archive 29.0 release notes acee5c59e6 descriptors: Have GetPrivKey fill keys directly 4b0303197e descriptors: Move FlatSigningProvider pubkey filling to GetPubKey 25a3b9b0f5 descriptors: Have GetPubKey fill origins directly 6268bde0af descriptor: Remove unused parent_info from BIP32PUbKeyProvider::GetPubKey 0ff072caa1 wallet, rpc: Only allow keypool import from single key descriptors 99a4ddf5ab Merge bitcoin/bitcoin#31785: Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods 22770ce8cb Merge bitcoin/bitcoin#31282: refactor: Make node_id a const& in RemoveBlockRequest 9ccee9cd02 doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 8d801e3efb optimization: bulk serialization writes in `WriteBlockUndo` and `WriteBlock` 520965e293 optimization: bulk serialization reads in `UndoRead`, `ReadBlock` 5116655980 Merge bitcoin/bitcoin#32255: miniscript: Correct off-by-one assert guards (#31727 follow-up) 056cb3c0d2 refactor: clear up blockstorage/streams in preparation for optimization 67fcc64802 log: unify error messages for (read/write)[undo]block a4de160492 scripted-diff: shorten BLOCK_SERIALIZATION_HEADER_SIZE constant 6640dd52c9 Narrow scope of undofile write to avoid possible resource management issue 3197155f91 refactor: collect block read operations into try block 3693e4d6ee miniscript: Correct off-by-one assert guards 817edfb21e Merge bitcoin/bitcoin#32245: doc: Updates how to reproduce fuzz CI failure locally fae322a43a ci: Slim down lint image 3333273a8f ci: Bump lint imagefile FROM base 2835216ec0 txgraph: make GroupClusters use partition numbers directly (optimization) c72c8d5d45 txgraph: compare sequence numbers instead of Cluster* (bugfix) b2bb27f40c Merge bitcoin/bitcoin#31741: multiprocess: Add libmultiprocess git subtree 7749d929a0 Remove support for RNDR/RNDRRS for aarch64 on Linux a4fd565191 Merge bitcoin/bitcoin#31727: miniscript: convert non-critical asserts to CHECK_NONFATAL e364e6b509 Merge bitcoin/bitcoin#32176: net: Prevent accidental circuit sharing when using Tor stream isolation 8fe001d597 doc: Updates how to reproduce fuzz CI failure locally c58ae197a3 Merge bitcoin/bitcoin#32198: fuzz: Make p2p_headers_presync more deterministic e1dfa4faeb Merge bitcoin/bitcoin#32237: qt: Update SetHexDeprecated to FromHex b8cefeb221 Merge bitcoin/bitcoin#32149: wallet, migration: Fix empty wallet crash 874da961d0 Merge bitcoin/bitcoin#32240: feefrac test: avoid integer overflow (bugfix) faa3ce3199 fuzz: Avoid influence on the global RNG from peerman m_rng faf4c1b6fc fuzz: Disable unused validation interface and scheduler in p2p_headers_presync fafaca6cbc fuzz: Avoid setting the mock-time twice fad22149f4 refactor: Use MockableSteadyClock in ReportHeadersPresync fa9c38794e test: Introduce MockableSteadyClock::mock_time_point and ElapseSteady helper faf2d512c5 fuzz: Move global node id counter along with other global state fa98455e4b fuzz: Set ignore_incoming_txs in p2p_headers_presync faf2e238fb fuzz: Shuffle files before testing them 868816d962 refactor: Remove SetHexDeprecated 6b63218ec2 qt: Update SetHexDeprecated to FromHex bb92bb36f2 Merge bitcoin/bitcoin#32206: doc: Add fuzz based coverage report generation 021b4f72db Merge bitcoin/bitcoin#32216: bench: Match ConnectBlock tx output counts ff5b7b0b0a Merge bitcoin/bitcoin#32214: test: Remove fragile and ancient release 0.17 wallet test 873a45fba0 Merge bitcoin/bitcoin#32200: net: Add Tor extended SOCKS5 error codes 8d2ead2a86 Merge bitcoin/bitcoin#32185: coins: replace manual `CDBBatch` size estimation with LevelDB's native `ApproximateSize` ad0eee5492 Merge bitcoin/bitcoin#32139: test: remove strict restrictions on rpc_deprecated test a2bc330da8 feefrac test: avoid integer overflow (bugfix) 24d5033a62 Merge bitcoin/bitcoin#32114: test: Add encodable PUSHDATA1 examples to feature_taproot cfe025ff0e Merge bitcoin/bitcoin#30535: feefrac: add support for evaluating at given size 58914ab459 fuzz: assert min diff between FeeFrac and CFeeRate 0c6bcfd8f7 feefrac: support both rounding up and down for Evaluate ecf956ec9d feefrac: add support for evaluating at given size 7963aecead feefrac: add helper functions for 96-bit division 800c0dea9a feefrac: rework comments around Mul/MulFallback fcfe008db2 feefrac fuzz: use arith_uint256 instead of ad-hoc multiply 46ff4220bf arith_uint256: modernize comparison operators e419b0e17f refactor: Remove manual CDBBatch size estimation 8b5e19d8b5 refactor: Delegate to LevelDB for CDBBatch size estimation 751077c6e2 Coins: Add `kHeader` to `CDBBatch::size_estimate` 0dc74c92c0 Merge bitcoin/bitcoin#32212: test: Remove confusing and failing system time test 7677fde4c7 Add fuzz test coverage report generation c77e3107b8 refactor: rename leftover WriteBlockBench d42e82d650 Merge bitcoin/bitcoin#32218: ci: Merge master in test-each-commit task (take 2) 0f602c5693 wallet, migration: Fix crash on empty wallet fa10a1ded5 ci: Use GITHUB_BASE_REF over hard-coded master fa0d0be05c ci: Merge master in test-each-commit task (take 2) 65dcbec756 Merge bitcoin/bitcoin#32209: test: Preserve llvm profile path b34d49a27e Merge bitcoin/bitcoin#32203: ci: Merge master in test-each-commit task 924f25f6fc bench: Match ConnectBlock tx output counts d0cce4172c depends: Fix `mv` command compatibility with macOS 690f5da15a depends: Specify Objective C/C++ compilers for `native_qt` package c5a7ffd1e8 preserve llvm profile env fac978fb21 test: Remove fragile and ancient release 0.17 wallet test 42c13141b5 wallet, refactor: Decouple into HasLegacyRecords() c66f7dab33 Merge bitcoin/bitcoin#32211: doc: Amend Qt 6 dependency packages for Ubuntu ec81a72b36 net: Add randomized prefix to Tor stream isolation credentials d85895e5a7 build, msvc: Build only required `qtbase` features fe5a6dcc53 build, msvc: Update vcpkg manifest baseline fadf8f078e test: Remove confusing and failing system time test 2e751f559a doc: Amend Qt 6 dependency packages for Ubuntu df82a24508 Merge bitcoin-core/gui#863: refactor: Post Qt 6 cleanup 77dff373a6 Merge bitcoin/bitcoin#32182: ci: Switch to dynamic library linkage in native Windows job 99b9022844 Merge bitcoin/bitcoin#32177: TxGraph: Increase fuzz coverage 3aa58bea8e qt, refactor: Inline `GUIUtil::SplitSkipEmptyParts` function d1ec6db249 qt, refactor: Inline `GUIUtil::GetImage` function 4b36ab3a6a qt, refactor: Remove outdated Qt version-specific code faa807bdf8 ci: Merge master in test-each-commit task 7967fe5bfd ci: Switch to dynamic library linkage in native Windows job a2f28e4be9 Squashed 'src/ipc/libmultiprocess/' content from commit 35944ffd23fa 639279e86a Merge bitcoin/bitcoin#30997: build: Switch to Qt 6 babb9f5db6 depends: remove non-native libmultiprocess build 5d105fb8c3 depends: Switch libmultiprocess packages to use local git subtree 9b35518d2f depends, moveonly: split up int_get_build_id function 2d373e2707 lint: Add exclusions for libmultiprocess subtree e88ab394c1 doc: Update documentation to explain libmultiprocess subtree d4bc563982 cmake: Fix clang-tidy "no input files" errors abdf3cb645 cmake: Fix warnings from boost headers 8532fcb1c3 cmake: Fix ctest mptest "Unable to find executable" errors d597ab1dee cmake: Support building with libmultiprocess subtree 69f0d4adb7 scripted-diff: s/WITH_MULTIPROCESS/ENABLE_IPC/ in cmake 3f6fb40114 Merge commit 'a2f28e4be96e92079a219567cf20214996aefc53' as 'src/ipc/libmultiprocess' d6244f85c5 depends: Update libmultiprocess library to simplify cmake subtree build b639417b39 net: Add Tor extended SOCKS5 error codes f00345727b doc: Update `dependencies.md` for Qt 6 80b917991e build, msvc: Update `vcpkg.json` for Qt 6 30dd1f1644 ci: Update for Qt 6 629d292f4d test: Update sanitizer suppressions for Qt 6 551e13abf8 guix: Adjust for Qt 6 c3e9bd086c qt: Fix compiling for Windows ab399c4db2 depends: Add `native_qt` package 248613eb3e depends: Factor out Qt modules' details 0268f52a4c depends: Introduce customizable `$(package)_patches_path` variables 5e794e6202 depends: Bump `qt` package up to 6.7.3 6d4214925f cmake: Require Qt 6 to build GUI cfa7f70f6c Merge bitcoin/bitcoin#31933: doc: Add Clang/LLVM based coverage report generation 772996ac8b Merge bitcoin/bitcoin#32158: fuzz: Make partially_downloaded_block more deterministic 40de19164c Merge bitcoin/bitcoin#32118: fuzz: wallet: fix crypter target 5541f7ced7 Merge bitcoin/bitcoin#32187: refactor: Remove spurious virtual from final ~CZMQNotificationInterface 6f6f83a8ca Merge bitcoin/bitcoin#32193: test: fix spelling in Python code comment 16b084f88d Merge bitcoin/bitcoin#32194: ci, windows: Do not exclude `wallet_migration.py` in command line 4a679936bb ci, windows: Do not exclude `wallet_migration.py` in command line 449e2eb7e4 Merge bitcoin/bitcoin#32184: ci: Add workaround for vcpkg's `libevent` package 4774a0c923 test: fix spelling in Python code comment 459807d566 test: remove strict restrictions on rpc_deprecated c47f81e8ac net: Rename `_randomize_credentials` Proxy parameter to `tor_stream_isolation` 1a6fc04d81 Merge bitcoin/bitcoin#29500: test: create assert_not_equal util 6af68bb84b Merge bitcoin/bitcoin#32166: torcontrol: Define tor reply code as const to improve our maintainability 6593293e47 Merge bitcoin/bitcoin#32110: contrib: document asmap-tool commands more thoroughly c8ade107c8 Merge bitcoin/bitcoin#31806: fuzz: coinselection: cover `SetBumpFeeDiscount` fa69c42fdf refactor: Remove spurious virtual from final ~CZMQNotificationInterface ea36d2720a Merge bitcoin/bitcoin#31340: test: add missing segwitv1 test cases to `script_standard_tests` 80e47b1920 Merge bitcoin/bitcoin#32096: Move some tests and documentation from testnet3 to testnet4 30c59adda4 ci: Drop confusing comment ef00a28414 ci: Add workaround for vcpkg's libevent package 7bb83f6718 test: create assert_not_equal util and add to where imports are needed 2929da1dd5 test: Add coverage for rpcwhitelistdefault when unset fa51310121 contrib: Warn about using libFuzzer for coverage check fa17cdb191 test: Avoid script check worker threads while fuzzing fa900bb2dc contrib: Only print fuzz output on failure 74d9598bfb Merge bitcoin/bitcoin#32134: descriptors: Multipath/PR 22838 follow-ups a40bd374aa Get*Union: disallow nulltpr Refs 57433502e6 CountDistinctClusters: nullptrs disallowed 8bca0d325a TxGraphImpl::Compact: m_main_clusterset.m_removed is always empty 2c5cf987e9 TxGraphImpl::PullIn: only allowed when staging exists fa82fe2c73 contrib: Use -Xdemangler=llvm-cxxfilt in deterministic-*-coverage fa7e931130 contrib: Add optional parallelism to deterministic-fuzz-coverage 3358b1d105 Merge bitcoin/bitcoin#31176: ci: Test cross-built Windows executables on Windows natively 8e4a0ddd50 torcontrol: Add comment explaining Proxy credential randomization for Tor privacy f974359e21 test: Add encodable PUSHDATA1 examples to feature_taproot ec5c0b26ce torcontrol: Define tor reply code as const to improve maintainability 3c3548a70e validation: clarify final |= BLOCK_FAILED_VALID in InvalidateBlock aac5488909 validation: correctly update BlockStatus for invalid block descendants 9e29653b42 test: check BlockStatus when InvalidateBlock is used c99667583d validation: fix traversal condition to mark BLOCK_FAILED_CHILD 7a93544cdc doc: Fix and clarify description of ZMQ message format 56f271e9b9 descriptors refactor: Clarify multipath data relationships through local struct 7e974f474e descriptors refactor: Use range-for and limit scope of seen_multipath 3e167085ba test: Ensures test fails if witness is not hex 4c1906a500 Merge bitcoin/bitcoin#31992: cmake: Avoid fuzzer "multiple definition of `main'" errors 9acc25bcb6 Merge bitcoin/bitcoin#32153: wallet: remove redundant `Assert` call when block is disconnected 0a1e36effa Merge bitcoin/bitcoin#32151: Follow-ups for txgraph #31363 e3c4bb12ba Merge bitcoin/bitcoin#32058: test: get rid of redundant TODO tag 930b237f16 Merge bitcoin/bitcoin#31874: qa wallet: Activate dormant checks in wallet_multisig_descriptor_psbt.py a52b53926b clusterlin: add GetConnectedComponent 6afffba34e contrib: (asmap) add docs about encode and decode commands 67d5cc2a06 contrib: (asmap) add documentation on diff and diff-addrs commands e047b1deca contrib: (asmap) add diff-addrs example to README c7d5dcaa61 clusterlin: fix typos 777179bc27 txgraph: rename group_data in ApplyDependencies 74c23f80ab Merge bitcoin/bitcoin#32145: test: Add functional test for bitcoin-chainstate bcb316bd88 Merge bitcoin/bitcoin#32050: test: avoid treating hash results as integers fa6a007b8e fuzz: Avoid integer sanitizer warnings in policy_estimator target ae6b6ea296 wallet: remove redundant `Assert` call when block is disconnected a54baa8698 Merge bitcoin/bitcoin#32100: doc: clarify the documentation of `Assume` assertion b131e1bfc0 Merge bitcoin/bitcoin#32101: Accept unordered tracepoints in interface_usdt_utxocache.py 8cc601196b Merge bitcoin/bitcoin#32129: doc: Update comments for AreInputsStandard to match code 140f0d89bf Merge bitcoin/bitcoin#32027: cmake: Add `NO_CACHE_IF_FAILED` option for checking linker flags 5dd6ebc7e1 Merge bitcoin/bitcoin#32148: test: fix intermittent timeout in p2p_ibd_stalling.py b413b088ae Merge bitcoin/bitcoin#32141: fuzz: extract unsequenced operations with side-effects e563cb5c60 Merge bitcoin/bitcoin#31849: depends: set `CMAKE_*_COMPILER_TARGET` in toolchain 603fcc07d5 Merge bitcoin/bitcoin#31896: refactor: Remove redundant and confusing calls to IsArgSet 84bbb40558 Merge bitcoin/bitcoin#32132: build: Remove bitness suffix from Windows installer 6971d3a0f5 Merge bitcoin/bitcoin#32144: lint: Remove needless borrow to fix Clippy warning f1d129d963 Merge bitcoin/bitcoin#31363: cluster mempool: introduce TxGraph 9f35d4d070 test: fix intermittent timeout in p2p_ibd_stalling.py d065208f0f test: get rid of redundant TODO tag 248fdd88dc test: accept unordered tracepoints in... ca55613fd1 test: Add functional test for bitcoin-chainstate 32dcec269b rpc: update RPC help of `createpsbt` 931117a46f rpc: update the doc for `data` field in `outputs` argument aa7a898c23 doc: use testnet4 in developer docs 6c217d22fd test: use testnet4 in argsman test 7c200ece80 test: use testnet4 in key_io_valid.json d424bd5941 test: drop unused testnet3 magic bytes 8cfc09fafe test: cover testnet4 magic in assumeutxo.py 4281e3603a zmq: use testnet4 in zmq_sub.py example 3f9c716e7f test: Fix docstring for cmake migration 52ede28a8a doc: Update comments for AreInputsStandard to match code 35d17cd5ee qa wallet: Actually make use of expressions b96f1a696a add clang/llvm based coverage report generation e3ce2bd982 Remove needless borrow to fix Clippy warning c0b7159de4 Merge bitcoin/bitcoin#32122: fuzz: Fix off-by-one in package_rbf target b1de59e896 fuzz: extract unsequenced operations with side-effects 99a92efdd9 descriptors doc: Correct Markdown format + wording dfb7d58108 Merge bitcoin/bitcoin#31897: mining: drop unused -nFees and sigops from CBlockTemplate 535b874707 test: Combine rpcwhitelistdefault functions 0000fb3fd9 doc: Remove outdated and stale todo comment fa2b529f92 refactor: Remove redundant call to IsArgSet fa29842c1f refactor: Remove IsArgSet guard when fallback value is provided 2b6ce9254d test: Update permissions and string formatting fa5674c264 fuzz: Fix off-by-one in package_rbf target 1d281daf86 Merge bitcoin/bitcoin#32095: doc: clarify that testnet min-difficulty is not optional a0d737cd7a Merge bitcoin/bitcoin#32073: net: Block v2->v1 transport downgrade if !fNetworkActive 77e553ab6a build: refactor: hardening flags -> core_interface 00ba3ba303 build: Drop option for disabling hardening f57db75e91 build: Use `-z noseparate-code` on NetBSD < 11.0 b3162d10ea Merge bitcoin/bitcoin#31656: test: Add expected result assertions 5f3848c63b Merge bitcoin/bitcoin#31278: wallet, rpc: deprecate settxfee and paytxfee 329a0dcdaf doc: clarify the documentation of `Assume` fb2b05b125 build: Remove bitness suffix from Windows installer b2ea365648 txgraph: Add Get{Ancestors,Descendants}Union functions (feature) 54bceddd3a txgraph: Multiple inputs to Get{Ancestors,Descendant}Refs (preparation) aded047019 txgraph: Add CountDistinctClusters function (feature) b685d322c9 txgraph: Add DoWork function (feature) 295a1ca8bb txgraph: Expose ability to compare transactions (feature) 22c68cd153 txgraph: Allow Refs to outlive the TxGraph (feature) 82fa3573e1 txgraph: Destroying Ref means removing transaction (feature) 6b037ceddf txgraph: Cache oversizedness of graphs (optimization) 8c70688965 txgraph: Add staging support (feature) c99c7300b4 txgraph: Abstract out ClearLocator (refactor) 34aa3da5ad txgraph: Group per-graph data in ClusterSet (refactor) 36dd5edca5 txgraph: Special-case removal of tail of cluster (Optimization) 5801e0fb2b txgraph: Delay chunking while sub-acceptable (optimization) 57f5499882 txgraph: Avoid looking up the same child cluster repeatedly (optimization) 1171953ac6 txgraph: Avoid representative lookup for each dependency (optimization) 64f69ec8c3 txgraph: Make max cluster count configurable and "oversize" state (feature) 1d27b74c8e txgraph: Add GetChunkFeerate function (feature) c80aecc24d txgraph: Avoid per-group vectors for clusters & dependencies (optimization) ee57e93099 txgraph: Add internal sanity check function (tests) 05abf336f9 txgraph: Add simulation fuzz test (tests) 8ad3ed2681 txgraph: Add initial version (feature) 6eab3b2d73 feefrac: Introduce tagged wrappers to distinguish vsize/WU rates d449773899 scripted-diff: (refactor) ClusterIndex -> DepGraphIndex bfeb69f6e0 clusterlin: Make IsAcyclic() a DepGraph member function 0aa874a357 clusterlin: Add FixLinearization function + fuzz test 55b931934a removed duplicate calling of GetDescriptorScriptPubKeyMan 05117e6e17 rpc: clarify longpoll behavior 5315278e7c Have createNewBlock() wait for a tip 8284229a28 refactor: deduplicate anchor witness program bytes (`0x4e,0x73`) 41f2f058d0 test: add missing segwitv1 test cases to `script_standard_tests` 770d39a376 Merge bitcoin/bitcoin#31887: CLI cleanups a203928693 Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed b9c281011b Merge bitcoin/bitcoin#31689: Benchmark Chainstate::ConnectBlock duration 963355037f depends: set CMAKE_*_COMPILER_TARGET in toolchain af3dee0b8d Merge bitcoin/bitcoin#32074: contrib: Make deterministic-coverage error messages more readable 0ff66b1c4a fuzz: coinselection: cover `SetBumpFeeDiscount` 28dc118001 fuzz: wallet: fix crypter target 8046759305 Merge bitcoin/bitcoin#31870: fuzz: split `coinselection` harness 2db00278ea Merge bitcoin/bitcoin#31910: qa: fix an off-by-one in utxo snapshot fuzz target and sanity check its snapshot data c9a61509ba Merge bitcoin/bitcoin#31979: torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds b43cfa20fd Merge bitcoin/bitcoin#30142: doc: add guidance for RPC to developer notes 85feb094d4 Merge bitcoin/bitcoin#32092: test: Fix intermittent issue in p2p_orphan_handling.py b858b72903 Merge bitcoin/bitcoin#31841: fuzz: Use immediate task runner to increase fuzz stability fa7a40d952 contrib: Print deterministic-coverage runs fa751639fb contrib: Make deterministic-coverage error messages more readable 998386d446 Merge bitcoin/bitcoin#31866: test, refactor: Add TestNode.binaries to hold binary paths aa87e0b446 Merge bitcoin/bitcoin#31519: refactor: Use std::span over Span ef525e8b7c Merge bitcoin/bitcoin#31457: fuzz: Speed up *_package_eval fuzz targets a bit 7d76c9725c Merge bitcoin/bitcoin#31766: leveldb: pull upstream C++23 changes 780bcf80b5 Merge bitcoin/bitcoin#32091: test: replace assert with assert_equal and assert_greater_than c6eca6f396 doc: add guidance for RPC to developer notes fa310cc6f4 test: Fix intermittent issue in p2p_orphan_handling.py 25b56fd9b4 ci: Test cross-built Windows executables on Windows natively 288481aabd doc: clarify that testnet min-difficulty is not optional e568c1dd13 Merge bitcoin/bitcoin#32088: test: switch wallet_crosschain.py to signet and drop testnet4 e8f6a48e31 Merge bitcoin/bitcoin#32057: test: avoid disk space warning for non-regtest 387385ba1e test: replace assert with assert_equal and assert_greater_than 223fc24c4e Merge bitcoin/bitcoin#31603: descriptor: check whitespace in keys within fragments d190f0facc test, contrib: Fix signer/miner command line escaping 0d2eefca8b test, refactor: Add TestNode.binaries to hold binary paths 3501bca8c7 ci: Move "Windows cross" job from Cirrus CI to GHA CI f8619196ce ci: Use `bash` by default for all platforms d61a847af0 Merge bitcoin/bitcoin#32019: cmake: Check for `makensis` and `zip` tools before using them for optional `deploy` targets cec14ee47d test: switch wallet_crosschain.py to signet 9c2951541c test: drop testnet4 from wallet_crosschain.py 14fec6380d Merge bitcoin/bitcoin#32059: test: Update coverage.cpp to drop linux restriction ece0b41da6 Merge bitcoin/bitcoin#32087: ci: Drop ENABLE_HARDENING=OFF from clang-tidy c9b633d119 Merge bitcoin/bitcoin#31948: ci: [lint] Use Cirrus dockerfile cache 6245c23504 Merge bitcoin/bitcoin#32083: doc: shallow clone `qa-assets` 6869fb4170 net: Block v2->v1 transport downgrade if !CConnman::fNetworkActive 257fd27e4b Merge bitcoin/bitcoin#32033: test: Check datadir cleanup after assumeutxo was successful 6f9f415a4f doc: shallow clone qa-assets db2c57ae9e Merge bitcoin-core/gui#858: qt: doc: adapt outdated binary paths to CMake changes c8fab35617 ci: remove -Wno-error=deprecated-declarations from ASAN a130bbd154 Squashed 'src/leveldb/' changes from 04b5790928..4188247086 24fd0235e4 Update leveldb subtree to latest upstream a799415d84 Merge bitcoin/bitcoin#31904: refactor: modernize outdated trait patterns using helper aliases (C++14/C++17) 5f4422d68d Merge bitcoin/bitcoin#32010: qa: Fix TxIndex race conditions 52482cb244 test: Check datadir cleanup after assumeutxo was successful 7ebc458a8c qt: doc: adapt outdated binary paths to CMake changes cd8089c20b Merge bitcoin/bitcoin#32069: test: fix intermittent failure in wallet_reorgsrestore.py 70a0ee89c6 Me…
DisconnectedBlockTransactions::LimitMemoryUsage()
has unit test coverage, but the default value end to end doesn't have coverage.This test adds exercised coverage of memory limiting of the disconnect pool, and some basic behavior sanity checks.
Another test added is making sure chainlimits are being respected on reorg, and the expected transactions pruned.
Lastly, fix the existing test case which was using a deficient test via directly inducing reorgs with
invalidateblock