Skip to content

Remove signers from Wallet #70

Description

@notmandatory

Describe the enhancement

This is a tracking issue to remove signing capabilities and requirements to handle private key material from Wallet. The new recommended flow will leverage rust-bitcoin Psbt::sign. Please comment below or mention this issue in related issues and PRs.

Proposed timeline

When What
Available now since 3.1.0 Allow users to bring in their private keys at the last minute while still using our APIs (Wallet::sign_with_signers).
Available now (but) Make sure users can sign using Psbt::sign.
Coming up (bookofbdk) Write documentation, recommendations, release notes, etc.
? Mark signing-related APIs as deprecated.
4.0 (Option 1) Remove signers entirely from the Wallet type and crate.
4.0 (Option 2) Remove signers entirely from the Wallet, but keep them as separate helper module if required (after deep dive into SignOptions, see todos below).

Todos

  • Add an API to keep using the wallet Signers but bring in your private keys just at the moment of signing (not in the constuction of the Wallet)
  • Produce extensive documentation and write-ups on the migration, timeline, and options available for users
  • Do a deep dive into and produce a write-up of our SignOption type, which currently potentially offers options not covered by rust-bitcoin's Psbt::sign API
  • Deprecate all signing and policy related APIs

Related issues and PRs

Metadata

Metadata

Assignees

Labels

apiA breaking API change

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions