From: Alekos Filini Date: Mon, 11 Jul 2022 14:58:00 +0000 (+0200) Subject: Merge bitcoindevkit/bdk#653: Fix: Wallet sync may decrement address index X-Git-Tag: 0.20.0~3 X-Git-Url: http://internal-gitweb-vhost/script/%22https:/%22example_cli/enum.Commands.html/struct.CommandStringError.html?a=commitdiff_plain;h=556105780b601335aff244fea6eacc1cebba18c9;p=bdk Merge bitcoindevkit/bdk#653: Fix: Wallet sync may decrement address index af6bde3997ac2fe4cfdbb691f2af2e802f0ab7c6 Fix: Wallet sync may decrement address index (志宇) Pull request description: ### Description Fixes #649 It is critical to ensure `Wallet::get_address` with `AddressIndex::new` always returns a new and unused address. This bug seems to be Electrum-specific. The fix is to check address index updates to ensure that newly suggested indexes are not smaller than indexes already in database. ### Notes to the reviewers I have written new tests in `/testutils/blockchain_tests.rs` that tests all `Blockchain` implementations. ### 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 #### Bugfixes: ~* [ ] This pull request breaks the existing API~ * [x] I've added tests to reproduce the issue which are now passing * [x] I'm linking the issue being fixed by this PR ACKs for top commit: afilini: ACK af6bde3997ac2fe4cfdbb691f2af2e802f0ab7c6 Tree-SHA512: d714bebcf7c2836f8b98129b39b4939b0e36726acf0208e52d501f433be6cdb12f1abebc28bd7da0be8b780ccce6e1e42c8fdc6633dd486bf329bc6f88e1ce67 --- 556105780b601335aff244fea6eacc1cebba18c9