use brk_traversable::Traversable; use brk_types::{Cents, Dollars, OHLCCents, OHLCDollars, OHLCSats, Sats}; use vecdb::{Rw, StorageMode}; use crate::internal::{CachedPerBlock, EagerIndexes, LazyEagerIndexes, LazyPerBlock, Resolutions}; use super::ohlcs::{LazyOhlcVecs, OhlcVecs}; #[derive(Traversable)] pub struct SplitByUnit { pub open: SplitIndexesByUnit, pub high: SplitIndexesByUnit, pub low: SplitIndexesByUnit, pub close: SplitCloseByUnit, } #[derive(Traversable)] pub struct SplitIndexesByUnit { pub usd: LazyEagerIndexes, pub cents: EagerIndexes, pub sats: LazyEagerIndexes, } #[derive(Clone, Traversable)] pub struct SplitCloseByUnit { pub usd: Resolutions, pub cents: Resolutions, pub sats: Resolutions, } #[derive(Traversable)] pub struct OhlcByUnit { pub usd: LazyOhlcVecs, pub cents: OhlcVecs, pub sats: LazyOhlcVecs, } #[derive(Traversable)] pub struct PriceByUnit { pub usd: LazyPerBlock, pub cents: CachedPerBlock, pub sats: LazyPerBlock, }