@chainsafe/lodestar 1.45.0-dev.f535421f29 → 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/cmds/dev/options.d.ts +1 -0
- package/lib/cmds/dev/options.d.ts.map +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 +3 -1
- package/lib/options/beaconNodeOptions/chain.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/chain.js +10 -0
- package/lib/options/beaconNodeOptions/chain.js.map +1 -1
- package/lib/options/beaconNodeOptions/index.d.ts +1 -0
- package/lib/options/beaconNodeOptions/index.d.ts.map +1 -1
- package/package.json +22 -22
- package/src/options/beaconNodeOptions/builder.ts +7 -2
- package/src/options/beaconNodeOptions/chain.ts +14 -1
package/.git-data.json
CHANGED
|
@@ -138,6 +138,7 @@ export declare const devOptions: {
|
|
|
138
138
|
"execution.retryDelay"?: CliOptionDefinition<any> | undefined;
|
|
139
139
|
"execution.timeout"?: CliOptionDefinition<any> | undefined;
|
|
140
140
|
"execution.urls"?: CliOptionDefinition<any> | undefined;
|
|
141
|
+
graffitiAppend?: CliOptionDefinition<any> | undefined;
|
|
141
142
|
jwtId?: CliOptionDefinition<any> | undefined;
|
|
142
143
|
jwtSecret?: CliOptionDefinition<any> | undefined;
|
|
143
144
|
listenAddress?: 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
|
|
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"}
|
|
@@ -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,7 +1,9 @@
|
|
|
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;
|
|
6
|
+
graffitiAppend?: boolean;
|
|
5
7
|
serveHistoricalState?: boolean;
|
|
6
8
|
"chain.blacklistedBlocks"?: string[];
|
|
7
9
|
"chain.blsVerifyAllMultiThread"?: boolean;
|
|
@@ -33,6 +35,6 @@ export type ChainArgs = {
|
|
|
33
35
|
"chain.maxCPStateEpochsOnDisk"?: number;
|
|
34
36
|
"chain.pruneHistory"?: boolean;
|
|
35
37
|
};
|
|
36
|
-
export declare function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"];
|
|
38
|
+
export declare function parseArgs(args: ChainArgs & CircuitBreakerArgs): IBeaconNodeOptions["chain"];
|
|
37
39
|
export declare const options: CliCommandOptions<ChainArgs>;
|
|
38
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"}
|
|
@@ -3,6 +3,7 @@ import { ensure0xPrefix } from "../../util/format.js";
|
|
|
3
3
|
export function parseArgs(args) {
|
|
4
4
|
return {
|
|
5
5
|
suggestedFeeRecipient: args.suggestedFeeRecipient,
|
|
6
|
+
graffitiAppend: args.graffitiAppend,
|
|
6
7
|
serveHistoricalState: args.serveHistoricalState,
|
|
7
8
|
blacklistedBlocks: args["chain.blacklistedBlocks"],
|
|
8
9
|
blsVerifyAllMultiThread: args["chain.blsVerifyAllMultiThread"],
|
|
@@ -36,6 +37,9 @@ export function parseArgs(args) {
|
|
|
36
37
|
maxBlockStates: args["chain.maxBlockStates"] ?? defaultOptions.chain.maxBlockStates,
|
|
37
38
|
maxCPStateEpochsInMemory: args["chain.maxCPStateEpochsInMemory"] ?? defaultOptions.chain.maxCPStateEpochsInMemory,
|
|
38
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"],
|
|
39
43
|
pruneHistory: args["chain.pruneHistory"],
|
|
40
44
|
};
|
|
41
45
|
}
|
|
@@ -52,6 +56,12 @@ export const options = {
|
|
|
52
56
|
description: "Flag to SSE emit execution `payloadAttributes` before every slot",
|
|
53
57
|
group: "chain",
|
|
54
58
|
},
|
|
59
|
+
graffitiAppend: {
|
|
60
|
+
type: "boolean",
|
|
61
|
+
description: "Append CL/EL client info to graffiti supplied by validator client when space allows",
|
|
62
|
+
default: defaultOptions.chain.graffitiAppend,
|
|
63
|
+
group: "chain",
|
|
64
|
+
},
|
|
55
65
|
serveHistoricalState: {
|
|
56
66
|
description: "Regenerate finalized beacon states on demand and serve them via the REST API (e.g. `/eth/v2/debug/beacon/states/{state_id}`). \
|
|
57
67
|
Does not backfill historical data, only states the node already has (since genesis sync or `--checkpointState`) can be regenerated. \
|
|
@@ -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":"AAAA,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAsB,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAE5G,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AA0CpD,MAAM,UAAU,SAAS,CAAC,IAAoC,EAA+B;IAC3F,OAAO;QACL,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QAClD,uBAAuB,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC9D,sBAAsB,EAAE,IAAI,CAAC,8BAA8B,CAAC;QAC5D,qBAAqB,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAC1D,qBAAqB,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAC1D,wBAAwB,EAAE,IAAI,CAAC,gCAAgC,CAAC;QAChE,6EAA6E;QAC7E,2BAA2B,EAAE,SAAgB;QAC7C,qBAAqB,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAC1D,6EAA6E;QAC7E,wBAAwB,EAAE,SAAgB;QAC1C,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAC1C,kBAAkB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QACpD,yBAAyB,EAAE,IAAI,CAAC,iCAAiC,CAAC;QAClE,wBAAwB,EAAE,IAAI,CAAC,gCAAgC,CAAC;QAChE,wBAAwB,EAAE,IAAI,CAAC,gCAAgC,CAAC;QAChE,iBAAiB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QAClD,gBAAgB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QAChD,gCAAgC,EAAE,IAAI,CAAC,wCAAwC,CAAC;QAChF,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC;QACxC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;QACjE,kCAAkC,EAChC,IAAI,CAAC,0CAA0C,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,kCAAkC;QAC7G,uBAAuB,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,uBAAuB;QAC9G,0BAA0B,EAAE,IAAI,CAAC,kCAAkC,CAAC;QACpE,iBAAiB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QAClD,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,WAAW;QAC1E,8BAA8B,EAC5B,IAAI,CAAC,sCAAsC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,8BAA8B;QACrG,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,eAAe;QACtF,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,cAAc;QACnF,wBAAwB,EAAE,IAAI,CAAC,gCAAgC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,wBAAwB;QACjH,sBAAsB,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,sBAAsB;QAC3G,wEAAwE;QACxE,qBAAqB,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC5D,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC;QAC5C,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC;KACzC,CAAC;AAAA,CACH;AAED,MAAM,CAAC,MAAM,OAAO,GAAiC;IACnD,qBAAqB,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,qOAAqO;QACvO,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,qBAAqB;QACnD,KAAK,EAAE,OAAO;KACf;IAED,qBAAqB,EAAE;QACrB,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACtE,WAAW,EAAE,kEAAkE;QAC/E,KAAK,EAAE,OAAO;KACf;IAED,cAAc,EAAE;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qFAAqF;QAClG,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc;QAC5C,KAAK,EAAE,OAAO;KACf;IAED,oBAAoB,EAAE;QACpB,WAAW,EACT;;wGAEkG;QACpG,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,oBAAoB;QAClD,KAAK,EAAE,OAAO;KACf;IAED,+BAA+B,EAAE;QAC/B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,gDAAgD;QAC7D,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACxE,KAAK,EAAE,OAAO;KACf;IAED,8BAA8B,EAAE;QAC9B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8CAA8C;QAC3D,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACvE,KAAK,EAAE,OAAO;KACf;IAED,yBAAyB,EAAE;QACzB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,yGAAyG;QAC3G,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,CAAC,MAAgB,EAAY,EAAE,CACrC,MAAM;aACH,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACxB,GAAG,CAAC,cAAc,CAAC;KACzB;IAED,6BAA6B,EAAE;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EACT;+DACyD;QAC3D,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACxE,KAAK,EAAE,OAAO;KACf;IAED,6BAA6B,EAAE;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,sDAAsD;QACnE,KAAK,EAAE,OAAO;KACf;IAED,gCAAgC,EAAE;QAChC,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0DAA0D;QACvE,KAAK,EAAE,OAAO;KACf;IAED,6BAA6B,EAAE;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,oCAAoC;QACjD,KAAK,EAAE,OAAO;KACf;IAED,qBAAqB,EAAE;QACrB,KAAK,EAAE,CAAC,4BAA4B,CAAC;QACrC,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,gDAAgD;QAC7D,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC;QAC9D,KAAK,EAAE,OAAO;KACf;IAED,0BAA0B,EAAE;QAC1B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,uDAAuD;QACpE,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACnE,KAAK,EAAE,OAAO;KACf;IAED,iCAAiC,EAAE;QACjC,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8DAA8D;QAC3E,KAAK,EAAE,OAAO;KACf;IAED,gCAAgC,EAAE;QAChC,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qGAAqG;QAClH,KAAK,EAAE,OAAO;KACf;IAED,gCAAgC,EAAE;QAChC,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uEAAuE;QACpF,KAAK,EAAE,OAAO;KACf;IAED,yBAAyB,EAAE;QACzB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iEAAiE;QAC9E,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAClE,KAAK,EAAE,OAAO;KACf;IAED,wBAAwB,EAAE;QACxB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4EAA4E;QACzF,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACjE,KAAK,EAAE,OAAO;KACf;IAED,oBAAoB,EAAE;QACpB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iFAAiF;QAC9F,KAAK,EAAE,OAAO;KACf;IAED,wCAAwC,EAAE;QACxC,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACf;IAED,kCAAkC,EAAE;QAClC,WAAW,EAAE,kDAAkD;QAC/D,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,0BAA0B;QACxD,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;KACf;IAED,mBAAmB,EAAE;QACnB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACnC,WAAW,EAAE,mDAAmD,oBAAoB,eAAe;QACnG,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW;QACzC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;KACf;IAED,6BAA6B,EAAE;QAC7B,2DAA2D;QAC3D,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,kHAAkH;QACpH,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM;KAChB;IAED,0CAA0C,EAAE;QAC1C,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,wDAAwD;QACrE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,kCAAkC;QAChE,KAAK,EAAE,OAAO;KACf;IAED,+BAA+B,EAAE;QAC/B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,uBAAuB;QACrD,KAAK,EAAE,OAAO;KACf;IAED,yBAAyB,EAAE;QACzB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,oJAAoJ;QACtJ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;KACf;IAED,sCAAsC,EAAE;QACtC,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,8BAA8B;QAC5D,KAAK,EAAE,OAAO;KACf;IAED,uBAAuB,EAAE;QACvB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,eAAe;QAC7C,KAAK,EAAE,OAAO;KACf;IAED,sBAAsB,EAAE;QACtB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,mEAAmE;QAChF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc;QAC5C,KAAK,EAAE,OAAO;KACf;IAED,gCAAgC,EAAE;QAChC,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,0FAA0F;QACvG,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,wBAAwB;QACtD,KAAK,EAAE,OAAO;KACf;IAED,8BAA8B,EAAE;QAC9B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,wFAAwF;QACrG,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,sBAAsB;QACpD,KAAK,EAAE,OAAO;KACf;IAED,oBAAoB,EAAE;QACpB,WAAW,EACT;;8EAEwE;QAC1E,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY;QAC1C,KAAK,EAAE,OAAO;KACf;CACF,CAAC"}
|
|
@@ -36,6 +36,7 @@ export declare const beaconNodeOptions: {
|
|
|
36
36
|
suggestedFeeRecipient: import("@lodestar/utils").CliOptionDefinition<string> & (Required<Pick<import("yargs").Options, "default">> | {
|
|
37
37
|
demandOption: true;
|
|
38
38
|
});
|
|
39
|
+
graffitiAppend: import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
|
|
39
40
|
serveHistoricalState: import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
|
|
40
41
|
"chain.blacklistedBlocks": import("@lodestar/utils").CliOptionDefinition<string[] | undefined>;
|
|
41
42
|
"chain.blsVerifyAllMultiThread": import("@lodestar/utils").CliOptionDefinition<boolean | 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
|
|
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.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,9 +1,11 @@
|
|
|
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;
|
|
8
|
+
graffitiAppend?: boolean;
|
|
7
9
|
serveHistoricalState?: boolean;
|
|
8
10
|
"chain.blacklistedBlocks"?: string[];
|
|
9
11
|
"chain.blsVerifyAllMultiThread"?: boolean;
|
|
@@ -40,9 +42,10 @@ export type ChainArgs = {
|
|
|
40
42
|
"chain.pruneHistory"?: boolean;
|
|
41
43
|
};
|
|
42
44
|
|
|
43
|
-
export function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"] {
|
|
45
|
+
export function parseArgs(args: ChainArgs & CircuitBreakerArgs): IBeaconNodeOptions["chain"] {
|
|
44
46
|
return {
|
|
45
47
|
suggestedFeeRecipient: args.suggestedFeeRecipient,
|
|
48
|
+
graffitiAppend: args.graffitiAppend,
|
|
46
49
|
serveHistoricalState: args.serveHistoricalState,
|
|
47
50
|
blacklistedBlocks: args["chain.blacklistedBlocks"],
|
|
48
51
|
blsVerifyAllMultiThread: args["chain.blsVerifyAllMultiThread"],
|
|
@@ -78,6 +81,9 @@ export function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"] {
|
|
|
78
81
|
maxBlockStates: args["chain.maxBlockStates"] ?? defaultOptions.chain.maxBlockStates,
|
|
79
82
|
maxCPStateEpochsInMemory: args["chain.maxCPStateEpochsInMemory"] ?? defaultOptions.chain.maxCPStateEpochsInMemory,
|
|
80
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"],
|
|
81
87
|
pruneHistory: args["chain.pruneHistory"],
|
|
82
88
|
};
|
|
83
89
|
}
|
|
@@ -98,6 +104,13 @@ export const options: CliCommandOptions<ChainArgs> = {
|
|
|
98
104
|
group: "chain",
|
|
99
105
|
},
|
|
100
106
|
|
|
107
|
+
graffitiAppend: {
|
|
108
|
+
type: "boolean",
|
|
109
|
+
description: "Append CL/EL client info to graffiti supplied by validator client when space allows",
|
|
110
|
+
default: defaultOptions.chain.graffitiAppend,
|
|
111
|
+
group: "chain",
|
|
112
|
+
},
|
|
113
|
+
|
|
101
114
|
serveHistoricalState: {
|
|
102
115
|
description:
|
|
103
116
|
"Regenerate finalized beacon states on demand and serve them via the REST API (e.g. `/eth/v2/debug/beacon/states/{state_id}`). \
|