mithril_aggregator/entities/
aggregator_epoch_settings.rs1use mithril_common::entities::{
2 CardanoBlocksTransactionsSigningConfig, CardanoTransactionsSigningConfig, ProtocolParameters,
3};
4
5#[derive(Clone, Debug, PartialEq)]
7pub struct AggregatorEpochSettings {
8 pub protocol_parameters: ProtocolParameters,
10
11 pub cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
13
14 pub cardano_blocks_transactions_signing_config: Option<CardanoBlocksTransactionsSigningConfig>,
16}
17
18#[cfg(test)]
19mod test_utils {
20 use std::collections::BTreeSet;
21
22 use mithril_common::entities::SignedEntityTypeDiscriminants;
23 use mithril_protocol_config::model::{
24 MithrilNetworkConfigurationForEpoch, SignedEntityTypeConfiguration,
25 };
26
27 use super::*;
28
29 impl AggregatorEpochSettings {
30 pub fn into_network_configuration_for_epoch(
32 self,
33 enabled_signed_entity_types: BTreeSet<SignedEntityTypeDiscriminants>,
34 ) -> MithrilNetworkConfigurationForEpoch {
35 MithrilNetworkConfigurationForEpoch {
36 protocol_parameters: self.protocol_parameters,
37 enabled_signed_entity_types,
38 signed_entity_types_config: SignedEntityTypeConfiguration {
39 cardano_transactions: self.cardano_transactions_signing_config,
40 cardano_blocks_transactions: self.cardano_blocks_transactions_signing_config,
41 },
42 }
43 }
44 }
45}