Files
brk/crates/brk_computer/src/supply/vecs.rs
T
2026-03-10 23:24:18 +01:00

25 lines
880 B
Rust

use brk_traversable::Traversable;
use brk_types::{BasisPointsSigned32, Cents, CentsSigned};
use vecdb::{Database, Rw, StorageMode};
use super::{burned, velocity};
use crate::internal::{
FiatRollingDelta, LazyFiatPerBlock, LazyAmountPerBlock, PercentPerBlock, RollingWindows,
};
#[derive(Traversable)]
pub struct Vecs<M: StorageMode = Rw> {
#[traversable(skip)]
pub(crate) db: Database,
pub circulating: LazyAmountPerBlock,
pub burned: burned::Vecs<M>,
pub inflation_rate: PercentPerBlock<BasisPointsSigned32, M>,
pub velocity: velocity::Vecs<M>,
pub market_cap: LazyFiatPerBlock<Cents>,
#[traversable(wrap = "market_cap", rename = "delta")]
pub market_cap_delta: FiatRollingDelta<Cents, CentsSigned, M>,
pub market_minus_realized_cap_growth_rate: RollingWindows<BasisPointsSigned32, M>,
pub hodled_or_lost: LazyAmountPerBlock,
}