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.
Fixed
- Enable blocking-https-rustls feature on esplora client https://github.com/bitcoindevkit/bdk/pull/1408
Changed
- KeychainTxOutIndex methods modified to take ranges of keychains instead. https://github.com/bitcoindevkit/bdk/pull/1324
- Remove the generic from wallet https://github.com/bitcoindevkit/bdk/pull/1387
- Changed PersistenceBackend errors to depend on the anyhow crate
- Remove the generic T from Wallet
- Improve address API https://github.com/bitcoindevkit/bdk/pull/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
- Simplified EsploraExt API https://github.com/bitcoindevkit/bdk/pull/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 https://github.com/bitcoindevkit/bdk/pull/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.
-----BEGIN PGP SIGNATURE-----