Skip to content

Conversation

VolodymyrBg
Copy link

  • Replace pre types from bellatrix.LightClient* to altair.LightClient* in specs/capella/light-client/fork.md.
  • In upgrade_lc_header_to_capella, explicitly set execution=ExecutionPayloadHeader() and execution_branch=ExecutionBranch() for pre-Capella data.

why:

  • The Capella fork upgrades light-client data from Altair, not Bellatrix. The file itself states the upgrade path is Altair → Capella, and networking tables confirm that through Bellatrix the wire types remain altair.. The repo contains no bellatrix.LightClient definitions.
  • Capella adds execution and execution_branch to LightClientHeader. For slots before CAPELLA_FORK_EPOCH, validation requires these fields to be zeroed. Without initializing them, upgraded pre-fork headers would be invalid per is_valid_light_client_header.

Copy link
Member

@jtraglia jtraglia left a comment

Choose a reason for hiding this comment

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

LGTM, I agree we should be using the altair spec object here.

@jtraglia jtraglia changed the title capella(light-client): use Altair pre-types and zero-init execution fields in fork upgrade Use altair spec objects in lightclient fork upgrade Oct 7, 2025
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.

2 participants