Skip to content

Reflect recent update to gloas specs#607

Open
ensi321 wants to merge 2 commits into
ethereum:masterfrom
ensi321:update-gloas-spec-alpha9
Open

Reflect recent update to gloas specs#607
ensi321 wants to merge 2 commits into
ethereum:masterfrom
ensi321:update-gloas-spec-alpha9

Conversation

@ensi321
Copy link
Copy Markdown
Contributor

@ensi321 ensi321 commented May 18, 2026

Reflect the latest consensus-specs v1.7.0-alpha.8.

  • Add execution_requests_root to Gloas.ExecutionPayloadBid.
  • Add parent_execution_requests to Gloas.BeaconBlockBody.
  • Add Gloas.BlockAccessList (EIP-7928) and Gloas.ExecutionPayload extending Deneb with block_access_list and slot_number (EIP-7843).
  • Point ExecutionPayloadEnvelope.payload to Gloas.ExecutionPayload.
  • Return Gloas.SignedExecutionPayloadBid from the validator bid endpoint to match the beacon endpoint and the consensus wire type.
  • Register Gloas.ExecutionPayload and Gloas.BlockAccessList in beacon-node-oapi.yaml.
  • Fix ExecutionPayloadBid field widths: parent_block_hash and block_hash to Hash32, prev_randao to Bytes32. Add Hash32 to types/primitive.yaml.

- Add `execution_requests_root` to `Gloas.ExecutionPayloadBid`.
- Add `parent_execution_requests` to `Gloas.BeaconBlockBody`.
- Add `Gloas.BlockAccessList` (EIP-7928) and `Gloas.ExecutionPayload`
  extending Deneb with `block_access_list` and `slot_number` (EIP-7843).
- Point `ExecutionPayloadEnvelope.payload` to `Gloas.ExecutionPayload`.
- Return `Gloas.SignedExecutionPayloadBid` from the validator bid endpoint
  to match the beacon endpoint and the consensus wire type.
- Register `Gloas.ExecutionPayload` and `Gloas.BlockAccessList` in
  `beacon-node-oapi.yaml`.
- Fix `ExecutionPayloadBid` field widths: `parent_block_hash` and
  `block_hash` to `Hash32`, `prev_randao` to `Bytes32`. Add `Hash32`
  to `types/primitive.yaml`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comment thread types/primitive.yaml
example: "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
pattern: "^0x[a-fA-F0-9]{64}$"

Hash32:
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I am not sure if we want this, or we can just use Byte32. I think it is nice to have a separate Hash32 type for EL related fields in CL.

But I also see block_hash in ExecutionPayloadCommon being Root.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

its differentiated in the spec, so it might make it cleaner to have hash32 defined here too. fair call imo.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I am fine with adding Hash32 but should make sure it's used consistently across the board, and not just gloas types, a separate PR for this might be better

@rolfyone rolfyone added the Gloas api's needed in Gloas fork. label May 25, 2026
rolfyone
rolfyone previously approved these changes May 25, 2026
Copy link
Copy Markdown
Contributor

@rolfyone rolfyone left a comment

Choose a reason for hiding this comment

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

LGTM

example: "gloas"
data:
$ref: "../../beacon-node-oapi.yaml#/components/schemas/Gloas.ExecutionPayloadBid"
$ref: "../../beacon-node-oapi.yaml#/components/schemas/Gloas.SignedExecutionPayloadBid"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change, this is not a pool api, it is meant to be used by builders to retrieve a bid to sign over

1. [Fetch ExecutionPayloadBid](#/Validator/getExecutionPayloadBid) from beacon node for the current or next slot's proposer to include.
- Beacon node obtains payload via `engine_getPayload` call to execution client

side note: we should also move this to builder namespace #595

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

side note: we should also move this to builder namespace #595

Probably a separate PR for it

Comment thread types/gloas/block.yaml Outdated
Comment thread types/gloas/block_access_list.yaml Outdated
Comment thread beacon-node-oapi.yaml Outdated
Comment thread types/primitive.yaml
example: "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
pattern: "^0x[a-fA-F0-9]{64}$"

Hash32:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I am fine with adding Hash32 but should make sure it's used consistently across the board, and not just gloas types, a separate PR for this might be better

- Revert validator bid endpoint to return unsigned `ExecutionPayloadBid` (builder signs)
- Inline `block_access_list` into `Gloas.ExecutionPayload` instead of separate type
- Drop `Gloas.BlockAccessList` schema entry from oapi root
- Correct spec ref `v1.7.0-alpha.9` -> `v1.7.0-alpha.8`
- Add `RLP` to spellcheck wordlist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Gloas api's needed in Gloas fork.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants