@chainsafe/lodestar 1.51.0-dev.e521668760 → 1.51.0-dev.e95d4a80f2
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/beacon/handler.js +2 -2
- package/lib/cmds/beacon/handler.js.map +1 -1
- package/lib/cmds/builder/handler.d.ts.map +1 -1
- package/lib/cmds/builder/handler.js +48 -3
- package/lib/cmds/builder/handler.js.map +1 -1
- package/lib/cmds/builder/options.d.ts +13 -0
- package/lib/cmds/builder/options.d.ts.map +1 -1
- package/lib/cmds/builder/options.js +83 -1
- package/lib/cmds/builder/options.js.map +1 -1
- package/lib/cmds/dev/options.d.ts +1 -0
- package/lib/cmds/dev/options.d.ts.map +1 -1
- package/lib/cmds/validator/handler.d.ts.map +1 -1
- package/lib/cmds/validator/handler.js +12 -2
- package/lib/cmds/validator/handler.js.map +1 -1
- package/lib/options/beaconNodeOptions/api.d.ts +1 -0
- package/lib/options/beaconNodeOptions/api.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/api.js +8 -0
- package/lib/options/beaconNodeOptions/api.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 +21 -18
- package/src/cmds/beacon/handler.ts +2 -2
- package/src/cmds/builder/handler.ts +68 -3
- package/src/cmds/builder/options.ts +118 -1
- package/src/cmds/validator/handler.ts +10 -1
- package/src/options/beaconNodeOptions/api.ts +11 -0
package/.git-data.json
CHANGED
|
@@ -181,8 +181,8 @@ export async function beaconHandlerInit(args) {
|
|
|
181
181
|
}
|
|
182
182
|
// Render final options
|
|
183
183
|
const options = beaconNodeOptions.getWithDefaults();
|
|
184
|
-
if (options.chain.nativeStateTransition && config.
|
|
185
|
-
throw Error(`--chain.nativeStateTransition does not support
|
|
184
|
+
if (options.chain.nativeStateTransition && config.HEZE_FORK_EPOCH !== Infinity) {
|
|
185
|
+
throw Error(`--chain.nativeStateTransition does not support Heze, which is scheduled at epoch ${config.HEZE_FORK_EPOCH}`);
|
|
186
186
|
}
|
|
187
187
|
return { config, options, beaconPaths, network, version, commit, privateKey, logger };
|
|
188
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/beacon/handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/beacon/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/cmds/builder/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/cmds/builder/handler.ts"],"names":[],"mappings":"AAcA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAWlD,OAAO,EAAC,eAAe,EAA+B,MAAM,cAAc,CAAC;AAI3E,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwHtF"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
1
2
|
import path from "node:path";
|
|
2
3
|
import { getClient } from "@lodestar/api";
|
|
3
|
-
import { RegistryMetricCreator, collectNodeJSMetrics, getHttpMetricsServer } from "@lodestar/beacon-node";
|
|
4
|
-
import { Builder, getMetrics } from "@lodestar/builder";
|
|
4
|
+
import { RegistryMetricCreator, collectNodeJSMetrics, defaultExecutionEngineHttpOpts, getHttpMetricsServer, initializeExecutionEngine, } from "@lodestar/beacon-node";
|
|
5
|
+
import { Builder, EnginePayloadSource, getMetrics } from "@lodestar/builder";
|
|
5
6
|
import { getNodeLogger } from "@lodestar/logger/node";
|
|
6
7
|
import { fromHex, toPrintableUrl } from "@lodestar/utils";
|
|
7
8
|
import { getBeaconConfigFromArgs } from "../../config/beaconParams.js";
|
|
8
9
|
import { getGlobalPaths } from "../../paths/global.js";
|
|
9
|
-
import { cleanOldLogFiles, onGracefulShutdown, parseFeeRecipient, parseLoggerArgs } from "../../util/index.js";
|
|
10
|
+
import { cleanOldLogFiles, extractJwtHexSecret, onGracefulShutdown, parseFeeRecipient, parseLoggerArgs, } from "../../util/index.js";
|
|
10
11
|
import { getVersionData } from "../../util/version.js";
|
|
11
12
|
import { loadBuilderKeypair } from "./loadKeypair.js";
|
|
12
13
|
import { builderMetricsDefaultOptions } from "./options.js";
|
|
@@ -51,6 +52,39 @@ export async function builderHandler(args) {
|
|
|
51
52
|
}
|
|
52
53
|
const api = getClient({ urls: [args.beaconNodeUrl], globalInit: { signal: abortController.signal, timeoutMs: args.requestTimeout } }, { config, logger, metrics: metrics?.restApiClient });
|
|
53
54
|
logger.info("Beacon node", { beaconNode: toPrintableUrl(args.beaconNodeUrl), timeoutMs: args.requestTimeout });
|
|
55
|
+
// Payload ids are local to the execution client that issued them, fallback urls can't be used
|
|
56
|
+
if (args["execution.urls"].length !== 1) {
|
|
57
|
+
throw Error("Exactly one execution client url is required");
|
|
58
|
+
}
|
|
59
|
+
const executionUrl = args["execution.urls"][0];
|
|
60
|
+
const engine = initializeExecutionEngine({
|
|
61
|
+
mode: "http",
|
|
62
|
+
urls: [executionUrl],
|
|
63
|
+
timeout: args["execution.timeout"] ?? defaultExecutionEngineHttpOpts.timeout,
|
|
64
|
+
retries: args["execution.retries"],
|
|
65
|
+
retryDelay: args["execution.retryDelay"],
|
|
66
|
+
jwtSecretHex: args["execution.jwtSecret"]
|
|
67
|
+
? extractJwtHexSecret(fs.readFileSync(args["execution.jwtSecret"], "utf-8").trim())
|
|
68
|
+
: undefined,
|
|
69
|
+
version,
|
|
70
|
+
commit,
|
|
71
|
+
}, { signal: abortController.signal, logger });
|
|
72
|
+
const payloadSource = new EnginePayloadSource(toPrintableUrl(executionUrl), {
|
|
73
|
+
notifyForkchoiceUpdate: async (fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes) => {
|
|
74
|
+
try {
|
|
75
|
+
return await engine.notifyForkchoiceUpdate(fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
// Only retry while the execution client is syncing, it has not imported the parent payload yet.
|
|
79
|
+
// The engine interface does not expose the fcU status, this matches the error thrown for the SYNCING status
|
|
80
|
+
// in ExecutionEngineHttp.notifyForkchoiceUpdate until a typed error is added to the beacon node
|
|
81
|
+
if (e instanceof Error && e.message === "Execution Layer Syncing")
|
|
82
|
+
return null;
|
|
83
|
+
throw e;
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
getPayload: async (fork, payloadId) => (await engine.getPayload(fork, payloadId)),
|
|
87
|
+
});
|
|
54
88
|
const builder = await Builder.init({
|
|
55
89
|
keypair,
|
|
56
90
|
logger,
|
|
@@ -59,6 +93,17 @@ export async function builderHandler(args) {
|
|
|
59
93
|
api,
|
|
60
94
|
executionFeeRecipient: fromHex(executionFeeRecipient),
|
|
61
95
|
metrics,
|
|
96
|
+
payloadSource,
|
|
97
|
+
bidding: {
|
|
98
|
+
shareBps: args["bidding.shareBps"],
|
|
99
|
+
fixedCostGwei: args["bidding.fixedCostGwei"],
|
|
100
|
+
minValueGwei: args["bidding.minValueGwei"],
|
|
101
|
+
maxValueGwei: args["bidding.maxValueGwei"],
|
|
102
|
+
deadlineBps: args["bidding.deadlineBps"],
|
|
103
|
+
getPayloadTimeout: args["bidding.getPayloadTimeout"],
|
|
104
|
+
minOperatingBalanceGwei: args["bidding.minOperatingBalanceGwei"],
|
|
105
|
+
},
|
|
106
|
+
reveal: { cutoffBps: args["reveal.cutoffBps"] },
|
|
62
107
|
});
|
|
63
108
|
onGracefulShutdownCbs.push(() => builder.close());
|
|
64
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/builder/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/builder/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAuB,mBAAmB,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAkB,4BAA4B,EAAC,MAAM,cAAc,CAAC;AAE3E,MAAM,YAAY,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAkC;IACrE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,KAAK,CAAC,4DAA4D,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAElF,IAAI,CAAC;QACH,gBAAgB,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,EAAC,OAAO,EAAE,MAAM,EAAC,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;IAEpD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAE5E,IAAI,qBAAqB,KAAK,YAAY,EAAE,CAAC;QAC3C,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3G,MAAM,qBAAqB,GAAmC,EAAE,CAAC;IACjE,kBAAkB,CAAC,KAAK,IAAI,EAAE;QAC5B,KAAK,MAAM,EAAE,IAAI,qBAAqB;YAAE,MAAM,EAAE,EAAE,CAAC;IACrD,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,qBAAqB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,OAAO,GAAG,QAAQ,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;IAE7E,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpD,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,4BAA4B,CAAC,OAAO,CAAC;QAChF,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;QAEtF,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CACnB,EAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,EAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAC,EAAC,EAC1G,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAC,CAClD,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAC,CAAC,CAAC;IAE7G,8FAA8F;IAC9F,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,yBAAyB,CACtC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,CAAC,YAAY,CAAC;QACpB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,8BAA8B,CAAC,OAAO;QAC5E,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC;QACxC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACvC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACnF,CAAC,CAAC,SAAS;QACb,OAAO;QACP,MAAM;KACP,EACD,EAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAC,CACzC,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QAC1E,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAAE;YAC1G,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,sBAAsB,CACxC,IAAI,EACJ,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,CAClB,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gGAAgG;gBAChG,4GAA4G;gBAC5G,gGAAgG;gBAChG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,yBAAyB;oBAAE,OAAO,IAAI,CAAC;gBAC/E,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAwB;KACzG,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QACjC,OAAO;QACP,MAAM;QACN,MAAM;QACN,eAAe;QACf,GAAG;QACH,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,CAAC;QACrD,OAAO;QACP,aAAa;QACb,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC;YAClC,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC;YAC5C,YAAY,EAAE,IAAI,CAAC,sBAAsB,CAAC;YAC1C,YAAY,EAAE,IAAI,CAAC,sBAAsB,CAAC;YAC1C,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACxC,iBAAiB,EAAE,IAAI,CAAC,2BAA2B,CAAC;YACpD,uBAAuB,EAAE,IAAI,CAAC,iCAAiC,CAAC;SACjE;QACD,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAC;KAC9C,CAAC,CAAC;IAEH,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -12,6 +12,19 @@ export type IBuilderCliArgs = LogArgs & {
|
|
|
12
12
|
builderPubkey?: string;
|
|
13
13
|
executionFeeRecipient: string;
|
|
14
14
|
requestTimeout: number;
|
|
15
|
+
"execution.urls": string[];
|
|
16
|
+
"execution.timeout"?: number;
|
|
17
|
+
"execution.retries": number;
|
|
18
|
+
"execution.retryDelay": number;
|
|
19
|
+
"execution.jwtSecret"?: string;
|
|
20
|
+
"bidding.shareBps": number;
|
|
21
|
+
"bidding.fixedCostGwei": number;
|
|
22
|
+
"bidding.minValueGwei": number;
|
|
23
|
+
"bidding.maxValueGwei"?: number;
|
|
24
|
+
"bidding.deadlineBps": number;
|
|
25
|
+
"bidding.getPayloadTimeout": number;
|
|
26
|
+
"bidding.minOperatingBalanceGwei": number;
|
|
27
|
+
"reveal.cutoffBps"?: number;
|
|
15
28
|
metrics?: boolean;
|
|
16
29
|
"metrics.port"?: number;
|
|
17
30
|
"metrics.address"?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/builder/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/builder/options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,OAAO,EAAa,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,4BAA4B;IACvC,OAAO;IACP,IAAI;IACJ,OAAO;CACR,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IAEvB,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,MAAM,CAAC;IAE/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,iCAAiC,EAAE,MAAM,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,eAAe,CAiK7D,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { defaultExecutionEngineHttpOpts } from "@lodestar/beacon-node";
|
|
1
2
|
import { defaultOptions } from "@lodestar/builder";
|
|
2
3
|
import { logOptions } from "../../options/logOptions.js";
|
|
3
4
|
export const builderMetricsDefaultOptions = {
|
|
@@ -8,7 +9,7 @@ export const builderMetricsDefaultOptions = {
|
|
|
8
9
|
export const builderOptions = {
|
|
9
10
|
...logOptions,
|
|
10
11
|
beaconNodeUrl: {
|
|
11
|
-
description: "
|
|
12
|
+
description: "URL of the beacon node. It must run with `--emitPayloadAttributes` to emit payload attributes for every slot",
|
|
12
13
|
type: "string",
|
|
13
14
|
default: defaultOptions.beaconNodeUrl,
|
|
14
15
|
},
|
|
@@ -36,6 +37,87 @@ export const builderOptions = {
|
|
|
36
37
|
type: "number",
|
|
37
38
|
default: defaultOptions.requestTimeout,
|
|
38
39
|
},
|
|
40
|
+
// Execution
|
|
41
|
+
"execution.urls": {
|
|
42
|
+
description: "Url to the execution client engine API that builds the payloads. The execution client must be kept in sync by a beacon node",
|
|
43
|
+
default: defaultExecutionEngineHttpOpts.urls.join(","),
|
|
44
|
+
type: "array",
|
|
45
|
+
string: true,
|
|
46
|
+
coerce: (urls) =>
|
|
47
|
+
// Parse ["url1,url2"] to ["url1", "url2"]
|
|
48
|
+
urls.flatMap((item) => item.split(",")),
|
|
49
|
+
group: "execution",
|
|
50
|
+
},
|
|
51
|
+
"execution.timeout": {
|
|
52
|
+
description: "Timeout in milliseconds for execution engine API HTTP client",
|
|
53
|
+
type: "number",
|
|
54
|
+
defaultDescription: String(defaultExecutionEngineHttpOpts.timeout),
|
|
55
|
+
group: "execution",
|
|
56
|
+
},
|
|
57
|
+
"execution.retries": {
|
|
58
|
+
description: "Number of retries when calling execution engine API",
|
|
59
|
+
type: "number",
|
|
60
|
+
default: defaultExecutionEngineHttpOpts.retries,
|
|
61
|
+
group: "execution",
|
|
62
|
+
},
|
|
63
|
+
"execution.retryDelay": {
|
|
64
|
+
description: "Delay time in milliseconds between retries when retrying calls to the execution engine API",
|
|
65
|
+
type: "number",
|
|
66
|
+
default: defaultExecutionEngineHttpOpts.retryDelay,
|
|
67
|
+
group: "execution",
|
|
68
|
+
},
|
|
69
|
+
"execution.jwtSecret": {
|
|
70
|
+
description: "File path to a shared hex-encoded jwt secret which will be used to generate and bundle HS256 encoded jwt tokens for authentication with the EL client's rpc server hosting engine apis. Secret to be exactly same as the one used by the corresponding EL client.",
|
|
71
|
+
type: "string",
|
|
72
|
+
group: "execution",
|
|
73
|
+
},
|
|
74
|
+
// Bidding
|
|
75
|
+
"bidding.shareBps": {
|
|
76
|
+
description: "Share of the payload value offered to the proposer, in basis points",
|
|
77
|
+
type: "number",
|
|
78
|
+
default: defaultOptions.bidding.shareBps,
|
|
79
|
+
group: "bidding",
|
|
80
|
+
},
|
|
81
|
+
"bidding.fixedCostGwei": {
|
|
82
|
+
description: "Fixed amount in gwei deducted from the proposer share of every bid",
|
|
83
|
+
type: "number",
|
|
84
|
+
default: defaultOptions.bidding.fixedCostGwei,
|
|
85
|
+
group: "bidding",
|
|
86
|
+
},
|
|
87
|
+
"bidding.minValueGwei": {
|
|
88
|
+
description: "Never bid below this value in gwei",
|
|
89
|
+
type: "number",
|
|
90
|
+
default: defaultOptions.bidding.minValueGwei,
|
|
91
|
+
group: "bidding",
|
|
92
|
+
},
|
|
93
|
+
"bidding.maxValueGwei": {
|
|
94
|
+
description: "Never bid above this value in gwei",
|
|
95
|
+
type: "number",
|
|
96
|
+
group: "bidding",
|
|
97
|
+
},
|
|
98
|
+
"bidding.deadlineBps": {
|
|
99
|
+
description: "Point within the slot before the proposal slot at which the payload is retrieved and the bid is published, in basis points",
|
|
100
|
+
type: "number",
|
|
101
|
+
default: defaultOptions.bidding.deadlineBps,
|
|
102
|
+
group: "bidding",
|
|
103
|
+
},
|
|
104
|
+
"bidding.getPayloadTimeout": {
|
|
105
|
+
description: "Timeout in milliseconds for retrieving the payload from the execution client at the bid deadline",
|
|
106
|
+
type: "number",
|
|
107
|
+
default: defaultOptions.bidding.getPayloadTimeout,
|
|
108
|
+
group: "bidding",
|
|
109
|
+
},
|
|
110
|
+
"bidding.minOperatingBalanceGwei": {
|
|
111
|
+
description: "Do not bid while the builder balance is below this value in gwei",
|
|
112
|
+
type: "number",
|
|
113
|
+
default: defaultOptions.bidding.minOperatingBalanceGwei,
|
|
114
|
+
group: "bidding",
|
|
115
|
+
},
|
|
116
|
+
"reveal.cutoffBps": {
|
|
117
|
+
description: "Do not reveal the payload if the block committing to our bid arrives after this point within its slot, in basis points. Defaults to PAYLOAD_ATTESTATION_DUE_BPS of the network",
|
|
118
|
+
type: "number",
|
|
119
|
+
group: "reveal",
|
|
120
|
+
},
|
|
39
121
|
// Metrics
|
|
40
122
|
metrics: {
|
|
41
123
|
description: "Enable the Prometheus metrics HTTP server",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/builder/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAU,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAEhE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,WAAW;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/builder/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,7 @@ export declare const devOptions: {
|
|
|
92
92
|
genesisTime: CliOptionDefinition<number | undefined>;
|
|
93
93
|
reset: CliOptionDefinition<boolean | undefined>;
|
|
94
94
|
dumpTestnetFiles: CliOptionDefinition<string | undefined>;
|
|
95
|
+
"api.disableBidValidation"?: CliOptionDefinition<any> | undefined;
|
|
95
96
|
"api.maxGindicesInProof"?: CliOptionDefinition<any> | undefined;
|
|
96
97
|
bootnodes?: CliOptionDefinition<any> | undefined;
|
|
97
98
|
broadcastValidationStrictness?: 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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAsBlD,OAAO,EAAC,iBAAiB,EAAoE,MAAM,cAAc,CAAC;AAKlH;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAsBlD,OAAO,EAAC,iBAAiB,EAAoE,MAAM,cAAc,CAAC;AAKlH;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuM1F"}
|
|
@@ -43,8 +43,18 @@ export async function validatorHandler(args) {
|
|
|
43
43
|
mkdir(dbPath);
|
|
44
44
|
const onGracefulShutdownCbs = [];
|
|
45
45
|
onGracefulShutdown(async () => {
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
let exitCode = 0;
|
|
47
|
+
try {
|
|
48
|
+
for (const cb of onGracefulShutdownCbs)
|
|
49
|
+
await cb();
|
|
50
|
+
logger.debug("Validator client closed");
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
logger.warn("Error closing validator client", {}, e);
|
|
54
|
+
exitCode = 1;
|
|
55
|
+
}
|
|
56
|
+
// Explicitly exit process due to potential active handles (e.g. EventSource / in-flight HTTP via DVT middleware)
|
|
57
|
+
process.exit(exitCode);
|
|
48
58
|
}, logger.info.bind(logger));
|
|
49
59
|
// Callback for validator to request forced exit, in case of doppelganger detection
|
|
50
60
|
const processShutdownCallback = (err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAEL,kBAAkB,EAClB,SAAS,EAET,cAAc,EACd,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAoB,8BAA8B,EAAE,iCAAiC,EAAC,MAAM,cAAc,CAAC;AAClH,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAoC;IACzE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,EAAC,sBAAsB,EAAC,GAAG,IAAI,CAAC;IAEtC,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,gBAAgB,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAI,EAAE,EAAC,oBAAoB,EAAE,YAAY,EAAC,CAAC,CAAC;IAEhG,MAAM,EAAC,OAAO,EAAE,MAAM,EAAC,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAC5G,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,eAAe,EAAC,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,CAAC;IAC9C,KAAK,CAAC,MAAM,CAAC,CAAC;IAEd,MAAM,qBAAqB,GAAmC,EAAE,CAAC;IACjE,kBAAkB,CAAC,KAAK,IAAI,EAAE;QAC5B,KAAK,MAAM,EAAE,IAAI,qBAAqB;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export declare const enabledAllBashFriendly = "all";
|
|
|
8
8
|
export declare function coerceCors(cors: string): string;
|
|
9
9
|
export type ApiArgs = {
|
|
10
10
|
"api.maxGindicesInProof"?: number;
|
|
11
|
+
"api.disableBidValidation"?: boolean;
|
|
11
12
|
"rest.namespace"?: string[];
|
|
12
13
|
"rest.cors"?: string;
|
|
13
14
|
rest: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAgC,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAgC,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAgBlE;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAqF9C,CAAC"}
|
|
@@ -10,6 +10,7 @@ export function coerceCors(cors) {
|
|
|
10
10
|
export function parseArgs(args) {
|
|
11
11
|
return {
|
|
12
12
|
maxGindicesInProof: args["api.maxGindicesInProof"],
|
|
13
|
+
disableBidValidation: args["api.disableBidValidation"],
|
|
13
14
|
rest: {
|
|
14
15
|
api: args["rest.namespace"],
|
|
15
16
|
cors: args["rest.cors"],
|
|
@@ -37,6 +38,13 @@ export const options = {
|
|
|
37
38
|
defaultDescription: String(defaultOptions.api.maxGindicesInProof),
|
|
38
39
|
group: "api",
|
|
39
40
|
},
|
|
41
|
+
"api.disableBidValidation": {
|
|
42
|
+
hidden: true,
|
|
43
|
+
type: "boolean",
|
|
44
|
+
description: "Broadcast execution payload bids submitted via the API without running gossip validation. Only enable if the API is exclusively used by a trusted local builder, forwarding invalid bids gets the node penalized by peers",
|
|
45
|
+
defaultDescription: String(defaultOptions.api.disableBidValidation),
|
|
46
|
+
group: "api",
|
|
47
|
+
},
|
|
40
48
|
"rest.namespace": {
|
|
41
49
|
type: "array",
|
|
42
50
|
choices: [...allNamespaces, enabledAll, enabledAllBashFriendly],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAGxF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,KAAK,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export type BeaconNodeArgs = api.ApiArgs & chain.ChainArgs & eth1.Eth1Args & exe
|
|
|
13
13
|
export declare function parseBeaconNodeArgs(args: BeaconNodeArgs): RecursivePartial<IBeaconNodeOptions>;
|
|
14
14
|
export declare const beaconNodeOptions: {
|
|
15
15
|
"api.maxGindicesInProof": import("@lodestar/utils").CliOptionDefinition<number | undefined>;
|
|
16
|
+
"api.disableBidValidation": import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
|
|
16
17
|
"rest.namespace": import("@lodestar/utils").CliOptionDefinition<string[] | undefined>;
|
|
17
18
|
"rest.cors": import("@lodestar/utils").CliOptionDefinition<string | undefined>;
|
|
18
19
|
rest: import("@lodestar/utils").CliOptionDefinition<boolean> & (Required<Pick<import("yargs").Options, "default">> | {
|
|
@@ -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.51.0-dev.
|
|
3
|
+
"version": "1.51.0-dev.e95d4a80f2",
|
|
4
4
|
"description": "Command line interface for lodestar",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
},
|
|
10
10
|
"homepage": "https://github.com/ChainSafe/lodestar#readme",
|
|
11
11
|
"type": "module",
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": "^24.22.1"
|
|
14
|
+
},
|
|
12
15
|
"exports": {
|
|
13
16
|
".": {
|
|
14
17
|
"typescript": "./src/index.ts",
|
|
@@ -63,22 +66,22 @@
|
|
|
63
66
|
"@chainsafe/enr": "^6.0.2",
|
|
64
67
|
"@chainsafe/lodestar-z": "catalog:",
|
|
65
68
|
"@chainsafe/persistent-merkle-tree": "^1.3.1",
|
|
66
|
-
"@chainsafe/ssz": "^1.
|
|
69
|
+
"@chainsafe/ssz": "^1.9.0",
|
|
67
70
|
"@chainsafe/threads": "^1.11.3",
|
|
68
|
-
"@libp2p/crypto": "^5.1.
|
|
69
|
-
"@libp2p/interface": "^3.
|
|
70
|
-
"@libp2p/peer-id": "^6.0.
|
|
71
|
-
"@lodestar/api": "^1.51.0-dev.
|
|
72
|
-
"@lodestar/beacon-node": "^1.51.0-dev.
|
|
73
|
-
"@lodestar/builder": "^1.51.0-dev.
|
|
74
|
-
"@lodestar/config": "^1.51.0-dev.
|
|
75
|
-
"@lodestar/db": "^1.51.0-dev.
|
|
76
|
-
"@lodestar/logger": "^1.51.0-dev.
|
|
77
|
-
"@lodestar/params": "^1.51.0-dev.
|
|
78
|
-
"@lodestar/state-transition": "^1.51.0-dev.
|
|
79
|
-
"@lodestar/types": "^1.51.0-dev.
|
|
80
|
-
"@lodestar/utils": "^1.51.0-dev.
|
|
81
|
-
"@lodestar/validator": "^1.51.0-dev.
|
|
71
|
+
"@libp2p/crypto": "^5.1.25",
|
|
72
|
+
"@libp2p/interface": "^3.4.0",
|
|
73
|
+
"@libp2p/peer-id": "^6.0.17",
|
|
74
|
+
"@lodestar/api": "^1.51.0-dev.e95d4a80f2",
|
|
75
|
+
"@lodestar/beacon-node": "^1.51.0-dev.e95d4a80f2",
|
|
76
|
+
"@lodestar/builder": "^1.51.0-dev.e95d4a80f2",
|
|
77
|
+
"@lodestar/config": "^1.51.0-dev.e95d4a80f2",
|
|
78
|
+
"@lodestar/db": "^1.51.0-dev.e95d4a80f2",
|
|
79
|
+
"@lodestar/logger": "^1.51.0-dev.e95d4a80f2",
|
|
80
|
+
"@lodestar/params": "^1.51.0-dev.e95d4a80f2",
|
|
81
|
+
"@lodestar/state-transition": "^1.51.0-dev.e95d4a80f2",
|
|
82
|
+
"@lodestar/types": "^1.51.0-dev.e95d4a80f2",
|
|
83
|
+
"@lodestar/utils": "^1.51.0-dev.e95d4a80f2",
|
|
84
|
+
"@lodestar/validator": "^1.51.0-dev.e95d4a80f2",
|
|
82
85
|
"@multiformats/multiaddr": "^13.0.1",
|
|
83
86
|
"deepmerge": "^4.3.1",
|
|
84
87
|
"ethers": "^6.7.0",
|
|
@@ -94,7 +97,7 @@
|
|
|
94
97
|
"devDependencies": {
|
|
95
98
|
"@chainsafe/as-sha256": "^1.2.5",
|
|
96
99
|
"@ethereumjs/rlp": "^4.0.1",
|
|
97
|
-
"@lodestar/test-utils": "^1.51.0-dev.
|
|
100
|
+
"@lodestar/test-utils": "^1.51.0-dev.e95d4a80f2",
|
|
98
101
|
"@types/debug": "^4.1.7",
|
|
99
102
|
"@types/inquirer": "^9.0.3",
|
|
100
103
|
"@types/js-yaml": "^4.0.5",
|
|
@@ -108,5 +111,5 @@
|
|
|
108
111
|
"web3": "^4.0.3",
|
|
109
112
|
"web3-eth-accounts": "^4.0.3"
|
|
110
113
|
},
|
|
111
|
-
"gitHead": "
|
|
114
|
+
"gitHead": "7fae1eef794d1e32437e506b06da7eb14ece5ebc"
|
|
112
115
|
}
|
|
@@ -232,9 +232,9 @@ export async function beaconHandlerInit(args: BeaconArgs & GlobalArgs) {
|
|
|
232
232
|
// Render final options
|
|
233
233
|
const options = beaconNodeOptions.getWithDefaults();
|
|
234
234
|
|
|
235
|
-
if (options.chain.nativeStateTransition && config.
|
|
235
|
+
if (options.chain.nativeStateTransition && config.HEZE_FORK_EPOCH !== Infinity) {
|
|
236
236
|
throw Error(
|
|
237
|
-
`--chain.nativeStateTransition does not support
|
|
237
|
+
`--chain.nativeStateTransition does not support Heze, which is scheduled at epoch ${config.HEZE_FORK_EPOCH}`
|
|
238
238
|
);
|
|
239
239
|
}
|
|
240
240
|
|
|
@@ -1,13 +1,26 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
1
2
|
import path from "node:path";
|
|
2
3
|
import {getClient} from "@lodestar/api";
|
|
3
|
-
import {
|
|
4
|
-
|
|
4
|
+
import {
|
|
5
|
+
RegistryMetricCreator,
|
|
6
|
+
collectNodeJSMetrics,
|
|
7
|
+
defaultExecutionEngineHttpOpts,
|
|
8
|
+
getHttpMetricsServer,
|
|
9
|
+
initializeExecutionEngine,
|
|
10
|
+
} from "@lodestar/beacon-node";
|
|
11
|
+
import {Builder, EnginePayloadResult, EnginePayloadSource, getMetrics} from "@lodestar/builder";
|
|
5
12
|
import {getNodeLogger} from "@lodestar/logger/node";
|
|
6
13
|
import {fromHex, toPrintableUrl} from "@lodestar/utils";
|
|
7
14
|
import {getBeaconConfigFromArgs} from "../../config/beaconParams.js";
|
|
8
15
|
import {GlobalArgs} from "../../options/index.js";
|
|
9
16
|
import {getGlobalPaths} from "../../paths/global.js";
|
|
10
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
cleanOldLogFiles,
|
|
19
|
+
extractJwtHexSecret,
|
|
20
|
+
onGracefulShutdown,
|
|
21
|
+
parseFeeRecipient,
|
|
22
|
+
parseLoggerArgs,
|
|
23
|
+
} from "../../util/index.js";
|
|
11
24
|
import {getVersionData} from "../../util/version.js";
|
|
12
25
|
import {loadBuilderKeypair} from "./loadKeypair.js";
|
|
13
26
|
import {IBuilderCliArgs, builderMetricsDefaultOptions} from "./options.js";
|
|
@@ -71,6 +84,47 @@ export async function builderHandler(args: IBuilderCliArgs & GlobalArgs): Promis
|
|
|
71
84
|
|
|
72
85
|
logger.info("Beacon node", {beaconNode: toPrintableUrl(args.beaconNodeUrl), timeoutMs: args.requestTimeout});
|
|
73
86
|
|
|
87
|
+
// Payload ids are local to the execution client that issued them, fallback urls can't be used
|
|
88
|
+
if (args["execution.urls"].length !== 1) {
|
|
89
|
+
throw Error("Exactly one execution client url is required");
|
|
90
|
+
}
|
|
91
|
+
const executionUrl = args["execution.urls"][0];
|
|
92
|
+
const engine = initializeExecutionEngine(
|
|
93
|
+
{
|
|
94
|
+
mode: "http",
|
|
95
|
+
urls: [executionUrl],
|
|
96
|
+
timeout: args["execution.timeout"] ?? defaultExecutionEngineHttpOpts.timeout,
|
|
97
|
+
retries: args["execution.retries"],
|
|
98
|
+
retryDelay: args["execution.retryDelay"],
|
|
99
|
+
jwtSecretHex: args["execution.jwtSecret"]
|
|
100
|
+
? extractJwtHexSecret(fs.readFileSync(args["execution.jwtSecret"], "utf-8").trim())
|
|
101
|
+
: undefined,
|
|
102
|
+
version,
|
|
103
|
+
commit,
|
|
104
|
+
},
|
|
105
|
+
{signal: abortController.signal, logger}
|
|
106
|
+
);
|
|
107
|
+
const payloadSource = new EnginePayloadSource(toPrintableUrl(executionUrl), {
|
|
108
|
+
notifyForkchoiceUpdate: async (fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes) => {
|
|
109
|
+
try {
|
|
110
|
+
return await engine.notifyForkchoiceUpdate(
|
|
111
|
+
fork,
|
|
112
|
+
headBlockHash,
|
|
113
|
+
safeBlockHash,
|
|
114
|
+
finalizedBlockHash,
|
|
115
|
+
payloadAttributes
|
|
116
|
+
);
|
|
117
|
+
} catch (e) {
|
|
118
|
+
// Only retry while the execution client is syncing, it has not imported the parent payload yet.
|
|
119
|
+
// The engine interface does not expose the fcU status, this matches the error thrown for the SYNCING status
|
|
120
|
+
// in ExecutionEngineHttp.notifyForkchoiceUpdate until a typed error is added to the beacon node
|
|
121
|
+
if (e instanceof Error && e.message === "Execution Layer Syncing") return null;
|
|
122
|
+
throw e;
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
getPayload: async (fork, payloadId) => (await engine.getPayload(fork, payloadId)) as EnginePayloadResult,
|
|
126
|
+
});
|
|
127
|
+
|
|
74
128
|
const builder = await Builder.init({
|
|
75
129
|
keypair,
|
|
76
130
|
logger,
|
|
@@ -79,6 +133,17 @@ export async function builderHandler(args: IBuilderCliArgs & GlobalArgs): Promis
|
|
|
79
133
|
api,
|
|
80
134
|
executionFeeRecipient: fromHex(executionFeeRecipient),
|
|
81
135
|
metrics,
|
|
136
|
+
payloadSource,
|
|
137
|
+
bidding: {
|
|
138
|
+
shareBps: args["bidding.shareBps"],
|
|
139
|
+
fixedCostGwei: args["bidding.fixedCostGwei"],
|
|
140
|
+
minValueGwei: args["bidding.minValueGwei"],
|
|
141
|
+
maxValueGwei: args["bidding.maxValueGwei"],
|
|
142
|
+
deadlineBps: args["bidding.deadlineBps"],
|
|
143
|
+
getPayloadTimeout: args["bidding.getPayloadTimeout"],
|
|
144
|
+
minOperatingBalanceGwei: args["bidding.minOperatingBalanceGwei"],
|
|
145
|
+
},
|
|
146
|
+
reveal: {cutoffBps: args["reveal.cutoffBps"]},
|
|
82
147
|
});
|
|
83
148
|
|
|
84
149
|
onGracefulShutdownCbs.push(() => builder.close());
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import {defaultExecutionEngineHttpOpts} from "@lodestar/beacon-node";
|
|
1
2
|
import {defaultOptions} from "@lodestar/builder";
|
|
2
3
|
import {CliCommandOptions} from "@lodestar/utils";
|
|
3
4
|
import {LogArgs, logOptions} from "../../options/logOptions.js";
|
|
@@ -16,6 +17,21 @@ export type IBuilderCliArgs = LogArgs & {
|
|
|
16
17
|
executionFeeRecipient: string;
|
|
17
18
|
requestTimeout: number;
|
|
18
19
|
|
|
20
|
+
"execution.urls": string[];
|
|
21
|
+
"execution.timeout"?: number;
|
|
22
|
+
"execution.retries": number;
|
|
23
|
+
"execution.retryDelay": number;
|
|
24
|
+
"execution.jwtSecret"?: string;
|
|
25
|
+
|
|
26
|
+
"bidding.shareBps": number;
|
|
27
|
+
"bidding.fixedCostGwei": number;
|
|
28
|
+
"bidding.minValueGwei": number;
|
|
29
|
+
"bidding.maxValueGwei"?: number;
|
|
30
|
+
"bidding.deadlineBps": number;
|
|
31
|
+
"bidding.getPayloadTimeout": number;
|
|
32
|
+
"bidding.minOperatingBalanceGwei": number;
|
|
33
|
+
"reveal.cutoffBps"?: number;
|
|
34
|
+
|
|
19
35
|
metrics?: boolean;
|
|
20
36
|
"metrics.port"?: number;
|
|
21
37
|
"metrics.address"?: string;
|
|
@@ -25,7 +41,8 @@ export const builderOptions: CliCommandOptions<IBuilderCliArgs> = {
|
|
|
25
41
|
...logOptions,
|
|
26
42
|
|
|
27
43
|
beaconNodeUrl: {
|
|
28
|
-
description:
|
|
44
|
+
description:
|
|
45
|
+
"URL of the beacon node. It must run with `--emitPayloadAttributes` to emit payload attributes for every slot",
|
|
29
46
|
type: "string",
|
|
30
47
|
default: defaultOptions.beaconNodeUrl,
|
|
31
48
|
},
|
|
@@ -59,6 +76,106 @@ export const builderOptions: CliCommandOptions<IBuilderCliArgs> = {
|
|
|
59
76
|
default: defaultOptions.requestTimeout,
|
|
60
77
|
},
|
|
61
78
|
|
|
79
|
+
// Execution
|
|
80
|
+
|
|
81
|
+
"execution.urls": {
|
|
82
|
+
description:
|
|
83
|
+
"Url to the execution client engine API that builds the payloads. The execution client must be kept in sync by a beacon node",
|
|
84
|
+
default: defaultExecutionEngineHttpOpts.urls.join(","),
|
|
85
|
+
type: "array",
|
|
86
|
+
string: true,
|
|
87
|
+
coerce: (urls: string[]): string[] =>
|
|
88
|
+
// Parse ["url1,url2"] to ["url1", "url2"]
|
|
89
|
+
urls.flatMap((item) => item.split(",")),
|
|
90
|
+
group: "execution",
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
"execution.timeout": {
|
|
94
|
+
description: "Timeout in milliseconds for execution engine API HTTP client",
|
|
95
|
+
type: "number",
|
|
96
|
+
defaultDescription: String(defaultExecutionEngineHttpOpts.timeout),
|
|
97
|
+
group: "execution",
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
"execution.retries": {
|
|
101
|
+
description: "Number of retries when calling execution engine API",
|
|
102
|
+
type: "number",
|
|
103
|
+
default: defaultExecutionEngineHttpOpts.retries,
|
|
104
|
+
group: "execution",
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
"execution.retryDelay": {
|
|
108
|
+
description: "Delay time in milliseconds between retries when retrying calls to the execution engine API",
|
|
109
|
+
type: "number",
|
|
110
|
+
default: defaultExecutionEngineHttpOpts.retryDelay,
|
|
111
|
+
group: "execution",
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
"execution.jwtSecret": {
|
|
115
|
+
description:
|
|
116
|
+
"File path to a shared hex-encoded jwt secret which will be used to generate and bundle HS256 encoded jwt tokens for authentication with the EL client's rpc server hosting engine apis. Secret to be exactly same as the one used by the corresponding EL client.",
|
|
117
|
+
type: "string",
|
|
118
|
+
group: "execution",
|
|
119
|
+
},
|
|
120
|
+
|
|
121
|
+
// Bidding
|
|
122
|
+
|
|
123
|
+
"bidding.shareBps": {
|
|
124
|
+
description: "Share of the payload value offered to the proposer, in basis points",
|
|
125
|
+
type: "number",
|
|
126
|
+
default: defaultOptions.bidding.shareBps,
|
|
127
|
+
group: "bidding",
|
|
128
|
+
},
|
|
129
|
+
|
|
130
|
+
"bidding.fixedCostGwei": {
|
|
131
|
+
description: "Fixed amount in gwei deducted from the proposer share of every bid",
|
|
132
|
+
type: "number",
|
|
133
|
+
default: defaultOptions.bidding.fixedCostGwei,
|
|
134
|
+
group: "bidding",
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
"bidding.minValueGwei": {
|
|
138
|
+
description: "Never bid below this value in gwei",
|
|
139
|
+
type: "number",
|
|
140
|
+
default: defaultOptions.bidding.minValueGwei,
|
|
141
|
+
group: "bidding",
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
"bidding.maxValueGwei": {
|
|
145
|
+
description: "Never bid above this value in gwei",
|
|
146
|
+
type: "number",
|
|
147
|
+
group: "bidding",
|
|
148
|
+
},
|
|
149
|
+
|
|
150
|
+
"bidding.deadlineBps": {
|
|
151
|
+
description:
|
|
152
|
+
"Point within the slot before the proposal slot at which the payload is retrieved and the bid is published, in basis points",
|
|
153
|
+
type: "number",
|
|
154
|
+
default: defaultOptions.bidding.deadlineBps,
|
|
155
|
+
group: "bidding",
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
"bidding.getPayloadTimeout": {
|
|
159
|
+
description: "Timeout in milliseconds for retrieving the payload from the execution client at the bid deadline",
|
|
160
|
+
type: "number",
|
|
161
|
+
default: defaultOptions.bidding.getPayloadTimeout,
|
|
162
|
+
group: "bidding",
|
|
163
|
+
},
|
|
164
|
+
|
|
165
|
+
"bidding.minOperatingBalanceGwei": {
|
|
166
|
+
description: "Do not bid while the builder balance is below this value in gwei",
|
|
167
|
+
type: "number",
|
|
168
|
+
default: defaultOptions.bidding.minOperatingBalanceGwei,
|
|
169
|
+
group: "bidding",
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
"reveal.cutoffBps": {
|
|
173
|
+
description:
|
|
174
|
+
"Do not reveal the payload if the block committing to our bid arrives after this point within its slot, in basis points. Defaults to PAYLOAD_ATTESTATION_DUE_BPS of the network",
|
|
175
|
+
type: "number",
|
|
176
|
+
group: "reveal",
|
|
177
|
+
},
|
|
178
|
+
|
|
62
179
|
// Metrics
|
|
63
180
|
|
|
64
181
|
metrics: {
|
|
@@ -77,7 +77,16 @@ export async function validatorHandler(args: IValidatorCliArgs & GlobalArgs): Pr
|
|
|
77
77
|
|
|
78
78
|
const onGracefulShutdownCbs: (() => Promise<void> | void)[] = [];
|
|
79
79
|
onGracefulShutdown(async () => {
|
|
80
|
-
|
|
80
|
+
let exitCode = 0;
|
|
81
|
+
try {
|
|
82
|
+
for (const cb of onGracefulShutdownCbs) await cb();
|
|
83
|
+
logger.debug("Validator client closed");
|
|
84
|
+
} catch (e) {
|
|
85
|
+
logger.warn("Error closing validator client", {}, e as Error);
|
|
86
|
+
exitCode = 1;
|
|
87
|
+
}
|
|
88
|
+
// Explicitly exit process due to potential active handles (e.g. EventSource / in-flight HTTP via DVT middleware)
|
|
89
|
+
process.exit(exitCode);
|
|
81
90
|
}, logger.info.bind(logger));
|
|
82
91
|
|
|
83
92
|
// Callback for validator to request forced exit, in case of doppelganger detection
|
|
@@ -13,6 +13,7 @@ export function coerceCors(cors: string): string {
|
|
|
13
13
|
|
|
14
14
|
export type ApiArgs = {
|
|
15
15
|
"api.maxGindicesInProof"?: number;
|
|
16
|
+
"api.disableBidValidation"?: boolean;
|
|
16
17
|
"rest.namespace"?: string[];
|
|
17
18
|
"rest.cors"?: string;
|
|
18
19
|
rest: boolean;
|
|
@@ -27,6 +28,7 @@ export type ApiArgs = {
|
|
|
27
28
|
export function parseArgs(args: ApiArgs): IBeaconNodeOptions["api"] {
|
|
28
29
|
return {
|
|
29
30
|
maxGindicesInProof: args["api.maxGindicesInProof"],
|
|
31
|
+
disableBidValidation: args["api.disableBidValidation"],
|
|
30
32
|
rest: {
|
|
31
33
|
api: args["rest.namespace"] as IBeaconNodeOptions["api"]["rest"]["api"],
|
|
32
34
|
cors: args["rest.cors"],
|
|
@@ -57,6 +59,15 @@ export const options: CliCommandOptions<ApiArgs> = {
|
|
|
57
59
|
group: "api",
|
|
58
60
|
},
|
|
59
61
|
|
|
62
|
+
"api.disableBidValidation": {
|
|
63
|
+
hidden: true,
|
|
64
|
+
type: "boolean",
|
|
65
|
+
description:
|
|
66
|
+
"Broadcast execution payload bids submitted via the API without running gossip validation. Only enable if the API is exclusively used by a trusted local builder, forwarding invalid bids gets the node penalized by peers",
|
|
67
|
+
defaultDescription: String(defaultOptions.api.disableBidValidation),
|
|
68
|
+
group: "api",
|
|
69
|
+
},
|
|
70
|
+
|
|
60
71
|
"rest.namespace": {
|
|
61
72
|
type: "array",
|
|
62
73
|
choices: [...allNamespaces, enabledAll, enabledAllBashFriendly],
|