-
Notifications
You must be signed in to change notification settings - Fork 88
Update bdk_wallet dependency to 2.0.0 plus related #197
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
Conversation
c2afcb0 to
a22d2bc
Compare
|
@rustaceanrob let me know when you get an updated |
|
|
bdk_bitcoind_rpc to 0.20.0 bdk_electrum to 0.23.0 bdk_esplora to 0.22.0 bdk_kyoto to 0.11.0 Renamed BuilderError to KyotoBuilderError Added KyotoUpdateError
a22d2bc to
bd526bd
Compare
Pull Request Test Coverage Report for Build 15478212221Details
💛 - Coveralls |
|
I still need to do some manual testing for the Kyoto update before we merge this. |
|
@rustaceanrob I got the below error when testing
export NETWORK=testnet4
export EXT_DESCRIPTOR='wpkh(tprv8ZgxMBicQKsPdMzWj9KHvoExKJDqfZFuT5D8o9XVZ3wfyUcnPNPJKncq5df8kpDWnMxoKbGrpS44VawHG17ZSwTkdhEtVRzSYXd14vDYXKw/0/*)'
export INT_DESCRIPTOR='wpkh(tprv8ZgxMBicQKsPdMzWj9KHvoExKJDqfZFuT5D8o9XVZ3wfyUcnPNPJKncq5df8kpDWnMxoKbGrpS44VawHG17ZSwTkdhEtVRzSYXd14vDYXKw/1/*)'
export CLIENT_TYPE=cbf
export DATABASE_TYPE=sqlite
RUST_LOG=debug cargo run --features cbf,sqlite,repl --no-default-features -- wallet sync
[2025-06-06T15:55:04Z DEBUG bdk_cli] network: Testnet4
[2025-06-06T15:55:04Z DEBUG bdk_cli::handlers] Sqlite database opened successfully
2025-06-06T15:55:04.455842Z INFO bdk_cli::utils: Kyoto node is running
2025-06-06T15:55:04.456030Z INFO bdk_cli::utils: Starting node
2025-06-06T15:55:04.456041Z INFO bdk_cli::utils: Configured connection requirement: 2 peers
2025-06-06T15:55:04.456045Z INFO bdk_cli::utils: Attempting to load headers from the database
2025-06-06T15:55:04.462090Z INFO bdk_cli::utils: Unexpected invalid proof of work when importing a block header. expected 419812630, got: 486604799
[2025-06-06T15:55:04Z ERROR bdk_cli] BDK-Kyoto update error: the node halted execution.I get the same error if I remove my data directory ( |
|
Looks like there is a bug for Testnet4 that does not allow for the 20 minute exception. If you switch to Signet I expect everything to work properly. I'll be able to work on a patch in a week or two |
|
Yeah they happen often, I know exactly where in the header validation I can add an exception. It's a shame validation can't be the shame for all networks, but I'll have a fix up at some point. The problem should not be the forks themselves, just that minimum difficulty blocks are allowed |
|
Makes sense, thanks for taking a look and good to know it's just a |
|
I confirmed CBF/Kyoto sync and receive test works fine on |
|
tACK bd526bd
I've tested |
tvpeter
left a comment
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.
Thanks for working on this @notmandatory
Raised by: bitcoindevkit/bdk-cli#197 Users of `Testnet4` will run into problems when loading headers from the database, as the network allows for minimum difficulty blocks. Instead of adding logic for the header timestamps just for the sake of `Testnet4`, I am opting to simply ignore the difficutly adjustment. This boolean does not evaluate to `true` on `Bitcoin`, which is easily verified in `rust-bitcoin`. Notably `Signet` does not allow minimum difficulty blocks, so difficulty adjustment logic is still tested by a testnet as well as mainnet. This is only dropping `Testnet4`
Raised by: bitcoindevkit/bdk-cli#197 Users of `Testnet4` will run into problems when loading headers from the database, as the network allows for minimum difficulty blocks. Instead of adding logic for the header timestamps just for the sake of `Testnet4`, I am opting to simply ignore the difficutly adjustment. This boolean does not evaluate to `true` on `Bitcoin`, which is easily verified in `rust-bitcoin`. Notably `Signet` does not allow minimum difficulty blocks, so difficulty adjustment logic is still tested by a testnet as well as mainnet. This is only dropping `Testnet4`
Raised by: bitcoindevkit/bdk-cli#197 Users of `Testnet4` will run into problems when loading headers from the database, as the network allows for minimum difficulty blocks. Instead of adding logic for the header timestamps just for the sake of `Testnet4`, I am opting to simply ignore the difficutly adjustment. This boolean does not evaluate to `true` on `Bitcoin`, which is easily verified in `rust-bitcoin`. Notably `Signet` does not allow minimum difficulty blocks, so difficulty adjustment logic is still tested by a testnet as well as mainnet. This is only dropping `Testnet4`

Description
Updated dependencies:
Renamed
BuilderErrortoKyotoBuilderErrorAdded
KyotoUpdateErrorNotes to the reviewers
There are still some unrelated warnings in the test code that should be fixed in a followup PR.
Changelog notice
bdk_wallet2.0 and related supporting chain client versions.Checklists
All Submissions:
cargo fmtandcargo clippybefore committing