Skip to content

[RFC] Engine API: do not bump method's version upon datatype change #376

@mkalinin

Description

@mkalinin

Existing Engine API specification states that a method version must be updated whenever behaviour or parameter set of the method has changed, including the case when a datatype version is advanced, e.g. a switch from ExecutionPayloadV2 to ExecutionPayloadV3 causes the newPayload version bump. This approach makes sense as whatever change to a method specification is considered as a change to its semantics.

The problem of the above approach is that in some cases when datatype is updated method's behaviour remains unchanged, i.e. datatype change only affects the underlying block processing routines. For instance, newPayload itself does not use newly added withdrawals field and defer it processing to downstream handlers.

Thus, we may consider avoid bumping method's version if there is no change in its behaviour and instead just extend already existing method to work with newly added datatype. In other words, explicitly say that newPayloadV2 is modified in Cancun and the only modification is support of ExecutionPayloadV3 datatype in addition to already supported V1 and V2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions