use brk_error::Result; use brk_indexer::Indexer; use vecdb::Exit; use super::super::activity; use super::Vecs; use crate::{distribution, price}; impl Vecs { pub(crate) fn compute( &mut self, indexer: &Indexer, prices: &price::Vecs, distribution: &distribution::Vecs, activity: &activity::Vecs, exit: &Exit, ) -> Result<()> { let starting_height = indexer.safe_lengths().height; let circulating_supply = &distribution .utxo_cohorts .all .metrics .supply .total .sats .height; self.vaulted.sats.height.compute_multiply( starting_height, circulating_supply, &activity.vaultedness.height, exit, )?; self.active.sats.height.compute_multiply( starting_height, circulating_supply, &activity.liveliness.height, exit, )?; self.vaulted.compute(prices, starting_height, exit)?; self.active.compute(prices, starting_height, exit)?; Ok(()) } }