Enable gossip attestation and aggregate ref-test - #10770
Conversation
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
…Helper method isCurrentTimeWithinInclusiveSlotRange Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
…createGossipValidationHelper (needs review) Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
…finalized checkpoint Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Reviewed by Cursor Bugbot for commit 0fded54. Configure here.
zilm13
left a comment
There was a problem hiding this comment.
I'd also copy following tests from commit af3d146:
MiscHelpersTestchanges, because this PR doesn't test clock disparity changesRecentChainDataTestchanges,StorageBackedRecentChainDatachanges,StoreBuilderTestchanges - all of these tests influence of switching from stateSlot to blockSlot in initialization on dependent classes
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
| recentChainData.getForkChoiceStrategy().orElseThrow()); | ||
| } | ||
|
|
||
| public boolean currentFinalizedCheckpointIsAncestorOfAttestationBlock(final Bytes32 blockRoot) { |
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
… reftests-att-and-aggregate
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
… reftests-att-and-aggregate
|
one bot question |
…ch teku doesn't explicitly implement since it relies on the protoarray only stores finalized blocks Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
…ows the patter used for blobs, data column and execution payload Signed-off-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
… reftests-att-and-aggregate

PR Description
This PR was built on top of #10762 and fixes the enables the attestation and aggregation gossip suite.
Fixed Issue(s)
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog
Note
Medium Risk
Changes live gossip attestation/aggregate validation (invalid blocks, finalized ancestry, Electra committee bits) and fork-choice store initialization from anchors; risk is moderate but bounded by new ref and unit tests.
Overview
This PR turns on the Ethereum consensus reference tests for gossip beacon attestation and gossip beacon aggregate and proof, replacing ignored placeholders with real executors that drive fork choice, store setup, and the production attestation/aggregate validators.
Gossip validation now tracks invalid block roots (like
BlockManager) and rejects attestations/aggregates that vote for them; it also enforces that the current finalized checkpoint is an ancestor of the voted block (with a test-onlyGossipValidationHelperoverride for synthetic finalized roots). Electra aggregates/single attestations must have exactly one committee bit set. Deneb slot/epoch gossip timing is aligned with consensus-specs viaMiscHelpers.isCurrentTimeWithinInclusiveSlotRange, with updated unit tests.Reference-test harness improvements: richer anchor selection when state and block roots differ, optional
finalized_checkpointin YAML (commit to store or override ancestor check), and block import even when a custom finalized checkpoint is configured.Store bootstrap uses the anchor block slot (not advanced state slot) when building fork choice from a transitioned anchor, with storage/client tests for that case.
Reviewed by Cursor Bugbot for commit 62ba614. Bugbot is set up for automated code reviews on this repo. Configure here.