Skip to content

Commit a1ffc1a

Browse files
author
Ludo Galabru
committed
fix: handle re-inscription for unbound inscriptions
1 parent a1410e2 commit a1ffc1a

File tree

3 files changed

+20
-12
lines changed

3 files changed

+20
-12
lines changed

components/hord-cli/src/cli/mod.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -672,14 +672,12 @@ async fn handle_command(opts: Opts, ctx: &Context) -> Result<(), String> {
672672
let inscription_indexing_processor =
673673
start_inscription_indexing_processor(&config, ctx, None);
674674

675-
let block_ingestion_processor = start_block_ingestion_processor(&config, ctx, None);
676-
677675
download_and_pipeline_blocks(
678676
&config,
679677
cmd.start_block,
680678
cmd.end_block,
681679
hord_config.first_inscription_height,
682-
Some(&block_ingestion_processor),
680+
None,
683681
Some(&inscription_indexing_processor),
684682
10_000,
685683
&ctx,

components/hord-cli/src/core/protocol/inscription_sequencing.rs

+11-9
Original file line numberDiff line numberDiff line change
@@ -402,12 +402,14 @@ pub fn augment_block_with_ordinals_inscriptions_data_and_write_to_db_tx(
402402
// Handle re-inscriptions
403403
let mut reinscriptions_data = HashMap::new();
404404
for (_, inscription_data) in inscriptions_data.iter() {
405-
if let Some(inscription_id) = find_blessed_inscription_with_ordinal_number(
406-
&inscription_data.ordinal_number,
407-
inscriptions_db_tx,
408-
ctx,
409-
) {
410-
reinscriptions_data.insert(inscription_data.ordinal_number, inscription_id);
405+
if inscription_data.ordinal_number != 0 {
406+
if let Some(inscription_id) = find_blessed_inscription_with_ordinal_number(
407+
&inscription_data.ordinal_number,
408+
inscriptions_db_tx,
409+
ctx,
410+
) {
411+
reinscriptions_data.insert(inscription_data.ordinal_number, inscription_id);
412+
}
411413
}
412414
}
413415

@@ -554,9 +556,6 @@ pub fn augment_transaction_with_ordinals_inscriptions_data(
554556
}
555557
};
556558

557-
// The reinscriptions_data needs to be augmented as we go, to handle transaction chaining.
558-
reinscriptions_data.insert(traversal.ordinal_number, traversal.get_inscription_id());
559-
560559
let outputs = &tx.metadata.outputs;
561560
inscription.inscription_number = inscription_number;
562561
inscription.ordinal_offset = traversal.get_ordinal_coinbase_offset();
@@ -605,6 +604,9 @@ pub fn augment_transaction_with_ordinals_inscriptions_data(
605604
continue;
606605
}
607606

607+
// The reinscriptions_data needs to be augmented as we go, to handle transaction chaining.
608+
reinscriptions_data.insert(traversal.ordinal_number, traversal.get_inscription_id());
609+
608610
ctx.try_log(|logger| {
609611
info!(
610612
logger,

components/hord-cli/src/db/mod.rs

+8
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,15 @@ pub fn delete_data_in_hord_db(
959959
inscriptions_db_conn_rw: &Connection,
960960
ctx: &Context,
961961
) -> Result<(), String> {
962+
info!(
963+
ctx.expect_logger(),
964+
"Deleting entries from block #{start_block} to block #{end_block}"
965+
);
962966
delete_blocks_in_block_range(start_block as u32, end_block as u32, blocks_db_rw, &ctx);
967+
info!(
968+
ctx.expect_logger(),
969+
"Deleting inscriptions and locations from block #{start_block} to block #{end_block}"
970+
);
963971
delete_inscriptions_in_block_range(
964972
start_block as u32,
965973
end_block as u32,

0 commit comments

Comments
 (0)