Skip to content

Hook up payload attestation message in fork choice spec tests - #16934

Merged
terencechain merged 1 commit into
developfrom
gloas-payload-attestation-spectests
Jun 11, 2026
Merged

Hook up payload attestation message in fork choice spec tests#16934
terencechain merged 1 commit into
developfrom
gloas-payload-attestation-spectests

Conversation

@terencechain

Copy link
Copy Markdown
Collaborator

The gloas on_payload_attestation_message fork choice spec tests were silently passing because the runner's Step/Check types had no fields for payload_attestation_message steps or the payload_timeliness_vote / payload_data_availability_vote checks, so YAML unmarshalling silently dropped both.

  • Add payload_attestation_message step support: unmarshals the message and feeds it through ReceivePayloadAttestationMessage, asserting acceptance/rejection per the step'svalid field
  • Add payload_timeliness_vote / payload_data_availability_vote check support, comparing the per-seat PTC vote bitvectors in forkchoice (null = no vote, true/false = recorded value)
  • Add a PTCVotes getter on the doubly-linked-tree forkchoice to expose the vote bit vectors
  • Convert the skip list to map[string]string so each skip logs its rationale

With the steps actually wired up, 2 of 7 test cases pass (from_block, not_ptc_member). The remaining 5 are skipped with rationales:

Test Reason
valid, multiple_ptc_members_vote_independently PTC votes are only recorded at the validator's first committee seat consensus-specs#5222 requires recording at every duplicate seat (balance-weighted committee)
current_slot_and_signature Signature and current-slot checks live in gossip validation (validate_payload_attestation.go), not the fork choice handler
unknown_block_root Unknown block root check lives in gossip validation (VerifyBlockRootSeen)
slot_mismatch Block slot match check lives in gossip validation (VerifyBlockSlotMatches)

@github-project-automation github-project-automation Bot moved this to Unassigned in Gloas Jun 9, 2026
@syjn99
syjn99 self-requested a review June 10, 2026 02:19
@terencechain
terencechain force-pushed the gloas-payload-attestation-spectests branch from 4be960e to 02f64d9 Compare June 11, 2026 15:01
@terencechain
terencechain added this pull request to the merge queue Jun 11, 2026
Merged via the queue into develop with commit 0bf8640 Jun 11, 2026
23 checks passed
@terencechain
terencechain deleted the gloas-payload-attestation-spectests branch June 11, 2026 15:52
@github-project-automation github-project-automation Bot moved this from Unassigned to Done in Gloas Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants