Skip to content

Commit 04225d5

Browse files
committed
Pass new args to is_valid_block_hash too
1 parent 9d762fe commit 04225d5

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

pysetup/spec_builders/electra.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ def get_payload(self: ExecutionEngine, payload_id: PayloadId) -> GetPayloadRespo
4747
4848
def is_valid_block_hash(self: ExecutionEngine,
4949
execution_payload: ExecutionPayload,
50-
parent_beacon_block_root: Root) -> bool:
50+
parent_beacon_block_root,
51+
execution_requests_list: Sequence[bytes],
52+
target_blobs_per_block: uint64) -> bool:
5153
return True
5254
5355
def is_valid_versioned_hashes(self: ExecutionEngine, new_payload_request: NewPayloadRequest) -> bool:

specs/electra/beacon-chain.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -984,6 +984,23 @@ class NewPayloadRequest(object):
984984

985985
#### Engine APIs
986986

987+
##### Modified `is_valid_block_hash`
988+
989+
*Note*: The function `is_valid_block_hash` is modified to include the additional
990+
`execution_requests_list` and `target_blobs_per_block` parameters in Electra.
991+
992+
```python
993+
def is_valid_block_hash(self: ExecutionEngine,
994+
execution_payload: ExecutionPayload,
995+
parent_beacon_block_root: Root,
996+
execution_requests_list: Sequence[bytes],
997+
target_blobs_per_block: uint64) -> bool:
998+
"""
999+
Return ``True`` if and only if ``execution_payload.block_hash`` is computed correctly.
1000+
"""
1001+
...
1002+
```
1003+
9871004
##### Modified `notify_new_payload`
9881005

9891006
*Note*: The function `notify_new_payload` is modified to include the additional
@@ -1005,7 +1022,8 @@ def notify_new_payload(self: ExecutionEngine,
10051022
##### Modified `verify_and_notify_new_payload`
10061023

10071024
*Note*: The function `verify_and_notify_new_payload` is modified to pass the additional parameters
1008-
`execution_requests_list` and `target_blobs_per_block` when calling `notify_new_payload` in Electra.
1025+
`execution_requests_list` and `target_blobs_per_block` when calling `is_valid_block_hash` and
1026+
`notify_new_payload` in Electra.
10091027

10101028
```python
10111029
def verify_and_notify_new_payload(self: ExecutionEngine,
@@ -1018,7 +1036,12 @@ def verify_and_notify_new_payload(self: ExecutionEngine,
10181036
execution_requests_list = get_execution_requests_list(new_payload_request.execution_requests) # [New in Electra]
10191037
target_blobs_per_block = MAX_BLOBS_PER_BLOCK // 2 # [New in Electra:EIP7742]
10201038

1021-
if not self.is_valid_block_hash(execution_payload, parent_beacon_block_root):
1039+
# [Modified in Electra]
1040+
if not self.is_valid_block_hash(
1041+
execution_payload,
1042+
parent_beacon_block_root,
1043+
execution_requests_list,
1044+
target_blobs_per_block):
10221045
return False
10231046

10241047
if not self.is_valid_versioned_hashes(new_payload_request):

0 commit comments

Comments
 (0)