@chainsafe/lodestar 1.45.0-dev.f2645825a8 → 1.45.0-dev.f6c521a123
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 +1 -1
- package/lib/options/beaconNodeOptions/builder.d.ts +2 -0
- package/lib/options/beaconNodeOptions/builder.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/builder.js +2 -2
- package/lib/options/beaconNodeOptions/builder.js.map +1 -1
- package/lib/options/beaconNodeOptions/chain.d.ts +2 -1
- package/lib/options/beaconNodeOptions/chain.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/chain.js +3 -0
- package/lib/options/beaconNodeOptions/chain.js.map +1 -1
- package/package.json +22 -22
- package/src/options/beaconNodeOptions/builder.ts +7 -2
- package/src/options/beaconNodeOptions/chain.ts +5 -1
package/.git-data.json
CHANGED
|
@@ -7,6 +7,8 @@ export type ExecutionBuilderArgs = {
|
|
|
7
7
|
"builder.faultInspectionWindow"?: number;
|
|
8
8
|
"builder.allowedFaults"?: number;
|
|
9
9
|
};
|
|
10
|
+
/** Circuit breaker thresholds, also consumed by the chain options for the post-gloas breaker */
|
|
11
|
+
export type CircuitBreakerArgs = Pick<ExecutionBuilderArgs, "builder.faultInspectionWindow" | "builder.allowedFaults">;
|
|
10
12
|
export declare function parseArgs(args: ExecutionBuilderArgs): IBeaconNodeOptions["executionBuilder"];
|
|
11
13
|
export declare const options: CliCommandOptions<ExecutionBuilderArgs>;
|
|
12
14
|
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAkC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAc5F;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAkC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,gGAAgG;AAChG,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,EAAE,+BAA+B,GAAG,uBAAuB,CAAC,CAAC;AAEvH,wBAAgB,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAc5F;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAoC3D,CAAC"}
|
|
@@ -34,12 +34,12 @@ export const options = {
|
|
|
34
34
|
},
|
|
35
35
|
"builder.faultInspectionWindow": {
|
|
36
36
|
type: "number",
|
|
37
|
-
description: "Window to inspect missed slots for enabling/disabling builder circuit breaker",
|
|
37
|
+
description: "Window to inspect missed slots (pre-gloas) or unrevealed payloads (post-gloas) for enabling/disabling builder circuit breaker",
|
|
38
38
|
group: "builder",
|
|
39
39
|
},
|
|
40
40
|
"builder.allowedFaults": {
|
|
41
41
|
type: "number",
|
|
42
|
-
description: "Number of missed slots allowed in the `faultInspectionWindow` for builder circuit",
|
|
42
|
+
description: "Number of missed slots (pre-gloas) or unrevealed payloads (post-gloas) allowed in the `faultInspectionWindow` for builder circuit",
|
|
43
43
|
group: "builder",
|
|
44
44
|
},
|
|
45
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,+BAA+B,EAAC,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,+BAA+B,EAAC,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAa/C,MAAM,UAAU,SAAS,CAAC,IAA0B,EAA0C;IAC5F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,UAAU,CAClB,gIAAgI,CACjI,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,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;AAAA,CACH;AAED,MAAM,CAAC,MAAM,OAAO,GAA4C;IAC9D,OAAO,EAAE;QACP,WAAW,EAAE,yBAAyB;QACtC,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,EACT,+HAA+H;QACjI,KAAK,EAAE,SAAS;KACjB;IAED,uBAAuB,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,mIAAmI;QACrI,KAAK,EAAE,SAAS;KACjB;CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ArchiveMode, IBeaconNodeOptions } from "@lodestar/beacon-node";
|
|
2
2
|
import { CliCommandOptions } from "@lodestar/utils";
|
|
3
|
+
import { CircuitBreakerArgs } from "./builder.js";
|
|
3
4
|
export type ChainArgs = {
|
|
4
5
|
suggestedFeeRecipient: string;
|
|
5
6
|
graffitiAppend?: boolean;
|
|
@@ -34,6 +35,6 @@ export type ChainArgs = {
|
|
|
34
35
|
"chain.maxCPStateEpochsOnDisk"?: number;
|
|
35
36
|
"chain.pruneHistory"?: boolean;
|
|
36
37
|
};
|
|
37
|
-
export declare function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"];
|
|
38
|
+
export declare function parseArgs(args: ChainArgs & CircuitBreakerArgs): IBeaconNodeOptions["chain"];
|
|
38
39
|
export declare const options: CliCommandOptions<ChainArgs>;
|
|
39
40
|
//# sourceMappingURL=chain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAwB,kBAAkB,EAAiB,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAwB,kBAAkB,EAAiB,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAI3C,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,wCAAwC,CAAC,EAAE,OAAO,CAAC;IACnD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,0CAA0C,CAAC,EAAE,MAAM,CAAC;IACpD,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mBAAmB,EAAE,WAAW,CAAC;IACjC,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAExC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CA4C3F;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAmQhD,CAAC"}
|
|
@@ -37,6 +37,9 @@ export function parseArgs(args) {
|
|
|
37
37
|
maxBlockStates: args["chain.maxBlockStates"] ?? defaultOptions.chain.maxBlockStates,
|
|
38
38
|
maxCPStateEpochsInMemory: args["chain.maxCPStateEpochsInMemory"] ?? defaultOptions.chain.maxCPStateEpochsInMemory,
|
|
39
39
|
maxCPStateEpochsOnDisk: args["chain.maxCPStateEpochsOnDisk"] ?? defaultOptions.chain.maxCPStateEpochsOnDisk,
|
|
40
|
+
// Circuit breaker thresholds are shared with the pre-gloas builder flow
|
|
41
|
+
faultInspectionWindow: args["builder.faultInspectionWindow"],
|
|
42
|
+
allowedFaults: args["builder.allowedFaults"],
|
|
40
43
|
pruneHistory: args["chain.pruneHistory"],
|
|
41
44
|
};
|
|
42
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAsB,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAE5G,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/chain.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainsafe/lodestar",
|
|
3
|
-
"version": "1.45.0-dev.
|
|
3
|
+
"version": "1.45.0-dev.f6c521a123",
|
|
4
4
|
"description": "Command line interface for lodestar",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -34,17 +34,17 @@
|
|
|
34
34
|
"write-git-data": "node lib/util/gitData/writeGitData.js",
|
|
35
35
|
"check-build": "node -e \"(async function() { await import('./lib/index.js') })()\" lodestar --help",
|
|
36
36
|
"check-types": "tsgo",
|
|
37
|
-
"docs:build": "node --
|
|
37
|
+
"docs:build": "node --import tsx ./docsgen/index.ts",
|
|
38
38
|
"lint": "biome check src/ test/",
|
|
39
39
|
"lint:fix": "pnpm run lint --write",
|
|
40
40
|
"test:unit": "vitest run --project unit --project unit-minimal",
|
|
41
41
|
"test:e2e": "vitest run --project e2e --project e2e-mainnet",
|
|
42
|
-
"test:sim:multifork": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --
|
|
43
|
-
"test:sim:mixedclient": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --
|
|
44
|
-
"test:sim:endpoints": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --
|
|
45
|
-
"test:sim:backup_eth_provider": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --
|
|
42
|
+
"test:sim:multifork": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --import tsx test/sim/multiFork.test.ts",
|
|
43
|
+
"test:sim:mixedclient": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --import tsx test/sim/mixedClient.test.ts",
|
|
44
|
+
"test:sim:endpoints": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --import tsx test/sim/endpoints.test.ts",
|
|
45
|
+
"test:sim:backup_eth_provider": "LODESTAR_PRESET=minimal DOTENV_CONFIG_PATH=../../.env.test node -r dotenv/config --import tsx test/sim/backupEthProvider.test.ts",
|
|
46
46
|
"test": "pnpm test:unit && pnpm test:e2e",
|
|
47
|
-
"check-readme": "pnpm exec
|
|
47
|
+
"check-readme": "pnpm exec tsx ../../scripts/check_readme.ts"
|
|
48
48
|
},
|
|
49
49
|
"repository": {
|
|
50
50
|
"type": "git",
|
|
@@ -62,22 +62,22 @@
|
|
|
62
62
|
"@chainsafe/blst": "^2.2.0",
|
|
63
63
|
"@chainsafe/discv5": "^12.0.1",
|
|
64
64
|
"@chainsafe/enr": "^6.0.1",
|
|
65
|
-
"@chainsafe/persistent-merkle-tree": "^1.
|
|
66
|
-
"@chainsafe/ssz": "^1.
|
|
65
|
+
"@chainsafe/persistent-merkle-tree": "^1.3.0",
|
|
66
|
+
"@chainsafe/ssz": "^1.6.2",
|
|
67
67
|
"@chainsafe/threads": "^1.11.3",
|
|
68
68
|
"@libp2p/crypto": "^5.1.13",
|
|
69
69
|
"@libp2p/interface": "^3.1.0",
|
|
70
70
|
"@libp2p/peer-id": "^6.0.4",
|
|
71
|
-
"@lodestar/api": "^1.45.0-dev.
|
|
72
|
-
"@lodestar/beacon-node": "^1.45.0-dev.
|
|
73
|
-
"@lodestar/config": "^1.45.0-dev.
|
|
74
|
-
"@lodestar/db": "^1.45.0-dev.
|
|
75
|
-
"@lodestar/logger": "^1.45.0-dev.
|
|
76
|
-
"@lodestar/params": "^1.45.0-dev.
|
|
77
|
-
"@lodestar/state-transition": "^1.45.0-dev.
|
|
78
|
-
"@lodestar/types": "^1.45.0-dev.
|
|
79
|
-
"@lodestar/utils": "^1.45.0-dev.
|
|
80
|
-
"@lodestar/validator": "^1.45.0-dev.
|
|
71
|
+
"@lodestar/api": "^1.45.0-dev.f6c521a123",
|
|
72
|
+
"@lodestar/beacon-node": "^1.45.0-dev.f6c521a123",
|
|
73
|
+
"@lodestar/config": "^1.45.0-dev.f6c521a123",
|
|
74
|
+
"@lodestar/db": "^1.45.0-dev.f6c521a123",
|
|
75
|
+
"@lodestar/logger": "^1.45.0-dev.f6c521a123",
|
|
76
|
+
"@lodestar/params": "^1.45.0-dev.f6c521a123",
|
|
77
|
+
"@lodestar/state-transition": "^1.45.0-dev.f6c521a123",
|
|
78
|
+
"@lodestar/types": "^1.45.0-dev.f6c521a123",
|
|
79
|
+
"@lodestar/utils": "^1.45.0-dev.f6c521a123",
|
|
80
|
+
"@lodestar/validator": "^1.45.0-dev.f6c521a123",
|
|
81
81
|
"@multiformats/multiaddr": "^13.0.1",
|
|
82
82
|
"deepmerge": "^4.3.1",
|
|
83
83
|
"ethers": "^6.7.0",
|
|
@@ -91,9 +91,9 @@
|
|
|
91
91
|
"yargs": "^17.7.1"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
|
-
"@chainsafe/as-sha256": "^1.2.
|
|
94
|
+
"@chainsafe/as-sha256": "^1.2.4",
|
|
95
95
|
"@ethereumjs/rlp": "^4.0.1",
|
|
96
|
-
"@lodestar/test-utils": "^1.45.0-dev.
|
|
96
|
+
"@lodestar/test-utils": "^1.45.0-dev.f6c521a123",
|
|
97
97
|
"@types/debug": "^4.1.7",
|
|
98
98
|
"@types/inquirer": "^9.0.3",
|
|
99
99
|
"@types/js-yaml": "^4.0.5",
|
|
@@ -107,5 +107,5 @@
|
|
|
107
107
|
"web3": "^4.0.3",
|
|
108
108
|
"web3-eth-accounts": "^4.0.3"
|
|
109
109
|
},
|
|
110
|
-
"gitHead": "
|
|
110
|
+
"gitHead": "836ce941ad110f43d141e120332adf2bb531be52"
|
|
111
111
|
}
|
|
@@ -10,6 +10,9 @@ export type ExecutionBuilderArgs = {
|
|
|
10
10
|
"builder.allowedFaults"?: number;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
+
/** Circuit breaker thresholds, also consumed by the chain options for the post-gloas breaker */
|
|
14
|
+
export type CircuitBreakerArgs = Pick<ExecutionBuilderArgs, "builder.faultInspectionWindow" | "builder.allowedFaults">;
|
|
15
|
+
|
|
13
16
|
export function parseArgs(args: ExecutionBuilderArgs): IBeaconNodeOptions["executionBuilder"] {
|
|
14
17
|
if (Array.isArray(args["builder.url"]) || args["builder.url"]?.includes(",http")) {
|
|
15
18
|
throw new YargsError(
|
|
@@ -51,13 +54,15 @@ export const options: CliCommandOptions<ExecutionBuilderArgs> = {
|
|
|
51
54
|
|
|
52
55
|
"builder.faultInspectionWindow": {
|
|
53
56
|
type: "number",
|
|
54
|
-
description:
|
|
57
|
+
description:
|
|
58
|
+
"Window to inspect missed slots (pre-gloas) or unrevealed payloads (post-gloas) for enabling/disabling builder circuit breaker",
|
|
55
59
|
group: "builder",
|
|
56
60
|
},
|
|
57
61
|
|
|
58
62
|
"builder.allowedFaults": {
|
|
59
63
|
type: "number",
|
|
60
|
-
description:
|
|
64
|
+
description:
|
|
65
|
+
"Number of missed slots (pre-gloas) or unrevealed payloads (post-gloas) allowed in the `faultInspectionWindow` for builder circuit",
|
|
61
66
|
group: "builder",
|
|
62
67
|
},
|
|
63
68
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {ArchiveMode, DEFAULT_ARCHIVE_MODE, IBeaconNodeOptions, defaultOptions} from "@lodestar/beacon-node";
|
|
2
2
|
import {CliCommandOptions} from "@lodestar/utils";
|
|
3
3
|
import {ensure0xPrefix} from "../../util/format.js";
|
|
4
|
+
import {CircuitBreakerArgs} from "./builder.js";
|
|
4
5
|
|
|
5
6
|
export type ChainArgs = {
|
|
6
7
|
suggestedFeeRecipient: string;
|
|
@@ -41,7 +42,7 @@ export type ChainArgs = {
|
|
|
41
42
|
"chain.pruneHistory"?: boolean;
|
|
42
43
|
};
|
|
43
44
|
|
|
44
|
-
export function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"] {
|
|
45
|
+
export function parseArgs(args: ChainArgs & CircuitBreakerArgs): IBeaconNodeOptions["chain"] {
|
|
45
46
|
return {
|
|
46
47
|
suggestedFeeRecipient: args.suggestedFeeRecipient,
|
|
47
48
|
graffitiAppend: args.graffitiAppend,
|
|
@@ -80,6 +81,9 @@ export function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"] {
|
|
|
80
81
|
maxBlockStates: args["chain.maxBlockStates"] ?? defaultOptions.chain.maxBlockStates,
|
|
81
82
|
maxCPStateEpochsInMemory: args["chain.maxCPStateEpochsInMemory"] ?? defaultOptions.chain.maxCPStateEpochsInMemory,
|
|
82
83
|
maxCPStateEpochsOnDisk: args["chain.maxCPStateEpochsOnDisk"] ?? defaultOptions.chain.maxCPStateEpochsOnDisk,
|
|
84
|
+
// Circuit breaker thresholds are shared with the pre-gloas builder flow
|
|
85
|
+
faultInspectionWindow: args["builder.faultInspectionWindow"],
|
|
86
|
+
allowedFaults: args["builder.allowedFaults"],
|
|
83
87
|
pruneHistory: args["chain.pruneHistory"],
|
|
84
88
|
};
|
|
85
89
|
}
|