Skip to content

Commit 0dfb936

Browse files
committed
chore: wire 'BlockRangeRootRetriever' in signer
1 parent 08a6495 commit 0dfb936

File tree

3 files changed

+29
-5
lines changed

3 files changed

+29
-5
lines changed

mithril-signer/src/runtime/runner.rs

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -456,16 +456,17 @@ mod tests {
456456
api_version::APIVersionProvider,
457457
cardano_block_scanner::DumbBlockScanner,
458458
chain_observer::{ChainObserver, FakeObserver},
459-
crypto_helper::ProtocolInitializer,
459+
crypto_helper::{MKMap, MKMapNode, MKTreeNode, ProtocolInitializer},
460460
digesters::{DumbImmutableDigester, DumbImmutableFileObserver},
461-
entities::{CardanoDbBeacon, Epoch, StakeDistribution},
461+
entities::{BlockRange, CardanoDbBeacon, Epoch, ImmutableFileNumber, StakeDistribution},
462462
era::{
463463
adapters::{EraReaderAdapterType, EraReaderBootstrapAdapter},
464464
EraChecker, EraReader,
465465
},
466466
signable_builder::{
467-
CardanoImmutableFilesFullSignableBuilder, CardanoTransactionsSignableBuilder,
468-
MithrilSignableBuilderService, MithrilStakeDistributionSignableBuilder,
467+
BlockRangeRootRetriever, CardanoImmutableFilesFullSignableBuilder,
468+
CardanoTransactionsSignableBuilder, MithrilSignableBuilderService,
469+
MithrilStakeDistributionSignableBuilder,
469470
},
470471
test_utils::{fake_data, MithrilFixtureBuilder},
471472
TimePointProvider, TimePointProviderImpl,
@@ -497,6 +498,23 @@ mod tests {
497498
}
498499
}
499500

501+
mock! {
502+
pub BlockRangeRootRetrieverImpl { }
503+
504+
#[async_trait]
505+
impl BlockRangeRootRetriever for BlockRangeRootRetrieverImpl {
506+
async fn retrieve_block_range_roots(
507+
&self,
508+
up_to_beacon: ImmutableFileNumber,
509+
) -> StdResult<Box<dyn Iterator<Item = (BlockRange, MKTreeNode)>>>;
510+
511+
async fn compute_merkle_map_from_block_range_roots(
512+
&self,
513+
up_to_beacon: ImmutableFileNumber,
514+
) -> StdResult<MKMap<BlockRange, MKMapNode<BlockRange>>>;
515+
}
516+
}
517+
500518
async fn init_services() -> SignerServices {
501519
let adapter: MemoryAdapter<Epoch, ProtocolInitializer> = MemoryAdapter::new(None).unwrap();
502520
let stake_distribution_signers = fake_data::signers_with_stakes(2);
@@ -543,8 +561,10 @@ mod tests {
543561
None,
544562
slog_scope::logger(),
545563
));
564+
let block_range_root_retriever = Arc::new(MockBlockRangeRootRetrieverImpl::new());
546565
let cardano_transactions_builder = Arc::new(CardanoTransactionsSignableBuilder::new(
547566
transaction_importer,
567+
block_range_root_retriever,
548568
slog_scope::logger(),
549569
));
550570
let signable_builder_service = Arc::new(MithrilSignableBuilderService::new(

mithril-signer/src/runtime/signer_services.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,14 +268,16 @@ impl<'a> ServiceBuilder for ProductionServiceBuilder<'a> {
268268
));
269269
let transactions_importer = CardanoTransactionsImporter::new(
270270
block_scanner,
271-
transaction_store,
271+
transaction_store.clone(),
272272
&self.config.db_directory,
273273
// Rescan the last immutable when importing transactions, it may have been partially imported
274274
Some(1),
275275
slog_scope::logger(),
276276
);
277+
let block_range_root_retriever = transaction_store.clone();
277278
let cardano_transactions_builder = Arc::new(CardanoTransactionsSignableBuilder::new(
278279
Arc::new(transactions_importer),
280+
block_range_root_retriever,
279281
slog_scope::logger(),
280282
));
281283
let signable_builder_service = Arc::new(MithrilSignableBuilderService::new(

mithril-signer/tests/test_extensions/state_machine_tester.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,10 @@ impl StateMachineTester {
161161
None,
162162
slog_scope::logger(),
163163
));
164+
let block_range_root_retriever = transaction_store.clone();
164165
let cardano_transactions_builder = Arc::new(CardanoTransactionsSignableBuilder::new(
165166
transaction_importer,
167+
block_range_root_retriever,
166168
slog_scope::logger(),
167169
));
168170
let signable_builder_service = Arc::new(MithrilSignableBuilderService::new(

0 commit comments

Comments
 (0)