Skip to content

Add Gloas boilerplate #7728

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: unstable
Choose a base branch
from
Open

Conversation

macladson
Copy link
Member

@macladson macladson commented Jul 10, 2025

Proposed Changes

Adds the required boilerplate code for the Gloas (Glamsterdam) hard fork. This allows PRs testing Gloas-candidate features to test fork transition.

This also includes de-duplication of post-Bellatrix readiness notifiers from #6797 (credit to @dapplion)

Additional Info

Not all tests have been updated yet.

@macladson macladson added work-in-progress PR is a work-in-progress gloas labels Jul 10, 2025
@dapplion
Copy link
Collaborator

@macladson can you add this de-duplications?

@@ -1137,6 +1193,7 @@ impl HttpJsonRpc {
new_payload_v3: capabilities.contains(ENGINE_NEW_PAYLOAD_V3),
new_payload_v4: capabilities.contains(ENGINE_NEW_PAYLOAD_V4),
new_payload_v5: capabilities.contains(ENGINE_NEW_PAYLOAD_V5),
new_payload_v6: capabilities.contains(ENGINE_NEW_PAYLOAD_V6),
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why add a fictional v6 before it's actually used?

Copy link
Member Author

Choose a reason for hiding this comment

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

See my comment regarding the new block type

Copy link
Member

Choose a reason for hiding this comment

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

btw new_payload_v5 doesn't exist in Fusaka, so we may be able to use v5 for G*

Copy link
Member Author

Choose a reason for hiding this comment

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

Ooh I was under the impression that both new_payload and get_payload would always increment each fork. In that case @dapplion is probably right and we can exclude these in the future.

.deconstruct();

(
BeaconBlock::Gloas(BeaconBlockGloas {
Copy link
Collaborator

Choose a reason for hiding this comment

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

What's the point of adding a new block type before we actually need it? Could we wait for the first feature in Gloas?

Copy link
Member Author

Choose a reason for hiding this comment

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

I suppose we could wait, but we will inevitably end up with this block type anyway so I would consider what I've added as boilerplate. Plus it reduces the overhead of devs adding new features. For example, if we have multiple people working on their own feature forks they can all reuse this code rather than all having to implement it themselves.

You could similarly argue that this entire PR is unnecessary since we don't have any Gloas features yet, but that misses the point imo

Copy link
Member

Choose a reason for hiding this comment

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

Yeah I'm fine with defining BeaconBlockGloas

Copy link
Collaborator

@dapplion dapplion Jul 13, 2025

Choose a reason for hiding this comment

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

Makes sense, I'm convinced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gloas work-in-progress PR is a work-in-progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants