rpc: init wrapper crate + global: snapshot

This commit is contained in:
nym21
2025-10-20 23:06:25 +02:00
parent 9b230d23dd
commit 4ffa2e3993
39 changed files with 1055 additions and 832 deletions

View File

@@ -29,13 +29,13 @@ pub fn main() -> Result<()> {
let exit = Exit::new();
exit.set_ctrlc_handler();
let parser = Reader::new(blocks_dir, rpc);
let reader = Reader::new(blocks_dir, rpc);
let indexer = Indexer::forced_import(&outputs_dir)?;
let computer = Computer::forced_import(&outputs_dir, &indexer, None)?;
let interface = Interface::build(&parser, &indexer, &computer);
let interface = Interface::build(&reader, &indexer, &computer);
dbg!(interface.search_and_format(Params {
index: Index::Height,

View File

@@ -34,7 +34,7 @@ pub fn get_transaction_info(
let txid = indexer.vecs.txindex_to_txid.iter().unwrap_get_inner(index);
let parser = interface.parser();
let reader = interface.parser();
let computer = interface.computer();
let position = computer
@@ -48,7 +48,7 @@ pub fn get_transaction_info(
.iter()
.unwrap_get_inner(index);
let blk_index_to_blk_path = parser.blk_index_to_blk_path();
let blk_index_to_blk_path = reader.blk_index_to_blk_path();
let Some(blk_path) = blk_index_to_blk_path.get(&position.blk_index()) else {
return Err(Error::Str("Failed to get the correct blk file"));
@@ -72,7 +72,7 @@ pub fn get_transaction_info(
if file.read_exact(&mut buffer).is_err() {
return Err(Error::Str("Failed to read the transaction (read exact)"));
}
xori.bytes(&mut buffer, parser.xor_bytes());
xori.bytes(&mut buffer, reader.xor_bytes());
let mut reader = Cursor::new(buffer);
let Ok(_) = bitcoin::Transaction::consensus_decode(&mut reader) else {

View File

@@ -40,14 +40,14 @@ pub struct Interface<'a> {
impl<'a> Interface<'a> {
pub fn build(parser: &Reader, indexer: &Indexer, computer: &Computer) -> Self {
let parser = parser.static_clone();
let reader = parser.static_clone();
let indexer = indexer.static_clone();
let computer = computer.static_clone();
let vecs = Vecs::build(indexer, computer);
Self {
vecs,
parser,
parser: reader,
indexer,
computer,
}