mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-05-17 21:34:48 -07:00
23 lines
788 B
Rust
23 lines
788 B
Rust
use brk_traversable::Traversable;
|
|
use brk_types::{Date, Height, Version, Year10};
|
|
use vecdb::{Database, EagerVec, ImportableVec, PcoVec, Rw, StorageMode};
|
|
|
|
use brk_error::Result;
|
|
|
|
#[derive(Traversable)]
|
|
pub struct Vecs<M: StorageMode = Rw> {
|
|
pub identity: M::Stored<EagerVec<PcoVec<Year10, Year10>>>,
|
|
pub date: M::Stored<EagerVec<PcoVec<Year10, Date>>>,
|
|
pub first_height: M::Stored<EagerVec<PcoVec<Year10, Height>>>,
|
|
}
|
|
|
|
impl Vecs {
|
|
pub(crate) fn forced_import(db: &Database, version: Version) -> Result<Self> {
|
|
Ok(Self {
|
|
identity: EagerVec::forced_import(db, "year10", version)?,
|
|
date: EagerVec::forced_import(db, "date", version)?,
|
|
first_height: EagerVec::forced_import(db, "year10_first_height", version)?,
|
|
})
|
|
}
|
|
}
|