push
github
Merge bitcoindevkit/bdk#1478: Allow opting out of getting `LocalChain` updates with `FullScanRequest`/`SyncRequest` structures 6d77e2e2c refactor(chain)!: Rename `spks_with_labels` to `spks_with_indices` (志宇) 584b10aff docs(esplora): README example, uncomment async import (志宇) 3eb5dd192 fix(chain): correct `Iterator::size_hint` impl (志宇) 96023c0ff docs(chain): improve `SyncRequestBuilder::spks_with_labels` docs (志宇) 0234f706a docs(esplora): Fix typo (志宇) 38f86fe78 fix: no premature collect (志宇) 44e2a797e feat!: rework `FullScanRequest` and `SyncRequest` (志宇) 16c1c2cf0 docs(esplora): Simplify crate docs (志宇) c93e6fd3e feat(esplora): always fetch prevouts (志宇) cad353362 feat(esplora): make ext traits more flexible (志宇) Pull request description: Closes #1528 ### Description Some users use `bdk_esplora` to update `bdk_chain` structures *without* a `LocalChain`. ~~This PR introduces "low-level" methods to `EsploraExt` and `EsploraAsyncExt` which populates a `TxGraph` update with associated data.~~ We change `FullScanRequest`/`SyncRequest` to take in the `chain_tip` parameter as an option. Spk-based chain sources (`bdk_electrum` and `bdk_esplora`) will not fetch a chain-update if `chain_tip` is `None`, allowing callers to opt-out of receiving updates for `LocalChain`. We change `FullScanRequest`/`SyncRequest` to have better ergonomics when inspecting the progress of syncing (refer to #1528). We change `FullScanRequest`/`SyncRequest` to be constructed with a builder pattern. This is a better API since we separate request-construction and request-consumption. Additionally, much of the `bdk_esplora` logic has been made more efficient... (continued)
476 of 660 new or added lines in 6 files covered. (72.12%)
229 existing lines in 8 files now uncovered.11155 of 13603 relevant lines covered (82.0%)
13762.76 hits per line