From 9ef3799c3610befc50239fb367bbdd2e9a99dae8 Mon Sep 17 00:00:00 2001 From: Eitan Seri-Levi Date: Sat, 25 Apr 2026 16:34:17 +0900 Subject: [PATCH] Add same slot attestation logic to early attester cache --- .../beacon_chain/src/early_attester_cache.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/beacon_node/beacon_chain/src/early_attester_cache.rs b/beacon_node/beacon_chain/src/early_attester_cache.rs index a433c4fc75..8b8c8edc9b 100644 --- a/beacon_node/beacon_chain/src/early_attester_cache.rs +++ b/beacon_node/beacon_chain/src/early_attester_cache.rs @@ -165,6 +165,9 @@ impl EarlyAttesterCache { /// - There is a cache `item` present. /// - If `request_slot` is in the same epoch as `item.epoch`. /// - If `request_index` does not exceed `item.committee_count`. + /// + /// Post gloas an additional condition must be met: + /// - If `request_slot` is the same slot as `item.block.slot` (i.e. a same slot attestation) #[instrument(skip_all, fields(%request_slot, %request_index), level = "debug")] pub fn try_attest( &self, @@ -198,13 +201,10 @@ impl EarlyAttesterCache { .get_committee_length::(request_slot, request_index, spec)?; let is_same_slot_attestation = request_slot == item.block.slot(); - let payload_present = if spec.fork_name_at_slot::(request_slot).gloas_enabled() - && !is_same_slot_attestation - { - item.proto_block.payload_status == PayloadStatus::Full - } else { - false - }; + if spec.fork_name_at_slot::(request_slot).gloas_enabled() && !is_same_slot_attestation { + return Ok(None); + } + let payload_present = false; let attestation = Attestation::empty_for_signing( request_index,