Skip to content

Conversation

@olegshmuelov
Copy link
Contributor

@olegshmuelov olegshmuelov commented Sep 15, 2025

Adds support for the Fulu consensus layer upgrade (part of the upcoming Fusaka fork).

No major changes were required as Fulu reuses Electra's block and attestation structures. This PR mainly aligns with go-eth2-client's Fulu support.

Changes:

  • Added Fulu data version handling across all beacon types
  • Unified block handling (regular/blinded) in a single interface
  • Updated go-eth2-client version with Fulu support

Specs: https://github.com/ethereum/consensus-specs/tree/dev/specs/fulu

Copilot AI review requested due to automatic review settings September 15, 2025 13:52
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for the Fulu fork to the SSV protocol implementation. Fulu is the next Ethereum fork scheduled after Electra, providing continuity for the beacon chain evolution. The changes integrate Fulu block types, update version handling, and ensure consistent testing coverage across all supported fork versions.

Key changes include:

  • Added Fulu fork epoch and testing utilities with appropriate slot calculations
  • Extended block processing to handle both regular and blinded Fulu blocks using Electra structures
  • Updated version detection logic to properly sequence Electra → Fulu transitions
  • Comprehensive test coverage for Fulu block validation scenarios

Reviewed Changes

Copilot reviewed 95 out of 152 changed files in this pull request and generated no comments.

Show a summary per file
File Description
types/testingutils/beacon_node_versions.go Adds Fulu fork epoch constant and integrates it into version detection functions
types/testingutils/beacon_node_proposer.go Implements Fulu block content generation and proposal handling
types/testingutils/beacon_node_attestation.go Updates attestation utilities to handle Fulu version alongside Electra
types/testingutils/beacon_node_aggregator.go Extends aggregator support for Fulu using Electra structures
types/testingutils/beacon_node.go Adds Fulu block submission and processing logic
types/consensus_data.go Implements unified block data handling for both blinded and regular blocks across all versions
Various test files Adds comprehensive test coverage for Fulu block validation scenarios
Comments suppressed due to low confidence (3)

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

y0sher
y0sher previously approved these changes Sep 21, 2025
@MatheusFranco99
Copy link
Contributor

MatheusFranco99 commented Sep 22, 2025

Hey @olegshmuelov
Can you add a PR description, including pointers to the eth spec docs that motivated and based your changes?
Good work! Thx for the PR 🔥

Copy link
Contributor

@MatheusFranco99 MatheusFranco99 left a comment

Choose a reason for hiding this comment

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

Good work! Some small fixes

@y0sher y0sher merged commit bd7590d into main Sep 25, 2025
2 checks passed
@y0sher y0sher deleted the fulu-support branch September 25, 2025 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants