| 34 | pub fn is_active_or_joining(&self) -> bool { |
| 35 | matches!(self, Self::Active) || matches!(self, Self::Joining) |
| 36 | } |
| 37 | |
| 38 | pub fn is_current_epoch_signer(&self) -> bool { |
| 39 | matches!(self, Self::Active | Self::SubmittedExitRequest) |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | #[derive(Debug, Clone, PartialEq)] |
| 44 | pub struct ValidatorAccount { |
| 45 | pub consensus_public_key: bls12381::PublicKey, // BLS public key for consensus |
| 46 | pub withdrawal_credentials: Address, // Ethereum address |
| 47 | pub balance: u64, // Balance in gwei |
| 48 | pub status: ValidatorStatus, |
no outgoing calls