Skip to content

Commit 2ee2480

Browse files
add initial electra spec (#101)
* add initial electra spec * move indirectly updated types into note * adjust for move of exec reqs from exec payload to beacon block * use electra constants for max lengths of attester slasings & attestations * replace execution requests with corresponding root * add ExecutionBundle and extend BuilderBid * clean up execution bundle * add notes to accompany type changes * fix broken link * replace exec reqs root with exec reqs * remove execution bundle container
1 parent 982af90 commit 2ee2480

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

specs/electra/builder.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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

Comments
 (0)