Blockchain crates such as bdk_esplora and bdk_electrum should have comprehensive tests on their extension trait methods (outputs of these methods should be as expected given different scenarios).
Although we want to test the extension methods under the same set of scenarios, the syncing/scanning logic of each example is unique, so we want to check the outputs individually. Additionally, we may change the API of these extension methods so we do not want to deal with the hassle of maintaining additional generic/wrapper code.
We will provide the extension methods real blockchain data via the bitcoind and electrsd crates.
We will maintain a list of scenarios in this ticket description (I will update it via suggestions in the comments below).
Scenarios
- Ensure
stop_gap functions correctly. Does the methods correctly process a transaction history with self-sends right at the boundaries of the input stop_gap?
- If we provide the methods with "already-reorged" data, is the output as expected? I.e. Does the returned
SparseChain/ChainGraph contain checkpoints at agreement_point and invalid_from indexes.
Original ticket: LLFourn/bdk_core_staging#156
Blockchain crates such as
bdk_esploraandbdk_electrumshould have comprehensive tests on their extension trait methods (outputs of these methods should be as expected given different scenarios).Although we want to test the extension methods under the same set of scenarios, the syncing/scanning logic of each example is unique, so we want to check the outputs individually. Additionally, we may change the API of these extension methods so we do not want to deal with the hassle of maintaining additional generic/wrapper code.
We will provide the extension methods real blockchain data via the bitcoind and electrsd crates.
We will maintain a list of scenarios in this ticket description (I will update it via suggestions in the comments below).
Scenarios
stop_gapfunctions correctly. Does the methods correctly process a transaction history with self-sends right at the boundaries of the inputstop_gap?SparseChain/ChainGraphcontain checkpoints atagreement_pointandinvalid_fromindexes.Original ticket: LLFourn/bdk_core_staging#156