Skip to content

Commit c4202da

Browse files
author
Ludo Galabru
committed
feat: add log, fix ordinal transfers scan
1 parent d3d13f5 commit c4202da

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

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

-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ use chainhook_event_observer::chainhooks::types::{
1212
StacksChainhookFullSpecification, StacksChainhookNetworkSpecification, StacksPredicate,
1313
StacksPrintEventBasedPredicate,
1414
};
15-
use chainhook_event_observer::dashmap::DashMap;
16-
use chainhook_event_observer::fxhash::FxBuildHasher;
1715
use chainhook_event_observer::hord::db::{
1816
delete_blocks_in_block_range_sqlite, delete_data_in_hord_db, fetch_and_cache_blocks_in_hord_db,
1917
find_block_at_block_height, find_block_at_block_height_sqlite,

components/chainhook-cli/src/scan/bitcoin.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,10 @@ pub async fn scan_bitcoin_chainstate_via_http_using_predicate(
154154
while cursor <= end_block {
155155
cursor += 1;
156156

157-
// Only consider inscriptions in the interval specified
157+
// Evaluating every single block is required for also keeping track of transfers.
158158
let local_traverals = match inscriptions_cache.remove(&cursor) {
159159
Some(entry) => entry,
160-
None => continue,
160+
None => vec![],
161161
};
162162
for (transaction_identifier, traversal_result) in local_traverals.into_iter() {
163163
traversals.insert(transaction_identifier, traversal_result);

components/chainhook-event-observer/src/hord/mod.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,12 @@ pub fn retrieve_inscribed_satoshi_points_from_block(
240240
}
241241
Err(e) => {
242242
moved_ctx.try_log(|logger| {
243-
slog::error!(logger, "unable to open rocksdb: {e}",);
243+
slog::error!(
244+
logger,
245+
"Unable to retrieve satoshi point in {} ({}): {e}",
246+
transaction_id.hash,
247+
block_identifier.index
248+
);
244249
});
245250
}
246251
}

components/chainhook-event-observer/src/observer/mod.rs

+15
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,21 @@ pub async fn start_observer_commands_handler(
759759
let mut blocks_to_rollback = vec![];
760760
let mut confirmed_blocks = vec![];
761761

762+
let blocks_ids_to_rollback = data
763+
.headers_to_rollback
764+
.iter()
765+
.map(|b| b.block_identifier.index.to_string())
766+
.collect::<Vec<String>>();
767+
let blocks_ids_to_apply = data
768+
.headers_to_apply
769+
.iter()
770+
.map(|b| b.block_identifier.index.to_string())
771+
.collect::<Vec<String>>();
772+
773+
ctx.try_log(|logger| {
774+
slog::info!(logger, "Bitcoin reorg detected, will rollback blocks {} and apply blocks {}", blocks_ids_to_rollback.join(", "), blocks_ids_to_apply.join(", "))
775+
});
776+
762777
#[cfg(feature = "ordinals")]
763778
let blocks_db = match open_readwrite_hord_db_conn_rocks_db(
764779
&config.get_cache_path_buf(),

0 commit comments

Comments
 (0)