mithril_signer/entities/
signer_epoch_settings.rs

1use mithril_common::entities::{Epoch, Signer};
2
3/// SignerEpochSettings represents the settings of an epoch
4#[derive(Clone, Debug, PartialEq)]
5pub struct SignerEpochSettings {
6    /// Current Epoch
7    pub epoch: Epoch,
8
9    /// Current Signers
10    pub current_signers: Vec<Signer>,
11
12    /// Signers that will be able to sign on the next epoch
13    pub next_signers: Vec<Signer>,
14}
15
16#[cfg(test)]
17impl mithril_common::test::double::Dummy for SignerEpochSettings {
18    /// Create a dummy `SignerEpochSettings`
19    fn dummy() -> SignerEpochSettings {
20        use mithril_common::test::double::fake_data;
21
22        // Beacon
23        let beacon = fake_data::beacon();
24
25        // Signers
26        let signers = fake_data::signers(5);
27        let current_signers = signers[1..3].to_vec();
28        let next_signers = signers[2..5].to_vec();
29
30        // Signer Epoch settings
31        SignerEpochSettings {
32            epoch: beacon.epoch,
33            current_signers,
34            next_signers,
35        }
36    }
37}