From: 志宇 Date: Sat, 20 Apr 2024 07:41:56 +0000 (+0800) Subject: Merge bitcoindevkit/bdk#1402: [wallet] Improve address API X-Git-Tag: v1.0.0-alpha.10~6 X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/struct.EncoderStringWriter.html?a=commitdiff_plain;h=e0bcca32b1f9e9d3f198cc59ab12d2d856307dd0;p=bdk Merge bitcoindevkit/bdk#1402: [wallet] Improve address API d39b319ddf6bf3365d5d01841a8d366c6231db06 test(wallet): Test wallet addresses (valued mammal) a266b4718f7839759a3e615805931041b67b8e91 chore(wallet)!: Remove enum AddressIndex (valued mammal) d87874780b4a4c7be282381ae1102c028f3ae581 refactor(wallet)!: Remove method get_address (valued mammal) d3763e5e37569cea0860217fba980ab0389e4e64 feat(wallet): Add new address methods (valued mammal) Pull request description: Improvements to the wallet address API, see commit messages for details. ### Notes to the reviewers The logic of getting addresses is roughly the same as before when using `AddressIndex`, following this mapping: - `New` -> `reveal_next_address` - `LastUnused` -> `next_unused_address` (assuming this is what `LastUnused` really means) - `Peek` -> `peek_address` Wondering whether it makes sense to expose [`is_used`](https://github.com/bitcoindevkit/bdk/blob/358e842dcda0eb867d229881823c76dba1d7cce1/crates/chain/src/keychain/txout_index.rs#L236) for Wallet as well. fixes #898 ### Changelog notice Added: - Added Wallet methods: - `peek_address` - `reveal_next_address` - `next_unused_address` - `reveal_addresses_to` - `list_unused_addresses` - `mark_used` - `unmark_used` Removed: - Removed Wallet methods: - `get_address` - `get_internal_address` - `try_get_address` - `try_get_internal_address` - Removed type AddressIndex ### Checklists * [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 ### Feature * [x] I've added tests for the new feature * [x] I've added docs for the new feature * [x] This pull request breaks the existing API * [x] I'm linking the issue being fixed by this PR ACKs for top commit: evanlinjin: ACK d39b319ddf6bf3365d5d01841a8d366c6231db06 Tree-SHA512: ab7f3031f552ee6ea58ae4f3c5412bbedc0ea63e662fe9fa402de0f68a50448521be1e118e89f70bf970d5bf44ea1dc66bbeeff3e9312bae966bebd3072a7073 --- e0bcca32b1f9e9d3f198cc59ab12d2d856307dd0