mithril_signer/entities/
registered_signers.rs

1use mithril_common::entities::{Epoch, Signer};
2
3/// `RegisteredSigners` represents the registered signers of an epoch
4#[derive(Clone, Debug, PartialEq)]
5pub struct RegisteredSigners {
6    /// Epoch for which those registrations are active.
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 RegisteredSigners {
18    /// Create a dummy `RegisteredSigners`
19    fn dummy() -> RegisteredSigners {
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        RegisteredSigners {
32            epoch: beacon.epoch,
33            current_signers,
34            next_signers,
35        }
36    }
37}