Skip to content

Commit 3751bb7

Browse files
committed
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.
1 parent 69f1ed8 commit 3751bb7

File tree

9 files changed

+88
-96
lines changed

9 files changed

+88
-96
lines changed

mithril-aggregator/src/dependency_injection/builder.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use warp::Filter;
1313

1414
use mithril_common::{
1515
api_version::APIVersionProvider,
16-
cardano_transaction_parser::{CardanoTransactionParser, TransactionParser},
16+
cardano_block_scanner::{BlockScanner, CardanoBlockScanner},
1717
certificate_chain::{CertificateVerifier, MithrilCertificateVerifier},
1818
chain_observer::{CardanoCliRunner, ChainObserver, ChainObserverBuilder, FakeObserver},
1919
crypto_helper::{
@@ -137,7 +137,7 @@ pub struct DependenciesBuilder {
137137
pub transaction_store: Option<Arc<dyn TransactionStore>>,
138138

139139
/// Cardano transactions parser.
140-
pub transaction_parser: Option<Arc<dyn TransactionParser>>,
140+
pub block_scanner: Option<Arc<dyn BlockScanner>>,
141141

142142
/// Immutable file digester service.
143143
pub immutable_digester: Option<Arc<dyn ImmutableDigester>>,
@@ -233,7 +233,7 @@ impl DependenciesBuilder {
233233
cardano_cli_runner: None,
234234
chain_observer: None,
235235
time_point_provider: None,
236-
transaction_parser: None,
236+
block_scanner: None,
237237
transaction_repository: None,
238238
transaction_store: None,
239239
immutable_digester: None,
@@ -713,24 +713,24 @@ impl DependenciesBuilder {
713713
Ok(self.transaction_store.as_ref().cloned().unwrap())
714714
}
715715

716-
async fn build_transaction_parser(&mut self) -> Result<Arc<dyn TransactionParser>> {
717-
let transaction_parser = CardanoTransactionParser::new(
716+
async fn build_block_scanner(&mut self) -> Result<Arc<dyn BlockScanner>> {
717+
let block_scanner = CardanoBlockScanner::new(
718718
self.get_logger().await?,
719719
self.configuration
720720
.get_network()?
721721
.compute_allow_unparsable_block(self.configuration.allow_unparsable_block)?,
722722
);
723723

724-
Ok(Arc::new(transaction_parser))
724+
Ok(Arc::new(block_scanner))
725725
}
726726

727727
/// Transaction parser.
728-
pub async fn get_transaction_parser(&mut self) -> Result<Arc<dyn TransactionParser>> {
729-
if self.transaction_parser.is_none() {
730-
self.transaction_parser = Some(self.build_transaction_parser().await?);
728+
pub async fn get_block_scanner(&mut self) -> Result<Arc<dyn BlockScanner>> {
729+
if self.block_scanner.is_none() {
730+
self.block_scanner = Some(self.build_block_scanner().await?);
731731
}
732732

733-
Ok(self.transaction_parser.as_ref().cloned().unwrap())
733+
Ok(self.block_scanner.as_ref().cloned().unwrap())
734734
}
735735

736736
async fn build_immutable_digester(&mut self) -> Result<Arc<dyn ImmutableDigester>> {
@@ -1055,7 +1055,7 @@ impl DependenciesBuilder {
10551055
self.get_logger().await?,
10561056
));
10571057
let transactions_importer = Arc::new(CardanoTransactionsImporter::new(
1058-
self.get_transaction_parser().await?,
1058+
self.get_block_scanner().await?,
10591059
self.get_transaction_store().await?,
10601060
&self.configuration.db_directory,
10611061
// Rescan the last immutable when importing transactions, it may have been partially imported
@@ -1198,7 +1198,7 @@ impl DependenciesBuilder {
11981198
signed_entity_storer: self.get_signed_entity_storer().await?,
11991199
signer_getter: self.get_signer_store().await?,
12001200
message_service: self.get_message_service().await?,
1201-
transaction_parser: self.get_transaction_parser().await?,
1201+
transaction_parser: self.get_block_scanner().await?,
12021202
transaction_store: self.get_transaction_store().await?,
12031203
prover_service: self.get_prover_service().await?,
12041204
};

mithril-aggregator/src/dependency_injection/containers.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use tokio::sync::RwLock;
33

44
use mithril_common::{
55
api_version::APIVersionProvider,
6-
cardano_transaction_parser::TransactionParser,
6+
cardano_block_scanner::BlockScanner,
77
certificate_chain::CertificateVerifier,
88
chain_observer::ChainObserver,
99
crypto_helper::ProtocolGenesisVerifier,
@@ -88,7 +88,7 @@ pub struct DependencyContainer {
8888
pub transaction_store: Arc<dyn TransactionStore>,
8989

9090
/// Cardano transactions parser.
91-
pub transaction_parser: Arc<dyn TransactionParser>,
91+
pub transaction_parser: Arc<dyn BlockScanner>,
9292

9393
/// Immutable file observer service.
9494
pub immutable_file_observer: Arc<dyn ImmutableFileObserver>,

mithril-aggregator/src/services/cardano_transactions_importer.rs

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use async_trait::async_trait;
66
use mockall::automock;
77
use slog::{debug, Logger};
88

9-
use mithril_common::cardano_transaction_parser::TransactionParser;
9+
use mithril_common::cardano_block_scanner::BlockScanner;
1010
use mithril_common::entities::{CardanoTransaction, ImmutableFileNumber};
1111
use mithril_common::signable_builder::TransactionsImporter;
1212
use mithril_common::StdResult;
@@ -30,7 +30,7 @@ pub trait TransactionStore: Send + Sync {
3030

3131
/// Import and store [CardanoTransaction].
3232
pub struct CardanoTransactionsImporter {
33-
transaction_parser: Arc<dyn TransactionParser>,
33+
block_scanner: Arc<dyn BlockScanner>,
3434
transaction_store: Arc<dyn TransactionStore>,
3535
logger: Logger,
3636
rescan_offset: Option<usize>,
@@ -44,14 +44,14 @@ impl CardanoTransactionsImporter {
4444
/// immutables starting after the highest immutable known in the store.
4545
/// This is useful when one of the last immutable was not full scanned.
4646
pub fn new(
47-
transaction_parser: Arc<dyn TransactionParser>,
47+
block_scanner: Arc<dyn BlockScanner>,
4848
transaction_store: Arc<dyn TransactionStore>,
4949
dirpath: &Path,
5050
rescan_offset: Option<usize>,
5151
logger: Logger,
5252
) -> Self {
5353
Self {
54-
transaction_parser,
54+
block_scanner,
5555
transaction_store,
5656
logger,
5757
rescan_offset,
@@ -79,10 +79,7 @@ impl CardanoTransactionsImporter {
7979
return Ok(());
8080
}
8181

82-
let parsed_transactions = self
83-
.transaction_parser
84-
.parse(&self.dirpath, from, until)
85-
.await?;
82+
let parsed_transactions = self.block_scanner.parse(&self.dirpath, from, until).await?;
8683
debug!(
8784
self.logger,
8885
"TransactionsImporter retrieved '{}' Cardano transactions between immutables '{}' and '{until}'",
@@ -123,10 +120,10 @@ mod tests {
123120
use super::*;
124121

125122
mock! {
126-
pub TransactionParserImpl { }
123+
pub BlockScannerImpl { }
127124

128125
#[async_trait]
129-
impl TransactionParser for TransactionParserImpl {
126+
impl BlockScanner for BlockScannerImpl {
130127
async fn parse(
131128
&self,
132129
dirpath: &Path,
@@ -137,19 +134,19 @@ mod tests {
137134
}
138135

139136
fn build_importer(
140-
parser_mock_config: &dyn Fn(&mut MockTransactionParserImpl),
137+
scanner_mock_config: &dyn Fn(&mut MockBlockScannerImpl),
141138
store_mock_config: &dyn Fn(&mut MockTransactionStore),
142139
) -> CardanoTransactionsImporter {
143140
let db_path = Path::new("");
144-
let mut parser = MockTransactionParserImpl::new();
145-
parser_mock_config(&mut parser);
141+
let mut scanner = MockBlockScannerImpl::new();
142+
scanner_mock_config(&mut scanner);
146143

147144
let mut store = MockTransactionStore::new();
148145
store.expect_get_up_to().returning(|_| Ok(vec![]));
149146
store_mock_config(&mut store);
150147

151148
CardanoTransactionsImporter::new(
152-
Arc::new(parser),
149+
Arc::new(scanner),
153150
Arc::new(store),
154151
db_path,
155152
None,
@@ -168,9 +165,9 @@ mod tests {
168165
let up_to_beacon = 12;
169166

170167
let importer = build_importer(
171-
&|parser_mock| {
168+
&|scanner_mock| {
172169
let parsed_transactions = transactions.clone();
173-
parser_mock
170+
scanner_mock
174171
.expect_parse()
175172
.withf(move |_, from, until| from.is_none() && until == &up_to_beacon)
176173
.return_once(move |_, _, _| Ok(parsed_transactions));
@@ -199,8 +196,8 @@ mod tests {
199196
let up_to_beacon = 12;
200197

201198
let importer = build_importer(
202-
&|parser_mock| {
203-
parser_mock.expect_parse().never();
199+
&|scanner_mock| {
200+
scanner_mock.expect_parse().never();
204201
},
205202
&|store_mock| {
206203
store_mock
@@ -227,9 +224,9 @@ mod tests {
227224
let up_to_beacon = 14;
228225

229226
let importer = build_importer(
230-
&|parser_mock| {
227+
&|scanner_mock| {
231228
let parsed_transactions = transactions[2..=3].to_vec();
232-
parser_mock
229+
scanner_mock
233230
.expect_parse()
234231
.withf(move |_, from, until| from == &Some(13) && until == &up_to_beacon)
235232
.return_once(move |_, _, _| Ok(parsed_transactions));
@@ -265,13 +262,13 @@ mod tests {
265262
let importer = {
266263
let connection = cardano_tx_db_connection().unwrap();
267264
let parsed_transactions = transactions.clone();
268-
let mut parser = MockTransactionParserImpl::new();
269-
parser
265+
let mut scanner = MockBlockScannerImpl::new();
266+
scanner
270267
.expect_parse()
271268
.return_once(move |_, _, _| Ok(parsed_transactions));
272269

273270
CardanoTransactionsImporter::new(
274-
Arc::new(parser),
271+
Arc::new(scanner),
275272
Arc::new(CardanoTransactionRepository::new(Arc::new(connection))),
276273
Path::new(""),
277274
None,
@@ -305,7 +302,7 @@ mod tests {
305302
.returning(move || Ok(Some(highest_stored_beacon)));
306303

307304
CardanoTransactionsImporter::new(
308-
Arc::new(MockTransactionParserImpl::new()),
305+
Arc::new(MockBlockScannerImpl::new()),
309306
Arc::new(store),
310307
Path::new(""),
311308
Some(rescan_offset as usize),

0 commit comments

Comments
 (0)