Summary
Bug-fix release for the 0.23.x maintenance branch, mostly backports from master. bdk_chain fixes CanonicalIter handling of evicted and assumed transactions, stops merge_chains from replacing the genesis block, and fixes an integer overflow in SpkIterator::new_with_range. full_scan now always scans the full revealed range before applying stop_gap (core, chain, electrum, esplora). bdk_electrum moves to electrum-client 0.25.0, verifies fetched txids, and fixes stale anchors after a same-height reorg and confirmation status for OP_RETURN-first transactions. bdk_bitcoind_rpc's Emitter no longer produces un-connectable checkpoints after a reorg.
What's Changed
- fix(chain): add missing
continueinCanonicalIterassumed-tx processing by @tnull in #2170 - fix(chain): prevent
merge_chainsfrom replacing the genesis block by @tnull in #2174 - [0.23.x] Backport #2190 by @luisschwab in #2192
- fix(electrum): backport PR#2195 by @oleonardolima in #2197
- fix(bitcoind_rpc): backport PR#2167 by @oleonardolima in #2198
- fix(core,chain,electrum,esplora): backport #2182 by @thunderbiscuit in #2222
- fix(electrum): backport PR#2188 by @oleonardolima in #2228
- fix(chain): backport PR#2180 by @oleonardolima in #2229
- fix(esplora): backport PR#2104 by @oleonardolima in #2230
- fix(chain): backport PR#2240 by @LLFourn in #2324
- fix(electrum): refresh header cache with headers fetched for the chain update by @evanlinjin in #2319
Full Changelog: chain-0.23.3...chain-0.23.4