use alloy_chains::NamedChain;
use alloy_primitives::{Address, BlockNumber, TxHash};
use chrono::NaiveDate;
use tracing::{Level, Span};
#[inline]
pub(crate) fn process_log_for_combined_data(tx_hash: TxHash) -> Span {
tracing::trace_span!("semioscan.process_log_for_combined_data", tx_hash = %tx_hash,)
}
#[inline]
pub(crate) fn process_block_range_for_combined_data(
chain: NamedChain,
from_address: Address,
to_address: Address,
token_address: Address,
from_block: BlockNumber,
to_block: BlockNumber,
) -> Span {
tracing::debug_span!(
"semioscan.process_block_range_for_combined_data",
chain_id = %chain,
from_address = %from_address,
to_address = %to_address,
token_address = %token_address,
from_block = from_block,
to_block = to_block,
)
}
#[inline]
pub(crate) fn calculate_combined_data_with_adapter(
chain: NamedChain,
from_address: Address,
to_address: Address,
token_address: Address,
from_block: BlockNumber,
to_block: BlockNumber,
) -> Span {
tracing::span!(
Level::INFO,
"semioscan.calculate_combined_data_with_adapter",
chain_id = %chain,
from_address = %from_address,
to_address = %to_address,
token_address = %token_address,
from_block = from_block,
to_block = to_block,
)
}
#[inline]
pub(crate) fn process_event_log(tx_hash: TxHash) -> Span {
tracing::span!(
Level::INFO,
"semioscan.process_event_log",
tx_hash = %tx_hash,
)
}
#[inline]
pub(crate) fn get_block_timestamp(block_number: BlockNumber) -> Span {
tracing::debug_span!("semioscan.get_block_timestamp", block_number = block_number,)
}
#[inline]
pub(crate) fn find_first_block_at_or_after(target_ts: u64, latest_block: BlockNumber) -> Span {
tracing::debug_span!(
"semioscan.find_first_block_at_or_after",
target_ts = target_ts,
latest_block = latest_block,
)
}
#[inline]
pub(crate) fn find_last_block_at_or_before(target_ts: u64, latest_block: BlockNumber) -> Span {
tracing::debug_span!(
"semioscan.find_last_block_at_or_before",
target_ts = target_ts,
latest_block = latest_block,
)
}
#[inline]
pub(crate) fn get_daily_window(chain: NamedChain, date: NaiveDate) -> Span {
tracing::info_span!(
"semioscan.get_daily_window",
chain_id = %chain,
date = %date,
)
}
#[inline]
pub(crate) fn process_logs_in_range(
event_type: crate::EventType,
chain: NamedChain,
topic1: Address,
topic2: Address,
token: Address,
from_block: BlockNumber,
to_block: BlockNumber,
) -> Span {
tracing::debug_span!(
"semioscan.process_logs_in_range",
event_type = event_type.name(),
chain_id = %chain,
topic1 = %topic1,
topic2 = %topic2,
token = %token,
from_block = from_block,
to_block = to_block,
block_count = to_block.saturating_sub(from_block) + 1,
)
}
#[inline]
pub(crate) fn calculate_gas_cost_with_adapter(
event_type: crate::EventType,
chain: NamedChain,
topic1: Address,
topic2: Address,
start_block: BlockNumber,
end_block: BlockNumber,
) -> Span {
tracing::info_span!(
"semioscan.calculate_gas_cost_with_adapter",
event_type = event_type.name(),
chain_id = %chain,
topic1 = %topic1,
topic2 = %topic2,
start_block = start_block,
end_block = end_block,
block_count = end_block.saturating_sub(start_block) + 1,
)
}