diff --git a/validator_client/src/attestation_service.rs b/validator_client/src/attestation_service.rs index 4eff170c22..f005540bc6 100644 --- a/validator_client/src/attestation_service.rs +++ b/validator_client/src/attestation_service.rs @@ -367,9 +367,15 @@ impl AttestationService { let duty = &duty_and_proof.duty; let attestation_data = attestation_data_ref; + let fork_name = self + .context + .eth2_config + .spec + .fork_name_at_slot::(attestation_data.slot); + // Ensure that the attestation matches the duties. #[allow(clippy::suspicious_operation_groupings)] - if duty.slot != attestation_data.slot || duty.committee_index != attestation_data.index + if duty.slot != attestation_data.slot || (fork_name < ForkName::Electra && duty.committee_index != attestation_data.index) { crit!( log, @@ -383,12 +389,6 @@ impl AttestationService { return None; } - let fork_name = self - .context - .eth2_config - .spec - .fork_name_at_slot::(attestation_data.slot); - let mut attestation = if fork_name >= ForkName::Electra { let mut committee_bits: BitVector = BitVector::default(); committee_bits