mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-24 06:39:58 -07:00
global: MASSIVE snapshot
This commit is contained in:
@@ -2,56 +2,27 @@ use brk_error::Result;
|
||||
use brk_indexer::Indexer;
|
||||
use vecdb::Exit;
|
||||
|
||||
use crate::{ComputeIndexes, indexes, transactions};
|
||||
use crate::{ComputeIndexes, indexes};
|
||||
|
||||
use super::Vecs;
|
||||
|
||||
impl Vecs {
|
||||
pub fn compute(
|
||||
pub(crate) fn compute(
|
||||
&mut self,
|
||||
indexer: &Indexer,
|
||||
indexes: &indexes::Vecs,
|
||||
transactions: &transactions::Vecs,
|
||||
starting_indexes: &ComputeIndexes,
|
||||
exit: &Exit,
|
||||
) -> Result<()> {
|
||||
// Core block metrics
|
||||
self.interval.compute(indexer, starting_indexes, exit)?;
|
||||
self.count
|
||||
.compute(indexer, indexes, &self.time, starting_indexes, exit)?;
|
||||
self.interval.compute(indexes, starting_indexes, exit)?;
|
||||
self.size
|
||||
.compute(indexer, indexes, starting_indexes, exit)?;
|
||||
self.weight
|
||||
.compute(indexer, indexes, starting_indexes, exit)?;
|
||||
|
||||
// Time metrics (timestamps)
|
||||
self.time.compute(indexes, starting_indexes, exit)?;
|
||||
|
||||
// Epoch metrics
|
||||
.compute(indexer, &self.time, starting_indexes, exit)?;
|
||||
self.size.compute(indexer, starting_indexes, exit)?;
|
||||
self.weight.compute(indexer, starting_indexes, exit)?;
|
||||
self.difficulty
|
||||
.compute(indexer, indexes, starting_indexes, exit)?;
|
||||
self.halving.compute(indexes, starting_indexes, exit)?;
|
||||
|
||||
// Rewards depends on count and transactions fees
|
||||
self.rewards.compute(
|
||||
indexer,
|
||||
indexes,
|
||||
&self.count,
|
||||
&transactions.fees,
|
||||
starting_indexes,
|
||||
exit,
|
||||
)?;
|
||||
|
||||
// Mining depends on count, difficulty, and rewards
|
||||
self.mining.compute(
|
||||
indexes,
|
||||
&self.count,
|
||||
&self.difficulty,
|
||||
&self.rewards,
|
||||
starting_indexes,
|
||||
exit,
|
||||
)?;
|
||||
|
||||
let _lock = exit.lock();
|
||||
self.db.compact()?;
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user