#[doc(hidden)]
pub const STR_002_MODULE_PRESENT: () = ();
use serde::{Deserialize, Serialize};
use crate::error::EpochError;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RewardDistribution {
pub epoch: u64,
pub proposer_reward: u64,
pub attester_reward: u64,
pub ef_spawner_reward: u64,
pub score_submitter_reward: u64,
pub finalizer_reward: u64,
pub proposer_fee_share: u64,
pub burned_fees: u64,
}
impl RewardDistribution {
pub fn to_bytes(&self) -> Vec<u8> {
bincode::serialize(self).expect("RewardDistribution serialization should never fail")
}
pub fn from_bytes(bytes: &[u8]) -> Result<Self, EpochError> {
bincode::deserialize(bytes).map_err(|e| EpochError::InvalidData(e.to_string()))
}
}