Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #40
Description
This PR builts on top of #208 and bitcoindevkit/bdk#1808.
The goal is to evaluate whether the changes introduced in bitcoindevkit/bdk#1808 provide a sufficient foundation to implement and maintain a broadcast queue within
bdk_wallet
.Requirements:
Notes to the reviewers
Design Rationale
For getter-methods on
Wallet
that requires canonicalization internally, I've opted to pass inCanonicalizationParams
as an input. The reasoning is it's up to the application to decide whether or not to include unbroadcasted txs in their UTXO-set/tx-list. There is a methodWallet::include_unbroadcasted()
which returns aCanonicalizationParams
which would assume all unbroadcasted as canonical.The alternative would be to pass in a boolean
include_unbroadcasted
but I felt like it would be more brittle.Where to start reviewing
The unbroadcasted queue in introduced in a new file
wallet/unbroadcasted.rs
. Other than that, the majority of the changes are inwallet/mod.rs
.Changelog notice
WIP
Checklists
All Submissions:
cargo fmt
andcargo clippy
before committingNew Features:
Bugfixes: