add engine api timeouts

This commit is contained in:
Danny Ryan 2022-04-05 15:00:08 -06:00
parent cd7f22ee84
commit 774d5779d6
1 changed files with 11 additions and 0 deletions

View File

@ -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