|
| 1 | +# Electra -- Builder Specification |
| 2 | + |
| 3 | +## Introduction |
| 4 | + |
| 5 | +This is the modification of the builder specification accompanying the Electra upgrade. |
| 6 | + |
| 7 | +The behavior defined by the specification is consistent with previous forks except for the changes to the types given below. |
| 8 | + |
| 9 | +## Containers |
| 10 | + |
| 11 | +### Extended containers |
| 12 | + |
| 13 | +#### `BuilderBid` |
| 14 | + |
| 15 | +Note: `SignedBuilderBid` is updated indirectly. |
| 16 | + |
| 17 | +```python |
| 18 | +class BuilderBid(Container): |
| 19 | + header: ExecutionPayloadHeader |
| 20 | + blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] |
| 21 | + execution_requests: ExecutionRequests # [New in Electra] |
| 22 | + value: uint256 |
| 23 | + pubkey: BLSPubkey |
| 24 | +``` |
| 25 | + |
| 26 | +#### `BlindedBeaconBlockBody` |
| 27 | + |
| 28 | +Note: `BlindedBeaconBlock` and `SignedBlindedBeaconBlock` types are updated indirectly. |
| 29 | + |
| 30 | +```python |
| 31 | +class BlindedBeaconBlockBody(Container): |
| 32 | + randao_reveal: BLSSignature |
| 33 | + eth1_data: Eth1Data |
| 34 | + graffiti: Bytes32 |
| 35 | + proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS] |
| 36 | + attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS_ELECTRA] # [Modified in Electra:EIP7549] |
| 37 | + attestations: List[Attestation, MAX_ATTESTATIONS_ELECTRA] # [Modified in Electra:EIP7549] |
| 38 | + deposits: List[Deposit, MAX_DEPOSITS] |
| 39 | + voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS] |
| 40 | + sync_aggregate: SyncAggregate |
| 41 | + execution_payload_header: ExecutionPayloadHeader |
| 42 | + bls_to_execution_changes: List[SignedBLSToExecutionChange, MAX_BLS_TO_EXECUTION_CHANGES] |
| 43 | + blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] |
| 44 | + execution_requests: ExecutionRequests # [New in Electra] |
| 45 | +``` |
| 46 | + |
| 47 | +[execution-payload-and-blobs-bundle-deneb]: ../deneb/builder.md#executionpayloadandblobsbundle |
0 commit comments