Summary
This incremental bi-weekly release improves the address API, simplifies the Esplora API, and introduced new structures for spk-based scanning that will enable easier syncing with electrum/esplora. It also introduces a new bdk-persist crate, removes the generic T from the Wallet, and makes KeychainTxOutIndex more range based.
Changelog
Fixed
- Enable blocking-https-rustls feature on esplora client #1408
Changed
- KeychainTxOutIndex methods modified to take ranges of keychains instead. #1324
- Remove the generic from wallet #1387
- Changed PersistenceBackend errors to depend on the anyhow crate
- Remove the generic T from Wallet
- Improve address API #1402
- Added Wallet methods:
- peek_address
- reveal_next_address
- next_unused_address
- reveal_addresses_to
- list_unused_addresses
- mark_used
- unmark_used
- Removed Wallet methods:
- get_address
- get_internal_address
- try_get_address
- try_get_internal_address
- Added Wallet methods:
- Simplified EsploraExt API #1380
- Changed EsploraExt API so that sync only requires one round of fetching data. The local_chain_update method is removed and the local_tip parameter is added to the full_scan and sync methods.
- Removed TxGraph::missing_heights and tx_graph::ChangeSet::missing_heights_from methods.
- Introduced CheckPoint::insert which allows convenient checkpoint-insertion. This is intended for use by chain-sources when crafting an update.
- Refactored merge_chains to also return the resultant CheckPoint tip.
- Optimized the update LocalChain logic - use the update CheckPoint as the new CheckPoint tip when possible.
- Introduce
bdk-persist
crate #1412 - Introduce universal sync/full-scan structures for spk-based syncing #1413
- Add universal structures for initiating/receiving sync/full-scan requests/results for spk-based syncing.
- Updated bdk_esplora chain-source to make use of new universal sync/full-scan structures.
What's Changed
- [chain] Make KeychainTxOutIndex more range based by @LLFourn in #1324
- fix(wallet): remove the generic from wallet by @rustaceanrob in #1387
- [wallet] Improve address API by @ValuedMammal in #1402
- Fix: enable blocking-https-rustls feature on esplora client by @thunderbiscuit in #1408
- Simplified
EsploraExt
API by @evanlinjin in #1380 - Add new crate
bdk-persist
by @rustaceanrob in #1412 - Introduce universal sync/full-scan structures for spk-based syncing by @evanlinjin in #1413
- fix: Cargo clippy lints by @danielabrozzoni in #1421
- Bump bdk version to 1.0.0-alpha.10 by @danielabrozzoni in #1420
New Contributors
- @rustaceanrob made their first contribution in #1387
Full Changelog: v1.0.0-alpha.9...v1.0.0-alpha.10