mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-05-20 14:54:47 -07:00
41 lines
975 B
Rust
41 lines
975 B
Rust
use brk_error::Result;
|
|
use brk_indexer::Indexer;
|
|
use brk_types::{Indexes, StoredU32};
|
|
use vecdb::Exit;
|
|
|
|
use super::Vecs;
|
|
use crate::indexes;
|
|
|
|
impl Vecs {
|
|
pub(crate) fn compute(
|
|
&mut self,
|
|
indexer: &Indexer,
|
|
indexes: &indexes::Vecs,
|
|
starting_indexes: &Indexes,
|
|
exit: &Exit,
|
|
) -> Result<()> {
|
|
self.adjustment.bps.height.compute_ratio_change(
|
|
starting_indexes.height,
|
|
&indexer.vecs.blocks.difficulty,
|
|
2016,
|
|
exit,
|
|
)?;
|
|
|
|
self.epoch.height.compute_transform(
|
|
starting_indexes.height,
|
|
&indexes.height.epoch,
|
|
|(h, epoch, ..)| (h, epoch),
|
|
exit,
|
|
)?;
|
|
|
|
self.blocks_to_retarget.height.compute_transform(
|
|
starting_indexes.height,
|
|
&indexes.height.epoch,
|
|
|(h, ..)| (h, StoredU32::from(h.left_before_next_diff_adj())),
|
|
exit,
|
|
)?;
|
|
|
|
Ok(())
|
|
}
|
|
}
|