-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature: update bdk-cli
to use bdk_wallet
v1
#174
base: master
Are you sure you want to change the base?
Conversation
add bdk_wallet to Cargo.toml * the bdk crate is still in using because of the error enum, which will be removed after feedback [Ticket: X]
-update imports from bdk to use bdk_wallet - set `enable_rbf` command option to be `true` by default - add `parse_address` fn to parse address from string - replace `ExtendedPrivateKey` with `Xpriv` from bdk_wallet - update derving address from string to use `assumed_check` [Ticket: X]
- replace `list_transactions` method with `transactions` - format `recipients` to be a vec of `ScriptBuf` and `Amount` - update creating and serializing `Psbt`s - update `fee_rate` method and default to `FeeRate::BROADCAST_MIN` - replace `allow_shrinking` method with `drain_to` method - update `handle_offline_wallet_subcommands` to use `PersistedWallet<D>` instead of `Wallet<D>` [Ticket: X]
- update imports from bdk to bdk_wallet - fix compilation warnings [Ticket: X]
- add `parse_address` method - remove `key-value-db` feature as it uses `sled` - update `open_database` fn to return rusqlite::Connection - update `new_wallet` fn to return `PersistedWallet<Connection>` [Ticket: X]
- Replace `bdk` with `bdk_wallet` v1 in Cargo.toml - replace removed features in bdk features/mods with crates [Ticket: X]
-add error enum for handling errors [Ticket: X]
6653428
to
c7bd335
Compare
- replace bdk::error with custom error enum - update imports and handling of errors [Ticket: X]
c7bd335
to
50233dd
Compare
- update deps imports - refactor reserves feature [Ticket: X]
- replace `bitcoincore_rpc` client with `electrsd::Node` client - update rpc commands - update `electrsd` to v0.31.0 [Ticket: X]
4bf989c
to
58f07a1
Compare
-update error enum - update creating a new_backend [Ticket: X]
I've been doing some cleanup on your branch, sorry it's squashed all into one commit, see here: https://github.com/notmandatory/bdk-cli/tree/feat/bdk-wallet-v1-update It works for electrum, esplora, sqlite, and repl mode, but not completely tested. I remove rpc and cbf for now, and cleaned up the features so they can all be enabled together, the recommended way for rust. Do you mind if I push my branch into your PR so you can continue working on it to add rpc and cbf back in. It will overwrite your last commit. |
I also removed the hwi support and proof of reserves. Both of these still need updating for 1.0 so we can leave them out of this PR. I'd also like to re-think what sort of testing we need, the old tests I commented out. And re-think what we want to do for the github CI. |
I don’t mind; you can go ahead and push. Thank you so much. |
-update all online wallet subcommands [Ticket: X]
- add ci test for features - add "compiler" feature to bdk_wallet dependency - remove duplicate fn in utils.rs - replace "possible_values" with "value_parser" as it is deprecated in clap 4.5 [Ticket: X]
- remove unavailable features in code_coverage workflow - add more features for the cont_integration workflow - update local compilation test script [Ticket: X]
src/commands.rs
Outdated
// #[cfg(test)] | ||
// mod test { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will all of the tests here ultimately need to be updated in a follow-up PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now, the emphasis is not to test inputs but to test that features are building correctly, which has been included in the ci
directory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
However, if you notice any outputs that seem incorrect or if you want specific features or sections tested, please indicate them here.
- re-enable `rpc` feature
fb7e571
to
c163b95
Compare
-add more error types to error.rs - update the handlers file to replace Generic error arm [Ticket: X]
c163b95
to
b20683a
Compare
Description
This PR update
bdk-cli
to usebdk_wallet
v1Issue: #172 (comment)
Notes to the reviewers
list_transactions
withtransactions
enable_rbf
to betrue
by defaultnew_wallet
to returnPersistedWallet<Connection>
zeroize
to version1.8.1
from<1.4.0
bdk-reserves
from0.27.1
to0.29.0
bdk/electrum
withbdk_electrum
for theelectrum
featurebdk_esplora
for thebdk/use-esplora-ureq
andbdk/use-esplora-reqwest
featuresbdk_bitcoind_rpc
lib to replacebdk/rpc
featurehwi
library to replacebdk/hardware-signer
featureChangelog notice
enable_rbf
to betrue
by defaultPartiallySignedTransaction
toPsbt
zeroize
to version1.8.1
from<1.4.0
bdk-reserves
from0.27.1
to0.29.0
bdk/electrum
withbdk_electrum
for theelectrum
featurebdk/use-esplora-ureq
andbdk/use-esplora-reqwest
withbdk_esplora
libbdk/rpc
withbdk_bitcoind_rpc
libbdk/hardware-signer
withhwi
libChecklists
All Submissions:
cargo fmt
andcargo clippy
before committingBugfixes: