From: Daniela Brozzoni Date: Mon, 8 Jan 2024 13:46:25 +0000 (+0100) Subject: ref(chain): Refactor next_store_index X-Git-Tag: v1.0.0-alpha.4~6^2~2 X-Git-Url: http://internal-gitweb-vhost/script/%22https:/struct.EncoderStringWriter.html?a=commitdiff_plain;h=21d88758262bfbc3d9d2109aac9883f23ab651c4;p=bdk ref(chain): Refactor next_store_index Rename `v` to `index` for better clarity, and add a comment explaining the `range` --- 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