push
github
Merge bitcoindevkit/bdk#1533: [wallet] Enable support for single descriptor wallets 13e7008f0 doc(wallet): clarify docs for `Wallet::load` (valued mammal) 3951110bb fix(wallet)!: Change method `LoadParams::descriptors` (valued mammal) b80271470 example(wallet): simplify miniscript compiler example (valued mammal) 2ca8b6ff7 test(wallet): Add tests for single descriptor wallet (valued mammal) 31f1c2d66 fix(wallet): Change FromSql type to `Option<_>` (valued mammal) 75155b7dc feat(wallet): Add method `Wallet::create_single` (valued mammal) Pull request description: The change descriptor is made optional, making this an effective reversion of #1390 and enables creating wallets with a single descriptor. fixes #1511 ### Notes to the reviewers PR 1390 also removed an error case [`ChangePolicyDescriptor`](https://github.com/bitcoindevkit/bdk/blob/8eef350bd/crates/wallet/src/wallet/mod.rs#L1529-L1533) and this can possibly be added back. In the case the wallet only has a single descriptor we allow any utxos to fund a tx that aren't specifically marked unspendable regardless of the change spend policy. ### Changelog notice * Added method `Wallet::create_single` that expects a single `D: IntoWalletDescriptor` as input and enables building a wallet with no internal keychain. ### 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: * [x] This pull request breaks the existing API * [x] I've added tests for the new feature * [x] I've added docs for the new feature ACKs for top commit: evanlinjin: ACK 1... (continued)
142 of 170 new or added lines in 4 files covered. (83.53%)
1 existing line in 1 file now uncovered.10975 of 13407 relevant lines covered (81.86%)
14289.45 hits per line