Backports:
[32.x] Backports #36727
pull fanquake wants to merge 9 commits into bitcoin:32.x from fanquake:more_32_backports changing 12 files +61 −544-
fanquake commented at 10:36 AM on November 2, 2026: member
-
7c6fdd0a26
ci: Disable tests on ARM32 in GHA yaml
Github-Pull: #36701 Rebased-From: fa01c3c533b8d645a400d23e785d4467b07e8bb5
- fanquake added this to the milestone 32.2 on Nov 2, 2026
- DrahtBot added the label Backport on Nov 2, 2026
-
DrahtBot commented at 10:37 AM on November 2, 2026: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
External sites
- Code coverage & benchmarks: https://corecheck.dev/bitcoin/bitcoin/pulls/36727
- Ralph review <img src=https://review.fish.foo/assets/bitcoin/bitcoin/36727.png alt="Ralph review status"> https://git.fish.foo/bitcoin/bitcoin/pulls/36727#author-ralph
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline and AI policy for information on the review process. A summary of reviews will appear here.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
LLM Linter (✨ experimental)
Possible places where named args for integral literals may be used (e.g.
func(x, /*named_arg=*/0)in C++, andfunc(x, named_arg=0)in Python):src/test/psbt_tests.cpp:UpdatePSBTOutput(provider, psbt, 0)
<sup>2026-11-05 17:03:40</sup>
-
d9035657b6
guix: add --no-same-owner to codesign.sh TAR_OPTIONS
Github-Pull: #36615 Rebased-From: d2e5108ea2ddce1952d4db8b42d39a40e3d9f521
- fanquake force-pushed on Nov 4, 2026
-
7bd744759b
test: Fix intermittent issue in p2p_orphan_handling.py
Github-Pull: #36617 Rebased-From: faf819bf23e8752644695e332cc00413d94af938
-
6cb4ce2905
test: make orphan inherit-rejection getdata checks able to fail
PeerTxRelayer.assert_never_requested compares the hash of every request received, an int, with its argument, and test_orphan_inherit_rejection passed it hex strings. An int never equals a str, so these checks passed whatever the node requested. Pass ints instead. Two more changes let the checks see the requests they are about: - Relay the parent from peer2 rather than peer1. Relaying it made the node request it from peer1, so the check that peer1 never requested the parent fails once it compares ints. - Bump mocktime by TXREQUEST_TIME_SKIP before the peer1 and peer2 checks. The node requests an orphan's missing parent after a delay, so without the bump the request has not been sent when they run. Also correct the comment on why the parent is rejected: it exceeds the maximum standard weight, and the node rejects it with tx-size. To check each assertion can fail, the scenario was mutated in a scratch copy so that the node does request the hash, and each call site was evaluated with both the old and the new argument. The old one passed every time, and the new one failed: - parent not relayed: peer1 is asked for the parent, peer2 for the child's txid; - child not relayed: peer2 is asked for the child's txid; - child relayed from peer2: peer2 is asked for the child's wtxid; - neither child nor grandchild relayed: peer3 is asked for the child's txid. Without the mocktime bumps, the first two mutations pass with ints too. Github-Pull: #36406 Rebased-From: a3c4ad12e92e9d8c0e7c020d49cbdbdef203dfa5
-
4d679f6fdb
test: require an int in PeerTxRelayer.assert_never_requested
The requests it checks carry int hashes, so any other type never matches and the check passes whatever the node requested. Github-Pull: #36406 Rebased-From: 5f22014aca2d071edfea95e8d3d4ba0bebbc57ca
- fanquake force-pushed on Nov 5, 2026
-
0cd735b74b
test: look for the wtxid in p2p_blocksonly
The connection that checks a transaction submitted over RPC is not announced to a block-relay-only peer uses P2PTxInvStore, which negotiates wtxidrelay. The node would therefore announce the transaction by its wtxid, and the assertion looked for the txid, which cannot be in the store for a transaction carrying a witness: it passed whether or not the transaction was announced. Assert on the wtxid instead. With the connection opened as outbound-full-relay rather than block-relay-only, the old assertion still passes and the new one fails. Also open an outbound-full-relay connection and assert that the wtxid was announced on it. The two assertions differ only by `not`, so if the announcement or its id changes, the test fails instead of the absence check passing silently. Github-Pull: #36405 Rebased-From: 22535b460568be47e57aadfbe50d489becb77577
- fanquake force-pushed on Nov 5, 2026
- DrahtBot added the label CI failed on Nov 5, 2026
- DrahtBot removed the label CI failed on Nov 5, 2026
-
dba6a52b6d
gui: wallet: Use v0 PSBT
PSBTv2 is not very interesting for current GUI users, and defaulting to it causes issues for existing users. To make this change minimal and avoid touching strings, this commit, only changes the default back instead of making the version configurable. The external signer PSBT will still be version 2, and I've added an explicit argument here to show that. This will break users who are using HWI versions < 2.1.0. (https://github.com/bitcoin-core/HWI/releases/tag/2.1.0) Github-Pull: #36539 Rebased-From: 23dcb03a2c6b9fed84896ac4d751ba9e8034a6bf
-
806bc300e2
refactor: psbt: Don't set a default version for PSBT constructor
Github-Pull: #36539 Rebased-From: 3fdc45d1fa2a6f32f251aa6f639a52bbfd5245b0
-
doc: update release notes for v32.x 9d833b54d2
- fanquake force-pushed on Nov 5, 2026
Labels
Milestone
32.2
Linked (view graph)
#36405 test: look for the wtxid in p2p_blocksonly#36406 test: make p2p_orphan_handling's never-requested checks able to fail#36539 gui: Use PSBT v0#36615 guix: add --no-same-owner to codesign.sh TAR_OPTIONS#36617 test: Fix intermittent issue in p2p_orphan_handling.py#36701 ci: Disable tests on ARM32 in GHA yaml