diff --git a/crates/chain/src/indexer/keychain_txout.rs b/crates/chain/src/indexer/keychain_txout.rs index a3e33415e..4736e958c 100644 --- a/crates/chain/src/indexer/keychain_txout.rs +++ b/crates/chain/src/indexer/keychain_txout.rs @@ -793,7 +793,12 @@ impl KeychainTxOutIndex { pub fn apply_changeset(&mut self, changeset: ChangeSet) { for (&desc_id, &index) in &changeset.last_revealed { let v = self.last_revealed.entry(desc_id).or_default(); - *v = index.max(*v); + let sanitized_index = if index > BIP32_MAX_INDEX { + BIP32_MAX_INDEX + } else { + index + }; + *v = sanitized_index.max(*v); self.replenish_inner_index_did(desc_id, self.lookahead); } }