mithril_common/messages/
protocol_configuration.rs

1use std::collections::BTreeSet;
2
3use serde::{Deserialize, Serialize};
4
5use crate::entities::{
6    CardanoTransactionsSigningConfig, ProtocolParameters, SignedEntityTypeDiscriminants,
7};
8
9/// ProtocolConfiguration represents the protocol configuration of an epoch
10#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
11pub struct ProtocolConfigurationMessage {
12    /// Protocol parameters
13    pub protocol_parameters: ProtocolParameters,
14
15    /// Cardano transactions signing configuration
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
18
19    /// Aggregator enabled signed entity types
20    pub available_signed_entity_types: BTreeSet<SignedEntityTypeDiscriminants>,
21}