-
Notifications
You must be signed in to change notification settings - Fork 177
Closed
Description
Description
We currently have the following class methods for engine new payload method by fork:
class Prague(Cancun):
"""
Prague fork
"""
...
@classmethod
def engine_new_payload_requests(cls, block_number: int = 0, timestamp: int = 0) -> bool:
"""
Starting at Prague, new payloads include the requests hash as a parameter.
"""
return True
...
@classmethod
def engine_new_payload_version(
cls, block_number: int = 0, timestamp: int = 0
) -> Optional[int]:
"""
Starting at Prague, new payload calls must use version 4
"""
return 4
For engine forkchoice updated we only have a class method that defines the version per fork.
As payload attributes used within fcu are changing for each fork, they should be added in similar fashion to that of engine new payload class methods, where we have true/false methods based on the fields within payload attributes.
For example, as parentBeaconBlockRoot
was added to payload attributes in Cancun we would have:
class Cancun(Shanghai):
"""
Cancun fork
"""
...
@classmethod
def engine_payload_attributes_beacon_block_root(cls, block_number: int = 0, timestamp: int = 0) -> bool:
"""
Starting at Cancun, payload attributes include the the parent beacon block root.
"""
return True
...
The latter should be addressed from Paris to Cancun, including the required changes for 7742 in Prague: ethereum/execution-apis#574
Metadata
Metadata
Assignees
Labels
No labels