Gloas attestation verification (#8705)

https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#attestation-subnets

Implements attestation verification logic for Gloas and adds a few gloas related tests. Note that a few of these tests rely on gloas test harness block production which hasn't been built out yet. So for now those tests are ignored.


  


Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>

Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
This commit is contained in:
Eitan Seri-Levi
2026-02-13 13:39:56 -08:00
committed by GitHub
parent 26db016425
commit 68ad9758a3
3 changed files with 336 additions and 10 deletions

View File

@@ -2415,6 +2415,25 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
"attn_comm_index_non_zero",
);
}
AttnError::CommitteeIndexInvalid => {
/*
* The committee index is invalid after Gloas.
*
* The peer has published an invalid consensus message.
*/
debug!(
%peer_id,
block = ?beacon_block_root,
?attestation_type,
"Committee index invalid"
);
self.propagate_validation_result(message_id, peer_id, MessageAcceptance::Reject);
self.gossip_penalize_peer(
peer_id,
PeerAction::LowToleranceError,
"attn_comm_index_invalid",
);
}
AttnError::UnknownHeadBlock { beacon_block_root } => {
trace!(
%peer_id,