Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions apis/beacon/blocks/blocks.v2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ post:
before doing so, so as to aid timely delivery of the block. Should the block fail full
validation, a separate success response code (202) is used to indicate that the block was
successfully broadcast but failed integration. For Deneb/Electra/Fulu, this additionally instructs
the beacon node to broadcast all given blobs. The broadcast behaviour may be adjusted via the
`broadcast_validation` query parameter.
the beacon node to broadcast all given blobs. For Gloas and later, blobs are broadcast as part
of the `ExecutionPayloadEnvelope` and are not submitted with the block. The broadcast behaviour
may be adjusted via the `broadcast_validation` query parameter.
parameters:
- name: broadcast_validation
in: query
Expand Down
2 changes: 1 addition & 1 deletion apis/eventstream/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ get:
description: The node has received a `SignedExecutionPayloadBid` (from P2P or API) that passes gossip validation on the `execution_payload_bid` topic
value: |
event: execution_payload_bid
data: {"message": {"parent_block_hash": "0x9a2fefd2fdb57f74993c7780ea5b9030d2897b615b89f808011ca5aebed54eaf", "parent_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "block_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "prev_randao": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "fee_recipient": "0x0000000000000000000000000000000000000000", "gas_limit": "30000000", "builder_index": "42", "slot": "10", "value": "1000000000", "execution_payment": "0", "blob_kzg_commitments_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"}, "signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"}
data: {"message": {"parent_block_hash": "0x9a2fefd2fdb57f74993c7780ea5b9030d2897b615b89f808011ca5aebed54eaf", "parent_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "block_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "prev_randao": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "fee_recipient": "0x0000000000000000000000000000000000000000", "gas_limit": "30000000", "builder_index": "42", "slot": "10", "value": "1000000000", "execution_payment": "0", "blob_kzg_commitments": ["0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2"]}, "signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"}
payload_attestation_message:
description: The node has received a `PayloadAttestationMessage` that passes validation rules of the `payload_attestation_message` topic
value: |
Expand Down
8 changes: 5 additions & 3 deletions types/gloas/execution_payload_bid.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Gloas:
ExecutionPayloadBid:
type: object
description: "The [`ExecutionPayloadBid`](https://github.com/ethereum/consensus-specs/blob/00d531949b1f30516979b60ddd2a411e7f388299/specs/gloas/beacon-chain.md#executionpayloadbid) object from the CL Gloas spec."
required: [parent_block_hash, parent_block_root, block_hash, prev_randao, fee_recipient, gas_limit, builder_index, slot, value, execution_payment, blob_kzg_commitments_root]
required: [parent_block_hash, parent_block_root, block_hash, prev_randao, fee_recipient, gas_limit, builder_index, slot, value, execution_payment, blob_kzg_commitments]
properties:
parent_block_hash:
$ref: "../primitive.yaml#/Root"
Expand All @@ -24,8 +24,10 @@ Gloas:
$ref: "../primitive.yaml#/Gwei"
execution_payment:
$ref: "../primitive.yaml#/Gwei"
blob_kzg_commitments_root:
$ref: "../primitive.yaml#/Root"
blob_kzg_commitments:
type: array
items:
$ref: '../primitive.yaml#/KZGCommitment'

SignedExecutionPayloadBid:
type: object
Expand Down
9 changes: 1 addition & 8 deletions types/gloas/execution_payload_envelope.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Gloas:
ExecutionPayloadEnvelope:
type: object
description: "The [`ExecutionPayloadEnvelope`](https://github.com/ethereum/consensus-specs/blob/00d531949b1f30516979b60ddd2a411e7f388299/specs/gloas/beacon-chain.md#executionpayloadenvelope) object from the CL Gloas spec."
required: [payload, execution_requests, builder_index, beacon_block_root, slot, blob_kzg_commitments, state_root]
required: [payload, execution_requests, builder_index, beacon_block_root, slot, state_root]
properties:
payload:
$ref: "../deneb/execution_payload.yaml#/Deneb/ExecutionPayload"
Comment on lines +5 to 8

Choose a reason for hiding this comment

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

P2 Badge Include blob fields in ExecutionPayloadEnvelope or update docs

The updated publishBlockV2 description says that for Gloas and later, blobs are broadcast as part of the ExecutionPayloadEnvelope, but the envelope schema here no longer exposes any blob data or commitments (it only wraps a Deneb ExecutionPayload, which itself has no blob payload, plus execution requests). With blob_kzg_commitments removed from the envelope, clients following the new description have no defined place to submit blobs/commitments alongside the envelope, so they cannot actually fulfill the described behavior. Either the envelope needs a blob field again, or the block endpoint description should not claim blobs are carried via the envelope.

Useful? React with 👍 / 👎.

Copy link
Author

Choose a reason for hiding this comment

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

in gloas there will be 2 different flows

  1. stateful: blobs are cached by the beacon node and broadcast when the execution payload is submitted
  2. stateless: blobs are passed around and submitted together with the execution payload and broadcast

Copy link
Author

Choose a reason for hiding this comment

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

@codex ^^

Choose a reason for hiding this comment

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

Copy link
Author

Choose a reason for hiding this comment

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

Choose a reason for hiding this comment

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

Expand All @@ -17,13 +17,6 @@ Gloas:
slot:
$ref: "../primitive.yaml#/Uint64"
description: "Slot number for this execution payload"
blob_kzg_commitments:
type: array
items:
$ref: "../primitive.yaml#/KZGCommitment"
minItems: 0
maxItems: 4096
description: "KZG commitments for the blobs included in this execution payload"
state_root:
$ref: "../primitive.yaml#/Root"
description: "Beacon state root after executing this payload"
Expand Down