Skip to content

backport: v0.26 bitcoin#25634 - #86

Open
DCG-Claude wants to merge 1 commit into
developfrom
backport-0.26-b066-misc
Open

DCG-Claude wants to merge 1 commit into
developfrom
backport-0.26-b066-misc

Conversation

@DCG-Claude

@DCG-Claude DCG-Claude commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Automated Bitcoin Core v0.26 backports, batch backport-0.26-b066-misc.

upstream commit gates notes
bitcoin#25634 e5c3a31c17 pick:pass build:pass tests:pass mech:warn tree:pass verify:pass Backports bitcoin#25634: getwalletinfo now reports the 'blank' flag, legacy AddKeyPubKeyWithDB clears the blank flag eve
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.

…llet flag should be un/set

cdba23d wallet: Document blank flag use in descriptor wallets (Ryan Ofsky)
4331020 wallet: Ensure that the blank wallet flag is unset after imports (Andrew Chow)
e9379f1 rpc, wallet: Include information about blank flag (Andrew Chow)

Pull request description:

  The `blank` wallet flag is used to indicate that the wallet intentionally does not have any keys, scripts, or descriptors, and it prevents the automatic generation of those things for such a wallet. Once the wallet contains any of those data, it is unnecessary, and possibly incorrect, to have `blank` set. This PR fixes a few places where this was not properly happening. It also adds a test for this unset behavior.

ACKs for top commit:
  S3RK:
    reACK cdba23d
  ryanofsky:
    Code review ACK cdba23d. Only change since last review is dropping the commit which makes createwallet RPC set BLANK flag automatically when DISABLE_PRIVATE_KEYS flag is set

Tree-SHA512: 85bc2a9754df0531575d5c8f4ad7e8f38dcd50083dc29b3283dacf56feae842e81f34654c5e1781f2dadb0560ff80e454bbc8ca3b2d1fab1b236499ae9abd7da

Dash adaptations:
- test/functional/test_runner.py: Dash has 'rpc_quorum.py' right after the wallet_hd.py entries, where upstream inserts wallet_blank.py; kept both, with the two wallet_blank.py entries after wallet_hd.py as upstream does and rpc_quorum.py after them
- test/functional/wallet_blank.py: test_encrypt_legacy checks that 'hdchainid' is absent from getwalletinfo instead of upstream's 'hdseedid'; Dash's getwalletinfo reports the HD chain as hdchainid and has no hdseedid, so the upstream check would always pass and test nothing
@DCG-Claude
DCG-Claude force-pushed the backport-0.26-b066-misc branch from e1c12b8 to e5c3a31 Compare October 1, 2026 17:51
@DCG-Claude

Copy link
Copy Markdown
Collaborator Author

CI failed at e1c12b8 on thepastaclaw/dash: linux64_multiprocess-test / Test source, linux64_tsan-test / Test source, linux64-test / Test source

wallet_createwallet.py --legacy-wallet failed in all three jobs because bitcoin#25634 now clears the blank flag when importprivkey runs on an unencrypted wallet, and Dash's legacy CanGenerateKeys() only checks the blank and disable-private-keys flags, so getnewaddress then makes a non-HD key instead of failing. I changed the test expectation: legacy mode now checks that getwalletinfo()['blank'] is False, and descriptor mode keeps the upstream assertion. I could not run the test locally because the tree is not configured here. (folded into the bitcoin#25634 commit)


🤖 backportsys, on behalf of the Dash backport pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant