@chainsafe/lodestar 1.50.0-dev.58d40975f9 → 1.50.0-dev.5a1db4e01c

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/.git-data.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "branch": "unstable",
3
- "commit": "58d40975f9f2699fbf0207a6a32ed8d3e4cb3322"
3
+ "commit": "5a1db4e01ce41dc9c69f174647e0c6bd5b7a24df"
4
4
  }
@@ -140,6 +140,7 @@ export declare const devOptions: {
140
140
  "eth1.forcedEth1DataVote"?: CliOptionDefinition<any> | undefined;
141
141
  "eth1.providerUrls"?: CliOptionDefinition<any> | undefined;
142
142
  "eth1.unsafeAllowDepositDataOverwrite"?: CliOptionDefinition<any> | undefined;
143
+ "execution.engineApi"?: CliOptionDefinition<any> | undefined;
143
144
  "execution.engineMock"?: CliOptionDefinition<any> | undefined;
144
145
  "execution.retries"?: CliOptionDefinition<any> | undefined;
145
146
  "execution.retryDelay"?: CliOptionDefinition<any> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/dev/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAIvE,OAAO,EAAC,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAmB,MAAM,yBAAyB,CAAC;AAE5E,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AA6FF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,iBAAiB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/dev/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAIvE,OAAO,EAAC,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAmB,MAAM,yBAAyB,CAAC;AAE5E,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AA6FF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,iBAAiB,GAAG,WAAW,CAAC"}
@@ -1,10 +1,11 @@
1
- import { IBeaconNodeOptions } from "@lodestar/beacon-node";
1
+ import { EngineApiMode, IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "@lodestar/utils";
3
3
  export type ExecutionEngineArgs = {
4
4
  "execution.urls": string[];
5
5
  "execution.timeout"?: number;
6
6
  "execution.retries": number;
7
7
  "execution.retryDelay": number;
8
+ "execution.engineApi"?: EngineApiMode;
8
9
  "execution.engineMock"?: boolean;
9
10
  jwtSecret?: string;
10
11
  jwtId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAiC,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAoB1F;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,mBAAmB,CAsD1D,CAAC"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAiD,MAAM,uBAAuB,CAAC;AACxH,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,aAAa,CAAC;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAqB1F;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,mBAAmB,CA+D1D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import fs from "node:fs";
2
- import { defaultExecutionEngineHttpOpts } from "@lodestar/beacon-node";
2
+ import { defaultExecutionEngineHttpOpts, engineApiModes } from "@lodestar/beacon-node";
3
3
  import { extractJwtHexSecret } from "../../util/index.js";
4
4
  export function parseArgs(args) {
5
5
  if (args["execution.engineMock"]) {
@@ -13,6 +13,7 @@ export function parseArgs(args) {
13
13
  timeout: args["execution.timeout"],
14
14
  retries: args["execution.retries"],
15
15
  retryDelay: args["execution.retryDelay"],
16
+ engineApi: args["execution.engineApi"],
16
17
  /**
17
18
  * jwtSecret is parsed as hex instead of bytes because the merge with defaults
18
19
  * in beaconOptions messes up the bytes array as as index => value object
@@ -51,6 +52,13 @@ export const options = {
51
52
  default: defaultExecutionEngineHttpOpts.retryDelay,
52
53
  group: "execution",
53
54
  },
55
+ "execution.engineApi": {
56
+ description: "Engine API transport. 'auto' negotiates REST with SSZ for a single execution URL and uses JSON-RPC for multiple URLs or unsupported features. 'ssz' requires a single REST-capable execution URL without JSON-RPC fallback. 'json-rpc' always uses JSON-RPC",
57
+ type: "string",
58
+ choices: engineApiModes,
59
+ default: defaultExecutionEngineHttpOpts.engineApi,
60
+ group: "execution",
61
+ },
54
62
  "execution.engineMock": {
55
63
  description: "Set the execution engine to mock mode (development only)",
56
64
  type: "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAqB,8BAA8B,EAAC,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAYxD,MAAM,UAAU,SAAS,CAAC,IAAyB;IACjD,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACjC,sEAAsE;QACtE,OAAO;YACL,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC;QACxC;;;WAGG;QACH,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/G,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA2C;IAC7D,gBAAgB,EAAE;QAChB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAY,EAAE;QACnC,0CAA0C;QAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,KAAK,EAAE,WAAW;KACnB;IAED,mBAAmB,EAAE;QACnB,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,8BAA8B,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,WAAW;KACnB;IAED,mBAAmB,EAAE;QACnB,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,8BAA8B,CAAC,OAAO;QAC/C,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,4FAA4F;QACzG,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,8BAA8B,CAAC,UAAU;QAClD,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,0DAA0D;QACvE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,WAAW;KACnB;IAED,SAAS,EAAE;QACT,WAAW,EACT,mQAAmQ;QACrQ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACnB;IAED,KAAK,EAAE;QACL,WAAW,EACT,+JAA+J;QACjK,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACnB;CACF,CAAC"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAoC,8BAA8B,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAExH,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAaxD,MAAM,UAAU,SAAS,CAAC,IAAyB;IACjD,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACjC,sEAAsE;QACtE,OAAO;YACL,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC;QACxC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC;QACtC;;;WAGG;QACH,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/G,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA2C;IAC7D,gBAAgB,EAAE;QAChB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAY,EAAE;QACnC,0CAA0C;QAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,KAAK,EAAE,WAAW;KACnB;IAED,mBAAmB,EAAE;QACnB,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,8BAA8B,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,WAAW;KACnB;IAED,mBAAmB,EAAE;QACnB,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,8BAA8B,CAAC,OAAO;QAC/C,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,4FAA4F;QACzG,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,8BAA8B,CAAC,UAAU;QAClD,KAAK,EAAE,WAAW;KACnB;IAED,qBAAqB,EAAE;QACrB,WAAW,EACT,6PAA6P;QAC/P,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,8BAA8B,CAAC,SAAS;QACjD,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,0DAA0D;QACvE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,WAAW;KACnB;IAED,SAAS,EAAE;QACT,WAAW,EACT,mQAAmQ;QACrQ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACnB;IAED,KAAK,EAAE;QACL,WAAW,EACT,+JAA+J;QACjK,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACnB;CACF,CAAC"}
@@ -89,6 +89,7 @@ export declare const beaconNodeOptions: {
89
89
  "execution.retryDelay": import("@lodestar/utils").CliOptionDefinition<number> & (Required<Pick<import("yargs").Options, "default">> | {
90
90
  demandOption: true;
91
91
  });
92
+ "execution.engineApi": import("@lodestar/utils").CliOptionDefinition<import("@lodestar/beacon-node").EngineApiMode | undefined>;
92
93
  "execution.engineMock": import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
93
94
  jwtSecret: import("@lodestar/utils").CliOptionDefinition<string | undefined>;
94
95
  jwtId: import("@lodestar/utils").CliOptionDefinition<string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,GACtC,KAAK,CAAC,SAAS,GACf,IAAI,CAAC,QAAQ,GACb,SAAS,CAAC,mBAAmB,GAC7B,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,WAAW,GACnB,UAAU,CAAC,cAAc,GACzB,OAAO,CAAC,WAAW,GACnB,IAAI,CAAC,QAAQ,CAAC;AAEhB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAa9F;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,GACtC,KAAK,CAAC,SAAS,GACf,IAAI,CAAC,QAAQ,GACb,SAAS,CAAC,mBAAmB,GAC7B,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,WAAW,GACnB,UAAU,CAAC,cAAc,GACzB,OAAO,CAAC,WAAW,GACnB,IAAI,CAAC,QAAQ,CAAC;AAEhB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAa9F;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainsafe/lodestar",
3
- "version": "1.50.0-dev.58d40975f9",
3
+ "version": "1.50.0-dev.5a1db4e01c",
4
4
  "description": "Command line interface for lodestar",
5
5
  "author": "ChainSafe Systems",
6
6
  "license": "Apache-2.0",
@@ -68,17 +68,17 @@
68
68
  "@libp2p/crypto": "^5.1.23",
69
69
  "@libp2p/interface": "^3.3.0",
70
70
  "@libp2p/peer-id": "^6.0.15",
71
- "@lodestar/api": "^1.50.0-dev.58d40975f9",
72
- "@lodestar/beacon-node": "^1.50.0-dev.58d40975f9",
73
- "@lodestar/builder": "^1.50.0-dev.58d40975f9",
74
- "@lodestar/config": "^1.50.0-dev.58d40975f9",
75
- "@lodestar/db": "^1.50.0-dev.58d40975f9",
76
- "@lodestar/logger": "^1.50.0-dev.58d40975f9",
77
- "@lodestar/params": "^1.50.0-dev.58d40975f9",
78
- "@lodestar/state-transition": "^1.50.0-dev.58d40975f9",
79
- "@lodestar/types": "^1.50.0-dev.58d40975f9",
80
- "@lodestar/utils": "^1.50.0-dev.58d40975f9",
81
- "@lodestar/validator": "^1.50.0-dev.58d40975f9",
71
+ "@lodestar/api": "^1.50.0-dev.5a1db4e01c",
72
+ "@lodestar/beacon-node": "^1.50.0-dev.5a1db4e01c",
73
+ "@lodestar/builder": "^1.50.0-dev.5a1db4e01c",
74
+ "@lodestar/config": "^1.50.0-dev.5a1db4e01c",
75
+ "@lodestar/db": "^1.50.0-dev.5a1db4e01c",
76
+ "@lodestar/logger": "^1.50.0-dev.5a1db4e01c",
77
+ "@lodestar/params": "^1.50.0-dev.5a1db4e01c",
78
+ "@lodestar/state-transition": "^1.50.0-dev.5a1db4e01c",
79
+ "@lodestar/types": "^1.50.0-dev.5a1db4e01c",
80
+ "@lodestar/utils": "^1.50.0-dev.5a1db4e01c",
81
+ "@lodestar/validator": "^1.50.0-dev.5a1db4e01c",
82
82
  "@multiformats/multiaddr": "^13.0.1",
83
83
  "deepmerge": "^4.3.1",
84
84
  "ethers": "^6.7.0",
@@ -94,7 +94,7 @@
94
94
  "devDependencies": {
95
95
  "@chainsafe/as-sha256": "^1.2.5",
96
96
  "@ethereumjs/rlp": "^4.0.1",
97
- "@lodestar/test-utils": "^1.50.0-dev.58d40975f9",
97
+ "@lodestar/test-utils": "^1.50.0-dev.5a1db4e01c",
98
98
  "@types/debug": "^4.1.7",
99
99
  "@types/inquirer": "^9.0.3",
100
100
  "@types/js-yaml": "^4.0.5",
@@ -108,5 +108,5 @@
108
108
  "web3": "^4.0.3",
109
109
  "web3-eth-accounts": "^4.0.3"
110
110
  },
111
- "gitHead": "65a5ed5b1c92561a04935bf0b5e63e9eca72a262"
111
+ "gitHead": "f33f56bfb09925c8ce3f209233da2839a9cdb87a"
112
112
  }
@@ -1,5 +1,5 @@
1
1
  import fs from "node:fs";
2
- import {IBeaconNodeOptions, defaultExecutionEngineHttpOpts} from "@lodestar/beacon-node";
2
+ import {EngineApiMode, IBeaconNodeOptions, defaultExecutionEngineHttpOpts, engineApiModes} from "@lodestar/beacon-node";
3
3
  import {CliCommandOptions} from "@lodestar/utils";
4
4
  import {extractJwtHexSecret} from "../../util/index.js";
5
5
 
@@ -8,6 +8,7 @@ export type ExecutionEngineArgs = {
8
8
  "execution.timeout"?: number;
9
9
  "execution.retries": number;
10
10
  "execution.retryDelay": number;
11
+ "execution.engineApi"?: EngineApiMode;
11
12
  "execution.engineMock"?: boolean;
12
13
  jwtSecret?: string;
13
14
  jwtId?: string;
@@ -26,6 +27,7 @@ export function parseArgs(args: ExecutionEngineArgs): IBeaconNodeOptions["execut
26
27
  timeout: args["execution.timeout"],
27
28
  retries: args["execution.retries"],
28
29
  retryDelay: args["execution.retryDelay"],
30
+ engineApi: args["execution.engineApi"],
29
31
  /**
30
32
  * jwtSecret is parsed as hex instead of bytes because the merge with defaults
31
33
  * in beaconOptions messes up the bytes array as as index => value object
@@ -69,6 +71,15 @@ export const options: CliCommandOptions<ExecutionEngineArgs> = {
69
71
  group: "execution",
70
72
  },
71
73
 
74
+ "execution.engineApi": {
75
+ description:
76
+ "Engine API transport. 'auto' negotiates REST with SSZ for a single execution URL and uses JSON-RPC for multiple URLs or unsupported features. 'ssz' requires a single REST-capable execution URL without JSON-RPC fallback. 'json-rpc' always uses JSON-RPC",
77
+ type: "string",
78
+ choices: engineApiModes,
79
+ default: defaultExecutionEngineHttpOpts.engineApi,
80
+ group: "execution",
81
+ },
82
+
72
83
  "execution.engineMock": {
73
84
  description: "Set the execution engine to mock mode (development only)",
74
85
  type: "boolean",