Skip to content

release/3.x: Deprecate wallet-owned signing APIs (backport of #505) - #536

Open
noahjoeris wants to merge 3 commits into
bitcoindevkit:release/3.xfrom
noahjoeris:backport3.x/sign-psbt-migration
Open

release/3.x: Deprecate wallet-owned signing APIs (backport of #505)#536
noahjoeris wants to merge 3 commits into
bitcoindevkit:release/3.xfrom
noahjoeris:backport3.x/sign-psbt-migration

Conversation

@noahjoeris

Copy link
Copy Markdown
Contributor

Description

Backports #505 to release/3.x. Deprecates wallet-owned signing APIs in favor of caller-owned keys (bitcoin::Psbt::sign, Wallet::sign_with_signers).

Prefer bitcoin::Psbt::sign or Wallet::sign_with_signers in docs,
examples, and tests instead of relying on wallet-owned signer state.

Keep FullyNoded exports public-only and independent of wallet-owned
signer state.
Add TxBuilder::set_condition and wire create_tx to prefer an explicit
Condition, falling back to policy-path derivation. Export Condition /
Condition::merge. Migrate the compiler example off Wallet::policies.
Mark Wallet::sign, signer/keymap accessors, keymap load/create helpers,
Wallet::policies, and TxBuilder::policy_path as deprecated.

Replacement: keep KeyMaps/Xprivs outside Wallet; bitcoin::Psbt::sign or
Wallet::sign_with_signers; extract_policy + Policy::get_condition +
TxBuilder::set_condition for spending paths.
@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 82.81250% with 22 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.85%. Comparing base (0416409) to head (e6aa73d).

Files with missing lines Patch % Lines
src/wallet/mod.rs 78.94% 12 Missing and 4 partials ⚠️
src/wallet/signer.rs 77.77% 3 Missing and 3 partials ⚠️
Additional details and impacted files
@@               Coverage Diff               @@
##           release/3.x     #536      +/-   ##
===============================================
+ Coverage        81.77%   81.85%   +0.07%     
===============================================
  Files               25       25              
  Lines             6487     6535      +48     
  Branches           296      302       +6     
===============================================
+ Hits              5305     5349      +44     
+ Misses            1080     1077       -3     
- Partials           102      109       +7     
Flag Coverage Δ
rust 81.85% <82.81%> (+0.07%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ValuedMammal

Copy link
Copy Markdown
Contributor

I replicated the cherry-pick on a temporary branch based on release/3.x, diff'd it against this branch and it came up clean.

I ran just p, no issues.

ACK e6aa73d

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

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants