Skip to content

Commit 3c29ecc

Browse files
authored
engineapi: Add request ascending order check (#13698)
As per updated specs, this check should preemptively return -32602 See https://github.com/ethereum/execution-apis/blob/main/src/engine/prague.md#engine_newpayloadv4
1 parent c5f818b commit 3c29ecc

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

turbo/engineapi/engine_server.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,10 +220,12 @@ func (s *EngineServer) newPayload(ctx context.Context, req *engine_types.Executi
220220
}
221221
if version >= clparams.ElectraVersion {
222222
requests = make(types.FlatRequests, 0)
223+
lastReqType := -1
223224
for i, r := range executionRequests {
224-
if len(r) <= 1 {
225+
if len(r) <= 1 || lastReqType >= 0 && int(r[0]) <= lastReqType {
225226
return nil, &rpc.InvalidParamsError{Message: fmt.Sprintf("Invalid Request at index %d", i)}
226227
}
228+
lastReqType = int(r[0])
227229
requests = append(requests, types.FlatRequest{Type: r[0], RequestData: r[1:]})
228230
}
229231
rh := requests.Hash()

0 commit comments

Comments
 (0)