From 19e3b5df1b25d206c3b1eecefd7befc783dce127 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=BF=97=E5=AE=87?= Date: Fri, 23 May 2025 11:51:12 +1000 Subject: [PATCH] feat(chain): Add `KeychainTxOutIndex::from_changeset` constructor This incentivies constructing `KeychainTxOutIndex` from a changeset before inserting descriptors (to make use of the spk cache). --- crates/chain/src/indexer/keychain_txout.rs | 7 +++++++ 1 file changed, 7 insertions(+) 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() -- 2.49.0