@chainsafe/lodestar 1.41.0-dev.a35cbde8b3 → 1.41.0-dev.aeab9f930d

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.
Files changed (99) hide show
  1. package/.git-data.json +1 -1
  2. package/lib/applyPreset.js.map +1 -1
  3. package/lib/cli.js.map +1 -1
  4. package/lib/cmds/beacon/handler.d.ts +1 -1
  5. package/lib/cmds/beacon/handler.d.ts.map +1 -1
  6. package/lib/cmds/beacon/handler.js +5 -9
  7. package/lib/cmds/beacon/handler.js.map +1 -1
  8. package/lib/cmds/beacon/initBeaconState.js.map +1 -1
  9. package/lib/cmds/beacon/initPeerIdAndEnr.d.ts.map +1 -1
  10. package/lib/cmds/beacon/initPeerIdAndEnr.js +5 -12
  11. package/lib/cmds/beacon/initPeerIdAndEnr.js.map +1 -1
  12. package/lib/cmds/beacon/paths.d.ts +1 -1
  13. package/lib/cmds/beacon/paths.d.ts.map +1 -1
  14. package/lib/cmds/beacon/paths.js.map +1 -1
  15. package/lib/cmds/bootnode/handler.d.ts.map +1 -1
  16. package/lib/cmds/bootnode/handler.js.map +1 -1
  17. package/lib/cmds/dev/files.js.map +1 -1
  18. package/lib/cmds/dev/handler.js.map +1 -1
  19. package/lib/cmds/dev/options.d.ts +125 -125
  20. package/lib/cmds/lightclient/handler.js.map +1 -1
  21. package/lib/cmds/validator/blsToExecutionChange.js.map +1 -1
  22. package/lib/cmds/validator/handler.js.map +1 -1
  23. package/lib/cmds/validator/import.js.map +1 -1
  24. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js.map +1 -1
  25. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.d.ts.map +1 -1
  26. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js.map +1 -1
  27. package/lib/cmds/validator/keymanager/decryptKeystores/types.js.map +1 -1
  28. package/lib/cmds/validator/keymanager/decryptKeystores/worker.js.map +1 -1
  29. package/lib/cmds/validator/keymanager/impl.d.ts +3 -3
  30. package/lib/cmds/validator/keymanager/impl.d.ts.map +1 -1
  31. package/lib/cmds/validator/keymanager/impl.js.map +1 -1
  32. package/lib/cmds/validator/keymanager/keystoreCache.js.map +1 -1
  33. package/lib/cmds/validator/keymanager/persistedKeys.d.ts +2 -2
  34. package/lib/cmds/validator/keymanager/persistedKeys.d.ts.map +1 -1
  35. package/lib/cmds/validator/keymanager/persistedKeys.js.map +1 -1
  36. package/lib/cmds/validator/keymanager/server.d.ts.map +1 -1
  37. package/lib/cmds/validator/keymanager/server.js.map +1 -1
  38. package/lib/cmds/validator/list.js.map +1 -1
  39. package/lib/cmds/validator/options.js.map +1 -1
  40. package/lib/cmds/validator/paths.js.map +1 -1
  41. package/lib/cmds/validator/signers/importExternalKeystores.js.map +1 -1
  42. package/lib/cmds/validator/signers/index.js.map +1 -1
  43. package/lib/cmds/validator/signers/logSigners.js.map +1 -1
  44. package/lib/cmds/validator/slashingProtection/export.js.map +1 -1
  45. package/lib/cmds/validator/slashingProtection/import.js.map +1 -1
  46. package/lib/cmds/validator/slashingProtection/utils.js.map +1 -1
  47. package/lib/cmds/validator/voluntaryExit.js.map +1 -1
  48. package/lib/config/beaconNodeOptions.d.ts.map +1 -1
  49. package/lib/config/beaconNodeOptions.js.map +1 -1
  50. package/lib/config/beaconParams.js.map +1 -1
  51. package/lib/config/peerId.js.map +1 -1
  52. package/lib/index.js.map +1 -1
  53. package/lib/networks/index.d.ts +1 -1
  54. package/lib/networks/index.d.ts.map +1 -1
  55. package/lib/networks/index.js.map +1 -1
  56. package/lib/options/beaconNodeOptions/api.js.map +1 -1
  57. package/lib/options/beaconNodeOptions/builder.js.map +1 -1
  58. package/lib/options/beaconNodeOptions/chain.js.map +1 -1
  59. package/lib/options/beaconNodeOptions/execution.js.map +1 -1
  60. package/lib/options/beaconNodeOptions/index.d.ts +75 -75
  61. package/lib/options/beaconNodeOptions/index.js.map +1 -1
  62. package/lib/options/beaconNodeOptions/metrics.js.map +1 -1
  63. package/lib/options/beaconNodeOptions/monitoring.js.map +1 -1
  64. package/lib/options/beaconNodeOptions/network.js.map +1 -1
  65. package/lib/options/beaconNodeOptions/sync.js.map +1 -1
  66. package/lib/options/paramsOptions.js.map +1 -1
  67. package/lib/paths/global.js.map +1 -1
  68. package/lib/paths/rootDir.js.map +1 -1
  69. package/lib/util/errors.js.map +1 -1
  70. package/lib/util/ethers.d.ts +1 -1
  71. package/lib/util/ethers.d.ts.map +1 -1
  72. package/lib/util/ethers.js.map +1 -1
  73. package/lib/util/feeRecipient.js.map +1 -1
  74. package/lib/util/file.js +2 -1
  75. package/lib/util/file.js.map +1 -1
  76. package/lib/util/format.js.map +1 -1
  77. package/lib/util/fs.js.map +1 -1
  78. package/lib/util/gitData/gitDataPath.js.map +1 -1
  79. package/lib/util/gitData/index.js.map +1 -1
  80. package/lib/util/jwt.js.map +1 -1
  81. package/lib/util/lockfile.js.map +1 -1
  82. package/lib/util/logger.js.map +1 -1
  83. package/lib/util/object.js.map +1 -1
  84. package/lib/util/passphrase.js.map +1 -1
  85. package/lib/util/process.js.map +1 -1
  86. package/lib/util/progress.d.ts +1 -1
  87. package/lib/util/progress.d.ts.map +1 -1
  88. package/lib/util/progress.js.map +1 -1
  89. package/lib/util/proposerConfig.js.map +1 -1
  90. package/lib/util/pruneOldFilesInDir.js.map +1 -1
  91. package/lib/util/sleep.js.map +1 -1
  92. package/lib/util/stripOffNewlines.js.map +1 -1
  93. package/lib/util/types.js.map +1 -1
  94. package/lib/util/version.js.map +1 -1
  95. package/package.json +24 -24
  96. package/src/cmds/beacon/handler.ts +5 -9
  97. package/src/cmds/beacon/initPeerIdAndEnr.ts +5 -13
  98. package/src/cmds/bootnode/handler.ts +2 -2
  99. package/src/cmds/dev/options.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainsafe/lodestar",
