mithril_common/signable_builder/
mithril_stake_distribution.rs1use async_trait::async_trait;
2
3use crate::{
4 entities::{Epoch, ProtocolMessage},
5 signable_builder::SignableBuilder,
6 StdResult,
7};
8
9#[derive(Default)]
11pub struct MithrilStakeDistributionSignableBuilder {}
12
13#[async_trait]
14impl SignableBuilder<Epoch> for MithrilStakeDistributionSignableBuilder {
15 async fn compute_protocol_message(&self, _beacon: Epoch) -> StdResult<ProtocolMessage> {
16 Ok(ProtocolMessage::new())
17 }
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[tokio::test]
25 async fn test_compute_signable() {
26 let mithril_stake_distribution_signable_builder =
27 MithrilStakeDistributionSignableBuilder::default();
28 let signable = mithril_stake_distribution_signable_builder
29 .compute_protocol_message(Epoch(1))
30 .await
31 .unwrap();
32 let signable_expected = ProtocolMessage::new();
33 assert_eq!(signable_expected, signable);
34 }
35}