mithril_aggregator/dependency_injection/containers/
genesis.rs

1use std::sync::Arc;
2
3use mithril_common::chain_observer::ChainObserver;
4use mithril_common::{certificate_chain::CertificateVerifier, CardanoNetwork};
5
6use crate::database::repository::CertificateRepository;
7use crate::{ProtocolParametersRetriever, VerificationKeyStorer};
8
9/// Dependencies container for the genesis commands
10pub struct GenesisCommandDependenciesContainer {
11    /// Cardano network
12    pub network: CardanoNetwork,
13
14    /// Verification key store
15    pub verification_key_store: Arc<dyn VerificationKeyStorer>,
16
17    /// Chain observer
18    pub chain_observer: Arc<dyn ChainObserver>,
19
20    /// Certificate verifier service.
21    pub certificate_verifier: Arc<dyn CertificateVerifier>,
22
23    /// Protocol parameters retriever service.
24    pub protocol_parameters_retriever: Arc<dyn ProtocolParametersRetriever>,
25
26    /// Certificate store.
27    pub certificate_repository: Arc<CertificateRepository>,
28}