Skip to content

backport: v0.26 bitcoin#28139 - #68

Open
DCG-Claude wants to merge 1 commit into
developfrom
backport-0.26-b048-test-functional
Open

DCG-Claude wants to merge 1 commit into
developfrom
backport-0.26-b048-test-functional

Conversation

@DCG-Claude

Copy link
Copy Markdown
Collaborator

Automated Bitcoin Core v0.26 backports, batch backport-0.26-b048-test-functional.

upstream commit gates notes
bitcoin#28139 92ff685982 build:pass tests:pass mech:warn tree:pass verify:pass The commit faithfully reproduces upstream's rewrite of test_locked_wallet onto a dedicated encrypted locked_wallet funde

Skipped in this batch:

Failed 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.

…let case

c648bdb test: create wallet specific for test_locked_wallet case (furszy)

Pull request description:

  Coming from bitcoin#28089 (comment).

  Several test cases are relying on the node1 default wallet, which thanks to 'test_locked_wallet' is encrypted.
  And can be only accessed within a specific timeframe (100ms), a duration internally set by the same test.

  This situation introduces a potential race condition, where other tests must complete their operations within
  the specified 100ms window to pass (otherwise the wallet gets re-locked and they fail).

  This can be seen running the test in valgrind (bitcoin#28089), where other test cases fail due the wallet re-locking
  itself after the 100ms.

ACKs for top commit:
  MarcoFalke:
    lgtm ACK c648bdb
  ishaanam:
    utACK c648bdb

Tree-SHA512: 01cde5a4a0cb3405adb9ea3c1f73841f3fa237d1162268ed06f0d49ca38541006b423a029e0b5e5955e1aa7e018c4600d894e555a68cf17ff60a4b8be58f4aa9

Dash adaptations:
- test/functional/wallet_fundrawtransaction.py: kept Dash's `pkh(...)` descriptors instead of upstream's `wpkh(...)` — Dash has no segwit
- test/functional/wallet_fundrawtransaction.py: kept `walletpassphrase(..., 999000)` for all three unlocks instead of upstream's 10/100/600 — Dash already carries the later bitcoin#28403 timeout bump (commit 7513a30), which this earlier PR must not regress
- test/functional/wallet_fundrawtransaction.py: kept Dash amounts `sendtoaddress(..., 12)` and output `11` instead of upstream's `1.2`/`1.1`, matching the existing `oldBalance+Decimal('511.0000000')` assertion (Dash's 500 DASH regtest subsidy)
- test/functional/wallet_fundrawtransaction.py: did not add the `wallet.getrawchangeaddress()` keypool-drain line or `wallet.keypoolrefill(8)` — neither exists in Dash's copy of this test (long-standing divergence, not introduced by this PR); upstream's change to those lines is only a receiver rename, so there was nothing to rename
- test/functional/wallet_fundrawtransaction.py: dropped Dash's stale comment `# bnb doesn't work same way as in bitcoin, ...` and adopted upstream's `inputs[0]["amount"] - Decimal("0.00002200")` — upstream's new fee constant is now identical to the one Dash had chosen, and with the dedicated single-UTXO wallet `sum(...)` and `inputs[0]["amount"]` are equal, so the comment no longer describes a divergence
@github-actions

github-actions Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Potential PR merge conflicts

This is advisory only. It does not block CI, but it marks PRs that will likely need a rebase depending on merge order.

If this PR merges first

These open PRs will likely need a rebase:

@DCG-Claude

Copy link
Copy Markdown
Collaborator Author

CI failed at 92ff685 on thepastaclaw/dash: linux64_multiprocess-build / Build source

The multiprocess build failed on pre-existing clang-tidy errors in Dash-only C++ sources (llmq/quorumproofs.cpp, rpc/util.cpp, rpc/output_script.cpp, rpc/quorums.cpp: performance-inefficient-vector-operation and readability-const-return-type). This branch's single commit touches only test/functional/wallet_fundrawtransaction.py and no C++ at all, so it cannot have caused these diagnostics.


🤖 backportsys, on behalf of the Dash backport pipeline.

@DCG-Claude

Copy link
Copy Markdown
Collaborator Author

CI failed at 92ff685 on thepastaclaw/dash: linux64_multiprocess-build / Build source

The failure is clang-tidy (performance-inefficient-vector-operation, readability-const-return-type) in pre-existing Dash C++ sources — llmq/quorumproofs.cpp, rpc/quorums.cpp, rpc/output_script.cpp, rpc/util.cpp — none of which this branch touches; the only change here is 40 added/22 removed lines in test/functional/wallet_fundrawtransaction.py. Nothing on this branch can influence the multiprocess build's tidy output, so this is a pre-existing/environmental failure rather than backport breakage.


🤖 backportsys, on behalf of the Dash backport pipeline.

@DCG-Claude

Copy link
Copy Markdown
Collaborator Author

CI failed at 92ff685 on thepastaclaw/dash: linux64_multiprocess-build / Build source

The linux64_multiprocess build failed on pre-existing clang-tidy warnings-as-errors in Dash-only C++ sources (rpc/quorums.cpp:1567, rpc/util.cpp:890, llmq/quorumproofs.cpp:220/405, rpc/output_script.cpp:133), none of which this branch touches. bitcoin#28139 only modifies a functional test (wallet locking test now creates its own wallet), so it cannot produce these diagnostics. No change made; please rerun CI.


🤖 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