fix: insert new locations

This commit is contained in:
Ludo Galabru
2023-08-31 06:45:54 -04:00
parent 91616f6531
commit 6475aeb8d4
2 changed files with 31 additions and 5 deletions

View File

@@ -20,7 +20,7 @@ use chainhook_sdk::{
};
use crate::{
core::protocol::inscription_parsing::get_inscriptions_revealed_in_block, ord::sat::Sat,
core::protocol::inscription_parsing::{get_inscriptions_revealed_in_block, get_inscriptions_transferred_in_block}, ord::sat::Sat,
};
pub fn get_default_ordhook_db_file_path(base_dir: &PathBuf) -> PathBuf {
@@ -391,7 +391,7 @@ pub fn insert_entry_in_inscriptions(
}
}
pub fn insert_new_inscriptions_from_block_in_inscriptions_and_locations(
pub fn update_inscriptions_with_block(
block: &BitcoinBlockData,
inscriptions_db_conn_rw: &Connection,
ctx: &Context,
@@ -412,6 +412,21 @@ pub fn insert_new_inscriptions_from_block_in_inscriptions_and_locations(
}
}
pub fn update_locations_with_block(
block: &BitcoinBlockData,
inscriptions_db_conn_rw: &Connection,
ctx: &Context,
) {
for transfer_data in get_inscriptions_transferred_in_block(&block).iter() {
insert_transfer_in_locations(
&transfer_data,
&block.block_identifier,
&inscriptions_db_conn_rw,
ctx,
);
}
}
pub fn insert_new_inscriptions_from_block_in_locations(
block: &BitcoinBlockData,
inscriptions_db_conn_rw: &Connection,

View File

@@ -14,7 +14,7 @@ use crate::core::protocol::inscription_sequencing::SequenceCursor;
use crate::core::{new_traversals_lazy_cache, should_sync_ordhook_db};
use crate::db::{
delete_data_in_ordhook_db, insert_entry_in_blocks,
insert_new_inscriptions_from_block_in_inscriptions_and_locations,
update_inscriptions_with_block, update_locations_with_block,
open_readwrite_ordhook_db_conn, open_readwrite_ordhook_db_conn_rocks_db,
open_readwrite_ordhook_dbs, LazyBlock, LazyBlockTransaction,
};
@@ -583,7 +583,13 @@ fn chainhook_sidecar_mutate_ordhook_db(command: HandleBlock, config: &Config, ct
);
let _ = blocks_db_rw.flush();
insert_new_inscriptions_from_block_in_inscriptions_and_locations(
update_inscriptions_with_block(
&block,
&inscriptions_db_conn_rw,
&ctx,
);
update_locations_with_block(
&block,
&inscriptions_db_conn_rw,
&ctx,
@@ -690,7 +696,12 @@ pub fn chainhook_sidecar_mutate_blocks(
let _ = blocks_db_rw.flush();
if cache.processed_by_sidecar {
insert_new_inscriptions_from_block_in_inscriptions_and_locations(
update_inscriptions_with_block(
&cache.block,
&inscriptions_db_tx,
&ctx,
);
update_locations_with_block(
&cache.block,
&inscriptions_db_tx,
&ctx,