use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct MithrilStakeDistributionMessage {
#[serde(rename = "epoch")]
pub epoch: i64,
#[serde(rename = "hash")]
pub hash: String,
#[serde(rename = "certificate_hash", skip_serializing_if = "Option::is_none")]
pub certificate_hash: Option<String>,
#[serde(rename = "signers")]
pub signers: Vec<models::SignerWithStake>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "protocol_parameters")]
pub protocol_parameters: models::ProtocolParameters,
}
impl MithrilStakeDistributionMessage {
pub fn new(epoch: i64, hash: String, signers: Vec<models::SignerWithStake>, created_at: String, protocol_parameters: models::ProtocolParameters) -> MithrilStakeDistributionMessage {
MithrilStakeDistributionMessage {
epoch,
hash,
certificate_hash: None,
signers,
created_at,
protocol_parameters,
}
}
}