.or_insert((inscription_id, 0))
.1 += 1;
}
let offset = total_input_value;
// multi-level cache for UTXO set to get to the input amount
let current_input_value = if let Some(value) = self.value_cache.remove(&tx_in.previous_output)
{
value
} else if let Some(value) = self
.outpoint_to_value
.remove(&tx_in.previous_output.store())?
{
value.value()
} else {
self.value_receiver.blocking_recv().ok_or_else(|| {
anyhow!(
"failed to get transaction for {}",
tx_in.previous_output.txid
)
})?
};
total_input_value += current_input_value;
// go through all inscriptions in this input
while let Some(inscription) = envelopes.peek() {
if inscription.input != u32::try_from(input_index).unwrap() {
break;
}
let inscription_id = InscriptionId {
txid,
index: id_counter,
};
let inscribed_offset = inscribed_offsets.get(&offset);