From: 志宇 Date: Fri, 23 May 2025 01:51:12 +0000 (+1000) Subject: feat(chain): Add `KeychainTxOutIndex::from_changeset` constructor X-Git-Tag: core-0.6.0~1^2~4 X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/enum.IndexVecIter.html?a=commitdiff_plain;h=19e3b5df1b25d206c3b1eecefd7befc783dce127;p=bdk feat(chain): Add `KeychainTxOutIndex::from_changeset` constructor This incentivies constructing `KeychainTxOutIndex` from a changeset before inserting descriptors (to make use of the spk cache). --- diff --git a/crates/chain/src/indexer/keychain_txout.rs b/crates/chain/src/indexer/keychain_txout.rs index c8352eb2..55486e9e 100644 --- a/crates/chain/src/indexer/keychain_txout.rs +++ b/crates/chain/src/indexer/keychain_txout.rs @@ -236,6 +236,13 @@ impl KeychainTxOutIndex { /// Methods that are *re-exposed* from the internal [`SpkTxOutIndex`]. impl KeychainTxOutIndex { + /// Construct `KeychainTxOutIndex` from the given `changeset`. + pub fn from_changeset(changeset: ChangeSet) -> Self { + let mut out = Self::default(); + out.apply_changeset(changeset); + out + } + /// Get the set of indexed outpoints, corresponding to tracked keychains. pub fn outpoints(&self) -> &BTreeSet> { self.inner.outpoints()