From: Steve Myers Date: Thu, 13 Jun 2024 04:05:27 +0000 (-0500) Subject: Merge bitcoindevkit/bdk#1448: bump(deps): upgrade rust `bitcoin` to `0.32.0`, `minisc... X-Git-Tag: v1.0.0-alpha.13~5 X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/static/struct.Update.html?a=commitdiff_plain;h=3b040a7ee69c7fefac6c3ab57c17b220e0beb9fb;p=bdk Merge bitcoindevkit/bdk#1448: bump(deps): upgrade rust `bitcoin` to `0.32.0`, `miniscript` to `0.12.0` and others 11200810d048abb8deb3c7961ca93c68011d41fd chore(wallet): rm dup code (志宇) 2a4564097bd70905ed9fa21b92cdf074a72f878e deps(bdk): bump `bitcoin` to `0.32.0`, miniscript to `12.0.0` (Leonardo Lima) Pull request description: fixes #1422 ### Description This PR focuses on upgrading the `rust-bitcoin` and `miniscript` versions, to `0.32.0` and `0.12.0`, respectively. It also bumps the versions of other BDK ecosystem crates that also rely on both `rust-bitcoin` and `miniscript`, being: - electrum-client https://github.com/bitcoindevkit/rust-electrum-client/pull/133 - esplora-client https://github.com/bitcoindevkit/rust-esplora-client/pull/85 - hwi https://github.com/bitcoindevkit/rust-hwi/pull/99 I structured the PR in multiple commits, with closed scope, being one for each BDK crate being upgraded, and one for each kind of fix and upgrade required, it seems like a lot of commits (**that should be squashed before merging**), but I think it'll make it easier during review phase. In summary I can already mention some of the main changes: - using `compute_txid()` instead of deprecated `txid()` - using `minimal_non_dust()` instead of `dust_value()` - using the renamed `signature` and `sighash_type` fields - using proper `sighash::P2wpkhError`, `sighash::TaprootError` instead of older `sighash::Error` - conversion from `Network` to new expected `NetworkKind` #1465 - conversion from the new `Weight` type to current expected `usize` #1466 - using `.into()` to convert from AbsLockTime and `RelLockTime` to `absolute::LockTime` and `relative::LockTime` - using Message::from_digest() instead of relying on deprecated `ThirtyTwoByteHash` trait. - updating the miniscript policy and dsl to proper expect and handle new `Threshold` type, instead of the previous two parameters. ### Notes to the reviewers Again, I structured the PR in multiple commits, with closed scope, being one for each BDK crate being upgraded, and one for each kind of fix and upgrade required, it seems like a lot of commits (**that should be squashed before merging**), but I think it'll make it easier during review phase. It should definitely be carefully reviewed, especially the last commits for the wallet crate scope, the ones with the semantic `fix(wallet)`. I would also appreciate if @tcharding reviewed it, as he gave a try in the past (#1400 ), and I relied on some of it for the policy part of it, other rust-bitcoin maintainers reviews are a definitely welcome 😁 ### Changelog notice > // TODO(@oleonardolima): Do another pass and double check the changes - Use `compute_txid()` instead of deprecated `txid()` - Use `minimal_non_dust()` instead of `dust_value()` - Use `signature` and `sighash_type` fields, instead of previous `sig` and `hash_type` - Use `sighash::P2wpkhError`, and `sighash::TaprootError` instead of older `sighash::Error` - Converts from `Network` to `NetworkKind`, where expected - Converts from `Weight` type to current used `usize` - Use `.into()` to convert from `AbsLockTime` and `RelLockTime` to `absolute::LockTime` and `relative::LockTime` - Remove use of deprecated `ThirtyTwoByteHash` trait, use `Message::from_digest()` - Update the miniscript policy and dsl macros to proper expect and handle new `Threshold` type, instead of the previous two parameters. ### Checklists #### All Submissions: * [x] I've signed all my commits * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md) * [x] I ran `cargo fmt` and `cargo clippy` before committing #### 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 ACKs for top commit: notmandatory: ACK 11200810d048abb8deb3c7961ca93c68011d41fd Tree-SHA512: ba1ab64603b41014d3f0866d846167f77d31959ca6f1d9c3181d5e543964f5d772e05651d63935ba7bbffeba41a66868d27de4c32129739b9ca50f3bbaf9f2a1 --- 3b040a7ee69c7fefac6c3ab57c17b220e0beb9fb