@lodestar/beacon-node 1.50.0-dev.c04a499311 → 1.50.0-dev.c24762bc60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/impl/beacon/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/index.js +13 -0
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/state/index.js +28 -6
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/debug/index.d.ts.map +1 -1
- package/lib/api/impl/debug/index.js +26 -18
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +32 -0
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.d.ts +5 -0
- package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
- package/lib/chain/archiveStore/archiveStore.js +13 -23
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/utils/pruneHistory.d.ts +1 -1
- package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/pruneHistory.js +2 -1
- package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +6 -0
- package/lib/chain/beaconProposerCache.d.ts.map +1 -1
- package/lib/chain/beaconProposerCache.js +16 -0
- package/lib/chain/beaconProposerCache.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +14 -8
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +6 -6
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/chain.d.ts +5 -1
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +73 -20
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/interface.d.ts +3 -0
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +4 -2
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +30 -8
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts.map +1 -1
- package/lib/chain/opPools/opPool.js +1 -23
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/opPools/proposerPreferencesPool.d.ts +8 -4
- package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
- package/lib/chain/opPools/proposerPreferencesPool.js +27 -12
- package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
- package/lib/chain/opPools/utils.d.ts +11 -0
- package/lib/chain/opPools/utils.d.ts.map +1 -1
- package/lib/chain/opPools/utils.js +22 -0
- package/lib/chain/opPools/utils.js.map +1 -1
- package/lib/chain/options.d.ts +1 -0
- package/lib/chain/options.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +11 -3
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +8 -0
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +40 -28
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -0
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js +21 -0
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/shufflingCache.d.ts +18 -8
- package/lib/chain/shufflingCache.d.ts.map +1 -1
- package/lib/chain/shufflingCache.js +72 -18
- package/lib/chain/shufflingCache.js.map +1 -1
- package/lib/db/beacon.d.ts +4 -1
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +6 -1
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.d.ts +3 -1
- package/lib/db/buckets.d.ts.map +1 -1
- package/lib/db/buckets.js +2 -0
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +4 -1
- package/lib/db/interface.d.ts.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
- package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
- package/lib/db/repositories/earliestAvailableSlot.d.ts +11 -0
- package/lib/db/repositories/earliestAvailableSlot.d.ts.map +1 -0
- package/lib/db/repositories/earliestAvailableSlot.js +19 -0
- package/lib/db/repositories/earliestAvailableSlot.js.map +1 -0
- package/lib/db/repositories/index.d.ts +1 -0
- package/lib/db/repositories/index.d.ts.map +1 -1
- package/lib/db/repositories/index.js +1 -0
- package/lib/db/repositories/index.js.map +1 -1
- package/lib/db/repositories/proposerPreferences.d.ts +14 -0
- package/lib/db/repositories/proposerPreferences.d.ts.map +1 -0
- package/lib/db/repositories/proposerPreferences.js +21 -0
- package/lib/db/repositories/proposerPreferences.js.map +1 -0
- package/lib/execution/engine/blobVersionedHashes.d.ts +9 -0
- package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -0
- package/lib/execution/engine/blobVersionedHashes.js +74 -0
- package/lib/execution/engine/blobVersionedHashes.js.map +1 -0
- package/lib/execution/engine/http.d.ts +45 -13
- package/lib/execution/engine/http.d.ts.map +1 -1
- package/lib/execution/engine/http.js +236 -198
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/index.d.ts +3 -2
- package/lib/execution/engine/index.d.ts.map +1 -1
- package/lib/execution/engine/index.js +33 -8
- package/lib/execution/engine/index.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +1 -1
- package/lib/execution/engine/interface.d.ts.map +1 -1
- package/lib/execution/engine/jsonRpcTransport.d.ts +25 -0
- package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -0
- package/lib/execution/engine/jsonRpcTransport.js +158 -0
- package/lib/execution/engine/jsonRpcTransport.js.map +1 -0
- package/lib/execution/engine/restHttpClient.d.ts +71 -0
- package/lib/execution/engine/restHttpClient.d.ts.map +1 -0
- package/lib/execution/engine/restHttpClient.js +201 -0
- package/lib/execution/engine/restHttpClient.js.map +1 -0
- package/lib/execution/engine/restTransport.d.ts +46 -0
- package/lib/execution/engine/restTransport.d.ts.map +1 -0
- package/lib/execution/engine/restTransport.js +399 -0
- package/lib/execution/engine/restTransport.js.map +1 -0
- package/lib/execution/engine/sszTypes.d.ts +1261 -0
- package/lib/execution/engine/sszTypes.d.ts.map +1 -0
- package/lib/execution/engine/sszTypes.js +216 -0
- package/lib/execution/engine/sszTypes.js.map +1 -0
- package/lib/execution/engine/transport.d.ts +39 -0
- package/lib/execution/engine/transport.d.ts.map +1 -0
- package/lib/execution/engine/transport.js +2 -0
- package/lib/execution/engine/transport.js.map +1 -0
- package/lib/execution/engine/types.d.ts +2 -0
- package/lib/execution/engine/types.d.ts.map +1 -1
- package/lib/execution/engine/types.js +24 -57
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.d.ts.map +1 -1
- package/lib/execution/engine/utils.js +9 -2
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +10 -0
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +22 -0
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/core/events.d.ts +5 -1
- package/lib/network/core/events.d.ts.map +1 -1
- package/lib/network/core/events.js +8 -0
- package/lib/network/core/events.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +60 -64
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/node/nodejs.d.ts +3 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +2 -1
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/options.d.ts +3 -2
- package/lib/node/options.d.ts.map +1 -1
- package/lib/node/options.js +2 -2
- package/lib/node/options.js.map +1 -1
- package/lib/sync/range/batch.d.ts +5 -5
- package/lib/sync/range/batch.d.ts.map +1 -1
- package/lib/sync/range/batch.js +11 -17
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +4 -4
- package/lib/sync/range/chain.d.ts.map +1 -1
- package/lib/sync/range/chain.js +9 -5
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.d.ts.map +1 -1
- package/lib/sync/range/range.js +25 -11
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +5 -2
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +44 -20
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRange.d.ts +38 -14
- package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRange.js +84 -39
- package/lib/sync/utils/downloadByRange.js.map +1 -1
- package/lib/util/asyncIterableToEvents.d.ts +10 -2
- package/lib/util/asyncIterableToEvents.d.ts.map +1 -1
- package/lib/util/asyncIterableToEvents.js +29 -3
- package/lib/util/asyncIterableToEvents.js.map +1 -1
- package/lib/util/metadata.d.ts.map +1 -1
- package/lib/util/metadata.js +2 -1
- package/lib/util/metadata.js.map +1 -1
- package/package.json +17 -16
- package/src/api/impl/beacon/index.ts +15 -0
- package/src/api/impl/beacon/state/index.ts +43 -6
- package/src/api/impl/debug/index.ts +28 -19
- package/src/api/impl/validator/index.ts +45 -0
- package/src/chain/archiveStore/archiveStore.ts +18 -24
- package/src/chain/archiveStore/utils/pruneHistory.ts +4 -1
- package/src/chain/beaconProposerCache.ts +19 -1
- package/src/chain/blocks/importBlock.ts +17 -7
- package/src/chain/blocks/verifyBlock.ts +7 -6
- package/src/chain/chain.ts +97 -19
- package/src/chain/interface.ts +3 -0
- package/src/chain/opPools/aggregatedAttestationPool.ts +34 -10
- package/src/chain/opPools/opPool.ts +1 -31
- package/src/chain/opPools/proposerPreferencesPool.ts +34 -11
- package/src/chain/opPools/utils.ts +31 -0
- package/src/chain/options.ts +1 -1
- package/src/chain/prepareNextSlot.ts +15 -3
- package/src/chain/produceBlock/produceBlockBody.ts +68 -34
- package/src/chain/seenCache/seenGossipBlockInput.ts +23 -0
- package/src/chain/shufflingCache.ts +84 -22
- package/src/db/beacon.ts +6 -0
- package/src/db/buckets.ts +2 -0
- package/src/db/interface.ts +4 -0
- package/src/db/repositories/earliestAvailableSlot.ts +19 -0
- package/src/db/repositories/index.ts +1 -0
- package/src/db/repositories/proposerPreferences.ts +23 -0
- package/src/execution/engine/blobVersionedHashes.ts +72 -0
- package/src/execution/engine/http.ts +304 -271
- package/src/execution/engine/index.ts +41 -7
- package/src/execution/engine/interface.ts +1 -1
- package/src/execution/engine/jsonRpcTransport.ts +247 -0
- package/src/execution/engine/restHttpClient.ts +269 -0
- package/src/execution/engine/restTransport.ts +544 -0
- package/src/execution/engine/sszTypes.ts +354 -0
- package/src/execution/engine/transport.ts +61 -0
- package/src/execution/engine/types.ts +34 -74
- package/src/execution/engine/utils.ts +12 -2
- package/src/metrics/metrics/lodestar.ts +23 -0
- package/src/network/core/events.ts +16 -1
- package/src/network/processor/gossipHandlers.ts +91 -77
- package/src/node/nodejs.ts +4 -0
- package/src/node/options.ts +10 -1
- package/src/sync/range/batch.ts +14 -19
- package/src/sync/range/chain.ts +12 -7
- package/src/sync/range/range.ts +26 -12
- package/src/sync/unknownBlock.ts +57 -21
- package/src/sync/utils/downloadByRange.ts +123 -58
- package/src/util/asyncIterableToEvents.ts +44 -5
- package/src/util/metadata.ts +2 -1
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { ForkName, ForkSeq, SLOTS_PER_EPOCH, isForkPostFulu } from "@lodestar/params";
|
|
2
|
-
import {
|
|
1
|
+
import { ForkName, ForkSeq, SLOTS_PER_EPOCH, isForkPostBellatrix, isForkPostFulu, } from "@lodestar/params";
|
|
2
|
+
import { isErrorAborted } from "@lodestar/utils";
|
|
3
3
|
import { EPOCHS_PER_BATCH } from "../../sync/constants.js";
|
|
4
4
|
import { getLodestarClientVersion } from "../../util/metadata.js";
|
|
5
|
+
import { isQueueErrorAborted } from "../../util/queue/errors.js";
|
|
5
6
|
import { JobItemQueue } from "../../util/queue/index.js";
|
|
6
|
-
import {
|
|
7
|
-
import { ErrorJsonRpcResponse, HttpRpcError, JsonRpcHttpClientEvent
|
|
7
|
+
import { ExecutionEngineState, ExecutionPayloadStatus, } from "./interface.js";
|
|
8
|
+
import { ErrorJsonRpcResponse, HttpRpcError, JsonRpcHttpClientEvent } from "./jsonRpcHttpClient.js";
|
|
8
9
|
import { PayloadIdCache } from "./payloadIdCache.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
10
|
+
import { EngineRestError, EngineRestResponseError, isRetryableEngineRestError } from "./restHttpClient.js";
|
|
11
|
+
import { executionForkName } from "./sszTypes.js";
|
|
12
|
+
import { serializePayloadAttributes } from "./types.js";
|
|
13
|
+
import { getExecutionEngineState } from "./utils.js";
|
|
14
|
+
export const engineApiModes = ["auto", "ssz", "json-rpc"];
|
|
11
15
|
export const defaultExecutionEngineHttpOpts = {
|
|
12
16
|
/**
|
|
13
17
|
* By default ELs host engine api on an auth protected 8551 port, would need a jwt secret to be
|
|
@@ -18,37 +22,26 @@ export const defaultExecutionEngineHttpOpts = {
|
|
|
18
22
|
retries: 2,
|
|
19
23
|
retryDelay: 2000,
|
|
20
24
|
timeout: 12000,
|
|
25
|
+
engineApi: "auto",
|
|
21
26
|
};
|
|
22
27
|
/**
|
|
23
28
|
* Size for the serializing queue for fcUs and new payloads, the max length could be equal to
|
|
24
29
|
* EPOCHS_PER_BATCH * 2 in case new payloads are also not awaited serially
|
|
25
30
|
*/
|
|
26
31
|
const QUEUE_MAX_LENGTH = EPOCHS_PER_BATCH * SLOTS_PER_EPOCH * 2;
|
|
32
|
+
/** Minimum delay between capabilities probes while the execution client is unreachable */
|
|
33
|
+
const REST_PROBE_RETRY_MS = 12_000;
|
|
27
34
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* https://github.com/ethereum/execution-apis/
|
|
31
|
-
*/
|
|
32
|
-
const MAX_VERSIONED_HASHES = 128;
|
|
33
|
-
// Define static options once to prevent extra allocations
|
|
34
|
-
const notifyNewPayloadOpts = { routeId: "notifyNewPayload" };
|
|
35
|
-
const forkchoiceUpdatedV1Opts = { routeId: "forkchoiceUpdated" };
|
|
36
|
-
const getPayloadOpts = { routeId: "getPayload" };
|
|
37
|
-
const getPayloadBodiesByHashOpts = { routeId: "getPayloadBodiesByHash" };
|
|
38
|
-
const getBlobsV1Opts = { routeId: "getBlobsV1" };
|
|
39
|
-
const getBlobsV2Opts = { routeId: "getBlobsV2" };
|
|
40
|
-
const getClientVersionOpts = { routeId: "getClientVersion" };
|
|
41
|
-
/**
|
|
42
|
-
* based on Ethereum JSON-RPC API and inherits the following properties of this standard:
|
|
43
|
-
* - Supported communication protocols (HTTP and WebSocket)
|
|
44
|
-
* - Message format and encoding notation
|
|
45
|
-
* - Error codes improvement proposal
|
|
35
|
+
* Drives the execution client over the engine API, either the legacy `engine_*` JSON-RPC methods
|
|
36
|
+
* or the REST API with SSZ encoded bodies.
|
|
37
|
+
* https://github.com/ethereum/execution-apis/tree/main/src/engine
|
|
46
38
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
39
|
+
* In `auto` mode a capabilities response from a server without the REST API, a 4xx other than
|
|
40
|
+
* 401/403, selects JSON-RPC until the EL reconnects. Transient discovery failures use JSON-RPC while
|
|
41
|
+
* awaiting another probe; authentication failures fail visibly, malformed capabilities fall back to
|
|
42
|
+
* JSON-RPC with a warning. Forks and blob revisions the EL does not advertise also use JSON-RPC.
|
|
49
43
|
*/
|
|
50
44
|
export class ExecutionEngineHttp {
|
|
51
|
-
rpc;
|
|
52
45
|
opts;
|
|
53
46
|
logger;
|
|
54
47
|
metrics;
|
|
@@ -68,29 +61,41 @@ export class ExecutionEngineHttp {
|
|
|
68
61
|
* the order of new payloads and fcUs is pretty important to EL, this queue will serialize the calls in the
|
|
69
62
|
* order with which we make them.
|
|
70
63
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
queue;
|
|
65
|
+
jsonRpc;
|
|
66
|
+
rest;
|
|
67
|
+
engineApi;
|
|
68
|
+
restSupport = { state: "pending" };
|
|
69
|
+
restProbe = null;
|
|
70
|
+
lastRestProbeMs = Number.NEGATIVE_INFINITY;
|
|
71
|
+
loggedRestFallbacks = new Set();
|
|
72
|
+
constructor({ jsonRpc, rest }, { metrics, signal, logger }, opts) {
|
|
77
73
|
this.opts = opts;
|
|
78
|
-
this.
|
|
74
|
+
this.queue = new JobItemQueue((job) => job(), { maxLength: QUEUE_MAX_LENGTH, maxConcurrency: 1, noYieldIfOneItem: true, signal }, metrics?.engineHttpProcessorQueue);
|
|
79
75
|
this.logger = logger;
|
|
80
76
|
this.metrics = metrics ?? null;
|
|
81
|
-
this.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
this.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
this.updateEngineState(getExecutionEngineState({ targetState: ExecutionEngineState.ONLINE, oldState: this.state }));
|
|
77
|
+
this.jsonRpc = jsonRpc;
|
|
78
|
+
this.rest = rest ?? null;
|
|
79
|
+
this.engineApi = opts?.engineApi ?? "auto";
|
|
80
|
+
if (this.engineApi === "ssz" && this.rest === null) {
|
|
81
|
+
throw Error("REST transport is required for engineApi=ssz");
|
|
82
|
+
}
|
|
83
|
+
// REST errors are handled in withTransport after compatibility fallback.
|
|
84
|
+
this.jsonRpc.emitter.on(JsonRpcHttpClientEvent.ERROR, ({ error }) => {
|
|
85
|
+
this.updateEngineState(getExecutionEngineState({ payloadError: error, oldState: this.state }), error);
|
|
93
86
|
});
|
|
87
|
+
for (const transport of [this.jsonRpc, this.rest]) {
|
|
88
|
+
transport?.emitter.on(JsonRpcHttpClientEvent.RESPONSE, () => {
|
|
89
|
+
if (this.clientVersion === undefined) {
|
|
90
|
+
this.clientVersion = null;
|
|
91
|
+
// This statement should only be called first time receiving response after startup
|
|
92
|
+
this.getClientVersion(getLodestarClientVersion(this.opts)).catch((e) => {
|
|
93
|
+
this.logger.debug("Unable to get execution client version", {}, e);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
this.updateEngineState(getExecutionEngineState({ targetState: ExecutionEngineState.ONLINE, oldState: this.state }));
|
|
97
|
+
});
|
|
98
|
+
}
|
|
94
99
|
}
|
|
95
100
|
/**
|
|
96
101
|
* `engine_newPayloadV1`
|
|
@@ -115,17 +120,7 @@ export class ExecutionEngineHttp {
|
|
|
115
120
|
* If any of the above fails due to errors unrelated to the normal processing flow of the method, client software MUST respond with an error object.
|
|
116
121
|
*/
|
|
117
122
|
async notifyNewPayload(fork, executionPayload, versionedHashes, parentBlockRoot, executionRequests) {
|
|
118
|
-
|
|
119
|
-
? "engine_newPayloadV5"
|
|
120
|
-
: ForkSeq[fork] >= ForkSeq.electra
|
|
121
|
-
? "engine_newPayloadV4"
|
|
122
|
-
: ForkSeq[fork] >= ForkSeq.deneb
|
|
123
|
-
? "engine_newPayloadV3"
|
|
124
|
-
: ForkSeq[fork] >= ForkSeq.capella
|
|
125
|
-
? "engine_newPayloadV2"
|
|
126
|
-
: "engine_newPayloadV1";
|
|
127
|
-
const serializedExecutionPayload = serializeExecutionPayload(fork, executionPayload);
|
|
128
|
-
let engineRequest;
|
|
123
|
+
// Validate before queueing, argument errors must not be reported as an unavailable execution client
|
|
129
124
|
if (ForkSeq[fork] >= ForkSeq.deneb) {
|
|
130
125
|
if (versionedHashes === undefined) {
|
|
131
126
|
throw Error(`versionedHashes required in notifyNewPayload for fork=${fork}`);
|
|
@@ -133,46 +128,26 @@ export class ExecutionEngineHttp {
|
|
|
133
128
|
if (parentBlockRoot === undefined) {
|
|
134
129
|
throw Error(`parentBlockRoot required in notifyNewPayload for fork=${fork}`);
|
|
135
130
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
if (ForkSeq[fork] >= ForkSeq.electra) {
|
|
139
|
-
if (executionRequests === undefined) {
|
|
140
|
-
throw Error(`executionRequests required in notifyNewPayload for fork=${fork}`);
|
|
141
|
-
}
|
|
142
|
-
const serializedExecutionRequests = serializeExecutionRequests(fork, executionRequests);
|
|
143
|
-
engineRequest = {
|
|
144
|
-
method: ForkSeq[fork] >= ForkSeq.gloas ? "engine_newPayloadV5" : "engine_newPayloadV4",
|
|
145
|
-
params: [
|
|
146
|
-
serializedExecutionPayload,
|
|
147
|
-
serializedVersionedHashes,
|
|
148
|
-
parentBeaconBlockRoot,
|
|
149
|
-
serializedExecutionRequests,
|
|
150
|
-
],
|
|
151
|
-
methodOpts: notifyNewPayloadOpts,
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
engineRequest = {
|
|
156
|
-
method: "engine_newPayloadV3",
|
|
157
|
-
params: [serializedExecutionPayload, serializedVersionedHashes, parentBeaconBlockRoot],
|
|
158
|
-
methodOpts: notifyNewPayloadOpts,
|
|
159
|
-
};
|
|
131
|
+
if (ForkSeq[fork] >= ForkSeq.electra && executionRequests === undefined) {
|
|
132
|
+
throw Error(`executionRequests required in notifyNewPayload for fork=${fork}`);
|
|
160
133
|
}
|
|
161
134
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
method,
|
|
166
|
-
params: [serializedExecutionPayload],
|
|
167
|
-
methodOpts: notifyNewPayloadOpts,
|
|
168
|
-
};
|
|
135
|
+
let result;
|
|
136
|
+
try {
|
|
137
|
+
result = await this.enqueue(() => this.withTransport(fork, undefined, (transport) => transport.newPayload(fork, executionPayload, versionedHashes, parentBlockRoot, executionRequests)));
|
|
169
138
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
139
|
+
catch (e) {
|
|
140
|
+
const status = isEngineResponseError(e)
|
|
141
|
+
? ExecutionPayloadStatus.ELERROR
|
|
142
|
+
: ExecutionPayloadStatus.UNAVAILABLE;
|
|
143
|
+
// Only newPayload treats an unreachable execution client, including a timeout, as offline
|
|
144
|
+
const newState = status === ExecutionPayloadStatus.UNAVAILABLE && !isErrorAborted(e) && !isQueueErrorAborted(e)
|
|
145
|
+
? getExecutionEngineState({ payloadStatus: status, oldState: this.state })
|
|
146
|
+
: getExecutionEngineState({ payloadError: e, oldState: this.state });
|
|
147
|
+
this.updateEngineState(newState, e);
|
|
148
|
+
return { status, latestValidHash: null, validationError: e.message };
|
|
149
|
+
}
|
|
150
|
+
const { status, latestValidHash, validationError } = result;
|
|
176
151
|
this.updateEngineState(getExecutionEngineState({ payloadStatus: status, oldState: this.state }));
|
|
177
152
|
switch (status) {
|
|
178
153
|
case ExecutionPayloadStatus.VALID:
|
|
@@ -227,38 +202,21 @@ export class ExecutionEngineHttp {
|
|
|
227
202
|
* If any of the above fails due to errors unrelated to the normal processing flow of the method, client software MUST respond with an error object.
|
|
228
203
|
*/
|
|
229
204
|
async notifyForkchoiceUpdate(fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes) {
|
|
230
|
-
|
|
231
|
-
// not provided
|
|
232
|
-
const method = ForkSeq[fork] >= ForkSeq.gloas
|
|
233
|
-
? "engine_forkchoiceUpdatedV4"
|
|
234
|
-
: ForkSeq[fork] >= ForkSeq.deneb
|
|
235
|
-
? "engine_forkchoiceUpdatedV3"
|
|
236
|
-
: ForkSeq[fork] >= ForkSeq.capella
|
|
237
|
-
? "engine_forkchoiceUpdatedV2"
|
|
238
|
-
: "engine_forkchoiceUpdatedV1";
|
|
239
|
-
const payloadAttributesRpc = payloadAttributes ? serializePayloadAttributes(payloadAttributes) : undefined;
|
|
240
|
-
// If we are just fcUing and not asking execution for payload, retry is not required
|
|
241
|
-
// and we can move on, as the next fcU will be issued soon on the new slot
|
|
242
|
-
const fcUReqOpts = payloadAttributes !== undefined ? forkchoiceUpdatedV1Opts : { ...forkchoiceUpdatedV1Opts, retries: 0 };
|
|
243
|
-
const request = this.rpcFetchQueue.push({
|
|
244
|
-
method,
|
|
245
|
-
params: [{ headBlockHash, safeBlockHash, finalizedBlockHash }, payloadAttributesRpc],
|
|
246
|
-
methodOpts: fcUReqOpts,
|
|
247
|
-
});
|
|
248
|
-
const { payloadStatus: { status, latestValidHash: _latestValidHash, validationError }, payloadId, } = await request;
|
|
205
|
+
const { payloadStatus: { status, validationError }, payloadId, } = await this.enqueue(() => this.withTransport(fork, undefined, (transport) => transport.forkchoiceUpdated(fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes)));
|
|
249
206
|
this.updateEngineState(getExecutionEngineState({ payloadStatus: status, oldState: this.state }));
|
|
250
207
|
this.metrics?.engineNotifyForkchoiceUpdateResult.inc({ result: status });
|
|
251
208
|
switch (status) {
|
|
252
209
|
case ExecutionPayloadStatus.VALID:
|
|
253
210
|
// if payloadAttributes are provided, a valid payloadId is expected
|
|
254
|
-
if (
|
|
255
|
-
if (
|
|
211
|
+
if (payloadAttributes) {
|
|
212
|
+
if (payloadId === null) {
|
|
256
213
|
throw Error(`Received invalid payloadId=${payloadId}`);
|
|
257
214
|
}
|
|
215
|
+
const payloadAttributesRpc = serializePayloadAttributes(payloadAttributes);
|
|
258
216
|
this.payloadIdCache.add({ headBlockHash, finalizedBlockHash, ...payloadAttributesRpc }, payloadId);
|
|
259
217
|
void this.prunePayloadIdCache();
|
|
260
218
|
}
|
|
261
|
-
return payloadId
|
|
219
|
+
return payloadId;
|
|
262
220
|
case ExecutionPayloadStatus.SYNCING:
|
|
263
221
|
// Throw error on syncing if requested to produce a block, else silently ignore
|
|
264
222
|
if (payloadAttributes) {
|
|
@@ -279,104 +237,154 @@ export class ExecutionEngineHttp {
|
|
|
279
237
|
* 3. Client software MAY stop the corresponding building process after serving this call.
|
|
280
238
|
*/
|
|
281
239
|
async getPayload(fork, payloadId) {
|
|
282
|
-
|
|
283
|
-
switch (fork) {
|
|
284
|
-
case ForkName.phase0:
|
|
285
|
-
case ForkName.altair:
|
|
286
|
-
case ForkName.bellatrix:
|
|
287
|
-
method = "engine_getPayloadV1";
|
|
288
|
-
break;
|
|
289
|
-
case ForkName.capella:
|
|
290
|
-
method = "engine_getPayloadV2";
|
|
291
|
-
break;
|
|
292
|
-
case ForkName.deneb:
|
|
293
|
-
method = "engine_getPayloadV3";
|
|
294
|
-
break;
|
|
295
|
-
case ForkName.electra:
|
|
296
|
-
method = "engine_getPayloadV4";
|
|
297
|
-
break;
|
|
298
|
-
case ForkName.fulu:
|
|
299
|
-
method = "engine_getPayloadV5";
|
|
300
|
-
break;
|
|
301
|
-
default:
|
|
302
|
-
method = "engine_getPayloadV6";
|
|
303
|
-
break;
|
|
304
|
-
}
|
|
305
|
-
const payloadResponse = await this.rpc.fetchWithRetries({
|
|
306
|
-
method,
|
|
307
|
-
params: [payloadId],
|
|
308
|
-
}, getPayloadOpts);
|
|
309
|
-
return parseExecutionPayload(fork, payloadResponse);
|
|
240
|
+
return this.withTransport(fork, undefined, (transport) => transport.getPayload(fork, payloadId));
|
|
310
241
|
}
|
|
311
242
|
async prunePayloadIdCache() {
|
|
312
243
|
this.payloadIdCache.prune();
|
|
313
244
|
}
|
|
314
245
|
async getPayloadBodiesByHashV2(blockHashes) {
|
|
315
|
-
|
|
316
|
-
assertReqSizeLimit(blockHashes.length, 32);
|
|
317
|
-
const response = await this.rpc.fetchWithRetries({ method, params: [blockHashes] }, getPayloadBodiesByHashOpts);
|
|
318
|
-
return response.map(deserializeExecutionPayloadBodyV2);
|
|
246
|
+
return this.withTransport(ForkName.gloas, undefined, (transport) => transport.getPayloadBodiesByHashV2(blockHashes));
|
|
319
247
|
}
|
|
320
248
|
async getBlobs(fork, versionedHashes, buffers) {
|
|
321
|
-
assertReqSizeLimit(versionedHashes.length, MAX_VERSIONED_HASHES);
|
|
322
|
-
const versionedHashesHex = versionedHashes.map(bytesToData);
|
|
323
249
|
if (isForkPostFulu(fork)) {
|
|
324
|
-
return
|
|
250
|
+
return this.withTransport(undefined, "v2", (transport) => transport.getBlobsV2(versionedHashes, buffers));
|
|
325
251
|
}
|
|
326
|
-
return
|
|
252
|
+
return this.withTransport(undefined, "v1", (transport) => transport.getBlobsV1(versionedHashes));
|
|
327
253
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
method: "engine_getBlobsV1",
|
|
331
|
-
params: [versionedHashesHex],
|
|
332
|
-
}, getBlobsV1Opts);
|
|
333
|
-
const invalidLength = response.length !== versionedHashesHex.length;
|
|
334
|
-
if (invalidLength) {
|
|
335
|
-
const error = `Invalid engine_getBlobsV1 response length=${response.length} versionedHashes=${versionedHashesHex.length}`;
|
|
336
|
-
this.logger.error(error);
|
|
337
|
-
throw Error(error);
|
|
338
|
-
}
|
|
339
|
-
return response.map(deserializeBlobAndProofs);
|
|
254
|
+
enqueue(job) {
|
|
255
|
+
return this.queue.push(job);
|
|
340
256
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
257
|
+
/**
|
|
258
|
+
* Run a call on the selected transport. An execution client that advertises a fork in its
|
|
259
|
+
* capabilities but rejects it with `unsupported-fork` is not spec compliant, keep the node
|
|
260
|
+
* functional by serving that fork over JSON-RPC from then on.
|
|
261
|
+
*/
|
|
262
|
+
async withTransport(fork, blobsRevision, fn) {
|
|
263
|
+
const transport = await this.getTransport(fork, blobsRevision);
|
|
264
|
+
this.metrics?.engineApiRequests.inc({ transport: transport === this.rest ? "ssz" : "json-rpc" });
|
|
265
|
+
try {
|
|
266
|
+
return await fn(transport);
|
|
267
|
+
}
|
|
268
|
+
catch (e) {
|
|
269
|
+
if (fork !== undefined && transport === this.rest && this.engineApi === "auto" && isUnsupportedForkError(e)) {
|
|
270
|
+
this.disableRestForFork(fork, e);
|
|
271
|
+
this.metrics?.engineApiRequests.inc({ transport: "json-rpc" });
|
|
272
|
+
return fn(this.jsonRpc);
|
|
346
273
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
274
|
+
if (transport === this.rest) {
|
|
275
|
+
this.updateEngineState(getExecutionEngineState({ payloadError: e, oldState: this.state }), e);
|
|
276
|
+
}
|
|
277
|
+
throw e;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
disableRestForFork(fork, e) {
|
|
281
|
+
const executionFork = isForkPostBellatrix(fork) ? executionForkName[fork] : null;
|
|
282
|
+
if (this.restSupport.state === "supported" && executionFork !== null) {
|
|
283
|
+
this.restSupport.capabilities.supportedForks.delete(executionFork);
|
|
284
|
+
}
|
|
285
|
+
if (!this.loggedRestFallbacks.has(fork)) {
|
|
286
|
+
this.loggedRestFallbacks.add(fork);
|
|
287
|
+
this.logger.debug("REST engine API rejected an advertised fork, using JSON-RPC until reconnect", {
|
|
288
|
+
fork,
|
|
289
|
+
executionFork,
|
|
290
|
+
status: e.status,
|
|
291
|
+
type: e.type,
|
|
292
|
+
detail: e.detail,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Pick the transport for a call. Fork-scoped calls only go over REST if the execution client
|
|
298
|
+
* advertises that fork, blob requests only if it serves the needed `/blobs/vN` revision.
|
|
299
|
+
*/
|
|
300
|
+
async getTransport(fork, blobsRevision) {
|
|
301
|
+
if (this.rest === null || this.engineApi === "json-rpc") {
|
|
302
|
+
return this.jsonRpc;
|
|
303
|
+
}
|
|
304
|
+
const restSupport = await this.probeRestSupport(this.rest);
|
|
305
|
+
if (restSupport.state === "pending" && restSupport.error) {
|
|
306
|
+
this.updateEngineState(getExecutionEngineState({ payloadError: restSupport.error, oldState: this.state }), restSupport.error);
|
|
307
|
+
throw restSupport.error;
|
|
308
|
+
}
|
|
309
|
+
if (this.engineApi === "ssz") {
|
|
310
|
+
return this.rest;
|
|
311
|
+
}
|
|
312
|
+
if (restSupport.state !== "supported") {
|
|
313
|
+
return this.jsonRpc;
|
|
314
|
+
}
|
|
315
|
+
if (fork !== undefined) {
|
|
316
|
+
const executionFork = isForkPostBellatrix(fork) ? executionForkName[fork] : null;
|
|
317
|
+
if (executionFork === null || !restSupport.capabilities.supportedForks.has(executionFork)) {
|
|
318
|
+
if (!this.loggedRestFallbacks.has(fork)) {
|
|
319
|
+
this.loggedRestFallbacks.add(fork);
|
|
320
|
+
this.logger.debug("Using JSON-RPC for a fork not advertised by the REST engine API", { fork, executionFork });
|
|
350
321
|
}
|
|
322
|
+
return this.jsonRpc;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
if (blobsRevision !== undefined && !restSupport.capabilities.blobsRevisions.has(blobsRevision)) {
|
|
326
|
+
if (!this.loggedRestFallbacks.has(blobsRevision)) {
|
|
327
|
+
this.loggedRestFallbacks.add(blobsRevision);
|
|
328
|
+
this.logger.debug("Using JSON-RPC for a blob revision not advertised by the REST engine API", { blobsRevision });
|
|
351
329
|
}
|
|
330
|
+
return this.jsonRpc;
|
|
352
331
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
const invalidLength = !!response && response.length !== versionedHashesHex.length;
|
|
359
|
-
if (invalidLength) {
|
|
360
|
-
const error = `Invalid engine_getBlobsV2 response length=${response?.length ?? "null"} versionedHashes=${versionedHashesHex.length}`;
|
|
361
|
-
this.logger.error(error);
|
|
362
|
-
throw Error(error);
|
|
332
|
+
return this.rest;
|
|
333
|
+
}
|
|
334
|
+
probeRestSupport(rest) {
|
|
335
|
+
if (this.restSupport.state !== "pending") {
|
|
336
|
+
return Promise.resolve(this.restSupport);
|
|
363
337
|
}
|
|
364
|
-
if (
|
|
365
|
-
return
|
|
338
|
+
if (this.restProbe !== null) {
|
|
339
|
+
return this.restProbe;
|
|
366
340
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
return
|
|
341
|
+
// Transport errors keep the probe pending, do not retry on every call while the EL is down
|
|
342
|
+
if (Date.now() - this.lastRestProbeMs < REST_PROBE_RETRY_MS) {
|
|
343
|
+
return Promise.resolve(this.restSupport);
|
|
370
344
|
}
|
|
371
|
-
|
|
345
|
+
this.restProbe = rest
|
|
346
|
+
.getCapabilities()
|
|
347
|
+
.then((capabilities) => {
|
|
348
|
+
this.restSupport = { state: "supported", capabilities };
|
|
349
|
+
this.loggedRestFallbacks.clear();
|
|
350
|
+
this.logger.debug("Discovered REST engine API capabilities", {
|
|
351
|
+
supportedForks: Array.from(capabilities.supportedForks).join(","),
|
|
352
|
+
blobsRevisions: Array.from(capabilities.blobsRevisions).join(","),
|
|
353
|
+
...capabilities.limits,
|
|
354
|
+
});
|
|
355
|
+
return this.restSupport;
|
|
356
|
+
}, (e) => {
|
|
357
|
+
if (this.engineApi === "auto" && isRestApiAbsent(e)) {
|
|
358
|
+
this.restSupport = { state: "unsupported" };
|
|
359
|
+
this.logger.debug("Execution client does not support engine API over REST, using JSON-RPC", {
|
|
360
|
+
status: e.status,
|
|
361
|
+
type: e.type ?? "unknown",
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
else if (this.engineApi === "auto" && e instanceof EngineRestResponseError) {
|
|
365
|
+
// The REST API answered but cannot be trusted, auto mode must keep the node on a working transport
|
|
366
|
+
this.restSupport = { state: "unsupported" };
|
|
367
|
+
this.logger.warn("Invalid engine API capabilities, using JSON-RPC until reconnect", {}, e);
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
const transient = isRetryableEngineRestError(e);
|
|
371
|
+
this.restSupport = { state: "pending", error: this.engineApi === "auto" && transient ? undefined : e };
|
|
372
|
+
this.logger.debug("Unable to probe engine API capabilities", {
|
|
373
|
+
engineApi: this.engineApi,
|
|
374
|
+
fallback: this.restSupport.error ? "none" : "json-rpc",
|
|
375
|
+
retryAfterMs: REST_PROBE_RETRY_MS,
|
|
376
|
+
}, e);
|
|
377
|
+
}
|
|
378
|
+
return this.restSupport;
|
|
379
|
+
})
|
|
380
|
+
.finally(() => {
|
|
381
|
+
this.restProbe = null;
|
|
382
|
+
this.lastRestProbeMs = Date.now();
|
|
383
|
+
});
|
|
384
|
+
return this.restProbe;
|
|
372
385
|
}
|
|
373
386
|
async getClientVersion(clientVersion) {
|
|
374
|
-
const
|
|
375
|
-
const response = await this.rpc.fetchWithRetries({ method, params: [{ ...clientVersion, commit: `0x${clientVersion.commit}` }] }, getClientVersionOpts);
|
|
376
|
-
const clientVersions = response.map((cv) => {
|
|
377
|
-
const code = cv.code in ClientCode ? ClientCode[cv.code] : ClientCode.XX;
|
|
378
|
-
return { code, name: cv.name, version: cv.version, commit: strip0xPrefix(cv.commit) };
|
|
379
|
-
});
|
|
387
|
+
const clientVersions = await this.withTransport(undefined, undefined, (transport) => transport.getClientVersion(clientVersion));
|
|
380
388
|
if (clientVersions.length === 0) {
|
|
381
389
|
throw Error("Received empty client versions array");
|
|
382
390
|
}
|
|
@@ -384,32 +392,62 @@ export class ExecutionEngineHttp {
|
|
|
384
392
|
this.logger.debug("Execution client version updated", this.clientVersion);
|
|
385
393
|
return clientVersions;
|
|
386
394
|
}
|
|
387
|
-
updateEngineState(newState) {
|
|
395
|
+
updateEngineState(newState, error) {
|
|
388
396
|
const oldState = this.state;
|
|
389
397
|
if (oldState === newState)
|
|
390
398
|
return;
|
|
391
399
|
switch (newState) {
|
|
392
400
|
case ExecutionEngineState.ONLINE:
|
|
393
401
|
this.logger.info("Execution client became online", { oldState, newState });
|
|
402
|
+
if (oldState === ExecutionEngineState.AUTH_FAILED) {
|
|
403
|
+
this.restSupport = { state: "pending" };
|
|
404
|
+
this.lastRestProbeMs = Number.NEGATIVE_INFINITY;
|
|
405
|
+
}
|
|
394
406
|
this.getClientVersion(getLodestarClientVersion(this.opts)).catch((e) => {
|
|
395
407
|
this.logger.debug("Unable to get execution client version", {}, e);
|
|
396
408
|
this.clientVersion = null;
|
|
397
409
|
});
|
|
398
410
|
break;
|
|
399
411
|
case ExecutionEngineState.OFFLINE:
|
|
400
|
-
|
|
412
|
+
// Reprobe before choosing a transport for the next call after a disconnect.
|
|
413
|
+
this.restSupport = { state: "pending" };
|
|
414
|
+
this.lastRestProbeMs = Number.NEGATIVE_INFINITY;
|
|
415
|
+
this.logger.error("Execution client went offline", { oldState, newState }, error);
|
|
401
416
|
break;
|
|
402
417
|
case ExecutionEngineState.SYNCED:
|
|
403
418
|
this.logger.info("Execution client is synced", { oldState, newState });
|
|
404
419
|
break;
|
|
405
420
|
case ExecutionEngineState.SYNCING:
|
|
406
|
-
this.logger.warn("Execution client is syncing", { oldState, newState });
|
|
421
|
+
this.logger.warn(error ? "Execution client request failed" : "Execution client is syncing", { oldState, newState }, error);
|
|
407
422
|
break;
|
|
408
423
|
case ExecutionEngineState.AUTH_FAILED:
|
|
409
|
-
this.logger.error("Execution client authentication failed", { oldState, newState });
|
|
424
|
+
this.logger.error("Execution client authentication failed", { oldState, newState }, error);
|
|
410
425
|
break;
|
|
411
426
|
}
|
|
412
427
|
this.state = newState;
|
|
413
428
|
}
|
|
414
429
|
}
|
|
430
|
+
/** The execution client answered, as opposed to being unreachable */
|
|
431
|
+
function isEngineResponseError(e) {
|
|
432
|
+
return (e instanceof HttpRpcError ||
|
|
433
|
+
e instanceof ErrorJsonRpcResponse ||
|
|
434
|
+
e instanceof EngineRestError ||
|
|
435
|
+
e instanceof EngineRestResponseError);
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Legacy JSON-RPC servers and proxies reject the capabilities probe in different ways, a 404 or
|
|
439
|
+
* another client error such as 405. Neither serves the REST API. Authentication failures and
|
|
440
|
+
* transient client errors say nothing about REST support.
|
|
441
|
+
*/
|
|
442
|
+
function isRestApiAbsent(e) {
|
|
443
|
+
return (e instanceof EngineRestError &&
|
|
444
|
+
e.status >= 400 &&
|
|
445
|
+
e.status < 500 &&
|
|
446
|
+
e.status !== 401 &&
|
|
447
|
+
e.status !== 403 &&
|
|
448
|
+
!isRetryableEngineRestError(e));
|
|
449
|
+
}
|
|
450
|
+
function isUnsupportedForkError(e) {
|
|
451
|
+
return e instanceof EngineRestError && e.status === 400 && e.type === "/engine-api/errors/unsupported-fork";
|
|
452
|
+
}
|
|
415
453
|
//# sourceMappingURL=http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/execution/engine/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/execution/engine/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ExecutionEngineDisabled } from "./disabled.js";
|
|
2
|
-
import { ExecutionEngineHttp, ExecutionEngineHttpOpts, ExecutionEngineModules, defaultExecutionEngineHttpOpts } from "./http.js";
|
|
2
|
+
import { EngineApiMode, ExecutionEngineHttp, ExecutionEngineHttpOpts, ExecutionEngineModules, defaultExecutionEngineHttpOpts, engineApiModes } from "./http.js";
|
|
3
3
|
import { IExecutionEngine } from "./interface.js";
|
|
4
4
|
import { ExecutionEngineMockOpts } from "./mock.js";
|
|
5
5
|
import { JsonRpcBackend } from "./utils.js";
|
|
6
|
-
export { ExecutionEngineHttp, ExecutionEngineDisabled, defaultExecutionEngineHttpOpts };
|
|
6
|
+
export { ExecutionEngineHttp, ExecutionEngineDisabled, defaultExecutionEngineHttpOpts, engineApiModes };
|
|
7
|
+
export type { EngineApiMode };
|
|
7
8
|
export type ExecutionEngineOpts = ({
|
|
8
9
|
mode?: "http";
|
|
9
10
|
} & ExecutionEngineHttpOpts) | ({
|