global: snapshot

This commit is contained in:
nym21
2026-01-10 18:43:18 +01:00
parent 3bc0615000
commit 6f45ec13f3
311 changed files with 6916 additions and 7664 deletions

View File

@@ -5,7 +5,7 @@ use vecdb::Exit;
use super::super::{count, fees};
use super::Vecs;
use crate::{ComputeIndexes, indexes, inputs, outputs, price};
use crate::{ComputeIndexes, indexes, inputs, outputs};
impl Vecs {
#[allow(clippy::too_many_arguments)]
@@ -18,11 +18,10 @@ impl Vecs {
inputs_count: &inputs::CountVecs,
outputs_count: &outputs::CountVecs,
starting_indexes: &ComputeIndexes,
price: Option<&price::Vecs>,
exit: &Exit,
) -> Result<()> {
self.sent_sum
.compute_all(indexes, price, starting_indexes, exit, |v| {
.compute_all(indexes, starting_indexes, exit, |v| {
v.compute_filtered_sum_from_indexes(
starting_indexes.height,
&indexer.vecs.transactions.first_txindex,

View File

@@ -3,40 +3,41 @@ use brk_types::Version;
use vecdb::Database;
use super::Vecs;
use crate::{indexes, internal::{ComputedDateLast, ValueBlockSum, ValueDateLast}};
use crate::{indexes, internal::{ComputedFromDateLast, ValueFromHeightSum, ValueFromDateLast}, price};
impl Vecs {
pub fn forced_import(
db: &Database,
version: Version,
indexes: &indexes::Vecs,
compute_dollars: bool,
price: Option<&price::Vecs>,
) -> Result<Self> {
let v2 = Version::TWO;
let compute_dollars = price.is_some();
Ok(Self {
sent_sum: ValueBlockSum::forced_import(
sent_sum: ValueFromHeightSum::forced_import(
db,
"sent_sum",
version,
indexes,
compute_dollars,
price,
)?,
annualized_volume: ValueDateLast::forced_import(
annualized_volume: ValueFromDateLast::forced_import(
db,
"annualized_volume",
version,
compute_dollars,
indexes,
)?,
tx_per_sec: ComputedDateLast::forced_import(db, "tx_per_sec", version + v2, indexes)?,
outputs_per_sec: ComputedDateLast::forced_import(
tx_per_sec: ComputedFromDateLast::forced_import(db, "tx_per_sec", version + v2, indexes)?,
outputs_per_sec: ComputedFromDateLast::forced_import(
db,
"outputs_per_sec",
version + v2,
indexes,
)?,
inputs_per_sec: ComputedDateLast::forced_import(
inputs_per_sec: ComputedFromDateLast::forced_import(
db,
"inputs_per_sec",
version + v2,

View File

@@ -1,14 +1,14 @@
use brk_traversable::Traversable;
use brk_types::StoredF32;
use crate::internal::{ComputedDateLast, ValueBlockSum, ValueDateLast};
use crate::internal::{ComputedFromDateLast, ValueFromHeightSum, ValueFromDateLast};
/// Volume metrics
#[derive(Clone, Traversable)]
pub struct Vecs {
pub sent_sum: ValueBlockSum,
pub annualized_volume: ValueDateLast,
pub tx_per_sec: ComputedDateLast<StoredF32>,
pub outputs_per_sec: ComputedDateLast<StoredF32>,
pub inputs_per_sec: ComputedDateLast<StoredF32>,
pub sent_sum: ValueFromHeightSum,
pub annualized_volume: ValueFromDateLast,
pub tx_per_sec: ComputedFromDateLast<StoredF32>,
pub outputs_per_sec: ComputedFromDateLast<StoredF32>,
pub inputs_per_sec: ComputedFromDateLast<StoredF32>,
}