global: snapshot

This commit is contained in:
nym21
2025-11-10 13:18:41 +01:00
parent f6a2a0540b
commit 37f5f50867
50 changed files with 1550 additions and 334 deletions

View File

@@ -1,6 +1,6 @@
use brk_traversable::Traversable;
use rayon::prelude::*;
use vecdb::AnyCollectableVec;
use vecdb::AnyWritableVec;
use crate::Filtered;
@@ -78,14 +78,14 @@ where
)
}
fn iter_any_collectable(&self) -> impl Iterator<Item = &dyn AnyCollectableVec> {
fn iter_any_writable(&self) -> impl Iterator<Item = &dyn AnyWritableVec> {
[
Box::new(self.ge_amount.iter_any_collectable())
as Box<dyn Iterator<Item = &dyn AnyCollectableVec>>,
Box::new(self.amount_range.iter_any_collectable())
as Box<dyn Iterator<Item = &dyn AnyCollectableVec>>,
Box::new(self.lt_amount.iter_any_collectable())
as Box<dyn Iterator<Item = &dyn AnyCollectableVec>>,
Box::new(self.ge_amount.iter_any_writable())
as Box<dyn Iterator<Item = &dyn AnyWritableVec>>,
Box::new(self.amount_range.iter_any_writable())
as Box<dyn Iterator<Item = &dyn AnyWritableVec>>,
Box::new(self.lt_amount.iter_any_writable())
as Box<dyn Iterator<Item = &dyn AnyWritableVec>>,
]
.into_iter()
.flatten()

View File

@@ -4,7 +4,7 @@ use brk_error::Result;
use brk_traversable::{Traversable, TreeNode};
use brk_types::OutputType;
use rayon::prelude::*;
use vecdb::AnyCollectableVec;
use vecdb::AnyWritableVec;
use super::{Filter, Filtered};
@@ -308,16 +308,16 @@ impl<T: Traversable> Traversable for ByAddressType<T> {
)
}
fn iter_any_collectable(&self) -> impl Iterator<Item = &dyn AnyCollectableVec> {
let mut iter: Box<dyn Iterator<Item = &dyn AnyCollectableVec>> =
Box::new(self.p2pk65.iter_any_collectable());
iter = Box::new(iter.chain(self.p2pk33.iter_any_collectable()));
iter = Box::new(iter.chain(self.p2pkh.iter_any_collectable()));
iter = Box::new(iter.chain(self.p2sh.iter_any_collectable()));
iter = Box::new(iter.chain(self.p2wpkh.iter_any_collectable()));
iter = Box::new(iter.chain(self.p2wsh.iter_any_collectable()));
iter = Box::new(iter.chain(self.p2tr.iter_any_collectable()));
iter = Box::new(iter.chain(self.p2a.iter_any_collectable()));
fn iter_any_writable(&self) -> impl Iterator<Item = &dyn AnyWritableVec> {
let mut iter: Box<dyn Iterator<Item = &dyn AnyWritableVec>> =
Box::new(self.p2pk65.iter_any_writable());
iter = Box::new(iter.chain(self.p2pk33.iter_any_writable()));
iter = Box::new(iter.chain(self.p2pkh.iter_any_writable()));
iter = Box::new(iter.chain(self.p2sh.iter_any_writable()));
iter = Box::new(iter.chain(self.p2wpkh.iter_any_writable()));
iter = Box::new(iter.chain(self.p2wsh.iter_any_writable()));
iter = Box::new(iter.chain(self.p2tr.iter_any_writable()));
iter = Box::new(iter.chain(self.p2a.iter_any_writable()));
iter
}
}

View File

@@ -2,7 +2,7 @@ use std::ops::Range;
use brk_traversable::{Traversable, TreeNode};
use brk_types::{HalvingEpoch, OutputType};
use vecdb::AnyCollectableVec;
use vecdb::AnyWritableVec;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Filter {
@@ -82,7 +82,7 @@ impl<T: Traversable> Traversable for Filtered<T> {
self.1.to_tree_node()
}
fn iter_any_collectable(&self) -> impl Iterator<Item = &dyn AnyCollectableVec> {
self.1.iter_any_collectable()
fn iter_any_writable(&self) -> impl Iterator<Item = &dyn AnyWritableVec> {
self.1.iter_any_writable()
}
}