pub struct DependenciesBuilder {Show 59 fields
pub configuration: Arc<dyn ConfigurationSource>,
pub root_logger: Logger,
pub sqlite_connection: Option<Arc<SqliteConnection>>,
pub sqlite_connection_event_store: Option<Arc<SqliteConnection>>,
pub sqlite_connection_cardano_transaction_pool: Option<Arc<SqliteConnectionPool>>,
pub stake_store: Option<Arc<StakePoolStore>>,
pub snapshot_uploader: Option<Arc<dyn FileUploader>>,
pub multi_signer: Option<Arc<dyn MultiSigner>>,
pub certificate_repository: Option<Arc<CertificateRepository>>,
pub open_message_repository: Option<Arc<OpenMessageRepository>>,
pub verification_key_store: Option<Arc<dyn VerificationKeyStorer>>,
pub epoch_settings_store: Option<Arc<EpochSettingsStore>>,
pub cardano_cli_runner: Option<Box<CardanoCliRunner>>,
pub chain_observer: Option<Arc<dyn ChainObserver>>,
pub chain_block_reader: Option<Arc<Mutex<dyn ChainBlockReader>>>,
pub transaction_repository: Option<Arc<CardanoTransactionRepository>>,
pub block_scanner: Option<Arc<dyn BlockScanner>>,
pub immutable_digester: Option<Arc<dyn ImmutableDigester>>,
pub immutable_file_observer: Option<Arc<dyn ImmutableFileObserver>>,
pub immutable_cache_provider: Option<Arc<dyn ImmutableFileDigestCacheProvider>>,
pub immutable_file_digest_mapper: Option<Arc<dyn ImmutableFileDigestMapper>>,
pub digester: Option<Arc<dyn ImmutableDigester>>,
pub file_archiver: Option<Arc<FileArchiver>>,
pub snapshotter: Option<Arc<dyn Snapshotter>>,
pub certificate_verifier: Option<Arc<dyn CertificateVerifier>>,
pub genesis_verifier: Option<Arc<ProtocolGenesisVerifier>>,
pub certificate_chain_synchronizer: Option<Arc<dyn CertificateChainSynchronizer>>,
pub mithril_signer_registration_leader: Option<Arc<MithrilSignerRegistrationLeader>>,
pub mithril_signer_registration_follower: Option<Arc<MithrilSignerRegistrationFollower>>,
pub signer_registerer: Option<Arc<dyn SignerRegisterer>>,
pub signer_synchronizer: Option<Arc<dyn SignerSynchronizer>>,
pub signer_registration_verifier: Option<Arc<dyn SignerRegistrationVerifier>>,
pub signer_registration_round_opener: Option<Arc<dyn SignerRegistrationRoundOpener>>,
pub era_checker: Option<Arc<EraChecker>>,
pub era_reader_adapter: Option<Arc<dyn EraReaderAdapter>>,
pub era_reader: Option<Arc<EraReader>>,
pub event_transmitter: Option<Arc<TransmitterService<EventMessage>>>,
pub event_transmitter_channel: (Option<UnboundedReceiver<EventMessage>>, Option<UnboundedSender<EventMessage>>),
pub api_version_provider: Option<Arc<APIVersionProvider>>,
pub stake_distribution_service: Option<Arc<dyn StakeDistributionService>>,
pub ticker_service: Option<Arc<dyn TickerService>>,
pub signer_store: Option<Arc<SignerStore>>,
pub signable_seed_builder: Option<Arc<dyn SignableSeedBuilder>>,
pub signable_builder_service: Option<Arc<dyn SignableBuilderService>>,
pub signed_entity_service: Option<Arc<dyn SignedEntityService>>,
pub certifier_service: Option<Arc<dyn CertifierService>>,
pub epoch_service: Option<EpochServiceWrapper>,
pub mithril_network_configuration_provider: Option<Arc<dyn MithrilNetworkConfigurationProvider>>,
pub signed_entity_storer: Option<Arc<dyn SignedEntityStorer>>,
pub message_service: Option<Arc<dyn MessageService>>,
pub prover_service: Option<Arc<dyn ProverService>>,
pub signed_entity_type_lock: Option<Arc<SignedEntityTypeLock>>,
pub transactions_importer: Option<Arc<dyn TransactionsImporter>>,
pub upkeep_service: Option<Arc<dyn UpkeepService>>,
pub single_signature_authenticator: Option<Arc<SingleSignatureAuthenticator>>,
pub metrics_service: Option<Arc<MetricsService>>,
pub leader_aggregator_client: Option<Arc<AggregatorHttpClient>>,
pub protocol_parameters_retriever: Option<Arc<dyn ProtocolParametersRetriever>>,
pub stop_signal_channel: Option<(Sender<()>, Receiver<()>)>,
}Expand description
§Dependencies container builder
This is meant to create SHARED DEPENDENCIES, ie: dependencies instances that must be shared amongst several Tokio tasks. For example, database repositories are NOT shared dependencies and therefor can be created ad hoc whereas the database connection is a shared dependency.
Each shared dependency must implement a build and a get function. The
build function creates the dependency, the get function creates the
dependency at first call then return a clone of the Arc containing the
dependency for all further calls.
Fields§
§configuration: Arc<dyn ConfigurationSource>Configuration parameters
root_logger: LoggerApplication root logger
sqlite_connection: Option<Arc<SqliteConnection>>SQLite database connection
sqlite_connection_event_store: Option<Arc<SqliteConnection>>Event store SQLite database connection
sqlite_connection_cardano_transaction_pool: Option<Arc<SqliteConnectionPool>>Cardano transactions SQLite database connection pool
stake_store: Option<Arc<StakePoolStore>>Stake Store used by the StakeDistributionService It shall be a private dependency.
snapshot_uploader: Option<Arc<dyn FileUploader>>Snapshot uploader service.
multi_signer: Option<Arc<dyn MultiSigner>>Multisigner service.
certificate_repository: Option<Arc<CertificateRepository>>Certificate repository.
open_message_repository: Option<Arc<OpenMessageRepository>>Open message repository.
verification_key_store: Option<Arc<dyn VerificationKeyStorer>>Verification key store.
epoch_settings_store: Option<Arc<EpochSettingsStore>>Epoch settings store.
cardano_cli_runner: Option<Box<CardanoCliRunner>>Cardano CLI Runner for the [ChainObserver]
chain_observer: Option<Arc<dyn ChainObserver>>Chain observer service.
chain_block_reader: Option<Arc<Mutex<dyn ChainBlockReader>>>Chain block reader
transaction_repository: Option<Arc<CardanoTransactionRepository>>Cardano transactions repository.
block_scanner: Option<Arc<dyn BlockScanner>>Cardano block scanner.
immutable_digester: Option<Arc<dyn ImmutableDigester>>Immutable file digester service.
immutable_file_observer: Option<Arc<dyn ImmutableFileObserver>>Immutable file observer service.
immutable_cache_provider: Option<Arc<dyn ImmutableFileDigestCacheProvider>>Immutable cache provider service.
immutable_file_digest_mapper: Option<Arc<dyn ImmutableFileDigestMapper>>Immutable file digest mapper service.
digester: Option<Arc<dyn ImmutableDigester>>Digester service.
file_archiver: Option<Arc<FileArchiver>>File archiver service.
snapshotter: Option<Arc<dyn Snapshotter>>Snapshotter service.
certificate_verifier: Option<Arc<dyn CertificateVerifier>>Certificate verifier service.
genesis_verifier: Option<Arc<ProtocolGenesisVerifier>>Genesis signature verifier service.
certificate_chain_synchronizer: Option<Arc<dyn CertificateChainSynchronizer>>Certificate chain synchronizer service
mithril_signer_registration_leader: Option<Arc<MithrilSignerRegistrationLeader>>Mithril signer registration leader service
mithril_signer_registration_follower: Option<Arc<MithrilSignerRegistrationFollower>>Mithril signer registration follower service
signer_registerer: Option<Arc<dyn SignerRegisterer>>Signer registerer service
signer_synchronizer: Option<Arc<dyn SignerSynchronizer>>Signer synchronizer service
signer_registration_verifier: Option<Arc<dyn SignerRegistrationVerifier>>Signer registration verifier
signer_registration_round_opener: Option<Arc<dyn SignerRegistrationRoundOpener>>Signer registration round opener service
era_checker: Option<Arc<EraChecker>>Era checker service
era_reader_adapter: Option<Arc<dyn EraReaderAdapter>>Adapter for [EraReader]
era_reader: Option<Arc<EraReader>>Era reader service
event_transmitter: Option<Arc<TransmitterService<EventMessage>>>Event Transmitter Service
event_transmitter_channel: (Option<UnboundedReceiver<EventMessage>>, Option<UnboundedSender<EventMessage>>)Event transmitter Channel Sender endpoint
api_version_provider: Option<Arc<APIVersionProvider>>API Version provider
stake_distribution_service: Option<Arc<dyn StakeDistributionService>>Stake Distribution Service
ticker_service: Option<Arc<dyn TickerService>>Ticker Service
signer_store: Option<Arc<SignerStore>>Signer Store
signable_seed_builder: Option<Arc<dyn SignableSeedBuilder>>Signable Seed Builder
signable_builder_service: Option<Arc<dyn SignableBuilderService>>Signable Builder Service
signed_entity_service: Option<Arc<dyn SignedEntityService>>Signed Entity Service
certifier_service: Option<Arc<dyn CertifierService>>Certifier service
epoch_service: Option<EpochServiceWrapper>Epoch service.
mithril_network_configuration_provider: Option<Arc<dyn MithrilNetworkConfigurationProvider>>Mithril network configuration provider
signed_entity_storer: Option<Arc<dyn SignedEntityStorer>>Signed Entity storer
message_service: Option<Arc<dyn MessageService>>HTTP Message service
prover_service: Option<Arc<dyn ProverService>>Prover service
signed_entity_type_lock: Option<Arc<SignedEntityTypeLock>>Signed Entity Type Lock
transactions_importer: Option<Arc<dyn TransactionsImporter>>Transactions Importer
upkeep_service: Option<Arc<dyn UpkeepService>>Upkeep service
single_signature_authenticator: Option<Arc<SingleSignatureAuthenticator>>Single signer authenticator
metrics_service: Option<Arc<MetricsService>>Metrics service
leader_aggregator_client: Option<Arc<AggregatorHttpClient>>Leader aggregator client
protocol_parameters_retriever: Option<Arc<dyn ProtocolParametersRetriever>>Protocol parameters retriever
stop_signal_channel: Option<(Sender<()>, Receiver<()>)>Stop signal channel
Implementations§
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_chain_observer(&mut self) -> Result<Arc<dyn ChainObserver>>
pub async fn get_chain_observer(&mut self) -> Result<Arc<dyn ChainObserver>>
Return a [ChainObserver]
Sourcepub async fn get_cardano_cli_runner(&mut self) -> Result<Box<CardanoCliRunner>>
pub async fn get_cardano_cli_runner(&mut self) -> Result<Box<CardanoCliRunner>>
Return a [CardanoCliRunner]
Sourcepub async fn get_chain_block_reader(
&mut self,
) -> Result<Arc<Mutex<dyn ChainBlockReader>>>
pub async fn get_chain_block_reader( &mut self, ) -> Result<Arc<Mutex<dyn ChainBlockReader>>>
Chain reader
Sourcepub async fn get_block_scanner(&mut self) -> Result<Arc<dyn BlockScanner>>
pub async fn get_block_scanner(&mut self) -> Result<Arc<dyn BlockScanner>>
Block scanner
Sourcepub async fn get_immutable_digester(
&mut self,
) -> Result<Arc<dyn ImmutableDigester>>
pub async fn get_immutable_digester( &mut self, ) -> Result<Arc<dyn ImmutableDigester>>
Immutable digester.
Sourcepub async fn create_cardano_transactions_preloader(
&mut self,
) -> Result<Arc<CardanoTransactionsPreloader>>
pub async fn create_cardano_transactions_preloader( &mut self, ) -> Result<Arc<CardanoTransactionsPreloader>>
Create a CardanoTransactionsPreloader instance.
Sourcepub async fn get_stake_distribution_service(
&mut self,
) -> Result<Arc<dyn StakeDistributionService>>
pub async fn get_stake_distribution_service( &mut self, ) -> Result<Arc<dyn StakeDistributionService>>
StakeDistributionService service
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_epoch_service(&mut self) -> Result<EpochServiceWrapper>
pub async fn get_epoch_service(&mut self) -> Result<EpochServiceWrapper>
EpochService service
Sourcepub async fn get_mithril_network_configuration_provider(
&mut self,
) -> Result<Arc<dyn MithrilNetworkConfigurationProvider>>
pub async fn get_mithril_network_configuration_provider( &mut self, ) -> Result<Arc<dyn MithrilNetworkConfigurationProvider>>
[MithrilNetworkConfigurationProvider][mithril_protocol_config::interface::MithrilNetworkConfigurationProvider] service
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_signed_entity_type_lock(
&mut self,
) -> Result<Arc<SignedEntityTypeLock>>
pub async fn get_signed_entity_type_lock( &mut self, ) -> Result<Arc<SignedEntityTypeLock>>
Get the [SignedEntityTypeLock] instance
Sourcepub async fn build_message_service(&mut self) -> Result<Arc<dyn MessageService>>
pub async fn build_message_service(&mut self) -> Result<Arc<dyn MessageService>>
Builds HTTP message service
Sourcepub async fn get_message_service(&mut self) -> Result<Arc<dyn MessageService>>
pub async fn get_message_service(&mut self) -> Result<Arc<dyn MessageService>>
MessageService service
Sourcepub async fn build_leader_aggregator_client(
&mut self,
) -> Result<Arc<AggregatorHttpClient>>
pub async fn build_leader_aggregator_client( &mut self, ) -> Result<Arc<AggregatorHttpClient>>
Builds an [AggregatorHttpClient]
Sourcepub async fn get_leader_aggregator_client(
&mut self,
) -> Result<Arc<AggregatorHttpClient>>
pub async fn get_leader_aggregator_client( &mut self, ) -> Result<Arc<AggregatorHttpClient>>
Returns a leader [AggregatorHttpClient]
Sourcepub async fn build_signature_consumer(
&mut self,
) -> Result<Arc<dyn SignatureConsumer>>
pub async fn build_signature_consumer( &mut self, ) -> Result<Arc<dyn SignatureConsumer>>
Builds a SignatureConsumer
Sourcepub async fn create_signature_processor(
&mut self,
) -> Result<Arc<dyn SignatureProcessor>>
pub async fn create_signature_processor( &mut self, ) -> Result<Arc<dyn SignatureProcessor>>
Builds a SignatureProcessor
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn build_ticker_service(&mut self) -> Result<Arc<dyn TickerService>>
pub async fn build_ticker_service(&mut self) -> Result<Arc<dyn TickerService>>
Create TickerService instance.
Sourcepub async fn get_ticker_service(&mut self) -> Result<Arc<dyn TickerService>>
pub async fn get_ticker_service(&mut self) -> Result<Arc<dyn TickerService>>
TickerService service
Sourcepub async fn get_immutable_file_observer(
&mut self,
) -> Result<Arc<dyn ImmutableFileObserver>>
pub async fn get_immutable_file_observer( &mut self, ) -> Result<Arc<dyn ImmutableFileObserver>>
Return a [ImmutableFileObserver] instance.
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_signed_entity_service(
&mut self,
) -> Result<Arc<dyn SignedEntityService>>
pub async fn get_signed_entity_service( &mut self, ) -> Result<Arc<dyn SignedEntityService>>
SignedEntityService service
Sourcepub async fn get_snapshotter(&mut self) -> Result<Arc<dyn Snapshotter>>
pub async fn get_snapshotter(&mut self) -> Result<Arc<dyn Snapshotter>>
Snapshotter service.
Sourcepub async fn get_snapshot_uploader(&mut self) -> Result<Arc<dyn FileUploader>>
pub async fn get_snapshot_uploader(&mut self) -> Result<Arc<dyn FileUploader>>
Get a FileUploader
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn build_certifier_service(
&mut self,
) -> Result<Arc<dyn CertifierService>>
pub async fn build_certifier_service( &mut self, ) -> Result<Arc<dyn CertifierService>>
Create CertifierService service
Sourcepub async fn get_certifier_service(
&mut self,
) -> Result<Arc<dyn CertifierService>>
pub async fn get_certifier_service( &mut self, ) -> Result<Arc<dyn CertifierService>>
CertifierService service
Sourcepub async fn get_multi_signer(&mut self) -> Result<Arc<dyn MultiSigner>>
pub async fn get_multi_signer(&mut self) -> Result<Arc<dyn MultiSigner>>
Get a configured multi signer
Sourcepub async fn get_certificate_chain_synchronizer(
&mut self,
) -> Result<Arc<dyn CertificateChainSynchronizer>>
pub async fn get_certificate_chain_synchronizer( &mut self, ) -> Result<Arc<dyn CertificateChainSynchronizer>>
CertificateChainSynchronizer service
Sourcepub async fn get_certificate_verifier(
&mut self,
) -> Result<Arc<dyn CertificateVerifier>>
pub async fn get_certificate_verifier( &mut self, ) -> Result<Arc<dyn CertificateVerifier>>
CertificateVerifier service.
Sourcepub async fn get_genesis_verifier(
&mut self,
) -> Result<Arc<ProtocolGenesisVerifier>>
pub async fn get_genesis_verifier( &mut self, ) -> Result<Arc<ProtocolGenesisVerifier>>
Return a ProtocolGenesisVerifier
Sourcepub async fn get_mithril_signer_registration_leader(
&mut self,
) -> Result<Arc<MithrilSignerRegistrationLeader>>
pub async fn get_mithril_signer_registration_leader( &mut self, ) -> Result<Arc<MithrilSignerRegistrationLeader>>
Return a MithrilSignerRegistrationLeader
Sourcepub async fn get_mithril_signer_registration_follower(
&mut self,
) -> Result<Arc<MithrilSignerRegistrationFollower>>
pub async fn get_mithril_signer_registration_follower( &mut self, ) -> Result<Arc<MithrilSignerRegistrationFollower>>
Return a MithrilSignerRegistrationFollower
Sourcepub async fn get_signer_registerer(
&mut self,
) -> Result<Arc<dyn SignerRegisterer>>
pub async fn get_signer_registerer( &mut self, ) -> Result<Arc<dyn SignerRegisterer>>
Return a SignerRegisterer
Sourcepub async fn get_signer_synchronizer(
&mut self,
) -> Result<Arc<dyn SignerSynchronizer>>
pub async fn get_signer_synchronizer( &mut self, ) -> Result<Arc<dyn SignerSynchronizer>>
Return a SignerSynchronizer
Sourcepub async fn get_signer_registration_verifier(
&mut self,
) -> Result<Arc<dyn SignerRegistrationVerifier>>
pub async fn get_signer_registration_verifier( &mut self, ) -> Result<Arc<dyn SignerRegistrationVerifier>>
Return a SignerRegistrationVerifier
Sourcepub async fn get_signer_registration_round_opener(
&mut self,
) -> Result<Arc<dyn SignerRegistrationRoundOpener>>
pub async fn get_signer_registration_round_opener( &mut self, ) -> Result<Arc<dyn SignerRegistrationRoundOpener>>
Return a SignerRegistrationRoundOpener
Sourcepub async fn get_single_signature_authenticator(
&mut self,
) -> Result<Arc<SingleSignatureAuthenticator>>
pub async fn get_single_signature_authenticator( &mut self, ) -> Result<Arc<SingleSignatureAuthenticator>>
SingleSignatureAuthenticator service
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn build_prover_service(&mut self) -> Result<Arc<dyn ProverService>>
pub async fn build_prover_service(&mut self) -> Result<Arc<dyn ProverService>>
Build Prover service
Sourcepub async fn get_prover_service(&mut self) -> Result<Arc<dyn ProverService>>
pub async fn get_prover_service(&mut self) -> Result<Arc<dyn ProverService>>
ProverService service
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_signable_builder_service(
&mut self,
) -> Result<Arc<dyn SignableBuilderService>>
pub async fn get_signable_builder_service( &mut self, ) -> Result<Arc<dyn SignableBuilderService>>
SignableBuilderService service
Sourcepub async fn get_signable_seed_builder(
&mut self,
) -> Result<Arc<dyn SignableSeedBuilder>>
pub async fn get_signable_seed_builder( &mut self, ) -> Result<Arc<dyn SignableSeedBuilder>>
SignableSeedBuilder service
Sourcepub async fn get_transactions_importer(
&mut self,
) -> Result<Arc<dyn TransactionsImporter>>
pub async fn get_transactions_importer( &mut self, ) -> Result<Arc<dyn TransactionsImporter>>
Get the TransactionsImporter instance
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_api_version_provider(
&mut self,
) -> Result<Arc<APIVersionProvider>>
pub async fn get_api_version_provider( &mut self, ) -> Result<Arc<APIVersionProvider>>
APIVersionProvider service
Sourcepub async fn get_era_reader(&mut self) -> Result<Arc<EraReader>>
pub async fn get_era_reader(&mut self) -> Result<Arc<EraReader>>
[EraReader] service
Sourcepub async fn get_era_checker(&mut self) -> Result<Arc<EraChecker>>
pub async fn get_era_checker(&mut self) -> Result<Arc<EraChecker>>
[EraReader] service
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub fn root_logger(&self) -> Logger
pub fn root_logger(&self) -> Logger
Return a copy of the root logger.
Sourcepub async fn create_usage_reporter(&mut self) -> Result<UsageReporter>
pub async fn create_usage_reporter(&mut self) -> Result<UsageReporter>
Create a UsageReporter instance.
Sourcepub async fn get_metrics_service(&mut self) -> Result<Arc<MetricsService>>
pub async fn get_metrics_service(&mut self) -> Result<Arc<MetricsService>>
MetricsService service
Sourcepub async fn create_event_store(&mut self) -> Result<EventStore>
pub async fn create_event_store(&mut self) -> Result<EventStore>
Create dependencies for the EventStore task.
Sourcepub async fn get_event_transmitter_sender(
&mut self,
) -> Result<UnboundedSender<EventMessage>>
pub async fn get_event_transmitter_sender( &mut self, ) -> Result<UnboundedSender<EventMessage>>
Return the EventMessage channel sender.
Sourcepub async fn get_event_transmitter_receiver(
&mut self,
) -> Result<UnboundedReceiver<EventMessage>>
pub async fn get_event_transmitter_receiver( &mut self, ) -> Result<UnboundedReceiver<EventMessage>>
Return the channel receiver setup for the EventStore. Since this receiver is not clonable, it must be called only once.
Sourcepub async fn get_event_transmitter(
&mut self,
) -> Result<Arc<TransmitterService<EventMessage>>>
pub async fn get_event_transmitter( &mut self, ) -> Result<Arc<TransmitterService<EventMessage>>>
TransmitterService service
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn build_stop_signal_channel(
&mut self,
) -> Result<(Sender<()>, Receiver<()>)>
pub async fn build_stop_signal_channel( &mut self, ) -> Result<(Sender<()>, Receiver<()>)>
Builds a stop signal channel
Sourcepub async fn get_stop_signal_channel(
&mut self,
) -> Result<(Sender<()>, Receiver<()>)>
pub async fn get_stop_signal_channel( &mut self, ) -> Result<(Sender<()>, Receiver<()>)>
Get the stop signal channel
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn drop_sqlite_connections(&self)
pub async fn drop_sqlite_connections(&self)
Execute cleanup operations on SQLite connections
Sourcepub async fn get_sqlite_connection(&mut self) -> Result<Arc<SqliteConnection>>
pub async fn get_sqlite_connection(&mut self) -> Result<Arc<SqliteConnection>>
Get SQLite connection
Sourcepub async fn get_event_store_sqlite_connection(
&mut self,
) -> Result<Arc<SqliteConnection>>
pub async fn get_event_store_sqlite_connection( &mut self, ) -> Result<Arc<SqliteConnection>>
Get EventStore SQLite connection
Sourcepub async fn get_sqlite_connection_cardano_transaction_pool(
&mut self,
) -> Result<Arc<SqliteConnectionPool>>
pub async fn get_sqlite_connection_cardano_transaction_pool( &mut self, ) -> Result<Arc<SqliteConnectionPool>>
Get SQLite connection pool for the cardano transactions store
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_stake_store(&mut self) -> Result<Arc<StakePoolStore>>
pub async fn get_stake_store(&mut self) -> Result<Arc<StakePoolStore>>
Return a StakePoolStore
Sourcepub async fn get_certificate_repository(
&mut self,
) -> Result<Arc<CertificateRepository>>
pub async fn get_certificate_repository( &mut self, ) -> Result<Arc<CertificateRepository>>
Get a configured CertificateRepository.
Sourcepub async fn get_open_message_repository(
&mut self,
) -> Result<Arc<OpenMessageRepository>>
pub async fn get_open_message_repository( &mut self, ) -> Result<Arc<OpenMessageRepository>>
Get a configured OpenMessageRepository.
Sourcepub async fn get_verification_key_store(
&mut self,
) -> Result<Arc<dyn VerificationKeyStorer>>
pub async fn get_verification_key_store( &mut self, ) -> Result<Arc<dyn VerificationKeyStorer>>
Get a configured VerificationKeyStorer.
Sourcepub async fn get_protocol_parameters_retriever(
&mut self,
) -> Result<Arc<dyn ProtocolParametersRetriever>>
pub async fn get_protocol_parameters_retriever( &mut self, ) -> Result<Arc<dyn ProtocolParametersRetriever>>
Get a configured ProtocolParametersRetriever.
Sourcepub async fn get_epoch_settings_store(
&mut self,
) -> Result<Arc<EpochSettingsStore>>
pub async fn get_epoch_settings_store( &mut self, ) -> Result<Arc<EpochSettingsStore>>
Get a configured EpochSettingsStore.
Sourcepub async fn get_immutable_cache_provider(
&mut self,
) -> Result<Arc<dyn ImmutableFileDigestCacheProvider>>
pub async fn get_immutable_cache_provider( &mut self, ) -> Result<Arc<dyn ImmutableFileDigestCacheProvider>>
Get an [ImmutableFileDigestCacheProvider]
Sourcepub async fn get_transaction_repository(
&mut self,
) -> Result<Arc<CardanoTransactionRepository>>
pub async fn get_transaction_repository( &mut self, ) -> Result<Arc<CardanoTransactionRepository>>
Transaction repository.
Sourcepub async fn get_immutable_file_digest_mapper(
&mut self,
) -> Result<Arc<dyn ImmutableFileDigestMapper>>
pub async fn get_immutable_file_digest_mapper( &mut self, ) -> Result<Arc<dyn ImmutableFileDigestMapper>>
Immutable digest mapper.
Sourcepub async fn get_signer_store(&mut self) -> Result<Arc<SignerStore>>
pub async fn get_signer_store(&mut self) -> Result<Arc<SignerStore>>
SignerStore service
Sourcepub async fn get_signed_entity_storer(
&mut self,
) -> Result<Arc<dyn SignedEntityStorer>>
pub async fn get_signed_entity_storer( &mut self, ) -> Result<Arc<dyn SignedEntityStorer>>
SignedEntityStorer service
Sourcepub async fn create_signer_importer(
&mut self,
cexplorer_pools_url: &str,
) -> Result<SignersImporter>
pub async fn create_signer_importer( &mut self, cexplorer_pools_url: &str, ) -> Result<SignersImporter>
Create a SignersImporter instance.
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub async fn get_signer_registration_pruning_task(
&mut self,
) -> Result<Arc<dyn EpochPruningTask>>
pub async fn get_signer_registration_pruning_task( &mut self, ) -> Result<Arc<dyn EpochPruningTask>>
Return a EpochPruningTask instance
Sourcepub async fn get_upkeep_service(&mut self) -> Result<Arc<dyn UpkeepService>>
pub async fn get_upkeep_service(&mut self) -> Result<Arc<dyn UpkeepService>>
Get the UpkeepService instance
Source§impl DependenciesBuilder
impl DependenciesBuilder
Sourcepub fn new(
root_logger: Logger,
configuration: Arc<dyn ConfigurationSource>,
) -> Self
pub fn new( root_logger: Logger, configuration: Arc<dyn ConfigurationSource>, ) -> Self
Create a new clean dependency builder
Sourcepub async fn build_serve_dependencies_container(
&mut self,
) -> Result<ServeCommandDependenciesContainer>
pub async fn build_serve_dependencies_container( &mut self, ) -> Result<ServeCommandDependenciesContainer>
Return an unconfigured ServeCommandDependenciesContainer
Sourcepub async fn create_aggregator_runner(&mut self) -> Result<AggregatorRuntime>
pub async fn create_aggregator_runner(&mut self) -> Result<AggregatorRuntime>
Create the AggregatorRunner
Sourcepub async fn create_http_routes(
&mut self,
) -> Result<impl Filter<Extract = (impl Reply + use<>,), Error = Rejection> + Clone + use<>>
pub async fn create_http_routes( &mut self, ) -> Result<impl Filter<Extract = (impl Reply + use<>,), Error = Rejection> + Clone + use<>>
Create the HTTP route instance
Sourcepub async fn create_genesis_container(
&mut self,
) -> Result<GenesisCommandDependenciesContainer>
pub async fn create_genesis_container( &mut self, ) -> Result<GenesisCommandDependenciesContainer>
Create dependencies for genesis commands
Sourcepub async fn create_database_command_container(
&mut self,
) -> Result<DatabaseCommandDependenciesContainer>
pub async fn create_database_command_container( &mut self, ) -> Result<DatabaseCommandDependenciesContainer>
Create dependencies for database command
Sourcepub async fn create_tools_command_container(
&mut self,
) -> Result<ToolsCommandDependenciesContainer>
pub async fn create_tools_command_container( &mut self, ) -> Result<ToolsCommandDependenciesContainer>
Create dependencies for tools command
Sourcepub async fn handle_discrepancies_at_startup(&mut self) -> Result<()>
pub async fn handle_discrepancies_at_startup(&mut self) -> Result<()>
Look for discrepancies in stored data and fix them.
Fix discrepancies for:
- epoch settings: ensure that the network configuration parameters for the three working epochs window are stored in the database (see [mithril_protocol_config::model::MithrilNetworkConfiguration])
Auto Trait Implementations§
impl Freeze for DependenciesBuilder
impl !RefUnwindSafe for DependenciesBuilder
impl !Send for DependenciesBuilder
impl !Sync for DependenciesBuilder
impl Unpin for DependenciesBuilder
impl !UnwindSafe for DependenciesBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].Source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.