From 774d5779d652d263d8cd236ca80c12a60bce0a86 Mon Sep 17 00:00:00 2001 From: Danny Ryan Date: Tue, 5 Apr 2022 15:00:08 -0600 Subject: [PATCH] add engine api timeouts --- src/engine/specification.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/engine/specification.md b/src/engine/specification.md index 9476acf..3021dbe 100644 --- a/src/engine/specification.md +++ b/src/engine/specification.md @@ -12,6 +12,7 @@ This document specifies the Engine API methods that the Consensus Layer uses to - [Message ordering](#message-ordering) - [Load-balancing and advanced configurations](#load-balancing-and-advanced-configurations) - [Errors](#errors) +- [Timeouts](#timeouts) - [Structures](#structures) - [ExecutionPayloadV1](#executionpayloadv1) - [ForkchoiceStateV1](#forkchoicestatev1) @@ -132,6 +133,12 @@ $ curl https://localhost:8550 \ } ``` +## Timeouts + +After the specified `timeout` for a given call transpires without a response, Consensus Layer software **MUST** abort and consider the call as failed. + +In such an event, the Consensus Layer software **MAY** retry the call. + ## Structures Values of a field of `DATA` type **MUST** be encoded as a hexadecimal string with a `0x` prefix matching the regular expression `^0x(?:[a-fA-F0-9]{2})*$`. @@ -239,6 +246,7 @@ The payload build process is specified as follows: * method: `engine_newPayloadV1` * params: 1. [`ExecutionPayloadV1`](#ExecutionPayloadV1) +* timeout: 120s #### Response @@ -275,6 +283,7 @@ The payload build process is specified as follows: * params: 1. `forkchoiceState`: `Object` - instance of [`ForkchoiceStateV1`](#ForkchoiceStateV1) 2. `payloadAttributes`: `Object|null` - instance of [`PayloadAttributesV1`](#PayloadAttributesV1) or `null` +* timeout: 120s #### Response @@ -319,6 +328,7 @@ The payload build process is specified as follows: * method: `engine_getPayloadV1` * params: 1. `payloadId`: `DATA`, 8 Bytes - Identifier of the payload build process +* timeout: 12s #### Response @@ -340,6 +350,7 @@ The payload build process is specified as follows: * method: `engine_exchangeTransitionConfigurationV1` * params: 1. `transitionConfiguration`: `Object` - instance of [`TransitionConfigurationV1`](#TransitionConfigurationV1) +* timeout: 12s #### Response