Skip to content

Gloas consensus logic for attestations#8760

Open
michaelsproul wants to merge 1 commit intosigp:unstablefrom
michaelsproul:gloas-attestations
Open

Gloas consensus logic for attestations#8760
michaelsproul wants to merge 1 commit intosigp:unstablefrom
michaelsproul:gloas-attestations

Conversation

@michaelsproul
Copy link
Member

Update attestation consensus logic for the Gloas fork.

This covers get_attestation_participation_flag_indices and process_attestation at the spec level. Inside LH we have split process_attestation into several parts for use in different places, so we update those component functions:

  • verify_attestation_for_state covers the new check on the attestation data index. This function is called from verify_attestation_for_block_inclusion which is otherwise the same (no other changes in Gloas compared to Electra).
  • A new variant of process_attestation{s} is added covering the Gloas case. It would have been possible to abstract the existing Electra logic, but with this logic already being quite gnarly I can see the case for a separate function (this is how Shane had it set up on his branch). I've made some tweaks so that it follows the flow of the spec , although there are few places where differences are required due to Rust's ownership/borrowing.

Many credits to @shane-moore for writing this logic. I just adapted and reviewed it.

Additional Info

All EF tests for attestations are passing 🎉

Co-authored-by: Shane K Moore <41407272+shane-moore@users.noreply.github.com>

@michaelsproul michaelsproul added ready-for-review The code is ready for review gloas consensus An issue/PR that touches consensus code, such as state_processing or block verification. labels Feb 5, 2026
@michaelsproul michaelsproul requested a review from Copilot February 5, 2026 04:57

This comment was marked as resolved.

Copy link
Member

@jimmygchen jimmygchen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, I've got nothing to add. Let's merge 👍

@jimmygchen jimmygchen added ready-for-merge This PR is ready to merge. and removed ready-for-review The code is ready for review labels Feb 9, 2026
@mergify mergify bot added the queued label Feb 9, 2026
@mergify
Copy link

mergify bot commented Feb 9, 2026

Merge Queue Status

🟠 Waiting for merge conditions (rule: default)

Entered the queue at: 2026-02-09 04:54 UTC.
Checks are running on draft #8774 (dashboard).
Merge ETA: 2026-02-09 05:26 UTC. Buckle up 🚀

Required conditions to merge
  • check-success=local-testnet-success
  • check-success=test-suite-success
Required conditions to stay in the queue
  • -closed [📌 queue requirement]
  • -conflict [📌 queue requirement]
  • -draft [📌 queue requirement]
  • any of [📌 queue -> configuration change requirements]:
    • -mergify-configuration-changed
    • check-success = Configuration changed
  • any of [🔀 queue conditions]:
    • all of [📌 queue conditions of queue default]:
      • #approved-reviews-by >= 1
      • check-success=license/cla
      • check-success=target-branch-check
      • label!=do-not-merge

mergify bot added a commit that referenced this pull request Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

consensus An issue/PR that touches consensus code, such as state_processing or block verification. gloas queued ready-for-merge This PR is ready to merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants