use std::collections::BTreeSet;
use serde::{Deserialize, Serialize};
use crate::entities::{
CardanoBlocksTransactionsSigningConfig, CardanoTransactionsSigningConfig, ProtocolParameters,
};
use crate::messages::SignedEntityTypeDiscriminantsMessage;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ProtocolConfigurationMessage {
pub protocol_parameters: ProtocolParameters,
#[serde(skip_serializing_if = "Option::is_none")]
pub cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cardano_blocks_transactions_signing_config: Option<CardanoBlocksTransactionsSigningConfig>,
pub available_signed_entity_types: BTreeSet<SignedEntityTypeDiscriminantsMessage>,
}