From 0978a5d4c15efe45c92afa7526f38c453e4a0eef Mon Sep 17 00:00:00 2001 From: Ludo Galabru Date: Tue, 13 Jun 2023 00:34:57 -0400 Subject: [PATCH] feat: keep 1st tx in cache --- components/chainhook-sdk/src/hord/db/mod.rs | 11 +++++++---- components/chainhook-sdk/src/indexer/bitcoin/mod.rs | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/components/chainhook-sdk/src/hord/db/mod.rs b/components/chainhook-sdk/src/hord/db/mod.rs index e1272164..fb32eace 100644 --- a/components/chainhook-sdk/src/hord/db/mod.rs +++ b/components/chainhook-sdk/src/hord/db/mod.rs @@ -966,10 +966,13 @@ pub fn retrieve_satoshi_point_using_lazy_storage( return Err(format!("block #{ordinal_block_number} not in database")); } Some(block) => match block.find_and_serialize_transaction_with_txid(&txid) { - Some(tx) => ( - tx.get_sat_ranges(), - tx.get_cumulated_sats_in_until_input_index(input_index), - ), + Some(tx) => { + let sats_ranges = tx.get_sat_ranges(); + let inscription_offset_cross_outputs = + tx.get_cumulated_sats_in_until_input_index(input_index); + traversals_cache.insert((ordinal_block_number, txid.clone()), tx); + (sats_ranges, inscription_offset_cross_outputs) + } None => return Err(format!("block #{ordinal_block_number} not in database")), }, }, diff --git a/components/chainhook-sdk/src/indexer/bitcoin/mod.rs b/components/chainhook-sdk/src/indexer/bitcoin/mod.rs index 73b5d0f6..afd0c58e 100644 --- a/components/chainhook-sdk/src/indexer/bitcoin/mod.rs +++ b/components/chainhook-sdk/src/indexer/bitcoin/mod.rs @@ -446,7 +446,7 @@ pub fn standardize_bitcoin_block( }, timestamp: block.time as u32, metadata: BitcoinBlockMetadata { - network: network.clone() + network: network.clone(), }, transactions, })