3
- "version": "1.41.0-dev.a35cbde8b3",
3
+ "version": "1.41.0-dev.aeab9f930d",
4
4
  "description": "Command line interface for lodestar",
5
5
  "author": "ChainSafe Systems",
6
6
  "license": "Apache-2.0",
@@ -28,12 +28,12 @@
28
28
  },
29
29
  "scripts": {
30
30
  "clean": "rm -rf lib && rm -f *.tsbuildinfo",
31
- "build": "tsc -p tsconfig.build.json && pnpm write-git-data",
31
+ "build": "tsgo -p tsconfig.build.json && pnpm write-git-data",
32
32
  "build:release": "pnpm clean && pnpm run build",
33
- "build:watch": "tsc -p tsconfig.build.json --watch",
33
+ "build:watch": "tsgo -p tsconfig.build.json --watch",
34
34
  "write-git-data": "node lib/util/gitData/writeGitData.js",
35
35
  "check-build": "node -e \"(async function() { await import('./lib/index.js') })()\" lodestar --help",
36
- "check-types": "tsc",
36
+ "check-types": "tsgo",
37
37
  "docs:build": "node --loader ts-node/esm ./docsgen/index.ts",
38
38
  "lint": "biome check src/ test/",
39
39
  "lint:fix": "pnpm run lint --write",
@@ -60,27 +60,27 @@
60
60
  "@chainsafe/bls-keygen": "^0.4.0",
61
61
  "@chainsafe/bls-keystore": "^3.1.0",
62
62
  "@chainsafe/blst": "^2.2.0",
63
- "@chainsafe/discv5": "^11.0.4",
64
- "@chainsafe/enr": "^5.0.1",
63
+ "@chainsafe/discv5": "^12.0.0",
64
+ "@chainsafe/enr": "^6.0.0",
65
65
  "@chainsafe/persistent-merkle-tree": "^1.2.1",
66
66
  "@chainsafe/pubkey-index-map": "^3.0.0",
67
67
  "@chainsafe/ssz": "^1.2.2",
68
68
  "@chainsafe/threads": "^1.11.3",
69
- "@libp2p/crypto": "^5.0.15",
70
- "@libp2p/interface": "^2.7.0",
71
- "@libp2p/peer-id": "^5.1.0",
72
- "@lodestar/api": "^1.41.0-dev.a35cbde8b3",
73
- "@lodestar/beacon-node": "^1.41.0-dev.a35cbde8b3",
74
- "@lodestar/config": "^1.41.0-dev.a35cbde8b3",
75
- "@lodestar/db": "^1.41.0-dev.a35cbde8b3",
76
- "@lodestar/light-client": "^1.41.0-dev.a35cbde8b3",
77
- "@lodestar/logger": "^1.41.0-dev.a35cbde8b3",
78
- "@lodestar/params": "^1.41.0-dev.a35cbde8b3",
79
- "@lodestar/state-transition": "^1.41.0-dev.a35cbde8b3",
80
- "@lodestar/types": "^1.41.0-dev.a35cbde8b3",
81
- "@lodestar/utils": "^1.41.0-dev.a35cbde8b3",
82
- "@lodestar/validator": "^1.41.0-dev.a35cbde8b3",
83
- "@multiformats/multiaddr": "^12.1.3",
69
+ "@libp2p/crypto": "^5.1.13",
70
+ "@libp2p/interface": "^3.1.0",
71
+ "@libp2p/peer-id": "^6.0.4",
72
+ "@lodestar/api": "^1.41.0-dev.aeab9f930d",
73
+ "@lodestar/beacon-node": "^1.41.0-dev.aeab9f930d",
74
+ "@lodestar/config": "^1.41.0-dev.aeab9f930d",
75
+ "@lodestar/db": "^1.41.0-dev.aeab9f930d",
76
+ "@lodestar/light-client": "^1.41.0-dev.aeab9f930d",
77
+ "@lodestar/logger": "^1.41.0-dev.aeab9f930d",
78
+ "@lodestar/params": "^1.41.0-dev.aeab9f930d",
79
+ "@lodestar/state-transition": "^1.41.0-dev.aeab9f930d",
80
+ "@lodestar/types": "^1.41.0-dev.aeab9f930d",
81
+ "@lodestar/utils": "^1.41.0-dev.aeab9f930d",
82
+ "@lodestar/validator": "^1.41.0-dev.aeab9f930d",
83
+ "@multiformats/multiaddr": "^13.0.1",
84
84
  "deepmerge": "^4.3.1",
85
85
  "ethers": "^6.7.0",
86
86
  "find-up": "^6.3.0",
@@ -96,7 +96,7 @@
96
96
  "devDependencies": {
97
97
  "@chainsafe/as-sha256": "^1.2.0",
98
98
  "@ethereumjs/rlp": "^4.0.1",
99
- "@lodestar/test-utils": "^1.41.0-dev.a35cbde8b3",
99
+ "@lodestar/test-utils": "^1.41.0-dev.aeab9f930d",
100
100
  "@types/debug": "^4.1.7",
101
101
  "@types/inquirer": "^9.0.3",
102
102
  "@types/js-yaml": "^4.0.5",
@@ -104,10 +104,10 @@
104
104
  "@types/tmp": "^0.2.3",
105
105
  "@types/yargs": "^17.0.24",
106
106
  "ethereum-cryptography": "^2.2.1",
107
- "fastify": "^5.7.4",
107
+ "fastify": "^5.8.1",
108
108
  "tmp": "^0.2.4",
109
109
  "web3": "^4.0.3",
110
110
  "web3-eth-accounts": "^4.0.3"
111
111
  },
112
- "gitHead": "090cdf258f4c067ebe6b5f0bdba221c2c23b9962"
112
+ "gitHead": "89f360d7bf466b84570b2b831517069776a24643"
113
113
  }
