]> Untitled Git - bdk/commit
refactor(wallet)!: Make Wallet require a change descriptor
authorvalued mammal <valuedmammal@protonmail.com>
Wed, 27 Mar 2024 01:57:10 +0000 (21:57 -0400)
committervalued mammal <valuedmammal@protonmail.com>
Wed, 5 Jun 2024 10:29:52 +0000 (06:29 -0400)
commit9d954cf7d25d43c77115cd931407005a09365389
treedb1c283276a937ab9dc5dab7f120d99e2816b7cd
parent8eef350bd08057acc39b6fc50b1217db5e29b968
refactor(wallet)!: Make Wallet require a change descriptor

All `Wallet` constructors are modified to require a change
descriptor, where previously it was optional. Additionally
we enforce uniqueness of the change descriptor to avoid
ambiguity when deriving scripts and ensure the wallet will
always have two distinct keystores.

Notable changes

* Add error DescriptorError::ExternalAndInternalAreTheSame
* Remove error CreateTxError::ChangePolicyDescriptor
* No longer rely on `map_keychain`
16 files changed:
crates/hwi/src/lib.rs
crates/wallet/README.md
crates/wallet/examples/compiler.rs
crates/wallet/src/descriptor/error.rs
crates/wallet/src/descriptor/template.rs
crates/wallet/src/wallet/error.rs
crates/wallet/src/wallet/export.rs
crates/wallet/src/wallet/mod.rs
crates/wallet/src/wallet/signer.rs
crates/wallet/tests/common.rs
crates/wallet/tests/psbt.rs
crates/wallet/tests/wallet.rs
example-crates/wallet_electrum/src/main.rs
example-crates/wallet_esplora_async/src/main.rs
example-crates/wallet_esplora_blocking/src/main.rs
example-crates/wallet_rpc/src/main.rs