diff --git a/beacon_chain/types/src/validator_record.rs b/beacon_chain/types/src/validator_record.rs index 3a15baeec..257df3ac1 100644 --- a/beacon_chain/types/src/validator_record.rs +++ b/beacon_chain/types/src/validator_record.rs @@ -42,6 +42,10 @@ impl ValidatorRecord { }; (s, keypair) } + + pub fn status_is(&self, status: ValidatorStatus) -> bool { + self.status == status as u8 + } } #[cfg(test)] diff --git a/beacon_chain/utils/active-validators/src/lib.rs b/beacon_chain/utils/active-validators/src/lib.rs index 75ad2daac..e96b230a3 100644 --- a/beacon_chain/utils/active-validators/src/lib.rs +++ b/beacon_chain/utils/active-validators/src/lib.rs @@ -2,28 +2,29 @@ extern crate types; use types::{ValidatorRecord, ValidatorStatus}; -pub fn validator_is_active(v: &ValidatorRecord) -> bool { - v.status == ValidatorStatus::Active as u8 -} - /// Returns the indicies of each active validator in a given vec of validators. pub fn active_validator_indices(validators: &[ValidatorRecord]) -> Vec { validators .iter() .enumerate() .filter_map(|(i, validator)| { - if validator_is_active(&validator) { + if validator.status_is(ValidatorStatus::Active) { Some(i) } else { None } - }).collect() + }) + .collect() } #[cfg(test)] mod tests { use super::*; + pub fn validator_is_active(v: &ValidatorRecord) -> bool { + v.status_is(ValidatorStatus::Active) + } + #[test] fn test_active_validator() { let mut validators = vec![];