@@ -2,13 +2,12 @@ import path from "node:path";
2
2
  import {getHeapStatistics} from "node:v8";
3
3
  import {SignableENR} from "@chainsafe/enr";
4
4
  import {hasher} from "@chainsafe/persistent-merkle-tree";
5
- import {PubkeyIndexMap} from "@chainsafe/pubkey-index-map";
6
5
  import {BeaconDb, BeaconNode} from "@lodestar/beacon-node";
7
6
  import {ChainForkConfig, createBeaconConfig} from "@lodestar/config";
8
7
  import {LevelDbController} from "@lodestar/db/controller/level";
9
8
  import {LoggerNode, getNodeLogger} from "@lodestar/logger/node";
10
9
  import {ACTIVE_PRESET, PresetName} from "@lodestar/params";
11
- import {Index2PubkeyCache, createCachedBeaconState, syncPubkeys} from "@lodestar/state-transition";
10
+ import {createCachedBeaconState, createPubkeyCache, syncPubkeys} from "@lodestar/state-transition";
12
11
  import {ErrorAborted, bytesToInt, formatBytes} from "@lodestar/utils";
13
12
  import {ProcessShutdownCallback} from "@lodestar/validator";
14
13
  import {BeaconNodeOptions, getBeaconConfigFromArgs} from "../../config/index.js";
