mirror of
https://github.com/alexgo-io/bitcoin-indexer.git
synced 2026-01-12 22:43:06 +08:00
fix: insert new locations
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user