Skip to content

feat: bump bdk_wallet to 3.1.0#1030

Open
reez wants to merge 5 commits into
bitcoindevkit:masterfrom
reez:v3.1.0
Open

feat: bump bdk_wallet to 3.1.0#1030
reez wants to merge 5 commits into
bitcoindevkit:masterfrom
reez:v3.1.0

Conversation

@reez

@reez reez commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Description

Dependency bump. The other commits are more experimental to see the shape of exposing new APIs.

Notes to the reviewers

Documentation

Changelog

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing
  • I've added exactly one changelog:* label
  • I've linked the relevant upstream docs or specs above

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

@reez reez linked an issue Jun 16, 2026 that may be closed by this pull request
23 tasks

@thunderbiscuit thunderbiscuit left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will take some time to review, but I'm adding some questions here!

Comment thread bdk-ffi/src/signer.rs
/// Also looks at the corresponding descriptor to determine the `SignerContext` to attach to
/// the signers.
#[uniffi::constructor]
pub fn from_descriptor_with_context(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to make sure I understand well the use case(s) for this constructor. Can we add a test showcasing this?

Comment thread bdk-ffi/src/signer.rs

/// Returns the number of signers in the container.
pub fn len(&self) -> u64 {
self.inner.signers().len() as u64

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this length represent? A reminder to myself to look into it.

Comment thread bdk-ffi/src/wallet.rs
/// extracts keys from the provided descriptor while loading.
#[uniffi::constructor(default(lookahead = 25))]
pub fn load_from_two_path_descriptor(
two_path_descriptor: Arc<Descriptor>,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a PR on bdk_wallet bitcoindevkit/bdk_wallet#506 to fix the docs on this, and it indeed requires public descriptors to work. We should just pull that in here as well, and fix up the API docs to on the create_from_two_path_descriptor method to also copy what is now in the Rust API docs (old PR of mine too back then).

In our case the failure happens earlier than in the constructor however, since the user can't pass a string to the constructor and passes a full Descriptor type, which simply cannot be built using private+multipath (see our test for this on bdk-jvm here), so the user would never really get to the constuctor in the first place with their private multipath descriptor. Still I'd like to see the docs mention it here if possible (even though my PR 506 is not merged yet).

@reez reez marked this pull request as ready for review June 25, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Release 3.1.0

2 participants