@chainsafe/lodestar 1.13.0-dev.5b3855203f → 1.13.0-dev.6085a54967

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": "5b3855203f99d3dfc16d1ece71a0335fcb0c77b0"
3
+ "commit": "6085a549671b06d99968b0c445539a142e48bfd3"
4
4
  }
@@ -30,7 +30,7 @@ export declare const devOptions: {
30
30
  "rest.headerLimit"?: CliOptionDefinition | undefined;
31
31
  "rest.bodyLimit"?: CliOptionDefinition | undefined;
32
32
  "rest.swaggerUI"?: CliOptionDefinition | undefined;
33
- "builder.urls"?: CliOptionDefinition | undefined;
33
+ "builder.url"?: CliOptionDefinition | undefined;
34
34
  "builder.timeout"?: CliOptionDefinition | undefined;
35
35
  "builder.faultInspectionWindow"?: CliOptionDefinition | undefined;
36
36
  "builder.allowedFaults"?: CliOptionDefinition | undefined;
@@ -1,5 +1,8 @@
1
+ import path from "node:path";
1
2
  import { spawn, Pool, Worker } from "@chainsafe/threads";
2
3
  import { maxPoolSize } from "./poolSize.js";
4
+ // Worker constructor consider the path relative to the current working directory
5
+ const workerDir = process.env.NODE_ENV === "test" ? "../../../../../lib/cmds/validator/keymanager/decryptKeystores" : "./";
3
6
  /**
4
7
  * Thread pool to decrypt keystores
5
8
  */
@@ -7,7 +10,7 @@ export class DecryptKeystoresThreadPool {
7
10
  constructor(keystoreCount, signal) {
8
11
  this.signal = signal;
9
12
  this.tasks = [];
10
- this.pool = Pool(() => spawn(new Worker("./worker.js"), {
13
+ this.pool = Pool(() => spawn(new Worker(path.join(workerDir, "worker.js")), {
11
14
  // The number below is big enough to almost disable the timeout
12
15
  // which helps during tests run on unpredictably slow hosts
13
16
  timeout: 5 * 60 * 1000,
@@ -1 +1 @@
1
- {"version":3,"file":"threadPool.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystores/threadPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAA2B,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAKrC,YACE,aAAqB,EACJ,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAL9B,UAAK,GAAqE,EAAE,CAAC;QAOnF,IAAI,CAAC,IAAI,GAAG,IAAI,CACd,GAAG,EAAE,CACH,KAAK,CAA2B,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;YACzD,+DAA+D;YAC/D,2DAA2D;YAC3D,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,EACJ;YACE,kDAAkD;YAClD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;YAC1C,qFAAqF;YACrF,WAAW,EAAE,CAAC;SACf,CACF,CAAC;QACF,6DAA6D;QAC7D,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE;YAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,KAAK,CACH,IAAyB,EACzB,WAAiD,EACjD,OAA2B;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"threadPool.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystores/threadPool.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAA2B,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C,iFAAiF;AACjF,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,IAAI,CAAC;AAE3G;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAKrC,YACE,aAAqB,EACJ,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAL9B,UAAK,GAAqE,EAAE,CAAC;QAOnF,IAAI,CAAC,IAAI,GAAG,IAAI,CACd,GAAG,EAAE,CACH,KAAK,CAA2B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;YAC7E,+DAA+D;YAC/D,2DAA2D;YAC3D,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,EACJ;YACE,kDAAkD;YAClD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;YAC1C,qFAAqF;YACrF,WAAW,EAAE,CAAC;SACf,CACF,CAAC;QACF,6DAA6D;QAC7D,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE;YAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,KAAK,CACH,IAAyB,EACzB,WAAiD,EACjD,OAA2B;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -2,7 +2,7 @@ import { IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "../../util/index.js";
3
3
  export type ExecutionBuilderArgs = {
4
4
  builder: boolean;
5
- "builder.urls"?: string[];
5
+ "builder.url"?: string;
6
6
  "builder.timeout"?: number;
7
7
  "builder.faultInspectionWindow"?: number;
8
8
  "builder.allowedFaults"?: number;
@@ -1,8 +1,12 @@
1
1
  import { defaultExecutionBuilderHttpOpts } from "@lodestar/beacon-node";
2
+ import { YargsError } from "../../util/index.js";
2
3
  export function parseArgs(args) {
4
+ if (Array.isArray(args["builder.url"]) || args["builder.url"]?.includes(",http")) {
5
+ throw new YargsError("Lodestar only supports a single builder URL. External tooling like mev-boost can be used to connect to multiple builder/relays");
6
+ }
3
7
  return {
4
8
  enabled: args["builder"],
5
- urls: args["builder.urls"] ?? defaultExecutionBuilderHttpOpts.urls,
9
+ url: args["builder.url"] ?? defaultExecutionBuilderHttpOpts.url,
6
10
  timeout: args["builder.timeout"],
7
11
  faultInspectionWindow: args["builder.faultInspectionWindow"],
8
12
  allowedFaults: args["builder.allowedFaults"],
@@ -15,14 +19,11 @@ export const options = {
15
19
  default: defaultExecutionBuilderHttpOpts.enabled,
16
20
  group: "builder",
17
21
  },
18
- "builder.urls": {
19
- description: "Urls hosting the builder API",
20
- defaultDescription: defaultExecutionBuilderHttpOpts.urls.join(","),
21
- type: "array",
22
- string: true,
23
- coerce: (urls) =>
24
- // Parse ["url1,url2"] to ["url1", "url2"]
25
- urls.map((item) => item.split(",")).flat(1),
22
+ "builder.url": {
23
+ alias: ["builder.urls"],
24
+ description: "Url hosting the builder API",
25
+ defaultDescription: defaultExecutionBuilderHttpOpts.url,
26
+ type: "string",
26
27
  group: "builder",
27
28
  },
28
29
  "builder.timeout": {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAqB,MAAM,uBAAuB,CAAC;AAW1F,MAAM,UAAU,SAAS,CAAC,IAA0B;IAClD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,+BAA+B,CAAC,IAAI;QAClE,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC5D,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA4C;IAC9D,OAAO,EAAE;QACP,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,+BAA+B,CAAC,OAAO;QAChD,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,WAAW,EAAE,8BAA8B;QAC3C,kBAAkB,EAAE,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAY,EAAE;QACnC,0CAA0C;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB,EAAE;QACjB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,+BAA+B,CAAC,OAAO,CAAC;QACnE,KAAK,EAAE,SAAS;KACjB;IAED,+BAA+B,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,SAAS;KACjB;IAED,uBAAuB,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mFAAmF;QAChG,KAAK,EAAE,SAAS;KACjB;CACF,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAqB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAoB,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAUlE,MAAM,UAAU,SAAS,CAAC,IAA0B;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;QAChF,MAAM,IAAI,UAAU,CAClB,gIAAgI,CACjI,CAAC;KACH;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,+BAA+B,CAAC,GAAG;QAC/D,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC5D,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA4C;IAC9D,OAAO,EAAE;QACP,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,+BAA+B,CAAC,OAAO;QAChD,KAAK,EAAE,SAAS;KACjB;IAED,aAAa,EAAE;QACb,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,WAAW,EAAE,6BAA6B;QAC1C,kBAAkB,EAAE,+BAA+B,CAAC,GAAG;QACvD,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB,EAAE;QACjB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,+BAA+B,CAAC,OAAO,CAAC;QACnE,KAAK,EAAE,SAAS;KACjB;IAED,+BAA+B,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,SAAS;KACjB;IAED,uBAAuB,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mFAAmF;QAChG,KAAK,EAAE,SAAS;KACjB;CACF,CAAC"}
@@ -59,7 +59,7 @@ export declare const beaconNodeOptions: {
59
59
  "metrics.port": import("../../util/command.js").CliOptionDefinition & Required<Pick<import("yargs").Options, "default">>;
60
60
  "metrics.address": import("../../util/command.js").CliOptionDefinition;
61
61
  builder: import("../../util/command.js").CliOptionDefinition & Required<Pick<import("yargs").Options, "default">>;
62
- "builder.urls": import("../../util/command.js").CliOptionDefinition;
62
+ "builder.url": import("../../util/command.js").CliOptionDefinition;
63
63
  "builder.timeout": import("../../util/command.js").CliOptionDefinition;
64
64
  "builder.faultInspectionWindow": import("../../util/command.js").CliOptionDefinition;
65
65
  "builder.allowedFaults": import("../../util/command.js").CliOptionDefinition;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainsafe/lodestar",
3
- "version": "1.13.0-dev.5b3855203f",
3
+ "version": "1.13.0-dev.6085a54967",
4
4
  "description": "Command line interface for lodestar",
5
5
  "author": "ChainSafe Systems",
6
6
  "license": "LGPL-3.0",
@@ -31,8 +31,8 @@
31
31
  "lint": "eslint --color --ext .ts src/ test/",
32
32
  "lint:fix": "yarn run lint --fix",
33
33
  "pretest": "yarn run check-types",
34
- "test:unit": "nyc --cache-dir .nyc_output/.cache -e .ts mocha 'test/unit/**/*.test.ts'",
35
- "test:e2e": "LODESTAR_PRESET=minimal mocha --timeout 30000 'test/e2e/**/*.test.ts'",
34
+ "test:unit": "vitest --run --dir test/unit/ --coverage",
35
+ "test:e2e": "vitest --run --poolOptions.threads.singleThread true --dir test/e2e/",
36
36
  "test:sim:multifork": "LODESTAR_PRESET=minimal node --loader ts-node/esm test/sim/multi_fork.test.ts",
37
37
  "test:sim:mixedclient": "LODESTAR_PRESET=minimal node --loader ts-node/esm test/sim/mixed_client.test.ts",
38
38
  "test:sim:endpoints": "LODESTAR_PRESET=minimal node --loader ts-node/esm test/sim/endpoints.test.ts",
@@ -65,17 +65,17 @@
65
65
  "@libp2p/crypto": "^2.0.4",
66
66
  "@libp2p/peer-id": "^3.0.2",
67
67
  "@libp2p/peer-id-factory": "^3.0.4",
68
- "@lodestar/api": "1.13.0-dev.5b3855203f",
69
- "@lodestar/beacon-node": "1.13.0-dev.5b3855203f",
70
- "@lodestar/config": "1.13.0-dev.5b3855203f",
71
- "@lodestar/db": "1.13.0-dev.5b3855203f",
72
- "@lodestar/light-client": "1.13.0-dev.5b3855203f",
73
- "@lodestar/logger": "1.13.0-dev.5b3855203f",
74
- "@lodestar/params": "1.13.0-dev.5b3855203f",
75
- "@lodestar/state-transition": "1.13.0-dev.5b3855203f",
76
- "@lodestar/types": "1.13.0-dev.5b3855203f",
77
- "@lodestar/utils": "1.13.0-dev.5b3855203f",
78
- "@lodestar/validator": "1.13.0-dev.5b3855203f",
68
+ "@lodestar/api": "1.13.0-dev.6085a54967",
69
+ "@lodestar/beacon-node": "1.13.0-dev.6085a54967",
70
+ "@lodestar/config": "1.13.0-dev.6085a54967",
71
+ "@lodestar/db": "1.13.0-dev.6085a54967",
72
+ "@lodestar/light-client": "1.13.0-dev.6085a54967",
73
+ "@lodestar/logger": "1.13.0-dev.6085a54967",
74
+ "@lodestar/params": "1.13.0-dev.6085a54967",
75
+ "@lodestar/state-transition": "1.13.0-dev.6085a54967",
76
+ "@lodestar/types": "1.13.0-dev.6085a54967",
77
+ "@lodestar/utils": "1.13.0-dev.6085a54967",
78
+ "@lodestar/validator": "1.13.0-dev.6085a54967",
79
79
  "@multiformats/multiaddr": "^12.1.3",
80
80
  "@types/lockfile": "^1.0.2",
81
81
  "bip39": "^3.1.0",
@@ -96,7 +96,7 @@
96
96
  "yargs": "^17.7.1"
97
97
  },
98
98
  "devDependencies": {
99
- "@lodestar/test-utils": "1.13.0-dev.5b3855203f",
99
+ "@lodestar/test-utils": "1.13.0-dev.6085a54967",
100
100
  "@types/debug": "^4.1.7",
101
101
  "@types/expand-tilde": "^2.0.0",
102
102
  "@types/got": "^9.6.12",
@@ -104,5 +104,5 @@
104
104
  "@types/lodash": "^4.14.192",
105
105
  "@types/yargs": "^17.0.24"
106
106
  },
107
- "gitHead": "6adf6a1ea4b0b0f5dd16b342d4468813e0ec821b"
107
+ "gitHead": "0bb1ea1edf21049a9b6d37d1cd1b8c47a4ddcf31"
108
108
  }