@lodestar/beacon-node 1.40.0 → 1.41.0-dev.702f7932c2
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/node/index.d.ts +1 -1
- package/lib/api/impl/node/index.d.ts.map +1 -1
- package/lib/api/impl/node/index.js +18 -1
- package/lib/api/impl/node/index.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +3 -25
- package/lib/execution/engine/interface.d.ts.map +1 -1
- package/lib/execution/engine/interface.js +2 -20
- package/lib/execution/engine/interface.js.map +1 -1
- package/package.json +15 -15
- package/src/api/impl/node/index.ts +22 -1
- package/src/execution/engine/interface.ts +3 -27
|
@@ -2,5 +2,5 @@ import { routes } from "@lodestar/api";
|
|
|
2
2
|
import { ApplicationMethods } from "@lodestar/api/server";
|
|
3
3
|
import { ApiOptions } from "../../options.js";
|
|
4
4
|
import { ApiModules } from "../types.js";
|
|
5
|
-
export declare function getNodeApi(opts: ApiOptions, { network, sync }: Pick<ApiModules, "network" | "sync">): ApplicationMethods<routes.node.Endpoints>;
|
|
5
|
+
export declare function getNodeApi(opts: ApiOptions, { network, sync, chain }: Pick<ApiModules, "network" | "sync" | "chain">): ApplicationMethods<routes.node.Endpoints>;
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,wBAAgB,UAAU,CACxB,IAAI,EAAE,UAAU,EAChB,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,GACrE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CA4F3C"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ClientCode } from "../../../execution/index.js";
|
|
3
|
+
import { getLodestarClientVersion } from "../../../util/metadata.js";
|
|
2
4
|
import { ApiError } from "../errors.js";
|
|
3
|
-
export function getNodeApi(opts, { network, sync }) {
|
|
5
|
+
export function getNodeApi(opts, { network, sync, chain }) {
|
|
4
6
|
return {
|
|
5
7
|
async getNetworkIdentity() {
|
|
6
8
|
return {
|
|
@@ -44,6 +46,17 @@ export function getNodeApi(opts, { network, sync }) {
|
|
|
44
46
|
},
|
|
45
47
|
};
|
|
46
48
|
},
|
|
49
|
+
async getNodeVersionV2() {
|
|
50
|
+
const { clientVersion } = chain.executionEngine;
|
|
51
|
+
return {
|
|
52
|
+
data: {
|
|
53
|
+
beaconNode: toSpecClientVersion(getLodestarClientVersion(opts)),
|
|
54
|
+
executionClient: clientVersion != null && clientVersion.code !== ClientCode.XX
|
|
55
|
+
? toSpecClientVersion(clientVersion)
|
|
56
|
+
: undefined,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
},
|
|
47
60
|
async getSyncingStatus() {
|
|
48
61
|
return { data: sync.getSyncStatus() };
|
|
49
62
|
},
|
|
@@ -65,4 +78,8 @@ export function getNodeApi(opts, { network, sync }) {
|
|
|
65
78
|
},
|
|
66
79
|
};
|
|
67
80
|
}
|
|
81
|
+
/** Prefix commit with 0x as required by the beacon-APIs spec */
|
|
82
|
+
function toSpecClientVersion(cv) {
|
|
83
|
+
return { ...cv, commit: `0x${cv.commit}` };
|
|
84
|
+
}
|
|
68
85
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/node/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
1
2
|
import { CONSOLIDATION_REQUEST_TYPE, DEPOSIT_REQUEST_TYPE, ForkName, ForkPostFulu, ForkPreFulu, WITHDRAWAL_REQUEST_TYPE } from "@lodestar/params";
|
|
2
3
|
import { BlobsBundle, ExecutionPayload, ExecutionRequests, Root, RootHex, Wei, capella } from "@lodestar/types";
|
|
3
4
|
import { BlobAndProof } from "@lodestar/types/deneb";
|
|
@@ -6,6 +7,8 @@ import { PayloadId, PayloadIdCache, WithdrawalV1 } from "./payloadIdCache.js";
|
|
|
6
7
|
import { ExecutionPayloadBody } from "./types.js";
|
|
7
8
|
import { DATA } from "./utils.js";
|
|
8
9
|
export { PayloadIdCache, type PayloadId, type WithdrawalV1 };
|
|
10
|
+
export type ClientVersion = routes.node.ClientVersion;
|
|
11
|
+
export declare const ClientCode: typeof routes.node.ClientCode;
|
|
9
12
|
export declare enum ExecutionPayloadStatus {
|
|
10
13
|
/** given payload is valid */
|
|
11
14
|
VALID = "VALID",
|
|
@@ -34,25 +37,6 @@ export declare enum ExecutionEngineState {
|
|
|
34
37
|
SYNCED = "SYNCED",
|
|
35
38
|
AUTH_FAILED = "AUTH_FAILED"
|
|
36
39
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Client code as defined in https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/identification.md#clientcode
|
|
39
|
-
* ClientCode.XX is dedicated to other clients which do not have their own code
|
|
40
|
-
*/
|
|
41
|
-
export declare enum ClientCode {
|
|
42
|
-
BU = "BU",// besu
|
|
43
|
-
EJ = "EJ",// ethereumJS
|
|
44
|
-
EG = "EG",// erigon
|
|
45
|
-
GE = "GE",// go-ethereum
|
|
46
|
-
GR = "GR",// grandine
|
|
47
|
-
LH = "LH",// lighthouse
|
|
48
|
-
LS = "LS",// lodestar
|
|
49
|
-
NM = "NM",// nethermind
|
|
50
|
-
NB = "NB",// nimbus
|
|
51
|
-
TK = "TK",// teku
|
|
52
|
-
PM = "PM",// prysm
|
|
53
|
-
RH = "RH",// reth
|
|
54
|
-
XX = "XX"
|
|
55
|
-
}
|
|
56
40
|
export type ExecutionRequestType = typeof DEPOSIT_REQUEST_TYPE | typeof WITHDRAWAL_REQUEST_TYPE | typeof CONSOLIDATION_REQUEST_TYPE;
|
|
57
41
|
export declare function isExecutionRequestType(type: number): type is ExecutionRequestType;
|
|
58
42
|
export type ExecutePayloadResponse = {
|
|
@@ -80,12 +64,6 @@ export type PayloadAttributes = {
|
|
|
80
64
|
withdrawals?: capella.Withdrawal[];
|
|
81
65
|
parentBeaconBlockRoot?: Uint8Array;
|
|
82
66
|
};
|
|
83
|
-
export type ClientVersion = {
|
|
84
|
-
code: ClientCode;
|
|
85
|
-
name: string;
|
|
86
|
-
version: string;
|
|
87
|
-
commit: string;
|
|
88
|
-
};
|
|
89
67
|
export type VersionedHashes = Uint8Array[];
|
|
90
68
|
/**
|
|
91
69
|
* Execution engine represents an abstract protocol to interact with execution clients. Potential transports include:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAC,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;AACtD,eAAO,MAAM,UAAU,+BAAyB,CAAC;AAEjD,oBAAY,sBAAsB;IAChC,6BAA6B;IAC7B,KAAK,UAAU;IACf,+BAA+B;IAC/B,OAAO,YAAY;IACnB,kCAAkC;IAClC,OAAO,YAAY;IACnB;;;OAGG;IACH,QAAQ,aAAa;IACrB,2BAA2B;IAC3B,kBAAkB,uBAAuB;IACzC,eAAe;IACf,OAAO,YAAY;IACnB,qBAAqB;IACrB,WAAW,gBAAgB;IAC3B,wFAAwF;IACxF,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAC5B,OAAO,oBAAoB,GAC3B,OAAO,uBAAuB,GAC9B,OAAO,0BAA0B,CAAC;AAEtC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,oBAAoB,CAEjF;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,MAAM,EAAE,sBAAsB,CAAC,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC;IACzE,eAAe,EAAE,IAAI,CAAC;IACtB,eAAe,EAAE,IAAI,CAAC;CACvB,GACD;IAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,IAAI,CAAA;CAAC,GACvF;IAAC,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC,GACzG;IACE,MAAM,EACF,sBAAsB,CAAC,kBAAkB,GACzC,sBAAsB,CAAC,OAAO,GAC9B,sBAAsB,CAAC,WAAW,CAAC;IACvC,eAAe,EAAE,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,sBAAsB,GAC9B,sBAAsB,CAAC,KAAK,GAC5B,sBAAsB,CAAC,OAAO,GAC9B,sBAAsB,CAAC,OAAO,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IAGvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,qBAAqB,CAAC,EAAE,UAAU,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IAErC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAE9C,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;;;;;OAQG;IACH,gBAAgB,CACd,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,CAAC,EAAE,eAAe,EACjC,qBAAqB,CAAC,EAAE,IAAI,EAC5B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEnC;;;;;;;;;;;OAWG;IACH,sBAAsB,CACpB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAE7B;;;;;;OAMG;IACH,UAAU,CACR,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC;QACT,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,qBAAqB,EAAE,GAAG,CAAC;QAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC,CAAC;IAEH,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpG,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,QAAQ,CACN,IAAI,EAAE,YAAY,EAClB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,QAAQ,CACN,IAAI,EAAE,WAAW,EACjB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;CACrC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
1
2
|
import { CONSOLIDATION_REQUEST_TYPE, DEPOSIT_REQUEST_TYPE, WITHDRAWAL_REQUEST_TYPE, } from "@lodestar/params";
|
|
2
3
|
import { PayloadIdCache } from "./payloadIdCache.js";
|
|
3
4
|
export { PayloadIdCache };
|
|
5
|
+
export const ClientCode = routes.node.ClientCode;
|
|
4
6
|
export var ExecutionPayloadStatus;
|
|
5
7
|
(function (ExecutionPayloadStatus) {
|
|
6
8
|
/** given payload is valid */
|
|
@@ -31,26 +33,6 @@ export var ExecutionEngineState;
|
|
|
31
33
|
ExecutionEngineState["SYNCED"] = "SYNCED";
|
|
32
34
|
ExecutionEngineState["AUTH_FAILED"] = "AUTH_FAILED";
|
|
33
35
|
})(ExecutionEngineState || (ExecutionEngineState = {}));
|
|
34
|
-
/**
|
|
35
|
-
* Client code as defined in https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/identification.md#clientcode
|
|
36
|
-
* ClientCode.XX is dedicated to other clients which do not have their own code
|
|
37
|
-
*/
|
|
38
|
-
export var ClientCode;
|
|
39
|
-
(function (ClientCode) {
|
|
40
|
-
ClientCode["BU"] = "BU";
|
|
41
|
-
ClientCode["EJ"] = "EJ";
|
|
42
|
-
ClientCode["EG"] = "EG";
|
|
43
|
-
ClientCode["GE"] = "GE";
|
|
44
|
-
ClientCode["GR"] = "GR";
|
|
45
|
-
ClientCode["LH"] = "LH";
|
|
46
|
-
ClientCode["LS"] = "LS";
|
|
47
|
-
ClientCode["NM"] = "NM";
|
|
48
|
-
ClientCode["NB"] = "NB";
|
|
49
|
-
ClientCode["TK"] = "TK";
|
|
50
|
-
ClientCode["PM"] = "PM";
|
|
51
|
-
ClientCode["RH"] = "RH";
|
|
52
|
-
ClientCode["XX"] = "XX";
|
|
53
|
-
})(ClientCode || (ClientCode = {}));
|
|
54
36
|
export function isExecutionRequestType(type) {
|
|
55
37
|
return type === DEPOSIT_REQUEST_TYPE || type === WITHDRAWAL_REQUEST_TYPE || type === CONSOLIDATION_REQUEST_TYPE;
|
|
56
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/execution/engine/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EAIpB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAY,cAAc,EAAe,MAAM,qBAAqB,CAAC;AAI5E,OAAO,EAAC,cAAc,EAAoC,CAAC;AAE3D,MAAM,CAAN,IAAY,sBAoBX;AApBD,WAAY,sBAAsB;IAChC,6BAA6B;IAC7B,yCAAe,CAAA;IACf,+BAA+B;IAC/B,6CAAmB,CAAA;IACnB,kCAAkC;IAClC,6CAAmB,CAAA;IACnB;;;OAGG;IACH,+CAAqB,CAAA;IACrB,2BAA2B;IAC3B,mEAAyC,CAAA;IACzC,eAAe;IACf,6CAAmB,CAAA;IACnB,qBAAqB;IACrB,qDAA2B,CAAA;IAC3B,wFAAwF;IACxF,+EAAqD,CAAA;AACvD,CAAC,EApBW,sBAAsB,KAAtB,sBAAsB,QAoBjC;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,mDAA2B,CAAA;AAC7B,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/execution/engine/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EAIpB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAY,cAAc,EAAe,MAAM,qBAAqB,CAAC;AAI5E,OAAO,EAAC,cAAc,EAAoC,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAEjD,MAAM,CAAN,IAAY,sBAoBX;AApBD,WAAY,sBAAsB;IAChC,6BAA6B;IAC7B,yCAAe,CAAA;IACf,+BAA+B;IAC/B,6CAAmB,CAAA;IACnB,kCAAkC;IAClC,6CAAmB,CAAA;IACnB;;;OAGG;IACH,+CAAqB,CAAA;IACrB,2BAA2B;IAC3B,mEAAyC,CAAA;IACzC,eAAe;IACf,6CAAmB,CAAA;IACnB,qBAAqB;IACrB,qDAA2B,CAAA;IAC3B,wFAAwF;IACxF,+EAAqD,CAAA;AACvD,CAAC,EApBW,sBAAsB,KAAtB,sBAAsB,QAoBjC;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,mDAA2B,CAAA;AAC7B,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAOD,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,uBAAuB,IAAI,IAAI,KAAK,0BAA0B,CAAC;AAClH,CAAC"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.41.0-dev.702f7932c2",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -134,18 +134,18 @@
|
|
|
134
134
|
"@libp2p/peer-id": "^5.1.0",
|
|
135
135
|
"@libp2p/prometheus-metrics": "^4.3.15",
|
|
136
136
|
"@libp2p/tcp": "^10.1.8",
|
|
137
|
-
"@lodestar/api": "^1.
|
|
138
|
-
"@lodestar/config": "^1.
|
|
139
|
-
"@lodestar/db": "^1.
|
|
140
|
-
"@lodestar/fork-choice": "^1.
|
|
141
|
-
"@lodestar/light-client": "^1.
|
|
142
|
-
"@lodestar/logger": "^1.
|
|
143
|
-
"@lodestar/params": "^1.
|
|
144
|
-
"@lodestar/reqresp": "^1.
|
|
145
|
-
"@lodestar/state-transition": "^1.
|
|
146
|
-
"@lodestar/types": "^1.
|
|
147
|
-
"@lodestar/utils": "^1.
|
|
148
|
-
"@lodestar/validator": "^1.
|
|
137
|
+
"@lodestar/api": "^1.41.0-dev.702f7932c2",
|
|
138
|
+
"@lodestar/config": "^1.41.0-dev.702f7932c2",
|
|
139
|
+
"@lodestar/db": "^1.41.0-dev.702f7932c2",
|
|
140
|
+
"@lodestar/fork-choice": "^1.41.0-dev.702f7932c2",
|
|
141
|
+
"@lodestar/light-client": "^1.41.0-dev.702f7932c2",
|
|
142
|
+
"@lodestar/logger": "^1.41.0-dev.702f7932c2",
|
|
143
|
+
"@lodestar/params": "^1.41.0-dev.702f7932c2",
|
|
144
|
+
"@lodestar/reqresp": "^1.41.0-dev.702f7932c2",
|
|
145
|
+
"@lodestar/state-transition": "^1.41.0-dev.702f7932c2",
|
|
146
|
+
"@lodestar/types": "^1.41.0-dev.702f7932c2",
|
|
147
|
+
"@lodestar/utils": "^1.41.0-dev.702f7932c2",
|
|
148
|
+
"@lodestar/validator": "^1.41.0-dev.702f7932c2",
|
|
149
149
|
"@multiformats/multiaddr": "^12.1.3",
|
|
150
150
|
"datastore-core": "^10.0.2",
|
|
151
151
|
"datastore-fs": "^10.0.6",
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"@chainsafe/swap-or-not-shuffle": "^1.2.1",
|
|
170
170
|
"@libp2p/interface-internal": "^2.3.18",
|
|
171
171
|
"@libp2p/logger": "^5.1.21",
|
|
172
|
-
"@lodestar/spec-test-util": "^1.
|
|
172
|
+
"@lodestar/spec-test-util": "^1.41.0-dev.702f7932c2",
|
|
173
173
|
"@types/js-yaml": "^4.0.5",
|
|
174
174
|
"@types/qs": "^6.9.7",
|
|
175
175
|
"@types/tmp": "^0.2.3",
|
|
@@ -188,5 +188,5 @@
|
|
|
188
188
|
"beacon",
|
|
189
189
|
"blockchain"
|
|
190
190
|
],
|
|
191
|
-
"gitHead": "
|
|
191
|
+
"gitHead": "d0f84672a52509df5a0aad0b975ab379e2780d7f"
|
|
192
192
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import {routes} from "@lodestar/api";
|
|
2
2
|
import {ApplicationMethods} from "@lodestar/api/server";
|
|
3
|
+
import {ClientCode, ClientVersion} from "../../../execution/index.js";
|
|
4
|
+
import {getLodestarClientVersion} from "../../../util/metadata.js";
|
|
3
5
|
import {ApiOptions} from "../../options.js";
|
|
4
6
|
import {ApiError} from "../errors.js";
|
|
5
7
|
import {ApiModules} from "../types.js";
|
|
6
8
|
|
|
7
9
|
export function getNodeApi(
|
|
8
10
|
opts: ApiOptions,
|
|
9
|
-
{network, sync}: Pick<ApiModules, "network" | "sync">
|
|
11
|
+
{network, sync, chain}: Pick<ApiModules, "network" | "sync" | "chain">
|
|
10
12
|
): ApplicationMethods<routes.node.Endpoints> {
|
|
11
13
|
return {
|
|
12
14
|
async getNetworkIdentity() {
|
|
@@ -62,6 +64,20 @@ export function getNodeApi(
|
|
|
62
64
|
};
|
|
63
65
|
},
|
|
64
66
|
|
|
67
|
+
async getNodeVersionV2() {
|
|
68
|
+
const {clientVersion} = chain.executionEngine;
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
data: {
|
|
72
|
+
beaconNode: toSpecClientVersion(getLodestarClientVersion(opts)),
|
|
73
|
+
executionClient:
|
|
74
|
+
clientVersion != null && clientVersion.code !== ClientCode.XX
|
|
75
|
+
? toSpecClientVersion(clientVersion)
|
|
76
|
+
: undefined,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
|
|
65
81
|
async getSyncingStatus() {
|
|
66
82
|
return {data: sync.getSyncStatus()};
|
|
67
83
|
},
|
|
@@ -86,3 +102,8 @@ export function getNodeApi(
|
|
|
86
102
|
},
|
|
87
103
|
};
|
|
88
104
|
}
|
|
105
|
+
|
|
106
|
+
/** Prefix commit with 0x as required by the beacon-APIs spec */
|
|
107
|
+
function toSpecClientVersion(cv: ClientVersion): routes.node.ClientVersion {
|
|
108
|
+
return {...cv, commit: `0x${cv.commit}`};
|
|
109
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import {routes} from "@lodestar/api";
|
|
1
2
|
import {
|
|
2
3
|
CONSOLIDATION_REQUEST_TYPE,
|
|
3
4
|
DEPOSIT_REQUEST_TYPE,
|
|
@@ -14,6 +15,8 @@ import {ExecutionPayloadBody} from "./types.js";
|
|
|
14
15
|
import {DATA} from "./utils.js";
|
|
15
16
|
|
|
16
17
|
export {PayloadIdCache, type PayloadId, type WithdrawalV1};
|
|
18
|
+
export type ClientVersion = routes.node.ClientVersion;
|
|
19
|
+
export const ClientCode = routes.node.ClientCode;
|
|
17
20
|
|
|
18
21
|
export enum ExecutionPayloadStatus {
|
|
19
22
|
/** given payload is valid */
|
|
@@ -45,26 +48,6 @@ export enum ExecutionEngineState {
|
|
|
45
48
|
AUTH_FAILED = "AUTH_FAILED",
|
|
46
49
|
}
|
|
47
50
|
|
|
48
|
-
/**
|
|
49
|
-
* Client code as defined in https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/identification.md#clientcode
|
|
50
|
-
* ClientCode.XX is dedicated to other clients which do not have their own code
|
|
51
|
-
*/
|
|
52
|
-
export enum ClientCode {
|
|
53
|
-
BU = "BU", // besu
|
|
54
|
-
EJ = "EJ", // ethereumJS
|
|
55
|
-
EG = "EG", // erigon
|
|
56
|
-
GE = "GE", // go-ethereum
|
|
57
|
-
GR = "GR", // grandine
|
|
58
|
-
LH = "LH", // lighthouse
|
|
59
|
-
LS = "LS", // lodestar
|
|
60
|
-
NM = "NM", // nethermind
|
|
61
|
-
NB = "NB", // nimbus
|
|
62
|
-
TK = "TK", // teku
|
|
63
|
-
PM = "PM", // prysm
|
|
64
|
-
RH = "RH", // reth
|
|
65
|
-
XX = "XX", // unknown
|
|
66
|
-
}
|
|
67
|
-
|
|
68
51
|
export type ExecutionRequestType =
|
|
69
52
|
| typeof DEPOSIT_REQUEST_TYPE
|
|
70
53
|
| typeof WITHDRAWAL_REQUEST_TYPE
|
|
@@ -106,13 +89,6 @@ export type PayloadAttributes = {
|
|
|
106
89
|
parentBeaconBlockRoot?: Uint8Array;
|
|
107
90
|
};
|
|
108
91
|
|
|
109
|
-
export type ClientVersion = {
|
|
110
|
-
code: ClientCode;
|
|
111
|
-
name: string;
|
|
112
|
-
version: string;
|
|
113
|
-
commit: string;
|
|
114
|
-
};
|
|
115
|
-
|
|
116
92
|
export type VersionedHashes = Uint8Array[];
|
|
117
93
|
|
|
118
94
|
/**
|