global: one big snapshot

This commit is contained in:
nym21
2025-08-02 16:59:22 +02:00
parent aa8b47a3dd
commit f7aa9424db
252 changed files with 6283 additions and 5264 deletions

View File

@@ -8,11 +8,11 @@ homepage.workspace = true
repository.workspace = true
[dependencies]
brk_core = { workspace = true }
brk_computer = { workspace = true }
brk_error = { workspace = true }
brk_indexer = { workspace = true }
brk_structs = { workspace = true }
brk_vecs = { workspace = true }
color-eyre = { workspace = true }
derive_deref = { workspace = true }
schemars = "1.0.4"
serde = { workspace = true }

View File

@@ -23,12 +23,6 @@
<a href="https://primal.net/p/nprofile1qqsfw5dacngjlahye34krvgz7u0yghhjgk7gxzl5ptm9v6n2y3sn03sqxu2e6">
<img src="https://img.shields.io/badge/nostr-purple?link=https%3A%2F%2Fprimal.net%2Fp%2Fnprofile1qqsfw5dacngjlahye34krvgz7u0yghhjgk7gxzl5ptm9v6n2y3sn03sqxu2e6" alt="Nostr" />
</a>
<a href="https://bsky.app/profile/bitcoinresearchkit.org">
<img src="https://img.shields.io/badge/bluesky-blue?link=https%3A%2F%2Fbsky.app%2Fprofile%2Fbitcoinresearchkit.org" alt="Bluesky" />
</a>
<a href="https://x.com/brkdotorg">
<img src="https://img.shields.io/badge/x.com-black" alt="X" />
</a>
</p>
A crate that searches for datasets from either `brk_indexer` or `brk_computer` according to given parameters.

View File

@@ -1,20 +1,16 @@
use std::path::Path;
use brk_computer::Computer;
use brk_error::Result;
use brk_indexer::Indexer;
use brk_interface::{Index, Interface, Params, ParamsOpt};
use brk_vecs::{Computation, Format};
pub fn main() -> color_eyre::Result<()> {
color_eyre::install()?;
pub fn main() -> Result<()> {
let outputs_dir = Path::new("../../_outputs");
let format = Format::Compressed;
let indexer = Indexer::forced_import(outputs_dir)?;
let computer = Computer::forced_import(outputs_dir, &indexer, Computation::Lazy, None, format)?;
let computer = Computer::forced_import(outputs_dir, &indexer, None)?;
let interface = Interface::build(&indexer, &computer);

View File

@@ -1,4 +1,4 @@
use color_eyre::eyre::eyre;
use brk_error::Error;
use schemars::JsonSchema;
use serde::Deserialize;
@@ -16,7 +16,7 @@ pub enum Format {
}
impl TryFrom<Option<String>> for Format {
type Error = color_eyre::Report;
type Error = Error;
fn try_from(value: Option<String>) -> Result<Self, Self::Error> {
if let Some(value) = value {
let value = value.to_lowercase();
@@ -30,10 +30,10 @@ impl TryFrom<Option<String>> for Format {
} else if value == "json" {
Ok(Self::JSON)
} else {
Err(eyre!("Fail"))
Err(Error::Str("Fail"))
}
} else {
Err(eyre!("Fail"))
Err(Error::Str("Fail"))
}
}
}

View File

@@ -1,15 +1,15 @@
use std::fmt::{self, Debug};
use brk_core::{
use brk_error::Error;
use brk_structs::{
DateIndex, DecadeIndex, DifficultyEpoch, EmptyOutputIndex, HalvingEpoch, Height, InputIndex,
MonthIndex, OpReturnIndex, OutputIndex, P2AAddressIndex, P2MSOutputIndex, P2PK33AddressIndex,
P2PK65AddressIndex, P2PKHAddressIndex, P2SHAddressIndex, P2TRAddressIndex, P2WPKHAddressIndex,
P2WSHAddressIndex, Printable, QuarterIndex, SemesterIndex, TxIndex, UnknownOutputIndex,
WeekIndex, YearIndex,
};
use color_eyre::eyre::eyre;
use schemars::JsonSchema;
use serde::{Deserialize, de::Error};
use serde::Deserialize;
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, JsonSchema)]
pub enum Index {
@@ -146,7 +146,7 @@ impl Index {
}
impl TryFrom<&str> for Index {
type Error = color_eyre::Report;
type Error = Error;
fn try_from(value: &str) -> Result<Self, Self::Error> {
Ok(match value.to_lowercase().as_str() {
v if (Self::DateIndex).possible_values().contains(&v) => Self::DateIndex,
@@ -186,7 +186,7 @@ impl TryFrom<&str> for Index {
v if (Self::UnknownOutputIndex).possible_values().contains(&v) => {
Self::UnknownOutputIndex
}
_ => return Err(eyre!("Bad index")),
_ => return Err(Error::Str("Bad index")),
})
}
}
@@ -207,7 +207,7 @@ impl<'de> Deserialize<'de> for Index {
// dbg!(index);
Ok(index)
} else {
Err(Error::custom("Bad index"))
Err(serde::de::Error::custom("Bad index"))
}
}
}

View File

@@ -6,9 +6,10 @@
use std::collections::BTreeMap;
use brk_computer::Computer;
use brk_core::{Height, Result};
use brk_error::Result;
use brk_indexer::Indexer;
use brk_vecs::{AnyCollectableVec, AnyStampedVec};
use brk_structs::Height;
use brk_vecs::{AnyCollectableVec, AnyStoredVec};
use tabled::settings::Style;
mod deser;
@@ -88,7 +89,7 @@ impl<'a> Interface<'a> {
&self,
vecs: Vec<(String, &&dyn AnyCollectableVec)>,
params: &ParamsOpt,
) -> color_eyre::Result<Output> {
) -> Result<Output> {
let from = params.from().map(|from| {
vecs.iter()
.map(|(_, v)| v.i64_to_usize(from))
@@ -106,7 +107,7 @@ impl<'a> Interface<'a> {
let mut values = vecs
.iter()
.map(|(_, vec)| -> Result<Vec<serde_json::Value>> {
vec.collect_range_serde_json(from, to)
Ok(vec.collect_range_serde_json(from, to)?)
})
.collect::<Result<Vec<_>>>()?;
@@ -179,7 +180,7 @@ impl<'a> Interface<'a> {
})
}
pub fn search_and_format(&self, params: Params) -> color_eyre::Result<Output> {
pub fn search_and_format(&self, params: Params) -> Result<Output> {
self.format(self.search(&params), &params.rest)
}

View File

@@ -33,11 +33,7 @@ impl<'a> Vecs<'a> {
.into_iter()
.for_each(|vec| this.insert(vec));
computer
.vecs
.vecs()
.into_iter()
.for_each(|vec| this.insert(vec));
computer.vecs().into_iter().for_each(|vec| this.insert(vec));
let mut ids = this.id_to_index_to_vec.keys().cloned().collect::<Vec<_>>();