diff --git a/fork_choice_store/src/store.rs b/fork_choice_store/src/store.rs index 847ea0eb..e7a3c1f5 100644 --- a/fork_choice_store/src/store.rs +++ b/fork_choice_store/src/store.rs @@ -1176,7 +1176,6 @@ impl Store

{ Ok(BlockAction::Accept(chain_link, attester_slashing_results)) } - #[expect(clippy::too_many_lines)] pub fn validate_aggregate_and_proof( &self, aggregate_and_proof: Arc>, @@ -1205,12 +1204,9 @@ impl Store

{ } } - let AttestationData { - slot, - index, - target, - .. - } = aggregate.data(); + let AttestationData { slot, target, .. } = aggregate.data(); + + let index = misc::committee_index(&aggregate); // TODO(feature/deneb): Figure out why this validation is split over 2 methods. // TODO(feature/deneb): This appears to be unfinished. diff --git a/http_api/src/standard.rs b/http_api/src/standard.rs index 70284e47..6f92ce17 100644 --- a/http_api/src/standard.rs +++ b/http_api/src/standard.rs @@ -2912,7 +2912,6 @@ async fn submit_attestation_to_pool( let run = async { let AttestationData { slot, - index: committee_index, beacon_block_root, target, .. @@ -2931,6 +2930,8 @@ async fn submit_attestation_to_pool( let committees_per_slot = accessors::get_committee_count_per_slot(&target_state, relative_epoch); + let committee_index = misc::committee_index(&attestation); + let subnet_id = misc::compute_subnet_for_attestation::

(committees_per_slot, slot, committee_index)?;