Skip to content

Commit

Permalink
Engine API: CL must switch to V2 methods since Shanghai (#380)
Browse files Browse the repository at this point in the history
Oblige CL to call V2 methods since Shanghai
  • Loading branch information
mkalinin authored Feb 23, 2023
1 parent 6452a6b commit d03c193
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/engine/shanghai.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ This method follows the same specification as [`engine_newPayloadV1`](./paris.md

1. Client software **MAY NOT** validate terminal PoW block conditions during payload validation (point (2) in the [Payload validation](./paris.md#payload-validation) routine).
2. Client software **MUST** return `{status: INVALID, latestValidHash: null, validationError: errorMessage | null}` if the `blockHash` validation has failed.
3. Consensus layer client **MUST** call this method instead of `engine_newPayloadV1` if `timestamp` value of a payload is greater or equal to the Shanghai timestamp.

### engine_forkchoiceUpdatedV2

Expand All @@ -134,8 +135,11 @@ Refer to the response for [`engine_forkchoiceUpdatedV1`](./paris.md#engine_forkc
This method follows the same specification as [`engine_forkchoiceUpdatedV1`](./paris.md#engine_forkchoiceupdatedv1) with the exception of the following:

1. Client software **MAY NOT** validate terminal PoW block conditions in the following places:
- during payload validation (point (2) in the [Payload validation](./paris.md#payload-validation) routine specification),
- when updating the forkchoice state (point (3) in the [`engine_forkchoiceUpdatedV1`](./paris.md#engine_forkchoiceupdatedv1) method specification).
- during payload validation (point (2) in the [Payload validation](./paris.md#payload-validation) routine specification),
- when updating the forkchoice state (point (3) in the [`engine_forkchoiceUpdatedV1`](./paris.md#engine_forkchoiceupdatedv1) method specification).
2. Consensus layer client **MUST** call this method instead of `engine_forkchoiceUpdatedV1` under any of the following conditions:
- `headBlockHash` references a block which `timestamp` is greater or equal to the Shanghai timestamp,
- `payloadAttributes` is not `null` and `payloadAttributes.timestamp` is greater or equal to the Shanghai timestamp.

### engine_getPayloadV2

Expand Down

0 comments on commit d03c193

Please sign in to comment.