You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -38,6 +44,19 @@ All behaviors and definitions defined in this document, and documents it extends
38
44
All terminology, constants, functions, and protocol mechanics defined in the updated Beacon Chain doc of [Electra](./beacon-chain.md) are requisite for this document and used throughout.
39
45
Please see related Beacon Chain doc before continuing and use them as a reference throughout.
40
46
47
+
## Helpers
48
+
49
+
### Modified `GetPayloadResponse`
50
+
51
+
```python
52
+
@dataclass
53
+
classGetPayloadResponse(object):
54
+
execution_payload: ExecutionPayload
55
+
block_value: uint256
56
+
blobs_bundle: BlobsBundle
57
+
execution_requests: Sequence[bytes] # [New in Electra]
58
+
```
59
+
41
60
## Containers
42
61
43
62
### Modified Containers
@@ -59,6 +78,24 @@ class SignedAggregateAndProof(Container):
59
78
signature: BLSSignature
60
79
```
61
80
81
+
## Protocol
82
+
83
+
### `ExecutionEngine`
84
+
85
+
#### Modified `get_payload`
86
+
87
+
Given the `payload_id`, `get_payload` returns the most recent version of the execution payload that
88
+
has been built since the corresponding call to `notify_forkchoice_updated` method.
1. The execution payload is obtained from the execution engine as defined above using `payload_id`. The response also includes a `execution_requests` entry containing a list of bytes. Each element on the list corresponds to one SSZ list of requests as defined
193
+
in [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685). The index of each element in the array determines the type of request.
194
+
2. Set `block.body.execution_requests = get_execution_requests(execution_requests)`, where:
0 commit comments