Aggregation Windows
Building and freeing up aggregation windows
#[substreams::handlers::store]
pub fn store_total_tx_counts(clock: Clock, events: Events, output: StoreAddBigInt) {
let timestamp_seconds = clock.timestamp.unwrap().seconds;
let hour_id = timestamp_seconds / 3600;
let prev_hour_id = hour_id - 1;
output.delete_prefix(0, &format!("TokenHourData:{prev_hour_id}:"));
for event in events.pool_events {
output.add_many(
event.log_ordinal,
&vec![
format!("TokenHourData:{}:{}", hour_id, event.token0),
format!("TokenHourData:{}:{}", hour_id, event.token1),
],
&BigInt::from(1 as i32),
);
}
}Last updated
Was this helpful?

