diff --git a/crates/chain/src/keychain/txout_index.rs b/crates/chain/src/keychain/txout_index.rs index 3287d4f2..03665f21 100644 --- a/crates/chain/src/keychain/txout_index.rs +++ b/crates/chain/src/keychain/txout_index.rs @@ -206,9 +206,11 @@ impl KeychainTxOutIndex { fn next_store_index(&self, keychain: &K) -> u32 { self.inner() .all_spks() + // This range is filtering out the spks with a keychain different than + // `keychain`. We don't use filter here as range is more optimized. .range((keychain.clone(), u32::MIN)..(keychain.clone(), u32::MAX)) .last() - .map_or(0, |((_, v), _)| *v + 1) + .map_or(0, |((_, index), _)| *index + 1) } /// Generates script pubkey iterators for every `keychain`. The iterators iterate over all