diff --git a/crates/blockchain/src/lib.rs b/crates/blockchain/src/lib.rs index a09ea07a..168282ba 100644 --- a/crates/blockchain/src/lib.rs +++ b/crates/blockchain/src/lib.rs @@ -236,7 +236,8 @@ impl BlockChainServer { let scheduled_proposer = (interval == 0 && slot > 0) .then(|| self.get_our_proposer(slot)) .flatten(); - let proposer_validator_id = self.sync_status.gate_proposer(scheduled_proposer); + let proposer_validator_id = + scheduled_proposer.filter(|_| self.sync_status.duties_allowed()); if let Some(validator_id) = scheduled_proposer && proposer_validator_id.is_none() diff --git a/crates/blockchain/src/sync_status.rs b/crates/blockchain/src/sync_status.rs index e065d4ec..48b20a97 100644 --- a/crates/blockchain/src/sync_status.rs +++ b/crates/blockchain/src/sync_status.rs @@ -45,10 +45,6 @@ impl SyncStatusTracker { pub(crate) fn duties_allowed(&self) -> bool { !self.syncing } - - pub(crate) fn gate_proposer(&self, proposer: Option) -> Option { - proposer.filter(|_| self.duties_allowed()) - } } #[cfg(test)] @@ -112,32 +108,4 @@ mod tests { assert_eq!(tracker.update(15, 20, 20), SyncStatus::Synced); } - - #[test] - fn syncing_gates_proposals_and_attestations() { - let mut tracker = SyncStatusTracker::default(); - tracker.update(20, 0, 20); - - assert!(!tracker.duties_allowed()); - assert_eq!(tracker.gate_proposer(Some(3)), None); - } - - #[test] - fn caught_up_node_allows_proposals_and_attestations() { - let mut tracker = SyncStatusTracker::default(); - tracker.update(20, 0, 20); - tracker.update(20, 18, 20); - - assert!(tracker.duties_allowed()); - assert_eq!(tracker.gate_proposer(Some(3)), Some(3)); - } - - #[test] - fn network_stall_keeps_proposals_and_attestations_enabled() { - let mut tracker = SyncStatusTracker::default(); - tracker.update(100, 0, 0); - - assert!(tracker.duties_allowed()); - assert_eq!(tracker.gate_proposer(Some(3)), Some(3)); - } }