From e999686b9c9c74842c6fbad28c82808e9b3a8982 Mon Sep 17 00:00:00 2001 From: DJO <790521+Alenar@users.noreply.github.com> Date: Tue, 16 Apr 2024 12:25:09 +0200 Subject: [PATCH] Rename `TransactionParser` to `BlockScanner` Since we will change it's main method signature to retrieve a list of blocks instead of a list of transactions. --- .../src/dependency_injection/builder.rs | 26 +++++------ .../src/dependency_injection/containers.rs | 4 +- .../services/cardano_transactions_importer.rs | 45 +++++++++---------- ...ion_parser.rs => cardano_block_scanner.rs} | 37 ++++++++------- mithril-common/src/lib.rs | 2 +- .../src/cardano_transactions_importer.rs | 45 +++++++++---------- mithril-signer/src/runtime/runner.rs | 4 +- mithril-signer/src/runtime/signer_services.rs | 6 +-- .../test_extensions/state_machine_tester.rs | 4 +- 9 files changed, 83 insertions(+), 90 deletions(-) rename mithril-common/src/{cardano_transaction_parser.rs => cardano_block_scanner.rs} (91%) diff --git a/mithril-aggregator/src/dependency_injection/builder.rs b/mithril-aggregator/src/dependency_injection/builder.rs index 493fa5d3c5..236c6d6419 100644 --- a/mithril-aggregator/src/dependency_injection/builder.rs +++ b/mithril-aggregator/src/dependency_injection/builder.rs @@ -13,7 +13,7 @@ use warp::Filter; use mithril_common::{ api_version::APIVersionProvider, - cardano_transaction_parser::{CardanoTransactionParser, TransactionParser}, + cardano_block_scanner::{BlockScanner, CardanoBlockScanner}, certificate_chain::{CertificateVerifier, MithrilCertificateVerifier}, chain_observer::{CardanoCliRunner, ChainObserver, ChainObserverBuilder, FakeObserver}, crypto_helper::{ @@ -137,7 +137,7 @@ pub struct DependenciesBuilder { pub transaction_store: Option>, /// Cardano transactions parser. - pub transaction_parser: Option>, + pub block_scanner: Option>, /// Immutable file digester service. pub immutable_digester: Option>, @@ -233,7 +233,7 @@ impl DependenciesBuilder { cardano_cli_runner: None, chain_observer: None, time_point_provider: None, - transaction_parser: None, + block_scanner: None, transaction_repository: None, transaction_store: None, immutable_digester: None, @@ -713,22 +713,22 @@ impl DependenciesBuilder { Ok(self.transaction_store.as_ref().cloned().unwrap()) } - async fn build_transaction_parser(&mut self) -> Result> { + async fn build_block_scanner(&mut self) -> Result> { // TODO: 'allow_unparsable_block' parameter should be configurable let allow_unparsable_block = false; - let transaction_parser = - CardanoTransactionParser::new(self.get_logger().await?, allow_unparsable_block); + let block_scanner = + CardanoBlockScanner::new(self.get_logger().await?, allow_unparsable_block); - Ok(Arc::new(transaction_parser)) + Ok(Arc::new(block_scanner)) } /// Transaction parser. - pub async fn get_transaction_parser(&mut self) -> Result> { - if self.transaction_parser.is_none() { - self.transaction_parser = Some(self.build_transaction_parser().await?); + pub async fn get_block_scanner(&mut self) -> Result> { + if self.block_scanner.is_none() { + self.block_scanner = Some(self.build_block_scanner().await?); } - Ok(self.transaction_parser.as_ref().cloned().unwrap()) + Ok(self.block_scanner.as_ref().cloned().unwrap()) } async fn build_immutable_digester(&mut self) -> Result> { @@ -1053,7 +1053,7 @@ impl DependenciesBuilder { self.get_logger().await?, )); let transactions_importer = Arc::new(CardanoTransactionsImporter::new( - self.get_transaction_parser().await?, + self.get_block_scanner().await?, self.get_transaction_store().await?, &self.configuration.db_directory, // Rescan the last immutable when importing transactions, it may have been partially imported @@ -1196,7 +1196,7 @@ impl DependenciesBuilder { signed_entity_storer: self.get_signed_entity_storer().await?, signer_getter: self.get_signer_store().await?, message_service: self.get_message_service().await?, - transaction_parser: self.get_transaction_parser().await?, + transaction_parser: self.get_block_scanner().await?, transaction_store: self.get_transaction_store().await?, prover_service: self.get_prover_service().await?, }; diff --git a/mithril-aggregator/src/dependency_injection/containers.rs b/mithril-aggregator/src/dependency_injection/containers.rs index 295b1bd333..3eaad79a5a 100644 --- a/mithril-aggregator/src/dependency_injection/containers.rs +++ b/mithril-aggregator/src/dependency_injection/containers.rs @@ -3,7 +3,7 @@ use tokio::sync::RwLock; use mithril_common::{ api_version::APIVersionProvider, - cardano_transaction_parser::TransactionParser, + cardano_block_scanner::BlockScanner, certificate_chain::CertificateVerifier, chain_observer::ChainObserver, crypto_helper::ProtocolGenesisVerifier, @@ -88,7 +88,7 @@ pub struct DependencyContainer { pub transaction_store: Arc, /// Cardano transactions parser. - pub transaction_parser: Arc, + pub transaction_parser: Arc, /// Immutable file observer service. pub immutable_file_observer: Arc, diff --git a/mithril-aggregator/src/services/cardano_transactions_importer.rs b/mithril-aggregator/src/services/cardano_transactions_importer.rs index b49346eed5..9e1ce0857b 100644 --- a/mithril-aggregator/src/services/cardano_transactions_importer.rs +++ b/mithril-aggregator/src/services/cardano_transactions_importer.rs @@ -6,7 +6,7 @@ use async_trait::async_trait; use mockall::automock; use slog::{debug, Logger}; -use mithril_common::cardano_transaction_parser::TransactionParser; +use mithril_common::cardano_block_scanner::BlockScanner; use mithril_common::entities::{CardanoTransaction, ImmutableFileNumber}; use mithril_common::signable_builder::TransactionsImporter; use mithril_common::StdResult; @@ -30,7 +30,7 @@ pub trait TransactionStore: Send + Sync { /// Import and store [CardanoTransaction]. pub struct CardanoTransactionsImporter { - transaction_parser: Arc, + block_scanner: Arc, transaction_store: Arc, logger: Logger, rescan_offset: Option, @@ -44,14 +44,14 @@ impl CardanoTransactionsImporter { /// immutables starting after the highest immutable known in the store. /// This is useful when one of the last immutable was not full scanned. pub fn new( - transaction_parser: Arc, + block_scanner: Arc, transaction_store: Arc, dirpath: &Path, rescan_offset: Option, logger: Logger, ) -> Self { Self { - transaction_parser, + block_scanner, transaction_store, logger, rescan_offset, @@ -79,10 +79,7 @@ impl CardanoTransactionsImporter { return Ok(()); } - let parsed_transactions = self - .transaction_parser - .parse(&self.dirpath, from, until) - .await?; + let parsed_transactions = self.block_scanner.parse(&self.dirpath, from, until).await?; debug!( self.logger, "TransactionsImporter retrieved '{}' Cardano transactions between immutables '{}' and '{until}'", @@ -123,10 +120,10 @@ mod tests { use super::*; mock! { - pub TransactionParserImpl { } + pub BlockScannerImpl { } #[async_trait] - impl TransactionParser for TransactionParserImpl { + impl BlockScanner for BlockScannerImpl { async fn parse( &self, dirpath: &Path, @@ -137,19 +134,19 @@ mod tests { } fn build_importer( - parser_mock_config: &dyn Fn(&mut MockTransactionParserImpl), + scanner_mock_config: &dyn Fn(&mut MockBlockScannerImpl), store_mock_config: &dyn Fn(&mut MockTransactionStore), ) -> CardanoTransactionsImporter { let db_path = Path::new(""); - let mut parser = MockTransactionParserImpl::new(); - parser_mock_config(&mut parser); + let mut scanner = MockBlockScannerImpl::new(); + scanner_mock_config(&mut scanner); let mut store = MockTransactionStore::new(); store.expect_get_up_to().returning(|_| Ok(vec![])); store_mock_config(&mut store); CardanoTransactionsImporter::new( - Arc::new(parser), + Arc::new(scanner), Arc::new(store), db_path, None, @@ -168,9 +165,9 @@ mod tests { let up_to_beacon = 12; let importer = build_importer( - &|parser_mock| { + &|scanner_mock| { let parsed_transactions = transactions.clone(); - parser_mock + scanner_mock .expect_parse() .withf(move |_, from, until| from.is_none() && until == &up_to_beacon) .return_once(move |_, _, _| Ok(parsed_transactions)); @@ -199,8 +196,8 @@ mod tests { let up_to_beacon = 12; let importer = build_importer( - &|parser_mock| { - parser_mock.expect_parse().never(); + &|scanner_mock| { + scanner_mock.expect_parse().never(); }, &|store_mock| { store_mock @@ -227,9 +224,9 @@ mod tests { let up_to_beacon = 14; let importer = build_importer( - &|parser_mock| { + &|scanner_mock| { let parsed_transactions = transactions[2..=3].to_vec(); - parser_mock + scanner_mock .expect_parse() .withf(move |_, from, until| from == &Some(13) && until == &up_to_beacon) .return_once(move |_, _, _| Ok(parsed_transactions)); @@ -265,13 +262,13 @@ mod tests { let importer = { let connection = cardano_tx_db_connection().unwrap(); let parsed_transactions = transactions.clone(); - let mut parser = MockTransactionParserImpl::new(); - parser + let mut scanner = MockBlockScannerImpl::new(); + scanner .expect_parse() .return_once(move |_, _, _| Ok(parsed_transactions)); CardanoTransactionsImporter::new( - Arc::new(parser), + Arc::new(scanner), Arc::new(CardanoTransactionRepository::new(Arc::new(connection))), Path::new(""), None, @@ -305,7 +302,7 @@ mod tests { .returning(move || Ok(Some(highest_stored_beacon))); CardanoTransactionsImporter::new( - Arc::new(MockTransactionParserImpl::new()), + Arc::new(MockBlockScannerImpl::new()), Arc::new(store), Path::new(""), Some(rescan_offset as usize), diff --git a/mithril-common/src/cardano_transaction_parser.rs b/mithril-common/src/cardano_block_scanner.rs similarity index 91% rename from mithril-common/src/cardano_transaction_parser.rs rename to mithril-common/src/cardano_block_scanner.rs index 913361d93d..bd8faf2ea4 100644 --- a/mithril-common/src/cardano_transaction_parser.rs +++ b/mithril-common/src/cardano_block_scanner.rs @@ -22,17 +22,17 @@ use tokio::sync::RwLock; /// mod test { /// use anyhow::anyhow; /// use async_trait::async_trait; -/// use mithril_common::cardano_transaction_parser::TransactionParser; +/// use mithril_common::cardano_block_scanner::BlockScanner; /// use mithril_common::entities::{CardanoDbBeacon, CardanoTransaction, ImmutableFileNumber}; /// use mithril_common::StdResult; /// use mockall::mock; /// use std::path::Path; /// /// mock! { -/// pub TransactionParserImpl { } +/// pub BlockScannerImpl { } /// /// #[async_trait] -/// impl TransactionParser for TransactionParserImpl { +/// impl BlockScanner for BlockScannerImpl { /// async fn parse( /// &self, /// dirpath: &Path, @@ -44,7 +44,7 @@ use tokio::sync::RwLock; /// /// #[test] /// fn test_mock() { -/// let mut mock = MockTransactionParserImpl::new(); +/// let mut mock = MockBlockScannerImpl::new(); /// mock.expect_parse().return_once(|_, _| { /// Err(anyhow!("parse error")) /// }); @@ -52,7 +52,7 @@ use tokio::sync::RwLock; /// } /// ``` #[async_trait] -pub trait TransactionParser: Sync + Send { +pub trait BlockScanner: Sync + Send { /// Parse the transactions async fn parse( &self, @@ -63,11 +63,11 @@ pub trait TransactionParser: Sync + Send { } /// Dumb transaction parser -pub struct DumbTransactionParser { +pub struct DumbBlockScanner { transactions: RwLock>, } -impl DumbTransactionParser { +impl DumbBlockScanner { /// Factory pub fn new(transactions: Vec) -> Self { Self { @@ -83,7 +83,7 @@ impl DumbTransactionParser { } #[async_trait] -impl TransactionParser for DumbTransactionParser { +impl BlockScanner for DumbBlockScanner { async fn parse( &self, _dirpath: &Path, @@ -120,7 +120,7 @@ impl Block { } /// Cardano transaction parser -pub struct CardanoTransactionParser { +pub struct CardanoBlockScanner { logger: Logger, /// When set to true, no error is returned in case of unparsable block, and an error log is written instead. /// This can occur when the crate 'pallas-hardano' doesn't support some non final encoding for a Cardano era. @@ -128,7 +128,7 @@ pub struct CardanoTransactionParser { allow_unparsable_block: bool, } -impl CardanoTransactionParser { +impl CardanoBlockScanner { /// Factory pub fn new(logger: Logger, allow_unparsable_block: bool) -> Self { Self { @@ -142,8 +142,7 @@ impl CardanoTransactionParser { &self, immutable_file: &ImmutableFile, ) -> StdResult> { - let cardano_blocks_reader = - CardanoTransactionParser::cardano_blocks_reader(immutable_file)?; + let cardano_blocks_reader = CardanoBlockScanner::cardano_blocks_reader(immutable_file)?; let mut blocks = Vec::new(); for parsed_block in cardano_blocks_reader { @@ -153,7 +152,7 @@ impl CardanoTransactionParser { immutable_file.path ) })?; - match CardanoTransactionParser::convert_to_block(&block, immutable_file) { + match CardanoBlockScanner::convert_to_block(&block, immutable_file) { Ok(convert_to_block) => { blocks.push(convert_to_block); } @@ -200,7 +199,7 @@ impl CardanoTransactionParser { } #[async_trait] -impl TransactionParser for CardanoTransactionParser { +impl BlockScanner for CardanoBlockScanner { async fn parse( &self, dirpath: &Path, @@ -285,7 +284,7 @@ mod tests { let until_immutable_file = 2; let tx_count: usize = immutable_files.iter().map(|(_, count)| *count).sum(); let cardano_transaction_parser = - CardanoTransactionParser::new(Logger::root(slog::Discard, slog::o!()), false); + CardanoBlockScanner::new(Logger::root(slog::Discard, slog::o!()), false); let transactions = cardano_transaction_parser .parse(db_path, None, until_immutable_file) @@ -305,7 +304,7 @@ mod tests { let until_immutable_file = 2; let tx_count: usize = immutable_files.iter().map(|(_, count)| *count).sum(); let cardano_transaction_parser = - CardanoTransactionParser::new(Logger::root(slog::Discard, slog::o!()), false); + CardanoBlockScanner::new(Logger::root(slog::Discard, slog::o!()), false); let transactions = cardano_transaction_parser .parse(db_path, Some(2), until_immutable_file) @@ -320,7 +319,7 @@ mod tests { let db_path = Path::new("../mithril-test-lab/test_data/parsing_error/immutable/"); let until_immutable_file = 4831; let cardano_transaction_parser = - CardanoTransactionParser::new(Logger::root(slog::Discard, slog::o!()), false); + CardanoBlockScanner::new(Logger::root(slog::Discard, slog::o!()), false); let result = cardano_transaction_parser .parse(db_path, None, until_immutable_file) @@ -341,7 +340,7 @@ mod tests { // We create a block to drop the logger and force a flush before we read the log file. { let cardano_transaction_parser = - CardanoTransactionParser::new(create_file_logger(&filepath), true); + CardanoBlockScanner::new(create_file_logger(&filepath), true); cardano_transaction_parser .parse(db_path, None, until_immutable_file) @@ -363,7 +362,7 @@ mod tests { let until_immutable_file = 1; let tx_count: usize = immutable_files.iter().map(|(_, count)| *count).sum(); let cardano_transaction_parser = - CardanoTransactionParser::new(Logger::root(slog::Discard, slog::o!()), false); + CardanoBlockScanner::new(Logger::root(slog::Discard, slog::o!()), false); let transactions = cardano_transaction_parser .parse(db_path, None, until_immutable_file) diff --git a/mithril-common/src/lib.rs b/mithril-common/src/lib.rs index abcaa7923b..6fb6924cfc 100644 --- a/mithril-common/src/lib.rs +++ b/mithril-common/src/lib.rs @@ -68,7 +68,7 @@ cfg_test_tools! { cfg_fs! { mod time_point_provider; pub mod digesters; - pub mod cardano_transaction_parser; + pub mod cardano_block_scanner; pub use time_point_provider::{TimePointProvider, TimePointProviderImpl}; } diff --git a/mithril-signer/src/cardano_transactions_importer.rs b/mithril-signer/src/cardano_transactions_importer.rs index 79ffe26cbd..89fcc09a56 100644 --- a/mithril-signer/src/cardano_transactions_importer.rs +++ b/mithril-signer/src/cardano_transactions_importer.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use async_trait::async_trait; use slog::{debug, Logger}; -use mithril_common::cardano_transaction_parser::TransactionParser; +use mithril_common::cardano_block_scanner::BlockScanner; use mithril_common::crypto_helper::{MKMapNode, MKTree, MKTreeNode}; use mithril_common::entities::{BlockRange, CardanoTransaction, ImmutableFileNumber}; use mithril_common::signable_builder::TransactionsImporter; @@ -35,7 +35,7 @@ pub trait TransactionStore: Send + Sync { /// Import and store [CardanoTransaction]. pub struct CardanoTransactionsImporter { - transaction_parser: Arc, + block_scanner: Arc, transaction_store: Arc, logger: Logger, rescan_offset: Option, @@ -49,14 +49,14 @@ impl CardanoTransactionsImporter { /// immutables starting after the highest immutable known in the store. /// This is useful when one of the last immutable was not full scanned. pub fn new( - transaction_parser: Arc, + block_scanner: Arc, transaction_store: Arc, dirpath: &Path, rescan_offset: Option, logger: Logger, ) -> Self { Self { - transaction_parser, + block_scanner, transaction_store, logger, rescan_offset, @@ -89,10 +89,7 @@ impl CardanoTransactionsImporter { return Ok(()); } - let parsed_transactions = self - .transaction_parser - .parse(&self.dirpath, from, until) - .await?; + let parsed_transactions = self.block_scanner.parse(&self.dirpath, from, until).await?; debug!( self.logger, "TransactionsImporter retrieved '{}' Cardano transactions between immutables '{}' and '{until}'", @@ -173,10 +170,10 @@ mod tests { use super::*; mock! { - pub TransactionParserImpl { } + pub BlockScannerImpl { } #[async_trait] - impl TransactionParser for TransactionParserImpl { + impl BlockScanner for BlockScannerImpl { async fn parse( &self, dirpath: &Path, @@ -187,16 +184,16 @@ mod tests { } fn build_importer( - parser_mock_config: TParser, + scanner_mock_config: TParser, store_mock_config: TStore, ) -> CardanoTransactionsImporter where - TParser: FnOnce(&mut MockTransactionParserImpl), + TParser: FnOnce(&mut MockBlockScannerImpl), TStore: FnOnce(&mut MockTransactionStore), { let db_path = Path::new(""); - let mut parser = MockTransactionParserImpl::new(); - parser_mock_config(&mut parser); + let mut parser = MockBlockScannerImpl::new(); + scanner_mock_config(&mut parser); let mut store = MockTransactionStore::new(); store.expect_get_up_to().returning(|_| Ok(vec![])); @@ -236,9 +233,9 @@ mod tests { let up_to_beacon = 12; let importer = build_importer( - |parser_mock| { + |scanner_mock| { let parsed_transactions = transactions.clone(); - parser_mock + scanner_mock .expect_parse() .withf(move |_, from, until| from.is_none() && until == &up_to_beacon) .return_once(move |_, _, _| Ok(parsed_transactions)); @@ -272,8 +269,8 @@ mod tests { let up_to_beacon = 12; let importer = build_importer( - |parser_mock| { - parser_mock.expect_parse().never(); + |scanner_mock| { + scanner_mock.expect_parse().never(); }, |store_mock| { store_mock @@ -305,9 +302,9 @@ mod tests { let up_to_beacon = 14; let importer = build_importer( - |parser_mock| { + |scanner_mock| { let parsed_transactions = transactions[2..=3].to_vec(); - parser_mock + scanner_mock .expect_parse() .withf(move |_, from, until| from == &Some(13) && until == &up_to_beacon) .return_once(move |_, _, _| Ok(parsed_transactions)); @@ -348,13 +345,13 @@ mod tests { let importer = { let connection = cardano_tx_db_connection().unwrap(); let parsed_transactions = transactions.clone(); - let mut parser = MockTransactionParserImpl::new(); - parser + let mut scanner = MockBlockScannerImpl::new(); + scanner .expect_parse() .return_once(move |_, _, _| Ok(parsed_transactions)); CardanoTransactionsImporter::new( - Arc::new(parser), + Arc::new(scanner), Arc::new(CardanoTransactionRepository::new(Arc::new(connection))), Path::new(""), None, @@ -388,7 +385,7 @@ mod tests { .returning(move || Ok(Some(highest_stored_beacon))); CardanoTransactionsImporter::new( - Arc::new(MockTransactionParserImpl::new()), + Arc::new(MockBlockScannerImpl::new()), Arc::new(store), Path::new(""), Some(rescan_offset as usize), diff --git a/mithril-signer/src/runtime/runner.rs b/mithril-signer/src/runtime/runner.rs index 3c6850295f..20dbe5855f 100644 --- a/mithril-signer/src/runtime/runner.rs +++ b/mithril-signer/src/runtime/runner.rs @@ -454,7 +454,7 @@ impl Runner for SignerRunner { mod tests { use mithril_common::{ api_version::APIVersionProvider, - cardano_transaction_parser::DumbTransactionParser, + cardano_block_scanner::DumbBlockScanner, chain_observer::{ChainObserver, FakeObserver}, crypto_helper::ProtocolInitializer, digesters::{DumbImmutableDigester, DumbImmutableFileObserver}, @@ -534,7 +534,7 @@ mod tests { )); let mithril_stake_distribution_signable_builder = Arc::new(MithrilStakeDistributionSignableBuilder::default()); - let transaction_parser = Arc::new(DumbTransactionParser::new(vec![])); + let transaction_parser = Arc::new(DumbBlockScanner::new(vec![])); let transaction_store = Arc::new(MockTransactionStore::new()); let transaction_importer = Arc::new(CardanoTransactionsImporter::new( transaction_parser.clone(), diff --git a/mithril-signer/src/runtime/signer_services.rs b/mithril-signer/src/runtime/signer_services.rs index 70250f7022..d21f2857cf 100644 --- a/mithril-signer/src/runtime/signer_services.rs +++ b/mithril-signer/src/runtime/signer_services.rs @@ -4,7 +4,7 @@ use std::{fs, sync::Arc, time::Duration}; use mithril_common::{ api_version::APIVersionProvider, - cardano_transaction_parser::CardanoTransactionParser, + cardano_block_scanner::CardanoBlockScanner, chain_observer::{CardanoCliRunner, ChainObserver, ChainObserverBuilder, ChainObserverType}, crypto_helper::{OpCert, ProtocolPartyId, SerDeShelleyFileFormat}, digesters::{ @@ -259,7 +259,7 @@ impl<'a> ServiceBuilder for ProductionServiceBuilder<'a> { Arc::new(MithrilStakeDistributionSignableBuilder::default()); // TODO: 'allow_unparsable_block' parameter should be configurable let allow_unparsable_block = false; - let transaction_parser = Arc::new(CardanoTransactionParser::new( + let block_scanner = Arc::new(CardanoBlockScanner::new( slog_scope::logger(), allow_unparsable_block, )); @@ -267,7 +267,7 @@ impl<'a> ServiceBuilder for ProductionServiceBuilder<'a> { transaction_sqlite_connection, )); let transactions_importer = CardanoTransactionsImporter::new( - transaction_parser, + block_scanner, transaction_store, &self.config.db_directory, // Rescan the last immutable when importing transactions, it may have been partially imported diff --git a/mithril-signer/tests/test_extensions/state_machine_tester.rs b/mithril-signer/tests/test_extensions/state_machine_tester.rs index 39df27a2e5..db13371a0c 100644 --- a/mithril-signer/tests/test_extensions/state_machine_tester.rs +++ b/mithril-signer/tests/test_extensions/state_machine_tester.rs @@ -7,7 +7,7 @@ use thiserror::Error; use mithril_common::{ api_version::APIVersionProvider, - cardano_transaction_parser::DumbTransactionParser, + cardano_block_scanner::DumbBlockScanner, chain_observer::{ChainObserver, FakeObserver}, digesters::{DumbImmutableDigester, DumbImmutableFileObserver, ImmutableFileObserver}, entities::{Epoch, SignerWithStake, TimePoint}, @@ -150,7 +150,7 @@ impl StateMachineTester { )); let mithril_stake_distribution_signable_builder = Arc::new(MithrilStakeDistributionSignableBuilder::default()); - let transaction_parser = Arc::new(DumbTransactionParser::new(vec![])); + let transaction_parser = Arc::new(DumbBlockScanner::new(vec![])); let transaction_store = Arc::new(CardanoTransactionRepository::new( transaction_sqlite_connection, ));