|
25 | 25 | - [`SignedExecutionPayloadBid`](#signedexecutionpayloadbid) |
26 | 26 | - [`ExecutionPayloadEnvelope`](#executionpayloadenvelope) |
27 | 27 | - [`SignedExecutionPayloadEnvelope`](#signedexecutionpayloadenvelope) |
28 | | - - [`PayloadStatus`](#payloadstatus) |
29 | 28 | - [Modified containers](#modified-containers) |
30 | 29 | - [`AttestationData`](#attestationdata) |
31 | 30 | - [`BeaconBlockBody`](#beaconblockbody) |
@@ -254,30 +253,20 @@ class SignedExecutionPayloadEnvelope(Container): |
254 | 253 | signature: BLSSignature |
255 | 254 | ``` |
256 | 255 |
|
257 | | -#### `PayloadStatus` |
258 | | - |
259 | | -```python |
260 | | -class PayloadStatus(enum.Enum): |
261 | | - EMPTY = 0 |
262 | | - FULL = 1 |
263 | | -``` |
264 | | - |
265 | 256 | ### Modified containers |
266 | 257 |
|
267 | 258 | #### `AttestationData` |
268 | 259 |
|
269 | | -*Note*: The `AttestationData` container is modified to contain a |
270 | | -`PayloadStatus`. The `Attestation`, `SingleAttestation` and `IndexedAttestation` containers are modified indirectly. |
271 | | -The field `index` is removed from the `AttestationData` and a new field `payload_status` is added. |
| 260 | +*Note*: The `AttestationData` container is modified. |
| 261 | +The field `index` is renamed to `payload_revealed`. |
| 262 | +The `Attestation`, `SingleAttestation` and `IndexedAttestation` containers are modified indirectly. |
272 | 263 |
|
273 | 264 | ```python |
274 | 265 | class AttestationData(Container): |
275 | 266 | slot: Slot |
276 | | - # [Modified in Gloas:EIP7732] |
277 | | - # Removed index |
| 267 | + # [New in Gloas:EIP7732] Formerly 'index' |
| 268 | + payload_revealed: uint64 |
278 | 269 | beacon_block_root: Root |
279 | | - # [New in Gloas:EIP7732] |
280 | | - payload_status: PayloadStatus |
281 | 270 | source: Checkpoint |
282 | 271 | target: Checkpoint |
283 | 272 | ``` |
@@ -617,12 +606,11 @@ def get_attestation_participation_flag_indices( |
617 | 606 | ) |
618 | 607 | is_matching_payload = False |
619 | 608 | if is_attestation_same_slot(state, data): |
620 | | - assert data.payload_status == PayloadStatus.EMPTY |
| 609 | + assert data.payload_revealed == 0 |
621 | 610 | is_matching_payload = True |
622 | 611 | else: |
623 | 612 | is_matching_payload = ( |
624 | | - data.payload_status.value |
625 | | - == state.execution_payload_availability[data.slot % SLOTS_PER_HISTORICAL_ROOT] |
| 613 | + data.payload_revealed == state.execution_payload_availability[data.slot % SLOTS_PER_HISTORICAL_ROOT] |
626 | 614 | ) |
627 | 615 |
|
628 | 616 | # [Modified in Gloas:EIP7732] |
@@ -1119,7 +1107,7 @@ def process_attestation(state: BeaconState, attestation: Attestation) -> None: |
1119 | 1107 | assert data.slot + MIN_ATTESTATION_INCLUSION_DELAY <= state.slot |
1120 | 1108 |
|
1121 | 1109 | # [Modified in Gloas:EIP7732] |
1122 | | - assert data.payload_status in (PayloadStatus.EMPTY, PayloadStatus.FULL) |
| 1110 | + assert data.payload_revealed < 2 |
1123 | 1111 | committee_indices = get_committee_indices(attestation.committee_bits) |
1124 | 1112 | committee_offset = 0 |
1125 | 1113 | for committee_index in committee_indices: |
|
0 commit comments