Skip to content

Commit

Permalink
chore: wire 'BlockRangeRootRetriever' in signer
Browse files Browse the repository at this point in the history
  • Loading branch information
jpraynaud committed Apr 29, 2024
1 parent 6c3e222 commit 7fabf15
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 5 deletions.
28 changes: 24 additions & 4 deletions mithril-signer/src/runtime/runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -456,16 +456,17 @@ mod tests {
api_version::APIVersionProvider,
cardano_block_scanner::DumbBlockScanner,
chain_observer::{ChainObserver, FakeObserver},
crypto_helper::ProtocolInitializer,
crypto_helper::{MKMap, MKMapNode, MKTreeNode, ProtocolInitializer},
digesters::{DumbImmutableDigester, DumbImmutableFileObserver},
entities::{CardanoDbBeacon, Epoch, StakeDistribution},
entities::{BlockRange, CardanoDbBeacon, Epoch, ImmutableFileNumber, StakeDistribution},
era::{
adapters::{EraReaderAdapterType, EraReaderBootstrapAdapter},
EraChecker, EraReader,
},
signable_builder::{
CardanoImmutableFilesFullSignableBuilder, CardanoTransactionsSignableBuilder,
MithrilSignableBuilderService, MithrilStakeDistributionSignableBuilder,
BlockRangeRootRetriever, CardanoImmutableFilesFullSignableBuilder,
CardanoTransactionsSignableBuilder, MithrilSignableBuilderService,
MithrilStakeDistributionSignableBuilder,
},
test_utils::{fake_data, MithrilFixtureBuilder},
TimePointProvider, TimePointProviderImpl,
Expand Down Expand Up @@ -497,6 +498,23 @@ mod tests {
}
}

mock! {
pub BlockRangeRootRetrieverImpl { }

#[async_trait]
impl BlockRangeRootRetriever for BlockRangeRootRetrieverImpl {
async fn retrieve_block_range_roots(
&self,
up_to_beacon: ImmutableFileNumber,
) -> StdResult<Box<dyn Iterator<Item = (BlockRange, MKTreeNode)>>>;

async fn compute_merkle_map_from_block_range_roots(
&self,
up_to_beacon: ImmutableFileNumber,
) -> StdResult<MKMap<BlockRange, MKMapNode<BlockRange>>>;
}
}

async fn init_services() -> SignerServices {
let adapter: MemoryAdapter<Epoch, ProtocolInitializer> = MemoryAdapter::new(None).unwrap();
let stake_distribution_signers = fake_data::signers_with_stakes(2);
Expand Down Expand Up @@ -543,8 +561,10 @@ mod tests {
None,
slog_scope::logger(),
));
let block_range_root_retriever = Arc::new(MockBlockRangeRootRetrieverImpl::new());
let cardano_transactions_builder = Arc::new(CardanoTransactionsSignableBuilder::new(
transaction_importer,
block_range_root_retriever,
slog_scope::logger(),
));
let signable_builder_service = Arc::new(MithrilSignableBuilderService::new(
Expand Down
4 changes: 3 additions & 1 deletion mithril-signer/src/runtime/signer_services.rs
Original file line number Diff line number Diff line change
Expand Up @@ -268,14 +268,16 @@ impl<'a> ServiceBuilder for ProductionServiceBuilder<'a> {
));
let transactions_importer = CardanoTransactionsImporter::new(
block_scanner,
transaction_store,
transaction_store.clone(),
&self.config.db_directory,
// Rescan the last immutable when importing transactions, it may have been partially imported
Some(1),
slog_scope::logger(),
);
let block_range_root_retriever = transaction_store.clone();
let cardano_transactions_builder = Arc::new(CardanoTransactionsSignableBuilder::new(
Arc::new(transactions_importer),
block_range_root_retriever,
slog_scope::logger(),
));
let signable_builder_service = Arc::new(MithrilSignableBuilderService::new(
Expand Down
2 changes: 2 additions & 0 deletions mithril-signer/tests/test_extensions/state_machine_tester.rs
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,10 @@ impl StateMachineTester {
None,
slog_scope::logger(),
));
let block_range_root_retriever = transaction_store.clone();
let cardano_transactions_builder = Arc::new(CardanoTransactionsSignableBuilder::new(
transaction_importer,
block_range_root_retriever,
slog_scope::logger(),
));
let signable_builder_service = Arc::new(MithrilSignableBuilderService::new(
Expand Down

0 comments on commit 7fabf15

Please sign in to comment.