@@ -80,15 +79,13 @@ export async function beaconHandler(args: BeaconArgs & GlobalArgs): Promise<void
80
79
  logger
81
80
  );
82
81
  const beaconConfig = createBeaconConfig(config, anchorState.genesisValidatorsRoot);
83
- const pubkey2index = new PubkeyIndexMap();
84
- const index2pubkey: Index2PubkeyCache = [];
85
- syncPubkeys(anchorState.validators.getAllReadonlyValues(), pubkey2index, index2pubkey);
82
+ const pubkeyCache = createPubkeyCache();
83
+ syncPubkeys(pubkeyCache, anchorState.validators.getAllReadonlyValues());
86
84
  const cachedState = createCachedBeaconState(
87
85
  anchorState,
88
86
  {
89
87
  config: beaconConfig,
90
- pubkey2index,
91
- index2pubkey,
88
+ pubkeyCache,
92
89
  },
93
90
  {skipSyncPubkeys: true}
94
91
  );
@@ -96,8 +93,7 @@ export async function beaconHandler(args: BeaconArgs & GlobalArgs): Promise<void
96
93
  const node = await BeaconNode.init({
97
94
  opts: options,
98
95
  config: beaconConfig,
99
- pubkey2index,
100
- index2pubkey,
96
+ pubkeyCache,
101
97
  db,
102
98
  logger,
103
99
  processShutdownCallback,
@@ -18,27 +18,19 @@ import {BeaconArgs} from "./options.js";
18
18
  export function isLocalMultiAddr(multiaddr: Multiaddr | undefined): boolean {
19
19
  if (!multiaddr) return false;
20
20
 
21
- const protoNames = multiaddr.protoNames();
22
- if (protoNames.length !== 2 && protoNames[1] !== "udp") {
21
+ const components = multiaddr.getComponents();
22
+ if (components.length !== 2 && components[1].name !== "udp") {
23
23
  throw new Error("Invalid udp multiaddr");
24
24
  }
25
25
 
26
26
  const interfaces = os.networkInterfaces();
27
- const tuples = multiaddr.tuples();
28
- const family = tuples[0][0];
29
- const isIPv4: boolean = family === 4;
30
- const ip = tuples[0][1];
27
+ const family = components[0].name === "ip4" ? 4 : 6;
28
+ const ipStr = components[0].value;
31
29
 
32
- if (!ip) {
30
+ if (!ipStr) {
33
31
  return false;
34
32
  }
35
33
 
36
- const ipStr = isIPv4
37
- ? Array.from(ip).join(".")
38
- : Array.from(Uint16Array.from(ip))
39
- .map((n) => n.toString(16))
40
- .join(":");
41
-
42
34
  for (const networkInterfaces of Object.values(interfaces)) {
43
35
  for (const networkInterface of networkInterfaces || []) {
44
36
  // since node version 18, the netowrkinterface family returns 4 | 6 instead of ipv4 | ipv6,
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import {PrivateKey} from "@libp2p/interface";
3
3
  import {Multiaddr, multiaddr} from "@multiformats/multiaddr";
4
4
  import {Discv5, Discv5EventEmitter} from "@chainsafe/discv5";
5
- import {ENR, ENRData, SignableENR} from "@chainsafe/enr";
5
+ import {ENR, SignableENR} from "@chainsafe/enr";
6
6
  import {
7
7
  HttpMetricsServer,
8
8
  IBeaconNodeOptions,
@@ -87,7 +87,7 @@ export async function bootnodeHandler(args: BootnodeArgs & GlobalArgs): Promise<
87
87
  void discv5.findRandomNode();
88
88
  }
89
89
 
90
- discv5.on("multiaddrUpdated", (addr: ENRData) => {
90
+ discv5.on("multiaddrUpdated", (addr: Multiaddr) => {
91
91
  logger.info("Advertised socket address updated", {addr: addr.toString()});
92
92
  });
93
93
 
@@ -1,7 +1,7 @@
1
1
  import {CliCommandOptions, CliOptionDefinition} from "@lodestar/utils";
2
2
  import {NetworkName} from "../../networks/index.js";
3
3
  import {beaconNodeOptions, globalOptions} from "../../options/index.js";
4
- import {parseRange} from "../../util/format.ts";
4
+ import {parseRange} from "../../util/format.js";
5
5
  import {BeaconArgs, beaconOptions} from "../beacon/options.js";
6
6
  import {IValidatorCliArgs, validatorOptions} from "../validator/options.js";
7
7