@chainsafe/lodestar 1.38.0 → 1.39.0-dev.2fe8de2346
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 +2 -2
- package/lib/cmds/beacon/handler.d.ts.map +1 -1
- package/lib/cmds/beacon/handler.js +3 -8
- package/lib/cmds/beacon/handler.js.map +1 -1
- package/lib/cmds/beacon/initBeaconState.d.ts +2 -3
- package/lib/cmds/beacon/initBeaconState.d.ts.map +1 -1
- package/lib/cmds/beacon/initBeaconState.js +3 -6
- package/lib/cmds/beacon/initBeaconState.js.map +1 -1
- package/lib/cmds/beacon/options.js +1 -1
- package/lib/cmds/beacon/options.js.map +1 -1
- package/lib/cmds/dev/files.js +1 -1
- package/lib/cmds/dev/files.js.map +1 -1
- package/lib/cmds/dev/handler.js +1 -1
- package/lib/cmds/dev/handler.js.map +1 -1
- package/lib/cmds/dev/options.d.ts +6 -7
- package/lib/cmds/dev/options.d.ts.map +1 -1
- package/lib/cmds/dev/options.js +0 -5
- package/lib/cmds/dev/options.js.map +1 -1
- package/lib/config/beaconParams.d.ts.map +1 -1
- package/lib/config/beaconParams.js +1 -2
- package/lib/config/beaconParams.js.map +1 -1
- package/lib/networks/chiado.d.ts +0 -1
- package/lib/networks/chiado.d.ts.map +1 -1
- package/lib/networks/chiado.js +0 -2
- package/lib/networks/chiado.js.map +1 -1
- package/lib/networks/dev.d.ts +0 -1
- package/lib/networks/dev.d.ts.map +1 -1
- package/lib/networks/dev.js +0 -1
- package/lib/networks/dev.js.map +1 -1
- package/lib/networks/ephemery.d.ts +0 -1
- package/lib/networks/ephemery.d.ts.map +1 -1
- package/lib/networks/ephemery.js +0 -1
- package/lib/networks/ephemery.js.map +1 -1
- package/lib/networks/gnosis.d.ts +0 -1
- package/lib/networks/gnosis.d.ts.map +1 -1
- package/lib/networks/gnosis.js +0 -2
- package/lib/networks/gnosis.js.map +1 -1
- package/lib/networks/hoodi.d.ts +0 -1
- package/lib/networks/hoodi.d.ts.map +1 -1
- package/lib/networks/hoodi.js +0 -1
- package/lib/networks/hoodi.js.map +1 -1
- package/lib/networks/index.d.ts +0 -1
- package/lib/networks/index.d.ts.map +1 -1
- package/lib/networks/index.js.map +1 -1
- package/lib/networks/mainnet.d.ts +0 -1
- package/lib/networks/mainnet.d.ts.map +1 -1
- package/lib/networks/mainnet.js +0 -1
- package/lib/networks/mainnet.js.map +1 -1
- package/lib/networks/sepolia.d.ts +0 -1
- package/lib/networks/sepolia.d.ts.map +1 -1
- package/lib/networks/sepolia.js +0 -1
- package/lib/networks/sepolia.js.map +1 -1
- package/lib/options/beaconNodeOptions/chain.d.ts +0 -1
- package/lib/options/beaconNodeOptions/chain.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/chain.js +0 -8
- package/lib/options/beaconNodeOptions/chain.js.map +1 -1
- package/lib/options/beaconNodeOptions/eth1.d.ts +12 -3
- package/lib/options/beaconNodeOptions/eth1.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/eth1.js +11 -32
- package/lib/options/beaconNodeOptions/eth1.js.map +1 -1
- package/lib/options/beaconNodeOptions/index.d.ts +0 -3
- package/lib/options/beaconNodeOptions/index.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/index.js +0 -1
- package/lib/options/beaconNodeOptions/index.js.map +1 -1
- package/lib/options/globalOptions.d.ts +0 -3
- package/lib/options/globalOptions.d.ts.map +1 -1
- package/lib/options/paramsOptions.d.ts +1 -7
- package/lib/options/paramsOptions.d.ts.map +1 -1
- package/lib/options/paramsOptions.js +1 -31
- package/lib/options/paramsOptions.js.map +1 -1
- package/package.json +14 -14
- package/src/cmds/beacon/handler.ts +3 -11
- package/src/cmds/beacon/initBeaconState.ts +2 -9
- package/src/cmds/beacon/options.ts +1 -1
- package/src/cmds/dev/files.ts +1 -1
- package/src/cmds/dev/handler.ts +1 -1
- package/src/cmds/dev/options.ts +0 -5
- package/src/config/beaconParams.ts +1 -8
- package/src/networks/chiado.ts +0 -2
- package/src/networks/dev.ts +0 -1
- package/src/networks/ephemery.ts +0 -1
- package/src/networks/gnosis.ts +0 -2
- package/src/networks/hoodi.ts +0 -1
- package/src/networks/index.ts +0 -1
- package/src/networks/mainnet.ts +0 -1
- package/src/networks/sepolia.ts +0 -1
- package/src/options/beaconNodeOptions/chain.ts +0 -11
- package/src/options/beaconNodeOptions/eth1.ts +20 -37
- package/src/options/beaconNodeOptions/index.ts +0 -1
- package/src/options/paramsOptions.ts +3 -43
package/src/networks/ephemery.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export {ephemeryChainConfig as chainConfig} from "@lodestar/config/networks";
|
|
2
2
|
|
|
3
|
-
export const depositContractDeployBlock = 0;
|
|
4
3
|
export const genesisFileUrl = "https://ephemery.dev/latest/genesis.ssz";
|
|
5
4
|
export const genesisStateRoot = null;
|
|
6
5
|
export const bootnodesFileUrl = "https://ephemery.dev/latest/bootstrap_nodes.txt";
|
package/src/networks/gnosis.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export {gnosisChainConfig as chainConfig} from "@lodestar/config/networks";
|
|
2
2
|
|
|
3
|
-
// eth1.providerUrls suggestion: https://rpc.gnosischain.com
|
|
4
|
-
export const depositContractDeployBlock = 19469077;
|
|
5
3
|
export const genesisFileUrl = "https://raw.githubusercontent.com/gnosischain/configs/main/mainnet/genesis.ssz";
|
|
6
4
|
export const genesisStateRoot = "0x1511578d6de70428bf3529ab92102f21070694cb205443437fae359a7f220537";
|
|
7
5
|
export const bootnodesFileUrl = "https://raw.githubusercontent.com/gnosischain/configs/main/mainnet/bootnodes.yaml";
|
package/src/networks/hoodi.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export {hoodiChainConfig as chainConfig} from "@lodestar/config/networks";
|
|
2
2
|
|
|
3
|
-
export const depositContractDeployBlock = 0;
|
|
4
3
|
export const genesisFileUrl = "https://media.githubusercontent.com/media/eth-clients/hoodi/main/metadata/genesis.ssz";
|
|
5
4
|
export const genesisStateRoot = "0x2683ebc120f91f740c7bed4c866672d01e1ba51b4cc360297138465ee5df40f0";
|
|
6
5
|
export const bootnodesFileUrl =
|
package/src/networks/index.ts
CHANGED
|
@@ -49,7 +49,6 @@ const GET_STATE_LOG_INTERVAL = 30 * 1000;
|
|
|
49
49
|
|
|
50
50
|
export function getNetworkData(network: NetworkName): {
|
|
51
51
|
chainConfig: ChainConfig;
|
|
52
|
-
depositContractDeployBlock: number;
|
|
53
52
|
genesisFileUrl: string | null;
|
|
54
53
|
genesisStateRoot: string | null;
|
|
55
54
|
bootnodesFileUrl: string | null;
|
package/src/networks/mainnet.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export {mainnetChainConfig as chainConfig} from "@lodestar/config/networks";
|
|
2
2
|
|
|
3
|
-
export const depositContractDeployBlock = 11052984;
|
|
4
3
|
export const genesisFileUrl =
|
|
5
4
|
"https://raw.githubusercontent.com/eth-clients/mainnet/refs/heads/main/metadata/genesis.ssz";
|
|
6
5
|
export const genesisStateRoot = "0x7e76880eb67bbdc86250aa578958e9d0675e64e714337855204fb5abaaf82c2b";
|
package/src/networks/sepolia.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export {sepoliaChainConfig as chainConfig} from "@lodestar/config/networks";
|
|
2
2
|
|
|
3
|
-
export const depositContractDeployBlock = 1273020;
|
|
4
3
|
export const genesisFileUrl = "https://github.com/eth-clients/sepolia/raw/main/metadata/genesis.ssz";
|
|
5
4
|
export const genesisStateRoot = "0xfb9afe32150fa39f4b346be2519a67e2a4f5efcd50a1dc192c3f6b3d013d2798";
|
|
6
5
|
export const bootnodesFileUrl =
|
|
@@ -23,7 +23,6 @@ export type ChainArgs = {
|
|
|
23
23
|
"chain.computeUnrealized"?: boolean;
|
|
24
24
|
"chain.assertCorrectProgressiveBalances"?: boolean;
|
|
25
25
|
"chain.maxSkipSlots"?: number;
|
|
26
|
-
"safe-slots-to-import-optimistically": number;
|
|
27
26
|
emitPayloadAttributes?: boolean;
|
|
28
27
|
broadcastValidationStrictness?: string;
|
|
29
28
|
"chain.minSameMessageSignatureSetsToBatch"?: number;
|
|
@@ -63,7 +62,6 @@ export function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"] {
|
|
|
63
62
|
computeUnrealized: args["chain.computeUnrealized"],
|
|
64
63
|
assertCorrectProgressiveBalances: args["chain.assertCorrectProgressiveBalances"],
|
|
65
64
|
maxSkipSlots: args["chain.maxSkipSlots"],
|
|
66
|
-
safeSlotsToImportOptimistically: args["safe-slots-to-import-optimistically"],
|
|
67
65
|
emitPayloadAttributes: args.emitPayloadAttributes,
|
|
68
66
|
broadcastValidationStrictness: args.broadcastValidationStrictness,
|
|
69
67
|
minSameMessageSignatureSetsToBatch:
|
|
@@ -227,15 +225,6 @@ Will double processing times. Use only for debugging purposes.",
|
|
|
227
225
|
group: "chain",
|
|
228
226
|
},
|
|
229
227
|
|
|
230
|
-
"safe-slots-to-import-optimistically": {
|
|
231
|
-
hidden: true,
|
|
232
|
-
type: "number",
|
|
233
|
-
description:
|
|
234
|
-
"Slots from current (clock) slot till which its safe to import a block optimistically if the merge is not justified yet.",
|
|
235
|
-
default: defaultOptions.chain.safeSlotsToImportOptimistically,
|
|
236
|
-
group: "chain",
|
|
237
|
-
},
|
|
238
|
-
|
|
239
228
|
"chain.archiveStateEpochFrequency": {
|
|
240
229
|
description: "Minimum number of epochs between archived states",
|
|
241
230
|
default: defaultOptions.chain.archiveStateEpochFrequency,
|
|
@@ -1,58 +1,40 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import {IBeaconNodeOptions, defaultOptions} from "@lodestar/beacon-node";
|
|
3
1
|
import {CliCommandOptions} from "@lodestar/utils";
|
|
4
|
-
import {extractJwtHexSecret} from "../../util/index.js";
|
|
5
|
-
import {ExecutionEngineArgs} from "./execution.js";
|
|
6
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated These options are no longer used since eth1 deposit tracking was removed.
|
|
5
|
+
*/
|
|
7
6
|
export type Eth1Args = {
|
|
7
|
+
/** @deprecated */
|
|
8
8
|
eth1?: boolean;
|
|
9
|
+
/** @deprecated */
|
|
9
10
|
"eth1.providerUrls"?: string[];
|
|
11
|
+
/** @deprecated */
|
|
10
12
|
"eth1.depositContractDeployBlock"?: number;
|
|
13
|
+
/** @deprecated */
|
|
11
14
|
"eth1.disableEth1DepositDataTracker"?: boolean;
|
|
15
|
+
/** @deprecated */
|
|
12
16
|
"eth1.unsafeAllowDepositDataOverwrite"?: boolean;
|
|
17
|
+
/** @deprecated */
|
|
13
18
|
"eth1.forcedEth1DataVote"?: string;
|
|
14
19
|
};
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let providerUrls = args["eth1.providerUrls"];
|
|
21
|
-
|
|
22
|
-
// If no providerUrls are explicitly provided, we should pick the execution endpoint
|
|
23
|
-
// because as per Kiln spec v2.1, execution *must* host the `eth_` methods necessary
|
|
24
|
-
// for deposit and merge trackers on engine endpoints as well protected by a
|
|
25
|
-
// jwt auth mechanism.
|
|
26
|
-
if (providerUrls === undefined && args["execution.urls"]) {
|
|
27
|
-
providerUrls = args["execution.urls"];
|
|
28
|
-
jwtSecretHex = args.jwtSecret ? extractJwtHexSecret(fs.readFileSync(args.jwtSecret, "utf-8").trim()) : undefined;
|
|
29
|
-
jwtId = args.jwtId;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return {
|
|
33
|
-
enabled: args.eth1,
|
|
34
|
-
providerUrls,
|
|
35
|
-
jwtSecretHex,
|
|
36
|
-
jwtId,
|
|
37
|
-
depositContractDeployBlock: args["eth1.depositContractDeployBlock"],
|
|
38
|
-
disableEth1DepositDataTracker: args["eth1.disableEth1DepositDataTracker"],
|
|
39
|
-
unsafeAllowDepositDataOverwrite: args["eth1.unsafeAllowDepositDataOverwrite"],
|
|
40
|
-
forcedEth1DataVote: args["eth1.forcedEth1DataVote"],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated These options are no longer used since eth1 deposit tracking was removed.
|
|
23
|
+
*/
|
|
44
24
|
export const options: CliCommandOptions<Eth1Args> = {
|
|
45
25
|
eth1: {
|
|
26
|
+
hidden: true,
|
|
27
|
+
deprecated: true,
|
|
46
28
|
description: "Whether to follow the eth1 chain",
|
|
47
29
|
type: "boolean",
|
|
48
|
-
defaultDescription: String(defaultOptions.eth1.enabled),
|
|
49
30
|
group: "eth1",
|
|
50
31
|
},
|
|
51
32
|
|
|
52
33
|
"eth1.providerUrls": {
|
|
34
|
+
hidden: true,
|
|
35
|
+
deprecated: true,
|
|
53
36
|
description:
|
|
54
37
|
"Urls to Eth1 node with enabled rpc. If not explicitly provided and execution endpoint provided via execution.urls, it will use execution.urls. Otherwise will try connecting on the specified default(s)",
|
|
55
|
-
defaultDescription: defaultOptions.eth1.providerUrls?.join(","),
|
|
56
38
|
type: "array",
|
|
57
39
|
string: true,
|
|
58
40
|
coerce: (urls: string[]): string[] =>
|
|
@@ -63,31 +45,32 @@ export const options: CliCommandOptions<Eth1Args> = {
|
|
|
63
45
|
|
|
64
46
|
"eth1.depositContractDeployBlock": {
|
|
65
47
|
hidden: true,
|
|
48
|
+
deprecated: true,
|
|
66
49
|
description: "Block number at which the deposit contract contract was deployed",
|
|
67
50
|
type: "number",
|
|
68
|
-
defaultDescription: String(defaultOptions.eth1.depositContractDeployBlock),
|
|
69
51
|
group: "eth1",
|
|
70
52
|
},
|
|
71
53
|
|
|
72
54
|
"eth1.disableEth1DepositDataTracker": {
|
|
73
55
|
hidden: true,
|
|
56
|
+
deprecated: true,
|
|
74
57
|
description: "Disable Eth1DepositDataTracker modules",
|
|
75
58
|
type: "boolean",
|
|
76
|
-
defaultDescription: String(defaultOptions.eth1.disableEth1DepositDataTracker),
|
|
77
59
|
group: "eth1",
|
|
78
60
|
},
|
|
79
61
|
|
|
80
62
|
"eth1.unsafeAllowDepositDataOverwrite": {
|
|
81
63
|
hidden: true,
|
|
64
|
+
deprecated: true,
|
|
82
65
|
description:
|
|
83
66
|
"Allow the deposit tracker to overwrite previously fetched and saved deposit event data. Warning!!! This is an unsafe operation, so enable this flag only if you know what you are doing.",
|
|
84
67
|
type: "boolean",
|
|
85
|
-
defaultDescription: String(defaultOptions.eth1.unsafeAllowDepositDataOverwrite),
|
|
86
68
|
group: "eth1",
|
|
87
69
|
},
|
|
88
70
|
|
|
89
71
|
"eth1.forcedEth1DataVote": {
|
|
90
72
|
hidden: true,
|
|
73
|
+
deprecated: true,
|
|
91
74
|
description: "Vote for a specific eth1_data regardless of all conditions. Hex encoded ssz serialized Eth1Data type",
|
|
92
75
|
type: "string",
|
|
93
76
|
group: "eth1",
|
|
@@ -27,7 +27,6 @@ export function parseBeaconNodeArgs(args: BeaconNodeArgs): RecursivePartial<IBea
|
|
|
27
27
|
api: api.parseArgs(args),
|
|
28
28
|
chain: chain.parseArgs(args),
|
|
29
29
|
// db: {},
|
|
30
|
-
eth1: eth1.parseArgs(args),
|
|
31
30
|
executionEngine: execution.parseArgs(args),
|
|
32
31
|
executionBuilder: builder.parseArgs(args),
|
|
33
32
|
metrics: metrics.parseArgs(args),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {chainConfigTypes} from "@lodestar/config";
|
|
2
2
|
import {CliCommandOptions, CliOptionDefinition} from "@lodestar/utils";
|
|
3
3
|
import {IBeaconParamsUnparsed} from "../config/types.js";
|
|
4
4
|
import {ObjectKeys} from "../util/index.js";
|
|
@@ -7,12 +7,7 @@ import {ObjectKeys} from "../util/index.js";
|
|
|
7
7
|
// If an arbitrary key notation is used, it removes type safety on most of this CLI arg parsing code.
|
|
8
8
|
// Params will be parsed from an args object assuming to contain the required keys
|
|
9
9
|
|
|
10
|
-
export type
|
|
11
|
-
"terminal-total-difficulty-override"?: string;
|
|
12
|
-
"terminal-block-hash-override"?: string;
|
|
13
|
-
"terminal-block-hash-epoch-override"?: string;
|
|
14
|
-
};
|
|
15
|
-
export type IParamsArgs = Record<never, never> & ITerminalPowArgs;
|
|
10
|
+
export type IParamsArgs = Record<never, never>;
|
|
16
11
|
|
|
17
12
|
const getArgKey = (key: keyof IBeaconParamsUnparsed): string => `params.${key}`;
|
|
18
13
|
|
|
@@ -24,7 +19,7 @@ export function parseBeaconParamsArgs(args: Record<string, string | number>): IB
|
|
|
24
19
|
}, {});
|
|
25
20
|
}
|
|
26
21
|
|
|
27
|
-
const
|
|
22
|
+
export const paramsOptions: CliCommandOptions<IParamsArgs> = ObjectKeys(chainConfigTypes).reduce(
|
|
28
23
|
(options: Record<string, CliOptionDefinition>, key): Record<string, CliOptionDefinition> => {
|
|
29
24
|
options[getArgKey(key)] = {
|
|
30
25
|
hidden: true,
|
|
@@ -35,38 +30,3 @@ const paramsOptionsByName = ObjectKeys(chainConfigTypes).reduce(
|
|
|
35
30
|
},
|
|
36
31
|
{}
|
|
37
32
|
);
|
|
38
|
-
|
|
39
|
-
const terminalArgsToParamsMap: {[K in keyof ITerminalPowArgs]: keyof ChainConfig} = {
|
|
40
|
-
"terminal-total-difficulty-override": "TERMINAL_TOTAL_DIFFICULTY",
|
|
41
|
-
"terminal-block-hash-override": "TERMINAL_BLOCK_HASH",
|
|
42
|
-
"terminal-block-hash-epoch-override": "TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH",
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export function parseTerminalPowArgs(args: ITerminalPowArgs): IBeaconParamsUnparsed {
|
|
46
|
-
const parsedArgs = ObjectKeys(terminalArgsToParamsMap).reduce((beaconParams: Partial<IBeaconParamsUnparsed>, key) => {
|
|
47
|
-
const paramOption = terminalArgsToParamsMap[key];
|
|
48
|
-
const value = args[key];
|
|
49
|
-
if (paramOption != null && value != null) beaconParams[paramOption] = value;
|
|
50
|
-
return beaconParams;
|
|
51
|
-
}, {});
|
|
52
|
-
return parsedArgs;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export const paramsOptions: CliCommandOptions<IParamsArgs> = {
|
|
56
|
-
...paramsOptionsByName,
|
|
57
|
-
|
|
58
|
-
"terminal-total-difficulty-override": {
|
|
59
|
-
description: "Terminal PoW block TTD override",
|
|
60
|
-
type: "string",
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
"terminal-block-hash-override": {
|
|
64
|
-
description: "Terminal PoW block hash override",
|
|
65
|
-
type: "string",
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
"terminal-block-hash-epoch-override": {
|
|
69
|
-
description: "Terminal PoW block hash override activation epoch",
|
|
70
|
-
type: "string",
|
|
71
|
-
},
|
|
72
|
-
};
|