fix: filter out sat overflows from payloads

This commit is contained in:
Ludo Galabru
2023-05-05 15:22:40 -04:00
parent b0498bb048
commit ce439ae900

View File

@@ -355,22 +355,28 @@ pub fn update_storage_and_augment_bitcoin_block_with_inscription_reveal_data(
match storage {
Storage::Sqlite(rw_hord_db_conn) => {
if let Some(_entry) = find_inscription_with_ordinal_number(
&traversal.ordinal_number,
&inscription_db_conn,
&ctx,
) {
ctx.try_log(|logger| {
slog::warn!(
logger,
"Transaction {} in block {} is overriding an existing inscription {}",
new_tx.transaction_identifier.hash,
block.block_identifier.index,
traversal.ordinal_number
);
});
if traversal.ordinal_number > 0 {
if let Some(_entry) = find_inscription_with_ordinal_number(
&traversal.ordinal_number,
&inscription_db_conn,
&ctx,
) {
ctx.try_log(|logger| {
slog::warn!(
logger,
"Transaction {} in block {} is overriding an existing inscription {}",
new_tx.transaction_identifier.hash,
block.block_identifier.index,
traversal.ordinal_number
);
});
ordinals_events_indexes_to_discard.push_front(ordinal_event_index);
continue;
}
} else {
// If the satoshi inscribed correspond to a sat overflow, we will store the inscription
// but exclude it from the block data
ordinals_events_indexes_to_discard.push_front(ordinal_event_index);
continue;
}
latest_inscription_number += 1;
inscription.inscription_number = inscription_number;