mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-24 06:39:58 -07:00
global: versions
This commit is contained in:
18
Cargo.lock
generated
18
Cargo.lock
generated
@@ -1713,13 +1713,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "1.0.3"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
|
||||
checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi 0.11.0+wasi-snapshot-preview1",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1827,9 +1827,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc-miette"
|
||||
version = "2.2.1"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8c278d00ecc50ee84aba4768a7ab74eb325dff4dca8c0581495b850d53480ba"
|
||||
checksum = "98b2c44324a4372caf6e3128a22744263c973e809fc598db3749ef3ff5e9fed4"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"owo-colors",
|
||||
@@ -1841,9 +1841,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc-miette-derive"
|
||||
version = "2.1.2"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c0c893f53900e3fe01eca3d6d3b54085573c3e48fe25af9d57dd94ef600dcd3"
|
||||
checksum = "3bd3da01a295024fa79e3b4aba14b590d91256a274ff29cc5ee8f55183b2df24"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -2951,9 +2951,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.45.0"
|
||||
version = "1.45.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"
|
||||
checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
|
||||
@@ -9,7 +9,7 @@ use brk_exit::Exit;
|
||||
use brk_fetcher::Fetcher;
|
||||
use brk_indexer::Indexer;
|
||||
pub use brk_parser::rpc;
|
||||
use brk_vec::{AnyCollectableVec, Compressed, Computation};
|
||||
use brk_vec::{AnyCollectableVec, Compressed, Computation, Version};
|
||||
|
||||
mod states;
|
||||
mod stores;
|
||||
@@ -29,6 +29,8 @@ pub struct Computer {
|
||||
compressed: Compressed,
|
||||
}
|
||||
|
||||
const VERSION: Version = Version::ONE;
|
||||
|
||||
impl Computer {
|
||||
pub fn new(outputs_dir: &Path, fetcher: Option<Fetcher>, compressed: bool) -> Self {
|
||||
Self {
|
||||
@@ -47,6 +49,7 @@ impl Computer {
|
||||
) -> color_eyre::Result<()> {
|
||||
self.vecs = Some(Vecs::import(
|
||||
&self.path.join("vecs/computed"),
|
||||
VERSION + Version::ZERO,
|
||||
indexer,
|
||||
self.fetcher.is_some(),
|
||||
computation,
|
||||
@@ -60,6 +63,7 @@ impl Computer {
|
||||
pub fn import_stores(&mut self, indexer: &Indexer) -> color_eyre::Result<()> {
|
||||
self.stores = Some(Stores::import(
|
||||
&self.path.join("stores"),
|
||||
VERSION + Version::ZERO,
|
||||
indexer.keyspace(),
|
||||
)?);
|
||||
Ok(())
|
||||
|
||||
@@ -24,4 +24,8 @@ impl CohortState {
|
||||
realized.decrement(supply_state, price.unwrap());
|
||||
}
|
||||
}
|
||||
|
||||
pub fn send(&mut self, supply_state: &SupplyState, price: Option<Dollars>) {}
|
||||
|
||||
pub fn receive(&mut self, supply_state: &SupplyState, price: Option<Dollars>) {}
|
||||
}
|
||||
|
||||
@@ -5,12 +5,12 @@ use super::SupplyState;
|
||||
#[derive(Debug, Default, Clone)]
|
||||
pub struct RealizedState {
|
||||
pub realized_cap: Dollars,
|
||||
// pub realized_profit: Dollars,
|
||||
// pub realized_loss: Dollars,
|
||||
// pub value_created: Dollars,
|
||||
// pub adjusted_value_created: Dollars,
|
||||
// pub value_destroyed: Dollars,
|
||||
// pub adjusted_value_destroyed: Dollars,
|
||||
// pub realized_profit: Dollars, // sent price vs now price
|
||||
// pub realized_loss: Dollars, // sent price vs now price
|
||||
// pub value_created: Dollars, // supply * price now
|
||||
// pub adjusted_value_created: Dollars, // supply - up to 1 hour supply * price now
|
||||
// pub value_destroyed: Dollars, // supply * price then
|
||||
// pub adjusted_value_destroyed: Dollars, // supply - up to 1 hour supply * price then
|
||||
}
|
||||
|
||||
impl RealizedState {
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
use std::path::Path;
|
||||
|
||||
use brk_vec::Version;
|
||||
use fjall::TransactionalKeyspace;
|
||||
|
||||
const _VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Stores {
|
||||
// pub address_to_utxos_received: Store<AddressIndexOutputIndex, Unit>,
|
||||
@@ -9,18 +12,18 @@ pub struct Stores {
|
||||
}
|
||||
|
||||
impl Stores {
|
||||
pub fn import(_: &Path, _: &TransactionalKeyspace) -> color_eyre::Result<Self> {
|
||||
pub fn import(_: &Path, _: Version, _: &TransactionalKeyspace) -> color_eyre::Result<Self> {
|
||||
// let address_to_utxos_received = Store::import(
|
||||
// keyspace.clone(),
|
||||
// path,
|
||||
// "address_to_utxos_received",
|
||||
// Version::ZERO,
|
||||
// version + VERSION + Version::ZERO,
|
||||
// )?;
|
||||
// let address_to_utxos_spent = Store::import(
|
||||
// keyspace.clone(),
|
||||
// path,
|
||||
// "address_to_utxos_spent",
|
||||
// Version::ZERO,
|
||||
// version + VERSION + Version::ZERO,
|
||||
// )?;
|
||||
|
||||
Ok(Self {
|
||||
|
||||
@@ -15,6 +15,8 @@ use super::{
|
||||
indexes,
|
||||
};
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
pub height_to_interval: EagerVec<Height, Timestamp>,
|
||||
@@ -32,6 +34,7 @@ pub struct Vecs {
|
||||
impl Vecs {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
_computation: Computation,
|
||||
compressed: Compressed,
|
||||
) -> color_eyre::Result<Self> {
|
||||
@@ -41,13 +44,13 @@ impl Vecs {
|
||||
height_to_interval: EagerVec::forced_import(
|
||||
path,
|
||||
"interval",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
timeindexes_to_timestamp: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"timestamp",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_first(),
|
||||
)?,
|
||||
@@ -55,7 +58,7 @@ impl Vecs {
|
||||
path,
|
||||
"block_interval",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_percentiles()
|
||||
@@ -66,7 +69,7 @@ impl Vecs {
|
||||
path,
|
||||
"block_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
)?,
|
||||
@@ -74,7 +77,7 @@ impl Vecs {
|
||||
path,
|
||||
"block_weight",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
)?,
|
||||
@@ -82,29 +85,34 @@ impl Vecs {
|
||||
path,
|
||||
"block_size",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
)?,
|
||||
height_to_vbytes: EagerVec::forced_import(path, "vbytes", Version::ZERO, compressed)?,
|
||||
height_to_vbytes: EagerVec::forced_import(
|
||||
path,
|
||||
"vbytes",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
indexes_to_block_vbytes: ComputedVecsFromHeight::forced_import(
|
||||
path,
|
||||
"block_vbytes",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
)?,
|
||||
difficultyepoch_to_timestamp: EagerVec::forced_import(
|
||||
path,
|
||||
"timestamp",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
halvingepoch_to_timestamp: EagerVec::forced_import(
|
||||
path,
|
||||
"timestamp",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
})
|
||||
|
||||
@@ -11,6 +11,8 @@ use super::{
|
||||
indexes,
|
||||
};
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
pub _0: ComputedVecsFromHeight<StoredU8>,
|
||||
@@ -22,6 +24,7 @@ pub struct Vecs {
|
||||
impl Vecs {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
_computation: Computation,
|
||||
compressed: Compressed,
|
||||
) -> color_eyre::Result<Self> {
|
||||
@@ -32,7 +35,7 @@ impl Vecs {
|
||||
path,
|
||||
"0",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
@@ -40,7 +43,7 @@ impl Vecs {
|
||||
path,
|
||||
"1",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
@@ -48,7 +51,7 @@ impl Vecs {
|
||||
path,
|
||||
"50",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
@@ -56,7 +59,7 @@ impl Vecs {
|
||||
path,
|
||||
"100",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
|
||||
@@ -66,11 +66,12 @@ pub struct Vecs {
|
||||
}
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
const VERSION_IN_SATS: Version = Version::ONE;
|
||||
const VERSION_IN_SATS: Version = Version::ZERO;
|
||||
|
||||
impl Vecs {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
_computation: Computation,
|
||||
compressed: Compressed,
|
||||
) -> color_eyre::Result<Self> {
|
||||
@@ -84,236 +85,271 @@ impl Vecs {
|
||||
dateindex_to_ohlc_in_cents: EagerVec::forced_import(
|
||||
&fetched_path,
|
||||
"ohlc_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_to_ohlc: EagerVec::forced_import(path, "ohlc", Version::ZERO, compressed)?,
|
||||
dateindex_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_to_close_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"close_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_to_high_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"high_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_to_low_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"low_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_to_open_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"open_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_ohlc_in_cents: EagerVec::forced_import(
|
||||
&fetched_path,
|
||||
"ohlc_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_ohlc: EagerVec::forced_import(path, "ohlc", Version::ZERO, compressed)?,
|
||||
height_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_close_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"close_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_high_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"high_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_low_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"low_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_open_in_cents: EagerVec::forced_import(
|
||||
path,
|
||||
"open_in_cents",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
timeindexes_to_open: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"open",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_first(),
|
||||
)?,
|
||||
timeindexes_to_high: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"high",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_max(),
|
||||
)?,
|
||||
timeindexes_to_low: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"low",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_min(),
|
||||
)?,
|
||||
timeindexes_to_close: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"close",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
timeindexes_to_open_in_sats: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"open_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_first(),
|
||||
)?,
|
||||
timeindexes_to_high_in_sats: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"high_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_max(),
|
||||
)?,
|
||||
timeindexes_to_low_in_sats: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"low_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_min(),
|
||||
)?,
|
||||
timeindexes_to_close_in_sats: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"close_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
chainindexes_to_open: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"open",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_first(),
|
||||
)?,
|
||||
chainindexes_to_high: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"high",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_max(),
|
||||
)?,
|
||||
chainindexes_to_low: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"low",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_min(),
|
||||
)?,
|
||||
chainindexes_to_close: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"close",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
chainindexes_to_open_in_sats: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"open_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_first(),
|
||||
)?,
|
||||
chainindexes_to_high_in_sats: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"high_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_max(),
|
||||
)?,
|
||||
chainindexes_to_low_in_sats: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"low_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_min(),
|
||||
)?,
|
||||
chainindexes_to_close_in_sats: ComputedVecsFromHeightStrict::forced_import(
|
||||
path,
|
||||
"close_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
weekindex_to_ohlc: EagerVec::forced_import(path, "ohlc", Version::ZERO, compressed)?,
|
||||
weekindex_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
weekindex_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
difficultyepoch_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
difficultyepoch_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
monthindex_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
monthindex_to_ohlc: EagerVec::forced_import(path, "ohlc", Version::ZERO, compressed)?,
|
||||
monthindex_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
quarterindex_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
quarterindex_to_ohlc: EagerVec::forced_import(path, "ohlc", Version::ZERO, compressed)?,
|
||||
quarterindex_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
yearindex_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
yearindex_to_ohlc: EagerVec::forced_import(path, "ohlc", Version::ZERO, compressed)?,
|
||||
yearindex_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
// halvingepoch_to_ohlc: StorableVec::forced_import(path,
|
||||
// "halvingepoch_to_ohlc"), Version::ZERO, compressed)?,
|
||||
decadeindex_to_ohlc: EagerVec::forced_import(path, "ohlc", Version::ZERO, compressed)?,
|
||||
// "halvingepoch_to_ohlc"), version + VERSION + Version::ZERO, compressed)?,
|
||||
decadeindex_to_ohlc: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
decadeindex_to_ohlc_in_sats: EagerVec::forced_import(
|
||||
path,
|
||||
"ohlc_in_sats",
|
||||
VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
version + VERSION + VERSION_IN_SATS + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
})
|
||||
|
||||
@@ -68,15 +68,13 @@ where
|
||||
}
|
||||
};
|
||||
|
||||
let version = VERSION + version;
|
||||
|
||||
let s = Self {
|
||||
first: options.first.then(|| {
|
||||
Box::new(
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_prefix("first"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -93,7 +91,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("min"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -104,7 +102,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("max"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -115,7 +113,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("median"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -126,7 +124,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("average"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -137,7 +135,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("sum"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -148,7 +146,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&prefix("total"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -159,7 +157,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("90p"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -170,7 +168,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("75p"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -181,7 +179,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("25p"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
@@ -192,7 +190,7 @@ where
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&maybe_suffix("10p"),
|
||||
version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap(),
|
||||
|
||||
@@ -36,12 +36,10 @@ where
|
||||
compressed: Compressed,
|
||||
options: StorableVecGeneatorOptions,
|
||||
) -> color_eyre::Result<Self> {
|
||||
let version = VERSION + version;
|
||||
|
||||
let dateindex_extra = ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options.copy_self_extra(),
|
||||
)?;
|
||||
@@ -49,18 +47,47 @@ where
|
||||
let options = options.remove_percentiles();
|
||||
|
||||
Ok(Self {
|
||||
dateindex: EagerVec::forced_import(path, name, version, compressed)?,
|
||||
dateindex: EagerVec::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_extra,
|
||||
weekindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
|
||||
weekindex: ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
monthindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
quarterindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
yearindex: ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
yearindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
|
||||
decadeindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -43,21 +43,28 @@ where
|
||||
compressed: Compressed,
|
||||
options: StorableVecGeneatorOptions,
|
||||
) -> color_eyre::Result<Self> {
|
||||
let version = VERSION + version;
|
||||
|
||||
let height = compute_source
|
||||
.then(|| Box::new(EagerVec::forced_import(path, name, version, compressed).unwrap()));
|
||||
let height = compute_source.then(|| {
|
||||
Box::new(
|
||||
EagerVec::forced_import(path, name, version + VERSION + Version::ZERO, compressed)
|
||||
.unwrap(),
|
||||
)
|
||||
});
|
||||
|
||||
let height_extra = ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options.copy_self_extra(),
|
||||
)?;
|
||||
|
||||
let dateindex =
|
||||
ComputedVecBuilder::forced_import(path, name, version, compressed, options)?;
|
||||
let dateindex = ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?;
|
||||
|
||||
let options = options.remove_percentiles();
|
||||
|
||||
@@ -65,20 +72,48 @@ where
|
||||
height,
|
||||
height_extra,
|
||||
dateindex,
|
||||
weekindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
|
||||
weekindex: ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
difficultyepoch: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
monthindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
quarterindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
yearindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
|
||||
// halvingepoch: StorableVecGeneator::forced_import(path, name, version, compressed, options)?,
|
||||
yearindex: ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
// halvingepoch: StorableVecGeneator::forced_import(path, name, version + VERSION + Version::ZERO, compressed, options)?,
|
||||
decadeindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -34,14 +34,13 @@ where
|
||||
compressed: Compressed,
|
||||
options: StorableVecGeneatorOptions,
|
||||
) -> color_eyre::Result<Self> {
|
||||
let version = VERSION + version;
|
||||
|
||||
let height = EagerVec::forced_import(path, name, version, compressed)?;
|
||||
let height =
|
||||
EagerVec::forced_import(path, name, version + VERSION + Version::ZERO, compressed)?;
|
||||
|
||||
let height_extra = ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options.copy_self_extra(),
|
||||
)?;
|
||||
@@ -52,9 +51,13 @@ where
|
||||
height,
|
||||
height_extra,
|
||||
difficultyepoch: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
// halvingepoch: StorableVecGeneator::forced_import(path, name, version, compressed, options)?,
|
||||
// halvingepoch: StorableVecGeneator::forced_import(path, name, version + VERSION + Version::ZERO, compressed, options)?,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -47,33 +47,75 @@ where
|
||||
compressed: Compressed,
|
||||
options: StorableVecGeneatorOptions,
|
||||
) -> color_eyre::Result<Self> {
|
||||
let version = VERSION + version;
|
||||
let txindex = compute_source.then(|| {
|
||||
Box::new(
|
||||
EagerVec::forced_import(path, name, version + VERSION + Version::ZERO, compressed)
|
||||
.unwrap(),
|
||||
)
|
||||
});
|
||||
|
||||
let txindex = compute_source
|
||||
.then(|| Box::new(EagerVec::forced_import(path, name, version, compressed).unwrap()));
|
||||
|
||||
let height = ComputedVecBuilder::forced_import(path, name, version, compressed, options)?;
|
||||
let height = ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?;
|
||||
|
||||
let options = options.remove_percentiles();
|
||||
|
||||
Ok(Self {
|
||||
txindex,
|
||||
height,
|
||||
dateindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
|
||||
weekindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
|
||||
dateindex: ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
weekindex: ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
difficultyepoch: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
monthindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
quarterindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
yearindex: ComputedVecBuilder::forced_import(path, name, version, compressed, options)?,
|
||||
// halvingepoch: StorableVecGeneator::forced_import(path, name, version, compressed, options)?,
|
||||
yearindex: ComputedVecBuilder::forced_import(
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
// halvingepoch: StorableVecGeneator::forced_import(path, name, version + VERSION + Version::ZERO, compressed, options)?,
|
||||
decadeindex: ComputedVecBuilder::forced_import(
|
||||
path, name, version, compressed, options,
|
||||
path,
|
||||
name,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ impl ComputedRatioVecsFromDateIndex {
|
||||
ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
name,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
options,
|
||||
)
|
||||
@@ -78,224 +78,224 @@ impl ComputedRatioVecsFromDateIndex {
|
||||
ratio: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_sma: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_sma"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_1w_sma: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_1w_sma"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_1m_sma: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_1m_sma"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_1y_sma: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_1y_sma"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_1y_sma_momentum_oscillator: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_1y_sma_momentum_oscillator"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_standard_deviation: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_standard_deviation"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p99_9: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p99_9"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p99_5: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p99_5"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p99: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p99"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p1: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p1"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p0_5: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p0_5"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p0_1: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p0_1"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p1sd: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p1sd"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p2sd: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p2sd"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p3sd: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p3sd"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_m1sd: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_m1sd"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_m2sd: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_m2sd"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_m3sd: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_m3sd"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p99_9_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p99_9_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p99_5_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p99_5_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p99_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p99_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p1_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p1_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p0_5_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p0_5_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p0_1_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p0_1_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p1sd_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p1sd_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p2sd_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p2sd_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_p3sd_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_p3sd_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_m1sd_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_m1sd_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_m2sd_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_m2sd_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_m3sd_as_price: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_m3sd_as_price"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
ratio_zscore: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
&format!("{name}_ratio_zscore"),
|
||||
VERSION + version + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
|
||||
@@ -18,7 +18,7 @@ pub struct ComputedValueVecsFromHeight {
|
||||
pub dollars: Option<ComputedVecsFromHeight<Dollars>>,
|
||||
}
|
||||
|
||||
const VERSION: Version = Version::ONE;
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
impl ComputedValueVecsFromHeight {
|
||||
pub fn forced_import(
|
||||
@@ -35,7 +35,7 @@ impl ComputedValueVecsFromHeight {
|
||||
path,
|
||||
name,
|
||||
compute_source,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
@@ -43,7 +43,7 @@ impl ComputedValueVecsFromHeight {
|
||||
path,
|
||||
&format!("{name}_in_btc"),
|
||||
true,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
options,
|
||||
)?,
|
||||
@@ -52,7 +52,7 @@ impl ComputedValueVecsFromHeight {
|
||||
path,
|
||||
&format!("{name}_in_usd"),
|
||||
true,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
options,
|
||||
)
|
||||
|
||||
@@ -33,7 +33,7 @@ pub struct ComputedValueVecsFromTxindex {
|
||||
pub dollars: Option<ComputedVecsFromTxindex<Dollars>>,
|
||||
}
|
||||
|
||||
const VERSION: Version = Version::ONE;
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
impl ComputedValueVecsFromTxindex {
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
@@ -58,14 +58,14 @@ impl ComputedValueVecsFromTxindex {
|
||||
path,
|
||||
name,
|
||||
compute_source,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
options,
|
||||
)?;
|
||||
|
||||
let bitcoin_txindex = LazyVecFrom1::init(
|
||||
&name_in_btc,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
source.map_or_else(|| sats.txindex.as_ref().unwrap().boxed_clone(), |s| s),
|
||||
|txindex: TxIndex, iter| {
|
||||
iter.next_at(txindex.unwrap_to_usize()).map(|(_, value)| {
|
||||
@@ -79,7 +79,7 @@ impl ComputedValueVecsFromTxindex {
|
||||
path,
|
||||
&name_in_btc,
|
||||
false,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
options,
|
||||
)?;
|
||||
@@ -89,7 +89,7 @@ impl ComputedValueVecsFromTxindex {
|
||||
computation,
|
||||
path,
|
||||
&name_in_usd,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
bitcoin_txindex.boxed_clone(),
|
||||
indexes.txindex_to_height.boxed_clone(),
|
||||
@@ -125,7 +125,7 @@ impl ComputedValueVecsFromTxindex {
|
||||
path,
|
||||
&name_in_usd,
|
||||
false,
|
||||
VERSION + version,
|
||||
version + VERSION,
|
||||
compressed,
|
||||
options,
|
||||
)
|
||||
|
||||
@@ -14,6 +14,8 @@ use brk_vec::{
|
||||
ComputedVecFrom1, ComputedVecFrom2, EagerVec, StoredIndex, VecIterator, Version,
|
||||
};
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
pub dateindex_to_date: ComputedVecFrom1<DateIndex, Date, DateIndex, DateIndex>,
|
||||
@@ -90,6 +92,7 @@ pub struct Vecs {
|
||||
impl Vecs {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
indexer: &Indexer,
|
||||
computation: Computation,
|
||||
compressed: Compressed,
|
||||
@@ -100,7 +103,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"outputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().outputindex_to_value.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -110,7 +113,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"inputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().inputindex_to_outputindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -120,7 +123,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().txindex_to_txid.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -130,7 +133,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"input_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().txindex_to_first_inputindex.boxed_clone(),
|
||||
indexer.vecs().inputindex_to_outputindex.boxed_clone(),
|
||||
@@ -153,7 +156,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"output_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().txindex_to_first_outputindex.boxed_clone(),
|
||||
indexer.vecs().outputindex_to_value.boxed_clone(),
|
||||
@@ -176,7 +179,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2pk33index",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2pk33index_to_p2pk33bytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -185,7 +188,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2pk65index",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2pk65index_to_p2pk65bytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -194,7 +197,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2pkhindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2pkhindex_to_p2pkhbytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -203,7 +206,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2shindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2shindex_to_p2shbytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -212,7 +215,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2trindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2trindex_to_p2trbytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -221,7 +224,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2wpkhindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2wpkhindex_to_p2wpkhbytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -230,7 +233,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2wshindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2wshindex_to_p2wshbytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -239,7 +242,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2aindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2aindex_to_p2abytes.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -248,7 +251,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"p2msindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().p2msindex_to_txindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -257,7 +260,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"emptyoutputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().emptyoutputindex_to_txindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -266,7 +269,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"unknownoutputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().unknownoutputindex_to_txindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -275,20 +278,24 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"opreturnindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().opreturnindex_to_txindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
)?;
|
||||
|
||||
let dateindex_to_first_height =
|
||||
EagerVec::forced_import(path, "first_height", Version::ZERO, compressed)?;
|
||||
let dateindex_to_first_height = EagerVec::forced_import(
|
||||
path,
|
||||
"first_height",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let dateindex_to_dateindex = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"dateindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
dateindex_to_first_height.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -298,19 +305,20 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"date",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
dateindex_to_dateindex.boxed_clone(),
|
||||
|index, _| Some(Date::from(index)),
|
||||
)?;
|
||||
|
||||
let height_to_date = EagerVec::forced_import(path, "date", Version::ZERO, compressed)?;
|
||||
let height_to_date =
|
||||
EagerVec::forced_import(path, "date", version + VERSION + Version::ZERO, compressed)?;
|
||||
|
||||
let height_to_height = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"height",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
height_to_date.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -320,20 +328,24 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"difficultyepoch",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
height_to_height.boxed_clone(),
|
||||
|index, _| Some(DifficultyEpoch::from(index)),
|
||||
)?;
|
||||
|
||||
let difficultyepoch_to_first_height =
|
||||
EagerVec::forced_import(path, "first_height", Version::ZERO, compressed)?;
|
||||
let difficultyepoch_to_first_height = EagerVec::forced_import(
|
||||
path,
|
||||
"first_height",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let difficultyepoch_to_difficultyepoch = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"difficultyepoch",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
difficultyepoch_to_first_height.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -343,52 +355,72 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"halvingepoch",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
height_to_height.boxed_clone(),
|
||||
|index, _| Some(HalvingEpoch::from(index)),
|
||||
)?;
|
||||
|
||||
let halvingepoch_to_first_height =
|
||||
EagerVec::forced_import(path, "first_height", Version::ZERO, compressed)?;
|
||||
let halvingepoch_to_first_height = EagerVec::forced_import(
|
||||
path,
|
||||
"first_height",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let halvingepoch_to_halvingepoch = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"halvingepoch",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
halvingepoch_to_first_height.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
)?;
|
||||
|
||||
let dateindex_to_weekindex =
|
||||
EagerVec::forced_import(path, "weekindex", Version::ZERO, compressed)?;
|
||||
let dateindex_to_weekindex = EagerVec::forced_import(
|
||||
path,
|
||||
"weekindex",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let weekindex_to_first_dateindex =
|
||||
EagerVec::forced_import(path, "first_dateindex", Version::ZERO, compressed)?;
|
||||
let weekindex_to_first_dateindex = EagerVec::forced_import(
|
||||
path,
|
||||
"first_dateindex",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let weekindex_to_weekindex = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"weekindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
weekindex_to_first_dateindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
)?;
|
||||
|
||||
let dateindex_to_monthindex =
|
||||
EagerVec::forced_import(path, "monthindex", Version::ZERO, compressed)?;
|
||||
let dateindex_to_monthindex = EagerVec::forced_import(
|
||||
path,
|
||||
"monthindex",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let monthindex_to_first_dateindex =
|
||||
EagerVec::forced_import(path, "first_dateindex", Version::ZERO, compressed)?;
|
||||
let monthindex_to_first_dateindex = EagerVec::forced_import(
|
||||
path,
|
||||
"first_dateindex",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let monthindex_to_monthindex = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"monthindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
monthindex_to_first_dateindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -398,20 +430,24 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"quarterindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
monthindex_to_monthindex.boxed_clone(),
|
||||
|index, _| Some(QuarterIndex::from(index)),
|
||||
)?;
|
||||
|
||||
let quarterindex_to_first_monthindex =
|
||||
EagerVec::forced_import(path, "first_monthindex", Version::ZERO, compressed)?;
|
||||
let quarterindex_to_first_monthindex = EagerVec::forced_import(
|
||||
path,
|
||||
"first_monthindex",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let quarterindex_to_quarterindex = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"quarterindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
quarterindex_to_first_monthindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -421,20 +457,24 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"yearindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
monthindex_to_monthindex.boxed_clone(),
|
||||
|index, _| Some(YearIndex::from(index)),
|
||||
)?;
|
||||
|
||||
let yearindex_to_first_monthindex =
|
||||
EagerVec::forced_import(path, "first_monthindex", Version::ZERO, compressed)?;
|
||||
let yearindex_to_first_monthindex = EagerVec::forced_import(
|
||||
path,
|
||||
"first_monthindex",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let yearindex_to_yearindex = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"yearindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
yearindex_to_first_monthindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -444,20 +484,24 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"decadeindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
yearindex_to_yearindex.boxed_clone(),
|
||||
|index, _| Some(DecadeIndex::from(index)),
|
||||
)?;
|
||||
|
||||
let decadeindex_to_first_yearindex =
|
||||
EagerVec::forced_import(path, "first_yearindex", Version::ZERO, compressed)?;
|
||||
let decadeindex_to_first_yearindex = EagerVec::forced_import(
|
||||
path,
|
||||
"first_yearindex",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let decadeindex_to_decadeindex = ComputedVec::forced_import_or_init_from_1(
|
||||
computation,
|
||||
path,
|
||||
"decadeindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
decadeindex_to_first_yearindex.boxed_clone(),
|
||||
|index, _| Some(index),
|
||||
@@ -510,74 +554,79 @@ impl Vecs {
|
||||
height_to_date_fixed: EagerVec::forced_import(
|
||||
path,
|
||||
"date_fixed",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_dateindex: EagerVec::forced_import(
|
||||
path,
|
||||
"dateindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
txindex_to_height: EagerVec::forced_import(
|
||||
path,
|
||||
"height",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
txindex_to_height: EagerVec::forced_import(path, "height", Version::ZERO, compressed)?,
|
||||
height_to_timestamp_fixed: EagerVec::forced_import(
|
||||
path,
|
||||
"timestamp_fixed",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_txindex_count: EagerVec::forced_import(
|
||||
path,
|
||||
"txindex_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
dateindex_to_height_count: EagerVec::forced_import(
|
||||
path,
|
||||
"height_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
weekindex_to_dateindex_count: EagerVec::forced_import(
|
||||
path,
|
||||
"dateindex_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
difficultyepoch_to_height_count: EagerVec::forced_import(
|
||||
path,
|
||||
"height_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
monthindex_to_dateindex_count: EagerVec::forced_import(
|
||||
path,
|
||||
"dateindex_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
quarterindex_to_monthindex_count: EagerVec::forced_import(
|
||||
path,
|
||||
"monthindex_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
yearindex_to_monthindex_count: EagerVec::forced_import(
|
||||
path,
|
||||
"monthindex_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
decadeindex_to_yearindex_count: EagerVec::forced_import(
|
||||
path,
|
||||
"yearindex_count",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
outputindex_to_txindex: EagerVec::forced_import(
|
||||
path,
|
||||
"txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
})
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,8 @@ use super::{
|
||||
indexes,
|
||||
};
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
pub indexes_to_difficulty: ComputedVecsFromHeight<StoredF64>,
|
||||
@@ -21,6 +23,7 @@ pub struct Vecs {
|
||||
impl Vecs {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
_computation: Computation,
|
||||
compressed: Compressed,
|
||||
) -> color_eyre::Result<Self> {
|
||||
@@ -31,21 +34,21 @@ impl Vecs {
|
||||
path,
|
||||
"difficulty",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
indexes_to_difficultyepoch: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"difficultyepoch",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
indexes_to_halvingepoch: ComputedVecsFromDateIndex::forced_import(
|
||||
path,
|
||||
"halvingepoch",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
|
||||
@@ -3,7 +3,7 @@ use std::{fs, path::Path};
|
||||
use brk_exit::Exit;
|
||||
use brk_fetcher::Fetcher;
|
||||
use brk_indexer::Indexer;
|
||||
use brk_vec::{AnyCollectableVec, Compressed, Computation};
|
||||
use brk_vec::{AnyCollectableVec, Compressed, Computation, Version};
|
||||
|
||||
pub mod blocks;
|
||||
pub mod constants;
|
||||
@@ -17,6 +17,8 @@ pub mod utxos;
|
||||
|
||||
pub use indexes::Indexes;
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
pub indexes: indexes::Vecs,
|
||||
@@ -32,6 +34,7 @@ pub struct Vecs {
|
||||
impl Vecs {
|
||||
pub fn import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
indexer: &Indexer,
|
||||
fetch: bool,
|
||||
computation: Computation,
|
||||
@@ -39,19 +42,59 @@ impl Vecs {
|
||||
) -> color_eyre::Result<Self> {
|
||||
fs::create_dir_all(path)?;
|
||||
|
||||
let indexes = indexes::Vecs::forced_import(path, indexer, computation, compressed)?;
|
||||
let indexes = indexes::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
indexer,
|
||||
computation,
|
||||
compressed,
|
||||
)?;
|
||||
|
||||
let fetched =
|
||||
fetch.then(|| fetched::Vecs::forced_import(path, computation, compressed).unwrap());
|
||||
let fetched = fetch.then(|| {
|
||||
fetched::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
computation,
|
||||
compressed,
|
||||
)
|
||||
.unwrap()
|
||||
});
|
||||
|
||||
Ok(Self {
|
||||
blocks: blocks::Vecs::forced_import(path, computation, compressed)?,
|
||||
mining: mining::Vecs::forced_import(path, computation, compressed)?,
|
||||
constants: constants::Vecs::forced_import(path, computation, compressed)?,
|
||||
market: market::Vecs::forced_import(path, computation, compressed)?,
|
||||
utxos: utxos::Vecs::forced_import(path, computation, compressed, fetched.as_ref())?,
|
||||
blocks: blocks::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
computation,
|
||||
compressed,
|
||||
)?,
|
||||
mining: mining::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
computation,
|
||||
compressed,
|
||||
)?,
|
||||
constants: constants::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
computation,
|
||||
compressed,
|
||||
)?,
|
||||
market: market::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
computation,
|
||||
compressed,
|
||||
)?,
|
||||
utxos: utxos::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
computation,
|
||||
compressed,
|
||||
fetched.as_ref(),
|
||||
)?,
|
||||
transactions: transactions::Vecs::forced_import(
|
||||
path,
|
||||
version + VERSION + Version::ZERO,
|
||||
indexer,
|
||||
&indexes,
|
||||
computation,
|
||||
|
||||
@@ -22,6 +22,8 @@ use super::{
|
||||
indexes,
|
||||
};
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
// pub txindex_to_is_v1: LazyVec<Txindex, bool>,
|
||||
@@ -89,6 +91,7 @@ pub struct Vecs {
|
||||
impl Vecs {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
indexer: &Indexer,
|
||||
indexes: &indexes::Vecs,
|
||||
computation: Computation,
|
||||
@@ -103,7 +106,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"value",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().inputindex_to_outputindex.boxed_clone(),
|
||||
indexer.vecs().outputindex_to_value.boxed_clone(),
|
||||
@@ -130,7 +133,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"weight",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().txindex_to_base_size.boxed_clone(),
|
||||
indexer.vecs().txindex_to_total_size.boxed_clone(),
|
||||
@@ -158,7 +161,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"vsize",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
txindex_to_weight.boxed_clone(),
|
||||
|index: TxIndex, iter| {
|
||||
@@ -175,7 +178,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"is_coinbase",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexes.txindex_to_height.boxed_clone(),
|
||||
indexer.vecs().height_to_first_txindex.boxed_clone(),
|
||||
@@ -199,7 +202,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"input_value",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().txindex_to_first_inputindex.boxed_clone(),
|
||||
indexes.txindex_to_input_count.boxed_clone(),
|
||||
@@ -236,7 +239,7 @@ impl Vecs {
|
||||
// path,
|
||||
// "input_value",
|
||||
// true,
|
||||
// Version::ZERO,
|
||||
// version + VERSION + Version::ZERO,
|
||||
// compressed,
|
||||
// StorableVecGeneatorOptions::default()
|
||||
// .add_average()
|
||||
@@ -248,7 +251,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"output_value",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
indexer.vecs().txindex_to_first_outputindex.boxed_clone(),
|
||||
indexes.txindex_to_output_count.boxed_clone(),
|
||||
@@ -285,7 +288,7 @@ impl Vecs {
|
||||
// path,
|
||||
// "output_value",
|
||||
// true,
|
||||
// Version::ZERO,
|
||||
// version + VERSION + Version::ZERO,
|
||||
// compressed,
|
||||
// StorableVecGeneatorOptions::default()
|
||||
// .add_average()
|
||||
@@ -297,7 +300,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"fee",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
txindex_to_input_value.boxed_clone(),
|
||||
txindex_to_output_value.boxed_clone(),
|
||||
@@ -320,7 +323,7 @@ impl Vecs {
|
||||
computation,
|
||||
path,
|
||||
"feerate",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
txindex_to_fee.boxed_clone(),
|
||||
txindex_to_vsize.boxed_clone(),
|
||||
@@ -341,7 +344,7 @@ impl Vecs {
|
||||
path,
|
||||
"tx_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -354,7 +357,7 @@ impl Vecs {
|
||||
path,
|
||||
"input_count",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -367,7 +370,7 @@ impl Vecs {
|
||||
path,
|
||||
"output_count",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -380,7 +383,7 @@ impl Vecs {
|
||||
path,
|
||||
"tx_v1",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
)?,
|
||||
@@ -388,7 +391,7 @@ impl Vecs {
|
||||
path,
|
||||
"tx_v2",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
)?,
|
||||
@@ -396,7 +399,7 @@ impl Vecs {
|
||||
path,
|
||||
"tx_v3",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
)?,
|
||||
@@ -405,7 +408,7 @@ impl Vecs {
|
||||
"fee",
|
||||
indexes,
|
||||
Some(txindex_to_fee.boxed_clone()),
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
computation,
|
||||
compressed,
|
||||
fetched,
|
||||
@@ -420,7 +423,7 @@ impl Vecs {
|
||||
path,
|
||||
"feerate",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_percentiles()
|
||||
@@ -431,7 +434,7 @@ impl Vecs {
|
||||
path,
|
||||
"tx_vsize",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_percentiles()
|
||||
@@ -442,7 +445,7 @@ impl Vecs {
|
||||
path,
|
||||
"tx_weight",
|
||||
false,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_percentiles()
|
||||
@@ -453,7 +456,7 @@ impl Vecs {
|
||||
path,
|
||||
"subsidy",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_percentiles()
|
||||
@@ -467,7 +470,7 @@ impl Vecs {
|
||||
path,
|
||||
"coinbase",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_sum()
|
||||
@@ -481,7 +484,7 @@ impl Vecs {
|
||||
path,
|
||||
"unclaimed_rewards",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_sum().add_total(),
|
||||
compute_dollars,
|
||||
@@ -490,7 +493,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2a_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -503,7 +506,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2ms_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -516,7 +519,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2pk33_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -529,7 +532,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2pk65_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -542,7 +545,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2pkh_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -555,7 +558,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2sh_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -568,7 +571,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2tr_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -581,7 +584,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2wpkh_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -594,7 +597,7 @@ impl Vecs {
|
||||
path,
|
||||
"p2wsh_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -607,7 +610,7 @@ impl Vecs {
|
||||
path,
|
||||
"opreturn_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -620,7 +623,7 @@ impl Vecs {
|
||||
path,
|
||||
"unknownoutput_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -633,7 +636,7 @@ impl Vecs {
|
||||
path,
|
||||
"emptyoutput_count",
|
||||
true,
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default()
|
||||
.add_average()
|
||||
@@ -646,7 +649,7 @@ impl Vecs {
|
||||
path,
|
||||
"exact_utxo_count",
|
||||
true,
|
||||
Version::TWO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
|
||||
@@ -66,7 +66,7 @@ impl Vecs {
|
||||
EagerVec::forced_import(
|
||||
path,
|
||||
&suffix("realized_cap"),
|
||||
VERSION + Version::ZERO + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)
|
||||
.unwrap()
|
||||
@@ -76,7 +76,7 @@ impl Vecs {
|
||||
path,
|
||||
&suffix("realized_cap"),
|
||||
false,
|
||||
VERSION + Version::ZERO + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)
|
||||
@@ -85,14 +85,14 @@ impl Vecs {
|
||||
height_to_supply: EagerVec::forced_import(
|
||||
path,
|
||||
&suffix("supply"),
|
||||
VERSION + Version::ZERO + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
indexes_to_supply: ComputedValueVecsFromHeight::forced_import(
|
||||
path,
|
||||
&suffix("supply"),
|
||||
false,
|
||||
VERSION + Version::ZERO + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
compute_dollars,
|
||||
@@ -100,14 +100,14 @@ impl Vecs {
|
||||
height_to_utxo_count: EagerVec::forced_import(
|
||||
path,
|
||||
&suffix("utxo_count"),
|
||||
VERSION + Version::ZERO + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
indexes_to_utxo_count: ComputedVecsFromHeight::forced_import(
|
||||
path,
|
||||
&suffix("utxo_count"),
|
||||
false,
|
||||
VERSION + Version::ZERO + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)?,
|
||||
@@ -117,7 +117,7 @@ impl Vecs {
|
||||
path,
|
||||
&suffix("realized_price"),
|
||||
true,
|
||||
VERSION + Version::new(2) + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)
|
||||
@@ -128,7 +128,7 @@ impl Vecs {
|
||||
path,
|
||||
&suffix("realized_price"),
|
||||
false,
|
||||
VERSION + Version::new(2) + version,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
)
|
||||
|
||||
@@ -23,7 +23,7 @@ use super::{
|
||||
|
||||
pub mod cohort;
|
||||
|
||||
const VERSION: Version = Version::new(999);
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
@@ -40,6 +40,7 @@ pub struct Vecs {
|
||||
impl Vecs {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
_computation: Computation,
|
||||
compressed: Compressed,
|
||||
fetched: Option<&fetched::Vecs>,
|
||||
@@ -54,21 +55,21 @@ impl Vecs {
|
||||
chain_state: StoredVec::forced_import(
|
||||
&states_path,
|
||||
"chain",
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
|
||||
height_to_unspendable_supply: EagerVec::forced_import(
|
||||
path,
|
||||
"unspendable_supply",
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
indexes_to_unspendable_supply: ComputedValueVecsFromHeight::forced_import(
|
||||
path,
|
||||
"unspendable_supply",
|
||||
false,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
StorableVecGeneatorOptions::default().add_last(),
|
||||
compute_dollars,
|
||||
@@ -80,7 +81,7 @@ impl Vecs {
|
||||
None,
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
by_term: OutputsByTerm {
|
||||
@@ -89,7 +90,7 @@ impl Vecs {
|
||||
Some("sth"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
long: cohort::Vecs::forced_import(
|
||||
@@ -97,7 +98,7 @@ impl Vecs {
|
||||
Some("lth"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
},
|
||||
@@ -107,7 +108,7 @@ impl Vecs {
|
||||
Some("up_to_1d"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1w: cohort::Vecs::forced_import(
|
||||
@@ -115,7 +116,7 @@ impl Vecs {
|
||||
Some("up_to_1w"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1m: cohort::Vecs::forced_import(
|
||||
@@ -123,7 +124,7 @@ impl Vecs {
|
||||
Some("up_to_1m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_2m: cohort::Vecs::forced_import(
|
||||
@@ -131,7 +132,7 @@ impl Vecs {
|
||||
Some("up_to_2m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_3m: cohort::Vecs::forced_import(
|
||||
@@ -139,7 +140,7 @@ impl Vecs {
|
||||
Some("up_to_3m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_4m: cohort::Vecs::forced_import(
|
||||
@@ -147,7 +148,7 @@ impl Vecs {
|
||||
Some("up_to_4m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_5m: cohort::Vecs::forced_import(
|
||||
@@ -155,7 +156,7 @@ impl Vecs {
|
||||
Some("up_to_5m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_6m: cohort::Vecs::forced_import(
|
||||
@@ -163,7 +164,7 @@ impl Vecs {
|
||||
Some("up_to_6m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1y: cohort::Vecs::forced_import(
|
||||
@@ -171,7 +172,7 @@ impl Vecs {
|
||||
Some("up_to_1y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_2y: cohort::Vecs::forced_import(
|
||||
@@ -179,7 +180,7 @@ impl Vecs {
|
||||
Some("up_to_2y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_3y: cohort::Vecs::forced_import(
|
||||
@@ -187,7 +188,7 @@ impl Vecs {
|
||||
Some("up_to_3y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_4y: cohort::Vecs::forced_import(
|
||||
@@ -195,7 +196,7 @@ impl Vecs {
|
||||
Some("up_to_4y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_5y: cohort::Vecs::forced_import(
|
||||
@@ -203,7 +204,7 @@ impl Vecs {
|
||||
Some("up_to_5y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_6y: cohort::Vecs::forced_import(
|
||||
@@ -211,7 +212,7 @@ impl Vecs {
|
||||
Some("up_to_6y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_7y: cohort::Vecs::forced_import(
|
||||
@@ -219,7 +220,7 @@ impl Vecs {
|
||||
Some("up_to_7y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_8y: cohort::Vecs::forced_import(
|
||||
@@ -227,7 +228,7 @@ impl Vecs {
|
||||
Some("up_to_8y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_10y: cohort::Vecs::forced_import(
|
||||
@@ -235,7 +236,7 @@ impl Vecs {
|
||||
Some("up_to_10y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_15y: cohort::Vecs::forced_import(
|
||||
@@ -243,7 +244,7 @@ impl Vecs {
|
||||
Some("up_to_15y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
},
|
||||
@@ -253,7 +254,7 @@ impl Vecs {
|
||||
Some("from_1d"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1w: cohort::Vecs::forced_import(
|
||||
@@ -261,7 +262,7 @@ impl Vecs {
|
||||
Some("from_1w"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1m: cohort::Vecs::forced_import(
|
||||
@@ -269,7 +270,7 @@ impl Vecs {
|
||||
Some("from_1m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_2m: cohort::Vecs::forced_import(
|
||||
@@ -277,7 +278,7 @@ impl Vecs {
|
||||
Some("from_2m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_3m: cohort::Vecs::forced_import(
|
||||
@@ -285,7 +286,7 @@ impl Vecs {
|
||||
Some("from_3m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_4m: cohort::Vecs::forced_import(
|
||||
@@ -293,7 +294,7 @@ impl Vecs {
|
||||
Some("from_4m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_5m: cohort::Vecs::forced_import(
|
||||
@@ -301,7 +302,7 @@ impl Vecs {
|
||||
Some("from_5m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_6m: cohort::Vecs::forced_import(
|
||||
@@ -309,7 +310,7 @@ impl Vecs {
|
||||
Some("from_6m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1y: cohort::Vecs::forced_import(
|
||||
@@ -317,7 +318,7 @@ impl Vecs {
|
||||
Some("from_1y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_2y: cohort::Vecs::forced_import(
|
||||
@@ -325,7 +326,7 @@ impl Vecs {
|
||||
Some("from_2y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_3y: cohort::Vecs::forced_import(
|
||||
@@ -333,7 +334,7 @@ impl Vecs {
|
||||
Some("from_3y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_4y: cohort::Vecs::forced_import(
|
||||
@@ -341,7 +342,7 @@ impl Vecs {
|
||||
Some("from_4y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_5y: cohort::Vecs::forced_import(
|
||||
@@ -349,7 +350,7 @@ impl Vecs {
|
||||
Some("from_5y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_6y: cohort::Vecs::forced_import(
|
||||
@@ -357,7 +358,7 @@ impl Vecs {
|
||||
Some("from_6y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_7y: cohort::Vecs::forced_import(
|
||||
@@ -365,7 +366,7 @@ impl Vecs {
|
||||
Some("from_7y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_8y: cohort::Vecs::forced_import(
|
||||
@@ -373,7 +374,7 @@ impl Vecs {
|
||||
Some("from_8y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_10y: cohort::Vecs::forced_import(
|
||||
@@ -381,7 +382,7 @@ impl Vecs {
|
||||
Some("from_10y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_15y: cohort::Vecs::forced_import(
|
||||
@@ -389,7 +390,7 @@ impl Vecs {
|
||||
Some("from_15y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
},
|
||||
@@ -399,7 +400,7 @@ impl Vecs {
|
||||
Some("from_1d_to_1w"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1w_to_1m: cohort::Vecs::forced_import(
|
||||
@@ -407,7 +408,7 @@ impl Vecs {
|
||||
Some("from_1w_to_1m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1m_to_3m: cohort::Vecs::forced_import(
|
||||
@@ -415,7 +416,7 @@ impl Vecs {
|
||||
Some("from_1m_to_3m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_3m_to_6m: cohort::Vecs::forced_import(
|
||||
@@ -423,7 +424,7 @@ impl Vecs {
|
||||
Some("from_3m_to_6m"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_6m_to_1y: cohort::Vecs::forced_import(
|
||||
@@ -431,7 +432,7 @@ impl Vecs {
|
||||
Some("from_6m_to_1y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1y_to_2y: cohort::Vecs::forced_import(
|
||||
@@ -439,7 +440,7 @@ impl Vecs {
|
||||
Some("from_1y_to_2y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_2y_to_3y: cohort::Vecs::forced_import(
|
||||
@@ -447,7 +448,7 @@ impl Vecs {
|
||||
Some("from_2y_to_3y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_3y_to_4y: cohort::Vecs::forced_import(
|
||||
@@ -455,7 +456,7 @@ impl Vecs {
|
||||
Some("from_3y_to_4y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_4y_to_5y: cohort::Vecs::forced_import(
|
||||
@@ -463,7 +464,7 @@ impl Vecs {
|
||||
Some("from_4y_to_5y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_5y_to_7y: cohort::Vecs::forced_import(
|
||||
@@ -471,7 +472,7 @@ impl Vecs {
|
||||
Some("from_5y_to_7y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_7y_to_10y: cohort::Vecs::forced_import(
|
||||
@@ -479,7 +480,7 @@ impl Vecs {
|
||||
Some("from_7y_to_10y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_10y_to_15y: cohort::Vecs::forced_import(
|
||||
@@ -487,7 +488,7 @@ impl Vecs {
|
||||
Some("from_10y_to_15y"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
},
|
||||
@@ -497,7 +498,7 @@ impl Vecs {
|
||||
Some("epoch_0"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_1: cohort::Vecs::forced_import(
|
||||
@@ -505,7 +506,7 @@ impl Vecs {
|
||||
Some("epoch_1"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_2: cohort::Vecs::forced_import(
|
||||
@@ -513,7 +514,7 @@ impl Vecs {
|
||||
Some("epoch_2"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_3: cohort::Vecs::forced_import(
|
||||
@@ -521,7 +522,7 @@ impl Vecs {
|
||||
Some("epoch_3"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
_4: cohort::Vecs::forced_import(
|
||||
@@ -529,7 +530,7 @@ impl Vecs {
|
||||
Some("epoch_4"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
},
|
||||
@@ -539,7 +540,7 @@ impl Vecs {
|
||||
Some("0sat"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_1sat_to_10sats: cohort::Vecs::forced_import(
|
||||
@@ -547,7 +548,7 @@ impl Vecs {
|
||||
Some("from_1sat_to_10sats"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_10sats_to_100sats: cohort::Vecs::forced_import(
|
||||
@@ -555,7 +556,7 @@ impl Vecs {
|
||||
Some("from_10sats_to_100sats"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_100sats_to_1_000sats: cohort::Vecs::forced_import(
|
||||
@@ -563,7 +564,7 @@ impl Vecs {
|
||||
Some("from_100sats_to_1_000sats"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_1_000sats_to_10_000sats: cohort::Vecs::forced_import(
|
||||
@@ -571,7 +572,7 @@ impl Vecs {
|
||||
Some("from_1_000sats_to_10_000sats"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_10_000sats_to_100_000sats: cohort::Vecs::forced_import(
|
||||
@@ -579,7 +580,7 @@ impl Vecs {
|
||||
Some("from_10_000sats_to_100_000sats"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_100_000sats_to_1_000_000sats: cohort::Vecs::forced_import(
|
||||
@@ -587,7 +588,7 @@ impl Vecs {
|
||||
Some("from_100_000sats_to_1_000_000sats"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_1_000_000sats_to_10_000_000sats: cohort::Vecs::forced_import(
|
||||
@@ -595,7 +596,7 @@ impl Vecs {
|
||||
Some("from_1_000_000sats_to_10_000_000sats"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_10_000_000sats_to_1btc: cohort::Vecs::forced_import(
|
||||
@@ -603,7 +604,7 @@ impl Vecs {
|
||||
Some("from_10_000_000sats_to_1btc"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_1btc_to_10btc: cohort::Vecs::forced_import(
|
||||
@@ -611,7 +612,7 @@ impl Vecs {
|
||||
Some("from_1btc_to_10btc"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_10btc_to_100btc: cohort::Vecs::forced_import(
|
||||
@@ -619,7 +620,7 @@ impl Vecs {
|
||||
Some("from_10btc_to_100btc"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_100btc_to_1_000btc: cohort::Vecs::forced_import(
|
||||
@@ -627,7 +628,7 @@ impl Vecs {
|
||||
Some("from_100btc_to_1_000btc"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_1_000btc_to_10_000btc: cohort::Vecs::forced_import(
|
||||
@@ -635,7 +636,7 @@ impl Vecs {
|
||||
Some("from_1_000btc_to_10_000btc"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_10_000btc_to_100_000btc: cohort::Vecs::forced_import(
|
||||
@@ -643,7 +644,7 @@ impl Vecs {
|
||||
Some("from_10_000btc_to_100_000btc"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
from_100_000btc: cohort::Vecs::forced_import(
|
||||
@@ -651,7 +652,7 @@ impl Vecs {
|
||||
Some("from_100_000btc"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
},
|
||||
@@ -754,7 +755,7 @@ impl Vecs {
|
||||
Some("p2pk65"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
p2pk33: cohort::Vecs::forced_import(
|
||||
@@ -762,7 +763,7 @@ impl Vecs {
|
||||
Some("p2pk33"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
p2pkh: cohort::Vecs::forced_import(
|
||||
@@ -770,7 +771,7 @@ impl Vecs {
|
||||
Some("p2pkh"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
p2ms: cohort::Vecs::forced_import(
|
||||
@@ -778,7 +779,7 @@ impl Vecs {
|
||||
Some("p2ms"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
p2sh: cohort::Vecs::forced_import(
|
||||
@@ -786,7 +787,7 @@ impl Vecs {
|
||||
Some("p2sh"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
// op_return: cohort::Vecs::forced_import(
|
||||
@@ -802,7 +803,7 @@ impl Vecs {
|
||||
Some("p2wpkh"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
p2wsh: cohort::Vecs::forced_import(
|
||||
@@ -810,7 +811,7 @@ impl Vecs {
|
||||
Some("p2wsh"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
p2tr: cohort::Vecs::forced_import(
|
||||
@@ -818,7 +819,7 @@ impl Vecs {
|
||||
Some("p2tr"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
p2a: cohort::Vecs::forced_import(
|
||||
@@ -826,7 +827,7 @@ impl Vecs {
|
||||
Some("p2a"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
empty: cohort::Vecs::forced_import(
|
||||
@@ -834,7 +835,7 @@ impl Vecs {
|
||||
Some("empty"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
unknown: cohort::Vecs::forced_import(
|
||||
@@ -842,7 +843,7 @@ impl Vecs {
|
||||
Some("unknown"),
|
||||
_computation,
|
||||
compressed,
|
||||
VERSION + Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
fetched,
|
||||
)?,
|
||||
},
|
||||
|
||||
@@ -11,6 +11,9 @@ use color_eyre::eyre::Error;
|
||||
mod fetchers;
|
||||
|
||||
use fetchers::*;
|
||||
use log::info;
|
||||
|
||||
const TRIES: usize = 12 * 60 * 2;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Fetcher {
|
||||
@@ -33,16 +36,32 @@ impl Fetcher {
|
||||
}
|
||||
|
||||
pub fn get_date(&mut self, date: Date) -> color_eyre::Result<OHLCCents> {
|
||||
self.get_date_(date, 0)
|
||||
}
|
||||
|
||||
fn get_date_(&mut self, date: Date, tries: usize) -> color_eyre::Result<OHLCCents> {
|
||||
self.kraken
|
||||
.get_from_1d(&date)
|
||||
.or_else(|_| {
|
||||
// eprintln!("{e}");
|
||||
self.binance.get_from_1d(&date)
|
||||
})
|
||||
.or_else(|e| {
|
||||
eprintln!("{e}");
|
||||
.or_else(|_| {
|
||||
// eprintln!("{e}");
|
||||
self.kibo.get_from_date(&date)
|
||||
})
|
||||
.or_else(|e| {
|
||||
sleep(Duration::from_secs(30));
|
||||
|
||||
if tries < TRIES {
|
||||
self.clear();
|
||||
info!("Retrying to fetch date price...");
|
||||
self.get_date_(date, tries + 1)
|
||||
} else {
|
||||
info!("Failed to fetch date prices...");
|
||||
Err(e)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
pub fn get_height(
|
||||
@@ -81,14 +100,18 @@ impl Fetcher {
|
||||
self.kibo.get_from_height(height).unwrap_or_else(|_| {
|
||||
sleep(Duration::from_secs(30));
|
||||
|
||||
if tries < 8 * 60 * 2 {
|
||||
if tries < TRIES {
|
||||
self.clear();
|
||||
|
||||
info!("Retrying to fetch height prices...");
|
||||
|
||||
return self
|
||||
.get_height_(height, timestamp, previous_timestamp, tries + 1)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
info!("Failed to fetch height prices");
|
||||
|
||||
let date = Date::from(timestamp);
|
||||
// eprintln!("{e}");
|
||||
panic!(
|
||||
@@ -112,8 +135,6 @@ How to fix this:
|
||||
})
|
||||
});
|
||||
|
||||
// self.ohlc.height.insert(height, ohlc);
|
||||
|
||||
Ok(ohlc)
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ pub use brk_parser::*;
|
||||
|
||||
use bitcoin::{Transaction, TxIn, TxOut};
|
||||
use brk_exit::Exit;
|
||||
use brk_vec::{AnyVec, Compressed, VecIterator};
|
||||
use brk_vec::{AnyVec, Compressed, VecIterator, Version};
|
||||
use color_eyre::eyre::{ContextCompat, eyre};
|
||||
use fjall::TransactionalKeyspace;
|
||||
use log::{error, info};
|
||||
@@ -33,6 +33,7 @@ pub use vecs::*;
|
||||
|
||||
const SNAPSHOT_BLOCK_RANGE: usize = 1000;
|
||||
const COLLISIONS_CHECKED_UP_TO: u32 = 893_000;
|
||||
const VERSION: Version = Version::ONE;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Indexer {
|
||||
@@ -62,6 +63,7 @@ impl Indexer {
|
||||
pub fn import_vecs(&mut self) -> color_eyre::Result<()> {
|
||||
self.vecs = Some(Vecs::forced_import(
|
||||
&self.path.join("vecs/indexed"),
|
||||
VERSION + Version::ZERO,
|
||||
self.compressed,
|
||||
)?);
|
||||
Ok(())
|
||||
@@ -70,7 +72,10 @@ impl Indexer {
|
||||
/// Do NOT import multiple times are things will break !!!
|
||||
/// Clone struct instead
|
||||
pub fn import_stores(&mut self) -> color_eyre::Result<()> {
|
||||
self.stores = Some(Stores::forced_import(&self.path.join("stores"))?);
|
||||
self.stores = Some(Stores::forced_import(
|
||||
&self.path.join("stores"),
|
||||
VERSION + Version::ZERO,
|
||||
)?);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
@@ -42,12 +42,10 @@ where
|
||||
name: &str,
|
||||
version: Version,
|
||||
) -> color_eyre::Result<Self> {
|
||||
let version = MAJOR_FJALL_VERSION + version;
|
||||
|
||||
let (meta, partition) = StoreMeta::checked_open(
|
||||
&keyspace,
|
||||
&path.join(format!("meta/{name}")),
|
||||
version,
|
||||
MAJOR_FJALL_VERSION + version,
|
||||
|| {
|
||||
Self::open_partition_handle(&keyspace, name).inspect_err(|_| {
|
||||
eprintln!("Delete {path:?} and try again");
|
||||
|
||||
@@ -25,15 +25,17 @@ pub struct Stores {
|
||||
pub txidprefix_to_txindex: Store<TxidPrefix, TxIndex>,
|
||||
}
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
impl Stores {
|
||||
pub fn forced_import(path: &Path) -> color_eyre::Result<Self> {
|
||||
pub fn forced_import(path: &Path, version: Version) -> color_eyre::Result<Self> {
|
||||
fs::create_dir_all(path)?;
|
||||
|
||||
let keyspace = match Self::open_keyspace(path) {
|
||||
Ok(keyspace) => keyspace,
|
||||
Err(_) => {
|
||||
fs::remove_dir_all(path)?;
|
||||
return Self::forced_import(path);
|
||||
return Self::forced_import(path, version);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -43,7 +45,7 @@ impl Stores {
|
||||
keyspace.clone(),
|
||||
path,
|
||||
"addressbyteshash_to_outputtypeindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
)
|
||||
});
|
||||
let blockhashprefix_to_height = scope.spawn(|| {
|
||||
@@ -51,7 +53,7 @@ impl Stores {
|
||||
keyspace.clone(),
|
||||
path,
|
||||
"blockhashprefix_to_height",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
)
|
||||
});
|
||||
let txidprefix_to_txindex = scope.spawn(|| {
|
||||
@@ -59,7 +61,7 @@ impl Stores {
|
||||
keyspace.clone(),
|
||||
path,
|
||||
"txidprefix_to_txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
)
|
||||
});
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ use rayon::prelude::*;
|
||||
|
||||
use crate::Indexes;
|
||||
|
||||
const VERSION: Version = Version::ZERO;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Vecs {
|
||||
pub emptyoutputindex_to_txindex: IndexedVec<EmptyOutputIndex, TxIndex>,
|
||||
@@ -63,267 +65,276 @@ pub struct Vecs {
|
||||
}
|
||||
|
||||
impl Vecs {
|
||||
pub fn forced_import(path: &Path, compressed: Compressed) -> color_eyre::Result<Self> {
|
||||
pub fn forced_import(
|
||||
path: &Path,
|
||||
version: Version,
|
||||
compressed: Compressed,
|
||||
) -> color_eyre::Result<Self> {
|
||||
fs::create_dir_all(path)?;
|
||||
|
||||
Ok(Self {
|
||||
emptyoutputindex_to_txindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_blockhash: IndexedVec::forced_import(
|
||||
path,
|
||||
"blockhash",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
height_to_difficulty: IndexedVec::forced_import(
|
||||
path,
|
||||
"difficulty",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_emptyoutputindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_emptyoutputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_inputindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_inputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_opreturnindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_opreturnindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_outputindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_outputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2aindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2aindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2msindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2msindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2pk33index: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2pk33index",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2pk65index: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2pk65index",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2pkhindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2pkhindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2shindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2shindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2trindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2trindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2wpkhindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2wpkhindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_p2wshindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_p2wshindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_txindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_first_unknownoutputindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_unknownoutputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_timestamp: IndexedVec::forced_import(
|
||||
path,
|
||||
"timestamp",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_total_size: IndexedVec::forced_import(
|
||||
path,
|
||||
"total_size",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_weight: IndexedVec::forced_import(
|
||||
path,
|
||||
"weight",
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
height_to_weight: IndexedVec::forced_import(path, "weight", Version::ZERO, compressed)?,
|
||||
inputindex_to_outputindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"outputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
opreturnindex_to_txindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
outputindex_to_outputtype: IndexedVec::forced_import(
|
||||
path,
|
||||
"outputtype",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
outputindex_to_outputtypeindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"outputtypeindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
outputindex_to_value: IndexedVec::forced_import(
|
||||
path,
|
||||
"value",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
p2aindex_to_p2abytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2abytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
p2msindex_to_txindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
p2pk33index_to_p2pk33bytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2pk33bytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
p2pk65index_to_p2pk65bytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2pk65bytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
p2pkhindex_to_p2pkhbytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2pkhbytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
p2shindex_to_p2shbytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2shbytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
p2trindex_to_p2trbytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2trbytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
p2wpkhindex_to_p2wpkhbytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2wpkhbytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
p2wshindex_to_p2wshbytes: IndexedVec::forced_import(
|
||||
path,
|
||||
"p2wshbytes",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
txindex_to_base_size: IndexedVec::forced_import(
|
||||
path,
|
||||
"base_size",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
txindex_to_first_inputindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_inputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
txindex_to_first_outputindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"first_outputindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
txindex_to_is_explicitly_rbf: IndexedVec::forced_import(
|
||||
path,
|
||||
"is_explicitly_rbf",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
txindex_to_rawlocktime: IndexedVec::forced_import(
|
||||
path,
|
||||
"rawlocktime",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
txindex_to_total_size: IndexedVec::forced_import(
|
||||
path,
|
||||
"total_size",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
txindex_to_txid: IndexedVec::forced_import(
|
||||
path,
|
||||
"txid",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
Compressed::NO,
|
||||
)?,
|
||||
txindex_to_txversion: IndexedVec::forced_import(
|
||||
path,
|
||||
"txversion",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
unknownoutputindex_to_txindex: IndexedVec::forced_import(
|
||||
path,
|
||||
"txindex",
|
||||
Version::ZERO,
|
||||
version + VERSION + Version::ZERO,
|
||||
compressed,
|
||||
)?,
|
||||
})
|
||||
|
||||
@@ -25,7 +25,7 @@ log = { workspace = true }
|
||||
minreq = { workspace = true }
|
||||
oxc = { version = "0.72.0", features = ["codegen", "minifier"] }
|
||||
serde = { workspace = true }
|
||||
tokio = { version = "1.45.0", features = ["full"] }
|
||||
tokio = { version = "1.45.1", features = ["full"] }
|
||||
tower-http = { version = "0.6.4", features = ["compression-full", "trace"] }
|
||||
zip = "4.0.0"
|
||||
tracing = "0.1.41"
|
||||
|
||||
@@ -13,14 +13,14 @@ use crate::{Error, Result};
|
||||
#[derive(
|
||||
Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, FromBytes, IntoBytes, Immutable, KnownLayout,
|
||||
)]
|
||||
pub struct Version(u32);
|
||||
pub struct Version(u64);
|
||||
|
||||
impl Version {
|
||||
pub const ZERO: Self = Self(0);
|
||||
pub const ONE: Self = Self(1);
|
||||
pub const TWO: Self = Self(2);
|
||||
|
||||
pub const fn new(v: u32) -> Self {
|
||||
pub const fn new(v: u64) -> Self {
|
||||
Self(v)
|
||||
}
|
||||
|
||||
@@ -49,8 +49,8 @@ impl Version {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<u32> for Version {
|
||||
fn from(value: u32) -> Self {
|
||||
impl From<u64> for Version {
|
||||
fn from(value: u64) -> Self {
|
||||
Self(value)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -783,7 +783,7 @@ impl EagerVec<DateIndex, Dollars> {
|
||||
exit: &Exit,
|
||||
) -> Result<()> {
|
||||
self.validate_computed_version_or_reset_file(
|
||||
Version::TWO + self.inner.version() + stacks.version(),
|
||||
Version::ZERO + self.inner.version() + stacks.version(),
|
||||
)?;
|
||||
|
||||
let index = max_from.min(DateIndex::from(self.len()));
|
||||
|
||||
@@ -28,6 +28,12 @@ where
|
||||
compressed: Compressed,
|
||||
) -> Result<Self> {
|
||||
let path = I::path(path, value_name);
|
||||
|
||||
if version == Version::ZERO {
|
||||
dbg!(path, value_name);
|
||||
panic!("Version must be at least 1, can't verify endianess otherwise");
|
||||
}
|
||||
|
||||
if *compressed {
|
||||
Ok(Self::Compressed(CompressedVec::forced_import(
|
||||
&path, version,
|
||||
|
||||
Reference in New Issue
Block a user