@chainsafe/lodestar 1.10.0-dev.3dd0dfe852 → 1.10.0-dev.3ef8a00f18
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 +3 -0
- package/lib/cmds/beacon/handler.js.map +1 -1
- package/lib/cmds/beacon/initPeerIdAndEnr.d.ts +1 -2
- package/lib/cmds/beacon/initPeerIdAndEnr.js +28 -27
- package/lib/cmds/beacon/initPeerIdAndEnr.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/options.d.ts +7 -2
- package/lib/cmds/lightclient/handler.js +1 -1
- package/lib/cmds/lightclient/handler.js.map +1 -1
- package/lib/cmds/validator/blsToExecutionChange.js +3 -3
- package/lib/cmds/validator/blsToExecutionChange.js.map +1 -1
- package/lib/cmds/validator/handler.js +2 -1
- package/lib/cmds/validator/handler.js.map +1 -1
- package/lib/cmds/validator/import.d.ts +3 -1
- package/lib/cmds/validator/import.js +3 -3
- package/lib/cmds/validator/import.js.map +1 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js +4 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js.map +1 -1
- package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js +1 -2
- package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js.map +1 -1
- package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js.map +1 -1
- package/lib/cmds/validator/keymanager/impl.js +1 -1
- package/lib/cmds/validator/keymanager/impl.js.map +1 -1
- package/lib/cmds/validator/keymanager/keystoreCache.js +1 -1
- package/lib/cmds/validator/keymanager/keystoreCache.js.map +1 -1
- package/lib/cmds/validator/keymanager/server.js +1 -1
- package/lib/cmds/validator/keymanager/server.js.map +1 -1
- package/lib/cmds/validator/signers/index.js +3 -3
- package/lib/cmds/validator/signers/index.js.map +1 -1
- package/lib/cmds/validator/voluntaryExit.js +9 -4
- package/lib/cmds/validator/voluntaryExit.js.map +1 -1
- package/lib/config/peerId.d.ts +1 -1
- package/lib/networks/index.d.ts +1 -1
- package/lib/networks/index.js +9 -4
- package/lib/networks/index.js.map +1 -1
- package/lib/options/beaconNodeOptions/index.d.ts +5 -0
- package/lib/options/beaconNodeOptions/network.d.ts +14 -0
- package/lib/options/beaconNodeOptions/network.js +106 -12
- package/lib/options/beaconNodeOptions/network.js.map +1 -1
- package/package.json +24 -23
- package/lib/networks/zhejiang.d.ts +0 -6
- package/lib/networks/zhejiang.js +0 -7
- package/lib/networks/zhejiang.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import bls from "@chainsafe/bls";
|
|
3
3
|
import { deriveEth2ValidatorKeys, deriveKeyFromMnemonic } from "@chainsafe/bls-keygen";
|
|
4
|
+
import { toHexString } from "@chainsafe/ssz";
|
|
4
5
|
import { interopSecretKey } from "@lodestar/state-transition";
|
|
5
6
|
import { externalSignerGetKeys, SignerType } from "@lodestar/validator";
|
|
6
|
-
import { toHexString } from "@chainsafe/ssz";
|
|
7
7
|
import { defaultNetwork } from "../../../options/index.js";
|
|
8
8
|
import { assertValidPubkeysHex, isValidHttpUrl, parseRange, YargsError } from "../../../util/index.js";
|
|
9
9
|
import { getAccountPaths } from "../paths.js";
|
|
@@ -74,7 +74,7 @@ export async function getSignersFromArgs(args, network, { logger, signal }) {
|
|
|
74
74
|
const needle = showProgress({
|
|
75
75
|
total: keystoreDefinitions.length,
|
|
76
76
|
frequencyMs: KEYSTORE_IMPORT_PROGRESS_MS,
|
|
77
|
-
signal
|
|
77
|
+
signal,
|
|
78
78
|
progress: ({ ratePerSec, percentage, current, total }) => {
|
|
79
79
|
logger.info(`${percentage.toFixed(0)}% of keystores imported. current=${current} total=${total} rate=${(ratePerSec * 60).toFixed(2)}keys/m`);
|
|
80
80
|
},
|
|
@@ -99,7 +99,7 @@ export async function getSignersFromArgs(args, network, { logger, signal }) {
|
|
|
99
99
|
const needle = showProgress({
|
|
100
100
|
total: keystoreDefinitions.length,
|
|
101
101
|
frequencyMs: KEYSTORE_IMPORT_PROGRESS_MS,
|
|
102
|
-
signal
|
|
102
|
+
signal,
|
|
103
103
|
progress: ({ ratePerSec, percentage, current, total }) => {
|
|
104
104
|
logger.info(`${percentage.toFixed(0)}% of local keystores imported. current=${current} total=${total} rate=${(ratePerSec * 60).toFixed(2)}keys/m`);
|
|
105
105
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAC,uBAAuB,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import inquirer from "inquirer";
|
|
2
2
|
import { computeSigningRoot, computeEpochAtSlot, computeStartSlotAtEpoch, getCurrentSlot, } from "@lodestar/state-transition";
|
|
3
|
-
import { DOMAIN_VOLUNTARY_EXIT } from "@lodestar/params";
|
|
4
3
|
import { createBeaconConfig } from "@lodestar/config";
|
|
5
4
|
import { ssz } from "@lodestar/types";
|
|
6
5
|
import { toHex } from "@lodestar/utils";
|
|
@@ -15,7 +14,7 @@ export const voluntaryExit = {
|
|
|
15
14
|
If no `pubkeys` are provided, it will exit all validators that have been imported.",
|
|
16
15
|
examples: [
|
|
17
16
|
{
|
|
18
|
-
command: "validator voluntary-exit --pubkeys 0xF00",
|
|
17
|
+
command: "validator voluntary-exit --network goerli --pubkeys 0xF00",
|
|
19
18
|
description: "Perform a voluntary exit for the validator who has a public key 0xF00",
|
|
20
19
|
},
|
|
21
20
|
],
|
|
@@ -54,6 +53,11 @@ If no `pubkeys` are provided, it will exit all validators that have been importe
|
|
|
54
53
|
const exitEpoch = (_a = args.exitEpoch) !== null && _a !== void 0 ? _a : computeEpochAtSlot(getCurrentSlot(config, genesisTime));
|
|
55
54
|
// Select signers to exit
|
|
56
55
|
const signers = await getSignersFromArgs(args, network, { logger: console, signal: new AbortController().signal });
|
|
56
|
+
if (signers.length === 0) {
|
|
57
|
+
throw new YargsError(`No local keystores found with current args.
|
|
58
|
+
Ensure --dataDir and --network match values used when importing keys via validator import
|
|
59
|
+
or alternatively, import keys by providing --importKeystores arg to voluntary-exit command.`);
|
|
60
|
+
}
|
|
57
61
|
const signersToExit = selectSignersToExit(args, signers);
|
|
58
62
|
const validatorsToExit = await resolveValidatorIndexes(client, signersToExit);
|
|
59
63
|
if (!args.yes) {
|
|
@@ -70,7 +74,7 @@ ${validatorsToExit.map((v) => `${v.pubkey} ${v.index} ${v.status}`).join("\n")}`
|
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
76
|
for (const [i, { index, signer, pubkey }] of validatorsToExit.entries()) {
|
|
73
|
-
const domain = config.
|
|
77
|
+
const domain = config.getDomainForVoluntaryExit(computeStartSlotAtEpoch(exitEpoch));
|
|
74
78
|
const voluntaryExit = { epoch: exitEpoch, validatorIndex: index };
|
|
75
79
|
const signingRoot = computeSigningRoot(ssz.phase0.VoluntaryExit, voluntaryExit, domain);
|
|
76
80
|
ApiError.assert(await client.beacon.submitPoolVoluntaryExit({
|
|
@@ -116,7 +120,8 @@ async function resolveValidatorIndexes(client, signersToExit) {
|
|
|
116
120
|
return signersToExit.map(({ signer, pubkey }) => {
|
|
117
121
|
const item = dataByPubkey.get(pubkey);
|
|
118
122
|
if (!item) {
|
|
119
|
-
throw
|
|
123
|
+
throw new YargsError(`Validator with pubkey ${pubkey} is unknown.
|
|
124
|
+
Re-check the pubkey submitted or wait until the validator is activated on the beacon chain to voluntary exit.`);
|
|
120
125
|
}
|
|
121
126
|
return {
|
|
122
127
|
index: item.index,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/cmds/validator/voluntaryExit.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/cmds/validator/voluntaryExit.ts"],"names":[],"mappings":"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"}
|
package/lib/config/peerId.d.ts
CHANGED
package/lib/networks/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ChainConfig, ChainForkConfig } from "@lodestar/config";
|
|
|
2
2
|
import { Checkpoint } from "@lodestar/types/phase0";
|
|
3
3
|
import { Logger } from "@lodestar/utils";
|
|
4
4
|
import { BeaconStateAllForks } from "@lodestar/state-transition";
|
|
5
|
-
export type NetworkName = "mainnet" | "dev" | "gnosis" | "goerli" | "ropsten" | "sepolia" | "chiado"
|
|
5
|
+
export type NetworkName = "mainnet" | "dev" | "gnosis" | "goerli" | "ropsten" | "sepolia" | "chiado";
|
|
6
6
|
export declare const networkNames: NetworkName[];
|
|
7
7
|
export declare function isKnownNetworkName(network: string): network is NetworkName;
|
|
8
8
|
export type WeakSubjectivityFetchOptions = {
|
package/lib/networks/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import got from "got";
|
|
3
|
+
import { ENR } from "@chainsafe/discv5";
|
|
3
4
|
import { SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
4
5
|
import { ApiError, getClient } from "@lodestar/api";
|
|
5
6
|
import { getStateTypeFromBytes } from "@lodestar/beacon-node";
|
|
@@ -13,7 +14,6 @@ import * as goerli from "./goerli.js";
|
|
|
13
14
|
import * as ropsten from "./ropsten.js";
|
|
14
15
|
import * as sepolia from "./sepolia.js";
|
|
15
16
|
import * as chiado from "./chiado.js";
|
|
16
|
-
import * as zhejiang from "./zhejiang.js";
|
|
17
17
|
export const networkNames = [
|
|
18
18
|
"mainnet",
|
|
19
19
|
"gnosis",
|
|
@@ -21,7 +21,6 @@ export const networkNames = [
|
|
|
21
21
|
"ropsten",
|
|
22
22
|
"sepolia",
|
|
23
23
|
"chiado",
|
|
24
|
-
"zhejiang",
|
|
25
24
|
// Leave always as last network. The order matters for the --help printout
|
|
26
25
|
"dev",
|
|
27
26
|
];
|
|
@@ -46,8 +45,6 @@ export function getNetworkData(network) {
|
|
|
46
45
|
return sepolia;
|
|
47
46
|
case "chiado":
|
|
48
47
|
return chiado;
|
|
49
|
-
case "zhejiang":
|
|
50
|
-
return zhejiang;
|
|
51
48
|
default:
|
|
52
49
|
throw Error(`Network not supported: ${network}`);
|
|
53
50
|
}
|
|
@@ -94,6 +91,14 @@ export async function getNetworkBootnodes(network) {
|
|
|
94
91
|
export function readBootnodes(bootnodesFilePath) {
|
|
95
92
|
const bootnodesFile = fs.readFileSync(bootnodesFilePath, "utf8");
|
|
96
93
|
const bootnodes = parseBootnodesFile(bootnodesFile);
|
|
94
|
+
for (const enrStr of bootnodes) {
|
|
95
|
+
try {
|
|
96
|
+
ENR.decodeTxt(enrStr);
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
throw new Error(`Invalid ENR found in ${bootnodesFilePath}:\n ${enrStr}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
97
102
|
if (bootnodes.length === 0) {
|
|
98
103
|
throw new Error(`No bootnodes found on file ${bootnodesFilePath}`);
|
|
99
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/networks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAI5D,OAAO,EAAC,OAAO,EAAE,eAAe,EAAS,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAsB,kBAAkB,EAAE,iCAAiC,EAAC,MAAM,4BAA4B,CAAC;AACtH,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/networks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,14 @@ export declare const beaconNodeOptions: {
|
|
|
21
21
|
listenAddress: import("yargs").Options;
|
|
22
22
|
port: import("yargs").Options;
|
|
23
23
|
discoveryPort: import("yargs").Options;
|
|
24
|
+
listenAddress6: import("yargs").Options;
|
|
25
|
+
port6: import("yargs").Options;
|
|
26
|
+
discoveryPort6: import("yargs").Options;
|
|
24
27
|
bootnodes: import("yargs").Options;
|
|
25
28
|
targetPeers: import("yargs").Options;
|
|
29
|
+
deterministicLongLivedAttnets: import("yargs").Options;
|
|
26
30
|
subscribeAllSubnets: import("yargs").Options;
|
|
31
|
+
slotsToSubscribeBeforeAggregatorDuty: import("yargs").Options;
|
|
27
32
|
disablePeerScoring: import("yargs").Options;
|
|
28
33
|
mdns: import("yargs").Options;
|
|
29
34
|
"network.maxPeers": import("yargs").Options;
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { IBeaconNodeOptions } from "@lodestar/beacon-node";
|
|
2
2
|
import { CliCommandOptions } from "../../util/index.js";
|
|
3
3
|
export declare const defaultP2pPort = 9000;
|
|
4
|
+
export declare const defaultP2pPort6 = 9090;
|
|
4
5
|
export type NetworkArgs = {
|
|
5
6
|
discv5?: boolean;
|
|
6
7
|
listenAddress?: string;
|
|
7
8
|
port?: number;
|
|
8
9
|
discoveryPort?: number;
|
|
10
|
+
listenAddress6?: string;
|
|
11
|
+
port6?: number;
|
|
12
|
+
discoveryPort6?: number;
|
|
9
13
|
bootnodes?: string[];
|
|
10
14
|
targetPeers?: number;
|
|
15
|
+
deterministicLongLivedAttnets?: boolean;
|
|
11
16
|
subscribeAllSubnets?: boolean;
|
|
17
|
+
slotsToSubscribeBeforeAggregatorDuty?: number;
|
|
12
18
|
disablePeerScoring?: boolean;
|
|
13
19
|
mdns?: boolean;
|
|
14
20
|
"network.maxPeers"?: number;
|
|
@@ -32,6 +38,14 @@ export type NetworkArgs = {
|
|
|
32
38
|
/** @deprecated This option is deprecated and should be removed in next major release. */
|
|
33
39
|
"network.rateTrackerTimeoutMs"?: number;
|
|
34
40
|
};
|
|
41
|
+
export declare function parseListenArgs(args: NetworkArgs): {
|
|
42
|
+
listenAddress: string | undefined;
|
|
43
|
+
port: number | undefined;
|
|
44
|
+
discoveryPort: number | undefined;
|
|
45
|
+
listenAddress6: string | undefined;
|
|
46
|
+
port6: number | undefined;
|
|
47
|
+
discoveryPort6: number | undefined;
|
|
48
|
+
};
|
|
35
49
|
export declare function parseArgs(args: NetworkArgs): IBeaconNodeOptions["network"];
|
|
36
50
|
export declare const options: CliCommandOptions<NetworkArgs>;
|
|
37
51
|
//# sourceMappingURL=network.d.ts.map
|
|
@@ -1,34 +1,97 @@
|
|
|
1
|
+
import { multiaddr } from "@multiformats/multiaddr";
|
|
2
|
+
import { ENR } from "@chainsafe/discv5";
|
|
1
3
|
import { defaultOptions } from "@lodestar/beacon-node";
|
|
2
4
|
import { YargsError } from "../../util/index.js";
|
|
3
5
|
const defaultListenAddress = "0.0.0.0";
|
|
4
6
|
export const defaultP2pPort = 9000;
|
|
7
|
+
export const defaultP2pPort6 = 9090;
|
|
8
|
+
function validateMultiaddrArg(args, key) {
|
|
9
|
+
if (args[key]) {
|
|
10
|
+
try {
|
|
11
|
+
multiaddr(args[key]);
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
throw new YargsError(`Invalid ${key}: ${e.message}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
19
|
+
export function parseListenArgs(args) {
|
|
20
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
21
|
+
// If listenAddress is explicitly set, use it
|
|
22
|
+
// If listenAddress6 is not set, use defaultListenAddress
|
|
23
|
+
const listenAddress = (_a = args.listenAddress) !== null && _a !== void 0 ? _a : (args.listenAddress6 ? undefined : defaultListenAddress);
|
|
24
|
+
const port = listenAddress ? (_b = args.port) !== null && _b !== void 0 ? _b : defaultP2pPort : undefined;
|
|
25
|
+
const discoveryPort = listenAddress ? (_d = (_c = args.discoveryPort) !== null && _c !== void 0 ? _c : args.port) !== null && _d !== void 0 ? _d : defaultP2pPort : undefined;
|
|
26
|
+
// Only use listenAddress6 if it is explicitly set
|
|
27
|
+
const listenAddress6 = args.listenAddress6;
|
|
28
|
+
const port6 = listenAddress6 ? (_e = args.port6) !== null && _e !== void 0 ? _e : defaultP2pPort6 : undefined;
|
|
29
|
+
const discoveryPort6 = listenAddress6 ? (_g = (_f = args.discoveryPort6) !== null && _f !== void 0 ? _f : args.port6) !== null && _g !== void 0 ? _g : defaultP2pPort6 : undefined;
|
|
30
|
+
return { listenAddress, port, discoveryPort, listenAddress6, port6, discoveryPort6 };
|
|
31
|
+
}
|
|
5
32
|
export function parseArgs(args) {
|
|
6
|
-
var _a, _b, _c, _d
|
|
7
|
-
const listenAddress = args
|
|
8
|
-
|
|
9
|
-
const
|
|
33
|
+
var _a, _b, _c, _d;
|
|
34
|
+
const { listenAddress, port, discoveryPort, listenAddress6, port6, discoveryPort6 } = parseListenArgs(args);
|
|
35
|
+
// validate ip, ip6, ports
|
|
36
|
+
const muArgs = {
|
|
37
|
+
listenAddress: listenAddress ? `/ip4/${listenAddress}` : undefined,
|
|
38
|
+
port: listenAddress ? `/tcp/${port}` : undefined,
|
|
39
|
+
discoveryPort: listenAddress ? `/udp/${discoveryPort}` : undefined,
|
|
40
|
+
listenAddress6: listenAddress6 ? `/ip6/${listenAddress6}` : undefined,
|
|
41
|
+
port6: listenAddress6 ? `/tcp/${port6}` : undefined,
|
|
42
|
+
discoveryPort6: listenAddress6 ? `/udp/${discoveryPort6}` : undefined,
|
|
43
|
+
};
|
|
44
|
+
for (const key of [
|
|
45
|
+
"listenAddress",
|
|
46
|
+
"port",
|
|
47
|
+
"discoveryPort",
|
|
48
|
+
"listenAddress6",
|
|
49
|
+
"port6",
|
|
50
|
+
"discoveryPort6",
|
|
51
|
+
]) {
|
|
52
|
+
validateMultiaddrArg(muArgs, key);
|
|
53
|
+
}
|
|
54
|
+
const bindMu = listenAddress ? `${muArgs.listenAddress}${muArgs.discoveryPort}` : undefined;
|
|
55
|
+
const localMu = listenAddress ? `${muArgs.listenAddress}${muArgs.port}` : undefined;
|
|
56
|
+
const bindMu6 = listenAddress6 ? `${muArgs.listenAddress6}${muArgs.discoveryPort6}` : undefined;
|
|
57
|
+
const localMu6 = listenAddress6 ? `${muArgs.listenAddress6}${muArgs.port6}` : undefined;
|
|
10
58
|
const targetPeers = args["targetPeers"];
|
|
11
|
-
const maxPeers = (
|
|
59
|
+
const maxPeers = (_a = args["network.maxPeers"]) !== null && _a !== void 0 ? _a : (targetPeers !== undefined ? Math.floor(targetPeers * 1.1) : undefined);
|
|
12
60
|
if (targetPeers != null && maxPeers != null && targetPeers > maxPeers) {
|
|
13
61
|
throw new YargsError("network.maxPeers must be greater than or equal to targetPeers");
|
|
14
62
|
}
|
|
15
63
|
// Set discv5 opts to null to disable only if explicitly disabled
|
|
16
|
-
const enableDiscv5 = (
|
|
64
|
+
const enableDiscv5 = (_b = args["discv5"]) !== null && _b !== void 0 ? _b : true;
|
|
65
|
+
// TODO: Okay to set to empty array?
|
|
66
|
+
const bootEnrs = (_c = args["bootnodes"]) !== null && _c !== void 0 ? _c : [];
|
|
67
|
+
// throw if user-provided enrs are invalid
|
|
68
|
+
for (const enrStr of bootEnrs) {
|
|
69
|
+
try {
|
|
70
|
+
ENR.decodeTxt(enrStr);
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
throw new YargsError(`Provided ENR in bootnodes is invalid:\n ${enrStr}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
17
76
|
return {
|
|
18
77
|
discv5: enableDiscv5
|
|
19
78
|
? {
|
|
20
79
|
config: {},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
80
|
+
bindAddrs: {
|
|
81
|
+
ip4: bindMu,
|
|
82
|
+
ip6: bindMu6,
|
|
83
|
+
},
|
|
84
|
+
bootEnrs,
|
|
24
85
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
|
|
25
86
|
enr: undefined,
|
|
26
87
|
}
|
|
27
88
|
: null,
|
|
28
89
|
maxPeers: maxPeers !== null && maxPeers !== void 0 ? maxPeers : defaultOptions.network.maxPeers,
|
|
29
90
|
targetPeers: targetPeers !== null && targetPeers !== void 0 ? targetPeers : defaultOptions.network.targetPeers,
|
|
30
|
-
localMultiaddrs: [
|
|
91
|
+
localMultiaddrs: [localMu, localMu6].filter(Boolean),
|
|
92
|
+
deterministicLongLivedAttnets: args["deterministicLongLivedAttnets"],
|
|
31
93
|
subscribeAllSubnets: args["subscribeAllSubnets"],
|
|
94
|
+
slotsToSubscribeBeforeAggregatorDuty: (_d = args["slotsToSubscribeBeforeAggregatorDuty"]) !== null && _d !== void 0 ? _d : defaultOptions.network.slotsToSubscribeBeforeAggregatorDuty,
|
|
32
95
|
disablePeerScoring: args["disablePeerScoring"],
|
|
33
96
|
connectToDiscv5Bootnodes: args["network.connectToDiscv5Bootnodes"],
|
|
34
97
|
discv5FirstQueryDelayMs: args["network.discv5FirstQueryDelayMs"],
|
|
@@ -54,12 +117,12 @@ export const options = {
|
|
|
54
117
|
},
|
|
55
118
|
listenAddress: {
|
|
56
119
|
type: "string",
|
|
57
|
-
description: "The address to listen for p2p UDP and TCP connections",
|
|
120
|
+
description: "The IPv4 address to listen for p2p UDP and TCP connections",
|
|
58
121
|
defaultDescription: defaultListenAddress,
|
|
59
122
|
group: "network",
|
|
60
123
|
},
|
|
61
124
|
port: {
|
|
62
|
-
description: "The TCP/UDP port to listen on. The UDP port can be modified by the --
|
|
125
|
+
description: "The TCP/UDP port to listen on. The UDP port can be modified by the --discoveryPort flag.",
|
|
63
126
|
type: "number",
|
|
64
127
|
// TODO: Derive from BeaconNode defaults
|
|
65
128
|
defaultDescription: String(defaultP2pPort),
|
|
@@ -71,6 +134,24 @@ export const options = {
|
|
|
71
134
|
defaultDescription: "`port`",
|
|
72
135
|
group: "network",
|
|
73
136
|
},
|
|
137
|
+
listenAddress6: {
|
|
138
|
+
type: "string",
|
|
139
|
+
description: "The IPv6 address to listen for p2p UDP and TCP connections",
|
|
140
|
+
group: "network",
|
|
141
|
+
},
|
|
142
|
+
port6: {
|
|
143
|
+
description: "The TCP/UDP port to listen on. The UDP port can be modified by the --discoveryPort6 flag.",
|
|
144
|
+
type: "number",
|
|
145
|
+
// TODO: Derive from BeaconNode defaults
|
|
146
|
+
defaultDescription: String(defaultP2pPort6),
|
|
147
|
+
group: "network",
|
|
148
|
+
},
|
|
149
|
+
discoveryPort6: {
|
|
150
|
+
description: "The UDP port that discovery will listen on. Defaults to `port6`",
|
|
151
|
+
type: "number",
|
|
152
|
+
defaultDescription: "`port6`",
|
|
153
|
+
group: "network",
|
|
154
|
+
},
|
|
74
155
|
bootnodes: {
|
|
75
156
|
type: "array",
|
|
76
157
|
description: "Bootnodes for discv5 discovery",
|
|
@@ -87,12 +168,25 @@ export const options = {
|
|
|
87
168
|
defaultDescription: String(defaultOptions.network.targetPeers),
|
|
88
169
|
group: "network",
|
|
89
170
|
},
|
|
171
|
+
deterministicLongLivedAttnets: {
|
|
172
|
+
type: "boolean",
|
|
173
|
+
description: "Use deterministic subnet selection for long-lived subnet subscriptions",
|
|
174
|
+
defaultDescription: String(defaultOptions.network.deterministicLongLivedAttnets === true),
|
|
175
|
+
group: "network",
|
|
176
|
+
},
|
|
90
177
|
subscribeAllSubnets: {
|
|
91
178
|
type: "boolean",
|
|
92
179
|
description: "Subscribe to all subnets regardless of validator count",
|
|
93
180
|
defaultDescription: String(defaultOptions.network.subscribeAllSubnets === true),
|
|
94
181
|
group: "network",
|
|
95
182
|
},
|
|
183
|
+
slotsToSubscribeBeforeAggregatorDuty: {
|
|
184
|
+
hidden: true,
|
|
185
|
+
type: "number",
|
|
186
|
+
description: "Number of slots before an aggregator duty to subscribe to subnets",
|
|
187
|
+
defaultDescription: String(defaultOptions.network.slotsToSubscribeBeforeAggregatorDuty),
|
|
188
|
+
group: "network",
|
|
189
|
+
},
|
|
96
190
|
disablePeerScoring: {
|
|
97
191
|
type: "boolean",
|
|
98
192
|
description: "Disable peer scoring, used for testing on devnets",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoB,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAElE,MAAM,oBAAoB,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainsafe/lodestar",
|
|
3
|
-
"version": "1.10.0-dev.
|
|
3
|
+
"version": "1.10.0-dev.3ef8a00f18",
|
|
4
4
|
"description": "Command line interface for lodestar",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "LGPL-3.0",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build": "tsc -p tsconfig.build.json && yarn write-git-data",
|
|
25
25
|
"build:release": "yarn clean && yarn run build",
|
|
26
26
|
"build:watch": "tsc -p tsconfig.build.json --watch",
|
|
27
|
-
"build:refdocs": "ts-node
|
|
27
|
+
"build:refdocs": "node --loader ts-node/esm ./docsgen/index.ts docs/cli.md",
|
|
28
28
|
"write-git-data": "node lib/util/gitData/writeGitData.js",
|
|
29
29
|
"check-build": "node -e \"(async function() { await import('./lib/index.js') })()\" lodestar --help",
|
|
30
30
|
"check-types": "tsc",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"pretest": "yarn run check-types",
|
|
34
34
|
"test:unit": "nyc --cache-dir .nyc_output/.cache -e .ts mocha 'test/unit/**/*.test.ts'",
|
|
35
35
|
"test:e2e": "mocha --timeout 30000 'test/e2e/**/*.test.ts'",
|
|
36
|
-
"test:sim:multifork": "LODESTAR_PRESET=minimal ts-node
|
|
37
|
-
"test:sim:endpoints": "LODESTAR_PRESET=minimal ts-node
|
|
38
|
-
"test:sim:deneb": "LODESTAR_PRESET=minimal ts-node
|
|
39
|
-
"test:sim:backup_eth_provider": "LODESTAR_PRESET=minimal ts-node
|
|
36
|
+
"test:sim:multifork": "LODESTAR_PRESET=minimal node --loader ts-node/esm test/sim/multi_fork.test.ts",
|
|
37
|
+
"test:sim:endpoints": "LODESTAR_PRESET=minimal node --loader ts-node/esm test/sim/endpoints.test.ts",
|
|
38
|
+
"test:sim:deneb": "LODESTAR_PRESET=minimal node --loader ts-node/esm test/sim/deneb.test.ts",
|
|
39
|
+
"test:sim:backup_eth_provider": "LODESTAR_PRESET=minimal node --loader ts-node/esm test/sim/backup_eth_provider.test.ts",
|
|
40
40
|
"test": "yarn test:unit && yarn test:e2e",
|
|
41
41
|
"coverage": "codecov -F lodestar",
|
|
42
42
|
"check-readme": "typescript-docs-verifier"
|
|
@@ -57,21 +57,24 @@
|
|
|
57
57
|
"@chainsafe/bls-keygen": "^0.3.0",
|
|
58
58
|
"@chainsafe/bls-keystore": "^2.0.0",
|
|
59
59
|
"@chainsafe/blst": "^0.2.9",
|
|
60
|
-
"@chainsafe/discv5": "^
|
|
60
|
+
"@chainsafe/discv5": "^5.0.0",
|
|
61
61
|
"@chainsafe/ssz": "^0.10.2",
|
|
62
|
+
"@chainsafe/threads": "^1.11.1",
|
|
63
|
+
"@libp2p/crypto": "^1.0.0",
|
|
64
|
+
"@libp2p/peer-id": "^2.0.3",
|
|
62
65
|
"@libp2p/peer-id-factory": "^2.0.3",
|
|
63
|
-
"@lodestar/api": "1.10.0-dev.
|
|
64
|
-
"@lodestar/beacon-node": "1.10.0-dev.
|
|
65
|
-
"@lodestar/config": "1.10.0-dev.
|
|
66
|
-
"@lodestar/db": "1.10.0-dev.
|
|
67
|
-
"@lodestar/light-client": "1.10.0-dev.
|
|
68
|
-
"@lodestar/logger": "1.10.0-dev.
|
|
69
|
-
"@lodestar/params": "1.10.0-dev.
|
|
70
|
-
"@lodestar/state-transition": "1.10.0-dev.
|
|
71
|
-
"@lodestar/types": "1.10.0-dev.
|
|
72
|
-
"@lodestar/utils": "1.10.0-dev.
|
|
73
|
-
"@lodestar/validator": "1.10.0-dev.
|
|
74
|
-
"@multiformats/multiaddr": "^
|
|
66
|
+
"@lodestar/api": "1.10.0-dev.3ef8a00f18",
|
|
67
|
+
"@lodestar/beacon-node": "1.10.0-dev.3ef8a00f18",
|
|
68
|
+
"@lodestar/config": "1.10.0-dev.3ef8a00f18",
|
|
69
|
+
"@lodestar/db": "1.10.0-dev.3ef8a00f18",
|
|
70
|
+
"@lodestar/light-client": "1.10.0-dev.3ef8a00f18",
|
|
71
|
+
"@lodestar/logger": "1.10.0-dev.3ef8a00f18",
|
|
72
|
+
"@lodestar/params": "1.10.0-dev.3ef8a00f18",
|
|
73
|
+
"@lodestar/state-transition": "1.10.0-dev.3ef8a00f18",
|
|
74
|
+
"@lodestar/types": "1.10.0-dev.3ef8a00f18",
|
|
75
|
+
"@lodestar/utils": "1.10.0-dev.3ef8a00f18",
|
|
76
|
+
"@lodestar/validator": "1.10.0-dev.3ef8a00f18",
|
|
77
|
+
"@multiformats/multiaddr": "^12.1.3",
|
|
75
78
|
"@types/lockfile": "^1.0.2",
|
|
76
79
|
"bip39": "^3.1.0",
|
|
77
80
|
"deepmerge": "^4.3.1",
|
|
@@ -88,12 +91,10 @@
|
|
|
88
91
|
"source-map-support": "^0.5.21",
|
|
89
92
|
"uint8arrays": "^4.0.3",
|
|
90
93
|
"uuidv4": "^6.2.13",
|
|
91
|
-
"winston": "^3.8.2",
|
|
92
|
-
"winston-daily-rotate-file": "^4.7.1",
|
|
93
|
-
"winston-transport": "^4.5.0",
|
|
94
94
|
"yargs": "^17.7.1"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
|
+
"@lodestar/test-utils": "1.10.0-dev.3ef8a00f18",
|
|
97
98
|
"@types/debug": "^4.1.7",
|
|
98
99
|
"@types/expand-tilde": "^2.0.0",
|
|
99
100
|
"@types/got": "^9.6.12",
|
|
@@ -101,5 +102,5 @@
|
|
|
101
102
|
"@types/lodash": "^4.14.192",
|
|
102
103
|
"@types/yargs": "^17.0.24"
|
|
103
104
|
},
|
|
104
|
-
"gitHead": "
|
|
105
|
+
"gitHead": "e37b2699ffb1a2314e5a9a91835adb89107fb652"
|
|
105
106
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { zhejiangChainConfig as chainConfig } from "@lodestar/config/networks";
|
|
2
|
-
export declare const depositContractDeployBlock = 0;
|
|
3
|
-
export declare const genesisFileUrl = "https://raw.githubusercontent.com/ethpandaops/withdrawals-testnet/master/zhejiang-testnet/custom_config_data/genesis.ssz";
|
|
4
|
-
export declare const bootnodesFileUrl = "https://raw.githubusercontent.com/ethpandaops/withdrawals-testnet/master/zhejiang-testnet/custom_config_data/bootstrap_nodes.txt";
|
|
5
|
-
export declare const bootEnrs: never[];
|
|
6
|
-
//# sourceMappingURL=zhejiang.d.ts.map
|
package/lib/networks/zhejiang.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { zhejiangChainConfig as chainConfig } from "@lodestar/config/networks";
|
|
2
|
-
export const depositContractDeployBlock = 0;
|
|
3
|
-
export const genesisFileUrl = "https://raw.githubusercontent.com/ethpandaops/withdrawals-testnet/master/zhejiang-testnet/custom_config_data/genesis.ssz";
|
|
4
|
-
export const bootnodesFileUrl = "https://raw.githubusercontent.com/ethpandaops/withdrawals-testnet/master/zhejiang-testnet/custom_config_data/bootstrap_nodes.txt";
|
|
5
|
-
// Pick from above file
|
|
6
|
-
export const bootEnrs = [];
|
|
7
|
-
//# sourceMappingURL=zhejiang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zhejiang.js","sourceRoot":"","sources":["../../src/networks/zhejiang.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,IAAI,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAE7E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,cAAc,GACzB,0HAA0H,CAAC;AAC7H,MAAM,CAAC,MAAM,gBAAgB,GAC3B,kIAAkI,CAAC;AAErI,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC"}
|