global: snap

This commit is contained in:
nym21
2026-04-17 21:23:11 +02:00
parent 008143ff00
commit 2a93f51e81
47 changed files with 2075 additions and 389 deletions
+1 -5
View File
@@ -375,11 +375,7 @@ impl Query {
slug: pool_slug,
miner_names,
},
avg_fee: Sats::from(if non_coinbase > 0 {
total_fees_u64 / non_coinbase
} else {
0
}),
avg_fee: Sats::from(total_fees_u64.checked_div(non_coinbase).unwrap_or(0)),
avg_fee_rate: FeeRate::from((total_fees, VSize::from(vsize))),
coinbase_raw,
coinbase_address,
@@ -80,7 +80,7 @@ impl BlockWindow {
.prices
.spot.cents.height
.collect_range_at(self.start, self.end);
let read_start = self.start.saturating_sub(1).max(0);
let read_start = self.start.saturating_sub(1);
let all_cum = cumulative.collect_range_at(read_start, self.end);
let offset = if self.start > 0 { 1 } else { 0 };
@@ -91,19 +91,19 @@ impl BlockWindow {
while pos < total {
let window_end = (pos + self.window).min(total);
let block_count = (window_end - pos) as u64;
if block_count > 0 {
let mid = (pos + window_end) / 2;
let cum_end = all_cum[window_end - 1 + offset];
let cum_start = if pos + offset > 0 {
all_cum[pos + offset - 1]
} else {
Sats::ZERO
};
let total_sats = cum_end - cum_start;
let mid = (pos + window_end) / 2;
let cum_end = all_cum[window_end - 1 + offset];
let cum_start = if pos + offset > 0 {
all_cum[pos + offset - 1]
} else {
Sats::ZERO
};
let total_sats = cum_end - cum_start;
if let Some(avg) = (*total_sats).checked_div(block_count) {
results.push(WindowAvg {
avg_height: Height::from(self.start + mid),
timestamp: all_ts[mid],
avg_value: Sats::from(*total_sats / block_count),
avg_value: Sats::from(avg),
usd: Dollars::from(all_prices[mid]),
});
}
+3 -1
View File
@@ -1,3 +1,5 @@
use std::cmp::Reverse;
use brk_error::{Error, Result};
use brk_types::{
BlockInfoV1, Day1, Height, Pool, PoolBlockCounts, PoolBlockShares, PoolDetail, PoolDetailInfo,
@@ -89,7 +91,7 @@ impl Query {
}
// Sort by block count descending
pool_data.sort_by(|a, b| b.1.cmp(&a.1));
pool_data.sort_by_key(|p| Reverse(p.1));
let total_blocks: u64 = pool_data.iter().map(|(_, count)| count).sum();