Repository navigation
backport: v0.26 bitcoin#28060, bitcoin#28090, bitcoin#28108, bitcoin#28204 - #62
Merged
Merged
Conversation
This was referenced Sep 20, 2026
8 tasks
fa633aa streams: Teach AutoFile how to XOR (MarcoFalke) 000019e Add AutoFile::detail_fread member function (MarcoFalke) fa7724b refactor: Modernize AutoFile (MarcoFalke) fa8d227 doc: Remove comments that just repeat what the code does (MarcoFalke) fafe2ca refactor: Remove redundant file check from AutoFile shift operators (MarcoFalke) 9999a49 Extract util::Xor, Add key_offset option, Add bench (MarcoFalke) Pull request description: This allows `AutoFile` to roll an XOR pattern while reading or writing to the underlying file. This is needed for bitcoin#28052, but can also be used in any other place. Also, there are tests, so I've split this up from the larger pull to make review easier, hopefully. ACKs for top commit: Crypt-iQ: crACK fa633aa willcl-ark: Lightly tested ACK fa633aa jamesob: reACK fa633aa ([`jamesob/ackr/28060.4.MarcoFalke.util_add_xorfile`](https://github.com/jamesob/bitcoin/tree/ackr/28060.4.MarcoFalke.util_add_xorfile)) Tree-SHA512: 6d66cad0a089a096d3f95e4f2b28bce80b349d4b76f53d09dc9a0bea4fc1b7c0652724469c37971ba27728c7d46398a4c1d289c252af4c0f83bb2fcbc6f8e90b Dash adaptations: - libbitcoin_util_a_SOURCES: kept Dash's stacktraces.cpp and added upstream's streams.cpp after it (alphabetical order preserved) - libbitcoin_kernel_a_SOURCES: kept Dash's shutdown.cpp and spork.cpp, added upstream's streams.cpp after them; upstream's adjacent signet.cpp context line dropped since Dash has no signet.cpp
…hrow() 047daad clang-tidy: turn on modernize-use-noexcept (fanquake) 85e9e1f validation: use noexcept instead of deprecated throw() (fanquake) Pull request description: We fixed this once before in bitcoin#10965. Turn on https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-noexcept.html#modernize-use-noexcept. ACKs for top commit: MarcoFalke: lgtm ACK 047daad sipa: utACK 047daad Empact: utACK bitcoin@047daad stickies-v: ACK 047daad Tree-SHA512: 949b0fe598d66583747853094db13f196b402000e601f8634e5a708b55454d29c5aa18eaf1f2420d3ccf10e3e524b7414ff3a6fe4cb431420bf749c22b2b8bab Dash adaptations: - src/.clang-tidy: kept Dash-only 'modernize-use-emplace' check alongside the upstream-added 'modernize-use-noexcept', preserving alphabetical order (default-member-init, use-emplace, use-noexcept, use-nullptr)
…allettransactions.py e667bd6 test: fix intermittent failure in wallet_resendwallettransactions.py (Martin Zumsande) Pull request description: Fixes bitcoin#28094 The test bumps the mocktime for ~2 weeks and then triggers eviction from the mempool. But this bump will also cause a new resubmit, and if the timing is such that this resubmit happens right after the eviction and before the check that the tx was evicted, the test can fail as in bitcoin#28094: ``` node0 2023-07-17T21:31:23.809483Z (mocktime: 2023-08-02T09:46:27Z) [httpworker.1] [validation.cpp:267] [LimitMempoolSize] [mempool] Expired 2 transactions from the memory pool node0 2023-07-17T21:31:23.810079Z (mocktime: 2023-08-02T09:46:27Z) [scheduler] [wallet/wallet.h:895] [WalletLogPrintf] [default wallet] ResubmitWalletTransactions: resubmit 2 unconfirmed transactions node0 2023-07-17T21:31:23.810474Z (mocktime: 2023-08-02T09:46:27Z) [httpworker.2] [rpc/request.cpp:181] [parse] [rpc] ThreadRPCServer method=getmempoolentry user=__cookie__ 2023-07-17T21:31:23.811000Z TestFramework (ERROR): Assertion failed (...) AssertionError: No exception raised ``` Fix this by flushing out the current resubmit call before triggering mempool eviction. ACKs for top commit: MarcoFalke: Nice. lgtm ACK e667bd6 achow101: ACK e667bd6 jonatack: Light "this looks like the other tests in this file" ACK e667bd6 Tree-SHA512: 027c2177ecd8bea80ec388ec2564f8fcbc717efd2722304b16fc0e9fa7ad216af61977c4e360b8135de68586cf13b0aa729ffa4fa27bad655092c3a55f73933c Dash adaptations: - Kept Dash's `node.send(outputs=[...], options={"inputs": [indep_utxo]})` call form instead of upstream's named `inputs=[indep_utxo]` argument; Dash has not backported the send() named-argument change, and that line is unrelated context for this commit.
703b758 qa: Close SQLite connection properly (Hennadii Stepanov) Pull request description: This PR is a follow-up for bitcoin#26462 that introduced a bug on Windows: ``` >test\functional\wallet_descriptor.py ... PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: ... ``` From `sqlite3` Python module [docs](https://docs.python.org/3/library/sqlite3.html#how-to-use-the-connection-context-manager): > `Connection` object used as context manager only commits or rollbacks transactions, so the connection object should be closed manually. ACKs for top commit: MarcoFalke: lgtm ACK 703b758 theStack: utACK 703b758 Tree-SHA512: 35b1403507be06d1fc04e7e07ff56af5bcfe5013024671f0c1d9f3c41aacc4c777bcc6376ce82d720394e27450415d50ff5d5834ed388ec3f21503f86f1a42a5 Dash adaptations: - Kept Dash's os.path.join(self.nodes[0].datadir, self.chain, "wallets", ...) path form since Dash lacks TestNode.wallets_path (upstream bitcoin#26076 datadir-helpers refactor not backported); applied only the connection-handling change
PastaPastaPasta
force-pushed
the
backport-0.26-b052-misc
branch
from
September 23, 2026 04:33
e850907 to
f409c3c
Compare
Collaborator
Author
|
merged as dashpay#7717 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated Bitcoin Core v0.26 backports, batch
backport-0.26-b052-misc.bb3cec055c6bb207f09225b82a3488e850907174Failed gates (not included):
Provenance
Each commit passed: cherry-pick (adapted by an Opus lane only where conflicts existed), build, touched tests, a mechanical diff-of-diffs check (every upstream hunk landed; no added line without an upstream counterpart), and an independent Opus verification lane where anything was adapted. Gate rows and lane artifacts are in the backportsys DB.