chore: remove builder_index from produce_block_v4 (#9267)

Part of #8828 for the stateful path and helps align gloas `produceBlockV4` with beacon-APIs [PR](https://github.com/ethereum/beacon-APIs/pull/580)


  - Plumb `include_payload` query through the handler. Ignored for now since stateless mode isn't wired up yet
- Add `execution_payload_included` metadata field + `Eth-Execution-Payload-Included` header per spec. Both `false` until stateless lands
- Drop the `{builder_index}` segment from the envelope GET URL since no longer included in spec


Co-Authored-By: shane-moore <skm1790@gmail.com>

Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
This commit is contained in:
Shane K Moore
2026-05-11 08:27:41 -07:00
committed by GitHub
parent 1b921a64e6
commit 2208e17937
7 changed files with 76 additions and 36 deletions

View File

@@ -4288,6 +4288,7 @@ impl ApiTester {
);
// TODO(gloas): check why consensus block value is 0
// assert!(!metadata.consensus_block_value.is_zero());
assert!(!metadata.execution_payload_included);
let block_root = block.tree_hash_root();
let envelope = self
@@ -4360,7 +4361,7 @@ impl ApiTester {
let (response, metadata) = self
.client
.get_validator_blocks_v4::<E>(slot, &randao_reveal, None, None, None)
.get_validator_blocks_v4::<E>(slot, &randao_reveal, None, None, None, None)
.await
.unwrap();
let block = response.data;
@@ -4369,7 +4370,7 @@ impl ApiTester {
let envelope = self
.client
.get_validator_execution_payload_envelope::<E>(slot, BUILDER_INDEX_SELF_BUILD)
.get_validator_execution_payload_envelope::<E>(slot)
.await
.unwrap()
.data;
@@ -4423,7 +4424,7 @@ impl ApiTester {
let (block, metadata) = self
.client
.get_validator_blocks_v4_ssz::<E>(slot, &randao_reveal, None, None, None)
.get_validator_blocks_v4_ssz::<E>(slot, &randao_reveal, None, None, None, None)
.await
.unwrap();
@@ -4431,7 +4432,7 @@ impl ApiTester {
let envelope = self
.client
.get_validator_execution_payload_envelope_ssz::<E>(slot, BUILDER_INDEX_SELF_BUILD)
.get_validator_execution_payload_envelope_ssz::<E>(slot)
.await
.unwrap();
@@ -4861,7 +4862,7 @@ impl ApiTester {
// Produce and publish a block.
let (response, _metadata) = self
.client
.get_validator_blocks_v4::<E>(slot, &randao_reveal, None, None, None)
.get_validator_blocks_v4::<E>(slot, &randao_reveal, None, None, None, None)
.await
.unwrap();
let block = response.data;
@@ -4878,7 +4879,7 @@ impl ApiTester {
// Retrieve and publish the envelope.
let envelope = self
.client
.get_validator_execution_payload_envelope::<E>(slot, BUILDER_INDEX_SELF_BUILD)
.get_validator_execution_payload_envelope::<E>(slot)
.await
.unwrap()
.data;