@lodestar/beacon-node 1.40.0-dev.2b1dac30dd → 1.40.0-dev.2c42f62eed

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 (47) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +2 -8
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  5. package/lib/api/impl/lodestar/index.js +0 -14
  6. package/lib/api/impl/lodestar/index.js.map +1 -1
  7. package/lib/api/rest/base.d.ts.map +1 -1
  8. package/lib/api/rest/base.js +2 -2
  9. package/lib/api/rest/base.js.map +1 -1
  10. package/lib/chain/chain.d.ts.map +1 -1
  11. package/lib/chain/chain.js +2 -1
  12. package/lib/chain/chain.js.map +1 -1
  13. package/lib/network/core/networkCore.d.ts +0 -3
  14. package/lib/network/core/networkCore.d.ts.map +1 -1
  15. package/lib/network/core/networkCore.js +0 -9
  16. package/lib/network/core/networkCore.js.map +1 -1
  17. package/lib/network/core/networkCoreWorker.js +0 -3
  18. package/lib/network/core/networkCoreWorker.js.map +1 -1
  19. package/lib/network/core/networkCoreWorkerHandler.d.ts +0 -3
  20. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  21. package/lib/network/core/networkCoreWorkerHandler.js +0 -9
  22. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  23. package/lib/network/core/types.d.ts +0 -3
  24. package/lib/network/core/types.d.ts.map +1 -1
  25. package/lib/network/gossip/gossipsub.d.ts +0 -34
  26. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  27. package/lib/network/gossip/gossipsub.js +0 -123
  28. package/lib/network/gossip/gossipsub.js.map +1 -1
  29. package/lib/network/network.d.ts +0 -3
  30. package/lib/network/network.d.ts.map +1 -1
  31. package/lib/network/network.js +0 -9
  32. package/lib/network/network.js.map +1 -1
  33. package/lib/network/options.d.ts +0 -6
  34. package/lib/network/options.d.ts.map +1 -1
  35. package/lib/network/options.js.map +1 -1
  36. package/package.json +16 -16
  37. package/src/api/impl/beacon/blocks/index.ts +12 -22
  38. package/src/api/impl/lodestar/index.ts +0 -17
  39. package/src/api/rest/base.ts +4 -4
  40. package/src/chain/chain.ts +2 -1
  41. package/src/network/core/networkCore.ts +0 -12
  42. package/src/network/core/networkCoreWorker.ts +0 -3
  43. package/src/network/core/networkCoreWorkerHandler.ts +0 -9
  44. package/src/network/core/types.ts +0 -6
  45. package/src/network/gossip/gossipsub.ts +1 -147
  46. package/src/network/network.ts +0 -12
  47. package/src/network/options.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network/network.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,6 @@ import { SubnetsServiceOpts } from "./subnets/interface.js";
6
6
  export interface NetworkOptions extends PeerManagerOpts, Omit<ReqRespBeaconNodeOpts, "getPeerLogMetadata" | "onRateLimit" | "disableLightClientServer">, NetworkProcessorOpts, PeerRpcScoreOpts, SubnetsServiceOpts, Omit<Eth2GossipsubOpts, "disableLightClientServer"> {
7
7
  localMultiaddrs: string[];
8
8
  bootMultiaddrs?: string[];
9
- /**
10
- * Direct peers for GossipSub - these peers maintain permanent mesh connections without GRAFT/PRUNE.
11
- * Format: multiaddr strings with peer ID, e.g., "/ip4/192.168.1.1/tcp/9000/p2p/16Uiu2HAmKLhW7..."
12
- * Both peers must configure each other as direct peers for the feature to work properly.
13
- */
14
- directPeers?: string[];
15
9
  subscribeAllSubnets?: boolean;
16
10
  mdns?: boolean;
17
11
  connectToDiscv5Bootnodes?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/network/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAG1D,MAAM,WAAW,cACf,SAAQ,eAAe,EAErB,IAAI,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,aAAa,GAAG,0BAA0B,CAAC,EAC9F,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IACrD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,qBAAqB,EAAE,cAsBnC,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/network/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAG1D,MAAM,WAAW,cACf,SAAQ,eAAe,EAErB,IAAI,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,aAAa,GAAG,0BAA0B,CAAC,EAC9F,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IACrD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,qBAAqB,EAAE,cAsBnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/network/options.ts"],"names":[],"mappings":"AAoDA,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,QAAQ,EAAE,GAAG,EAAE,0DAA0D;IACzE,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;IAC9D,cAAc,EAAE,EAAE;IAClB,0BAA0B;IAC1B,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,SAAS,EAAE,IAAI;IACf,yFAAyF;IACzF,mBAAmB,EAAE,IAAI;IACzB,gFAAgF;IAChF,wBAAwB,EAAE,GAAG;IAC7B,kGAAkG;IAClG,oCAAoC,EAAE,CAAC;IACvC,sDAAsD;IACtD,wBAAwB,EAAE,KAAK;IAC/B,2BAA2B;IAC3B,8CAA8C;IAC9C,yDAAyD;IACzD,2KAA2K;IAC3K,gBAAgB,EAAE,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/network/options.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,QAAQ,EAAE,GAAG,EAAE,0DAA0D;IACzE,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;IAC9D,cAAc,EAAE,EAAE;IAClB,0BAA0B;IAC1B,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,SAAS,EAAE,IAAI;IACf,yFAAyF;IACzF,mBAAmB,EAAE,IAAI;IACzB,gFAAgF;IAChF,wBAAwB,EAAE,GAAG;IAC7B,kGAAkG;IAClG,oCAAoC,EAAE,CAAC;IACvC,sDAAsD;IACtD,wBAAwB,EAAE,KAAK;IAC/B,2BAA2B;IAC3B,8CAA8C;IAC9C,yDAAyD;IACzD,2KAA2K;IAC3K,gBAAgB,EAAE,CAAC;CACpB,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.40.0-dev.2b1dac30dd",
14
+ "version": "1.40.0-dev.2c42f62eed",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -134,24 +134,24 @@
134
134
  "@libp2p/peer-id": "^5.1.0",
135
135
  "@libp2p/prometheus-metrics": "^4.3.15",
136
136
  "@libp2p/tcp": "^10.1.8",
137
- "@lodestar/api": "^1.40.0-dev.2b1dac30dd",
138
- "@lodestar/config": "^1.40.0-dev.2b1dac30dd",
139
- "@lodestar/db": "^1.40.0-dev.2b1dac30dd",
140
- "@lodestar/fork-choice": "^1.40.0-dev.2b1dac30dd",
141
- "@lodestar/light-client": "^1.40.0-dev.2b1dac30dd",
142
- "@lodestar/logger": "^1.40.0-dev.2b1dac30dd",
143
- "@lodestar/params": "^1.40.0-dev.2b1dac30dd",
144
- "@lodestar/reqresp": "^1.40.0-dev.2b1dac30dd",
145
- "@lodestar/state-transition": "^1.40.0-dev.2b1dac30dd",
146
- "@lodestar/types": "^1.40.0-dev.2b1dac30dd",
147
- "@lodestar/utils": "^1.40.0-dev.2b1dac30dd",
148
- "@lodestar/validator": "^1.40.0-dev.2b1dac30dd",
137
+ "@lodestar/api": "^1.40.0-dev.2c42f62eed",
138
+ "@lodestar/config": "^1.40.0-dev.2c42f62eed",
139
+ "@lodestar/db": "^1.40.0-dev.2c42f62eed",
140
+ "@lodestar/fork-choice": "^1.40.0-dev.2c42f62eed",
141
+ "@lodestar/light-client": "^1.40.0-dev.2c42f62eed",
142
+ "@lodestar/logger": "^1.40.0-dev.2c42f62eed",
143
+ "@lodestar/params": "^1.40.0-dev.2c42f62eed",
144
+ "@lodestar/reqresp": "^1.40.0-dev.2c42f62eed",
145
+ "@lodestar/state-transition": "^1.40.0-dev.2c42f62eed",
146
+ "@lodestar/types": "^1.40.0-dev.2c42f62eed",
147
+ "@lodestar/utils": "^1.40.0-dev.2c42f62eed",
148
+ "@lodestar/validator": "^1.40.0-dev.2c42f62eed",
149
149
  "@multiformats/multiaddr": "^12.1.3",
150
150
  "datastore-core": "^10.0.2",
151
151
  "datastore-fs": "^10.0.6",
152
152
  "datastore-level": "^11.0.3",
153
153
  "deepmerge": "^4.3.1",
154
- "fastify": "^5.7.4",
154
+ "fastify": "^5.2.1",
155
155
  "interface-datastore": "^8.3.0",
156
156
  "it-all": "^3.0.4",
157
157
  "it-pipe": "^3.0.1",
@@ -169,7 +169,7 @@
169
169
  "@chainsafe/swap-or-not-shuffle": "^1.2.1",
170
170
  "@libp2p/interface-internal": "^2.3.18",
171
171
  "@libp2p/logger": "^5.1.21",
172
- "@lodestar/spec-test-util": "^1.40.0-dev.2b1dac30dd",
172
+ "@lodestar/spec-test-util": "^1.40.0-dev.2c42f62eed",
173
173
  "@types/js-yaml": "^4.0.5",
174
174
  "@types/qs": "^6.9.7",
175
175
  "@types/tmp": "^0.2.3",
@@ -188,5 +188,5 @@
188
188
  "beacon",
189
189
  "blockchain"
190
190
  ],
191
- "gitHead": "36b75aaf2f5db4852e149151ddbb62a70124cba6"
191
+ "gitHead": "19b2cb930a1e52b42846016cf9ad78f913ab8453"
192
192
  }
@@ -133,31 +133,21 @@ export function getBeaconBlockApi({
133
133
 
134
134
  if (isBlockInputColumns(blockForImport)) {
135
135
  for (const dataColumnSidecar of dataColumnSidecars) {
136
- blockForImport.addColumn(
137
- {
138
- blockRootHex: blockRoot,
139
- columnSidecar: dataColumnSidecar,
140
- source: BlockInputSource.api,
141
- seenTimestampSec,
142
- },
143
- // In multi-BN setups (DVT, fallback), the same block may be published to multiple nodes.
144
- // Data columns may arrive via gossip from another node before the API publish completes,
145
- // so we allow duplicates here instead of throwing an error.
146
- {throwOnDuplicateAdd: false}
147
- );
136
+ blockForImport.addColumn({
137
+ blockRootHex: blockRoot,
138
+ columnSidecar: dataColumnSidecar,
139
+ source: BlockInputSource.api,
140
+ seenTimestampSec,
141
+ });
148
142
  }
149
143
  } else if (isBlockInputBlobs(blockForImport)) {
150
144
  for (const blobSidecar of blobSidecars) {
151
- blockForImport.addBlob(
152
- {
153
- blockRootHex: blockRoot,
154
- blobSidecar,
155
- source: BlockInputSource.api,
156
- seenTimestampSec,
157
- },
158
- // Same as above for columns
159
- {throwOnDuplicateAdd: false}
160
- );
145
+ blockForImport.addBlob({
146
+ blockRootHex: blockRoot,
147
+ blobSidecar,
148
+ source: BlockInputSource.api,
149
+ seenTimestampSec,
150
+ });
161
151
  }
162
152
  }
163
153
 
@@ -154,23 +154,6 @@ export function getLodestarApi({
154
154
  await network.disconnectPeer(peerId);
155
155
  },
156
156
 
157
- async addDirectPeer({peer}) {
158
- const peerId = await network.addDirectPeer(peer);
159
- if (peerId === null) {
160
- throw new ApiError(400, `Failed to add direct peer: invalid peer address or ENR "${peer}"`);
161
- }
162
- return {data: {peerId}};
163
- },
164
-
165
- async removeDirectPeer({peerId}) {
166
- const removed = await network.removeDirectPeer(peerId);
167
- return {data: {removed}};
168
- },
169
-
170
- async getDirectPeers() {
171
- return {data: await network.getDirectPeers()};
172
- },
173
-
174
157
  async getPeers({state, direction}) {
175
158
  const peers = (await network.dumpPeers()).filter(
176
159
  (nodePeer) =>
@@ -1,6 +1,6 @@
1
1
  import bearerAuthPlugin from "@fastify/bearer-auth";
2
2
  import {fastifyCors} from "@fastify/cors";
3
- import {FastifyError, FastifyInstance, FastifyRequest, errorCodes, fastify} from "fastify";
3
+ import {FastifyInstance, FastifyRequest, errorCodes, fastify} from "fastify";
4
4
  import {parse as parseQueryString} from "qs";
5
5
  import {addSszContentTypeParser} from "@lodestar/api/server";
6
6
  import {ErrorAborted, Gauge, Histogram, Logger} from "@lodestar/utils";
@@ -91,10 +91,10 @@ export class RestApiServer {
91
91
  this.activeSockets = new HttpActiveSocketsTracker(server.server, metrics);
92
92
 
93
93
  // To parse our ApiError -> statusCode
94
- server.setErrorHandler<FastifyError | Error>((err, _req, res) => {
94
+ server.setErrorHandler((err, _req, res) => {
95
95
  const stacktraces = opts.stacktraces ? err.stack?.split("\n") : undefined;
96
- if ("validation" in err && err.validation) {
97
- const {instancePath = "unknown", message} = err.validation?.[0] ?? {};
96
+ if (err.validation) {
97
+ const {instancePath, message} = err.validation[0];
98
98
  const payload: ErrorResponse = {
99
99
  code: 400,
100
100
  message: `${instancePath.substring(instancePath.lastIndexOf("/") + 1)} ${message}`,
@@ -340,8 +340,9 @@ export class BeaconChain implements IBeaconChain {
340
340
  const blockStateCache = new FIFOBlockStateCache(this.opts, {metrics});
341
341
  this.bufferPool = new BufferPool(anchorState.type.tree_serializedSize(anchorState.node), metrics);
342
342
 
343
+ let checkpointStateCache: CheckpointStateCache;
343
344
  this.cpStateDatastore = fileDataStore ? new FileCPStateDatastore(dataDir) : new DbCPStateDatastore(this.db);
344
- const checkpointStateCache: CheckpointStateCache = new PersistentCheckpointStateCache(
345
+ checkpointStateCache = new PersistentCheckpointStateCache(
345
346
  {
346
347
  config,
347
348
  metrics,
@@ -454,18 +454,6 @@ export class NetworkCore implements INetworkCore {
454
454
  await this.libp2p.hangUp(peerIdFromString(peerIdStr));
455
455
  }
456
456
 
457
- async addDirectPeer(peer: routes.lodestar.DirectPeer): Promise<string | null> {
458
- return this.gossip.addDirectPeer(peer);
459
- }
460
-
461
- async removeDirectPeer(peerIdStr: PeerIdStr): Promise<boolean> {
462
- return this.gossip.removeDirectPeer(peerIdStr);
463
- }
464
-
465
- async getDirectPeers(): Promise<string[]> {
466
- return this.gossip.getDirectPeers();
467
- }
468
-
469
457
  private _dumpPeer(peerIdStr: string, connections: Connection[]): routes.lodestar.LodestarNodePeer {
470
458
  const peerData = this.peersData.connectedPeers.get(peerIdStr);
471
459
  const fork = this.config.getForkName(this.clock.currentSlot);
@@ -153,9 +153,6 @@ const libp2pWorkerApi: NetworkWorkerApi = {
153
153
  getConnectedPeerCount: () => core.getConnectedPeerCount(),
154
154
  connectToPeer: (peer, multiaddr) => core.connectToPeer(peer, multiaddr),
155
155
  disconnectPeer: (peer) => core.disconnectPeer(peer),
156
- addDirectPeer: (peer) => core.addDirectPeer(peer),
157
- removeDirectPeer: (peerId) => core.removeDirectPeer(peerId),
158
- getDirectPeers: () => core.getDirectPeers(),
159
156
  dumpPeers: () => core.dumpPeers(),
160
157
  dumpPeer: (peerIdStr) => core.dumpPeer(peerIdStr),
161
158
  dumpPeerScoreStats: () => core.dumpPeerScoreStats(),
@@ -247,15 +247,6 @@ export class WorkerNetworkCore implements INetworkCore {
247
247
  disconnectPeer(peer: PeerIdStr): Promise<void> {
248
248
  return this.getApi().disconnectPeer(peer);
249
249
  }
250
- addDirectPeer(peer: routes.lodestar.DirectPeer): Promise<string | null> {
251
- return this.getApi().addDirectPeer(peer);
252
- }
253
- removeDirectPeer(peerId: PeerIdStr): Promise<boolean> {
254
- return this.getApi().removeDirectPeer(peerId);
255
- }
256
- getDirectPeers(): Promise<string[]> {
257
- return this.getApi().getDirectPeers();
258
- }
259
250
  dumpPeers(): Promise<routes.lodestar.LodestarNodePeer[]> {
260
251
  return this.getApi().dumpPeers();
261
252
  }
@@ -30,12 +30,6 @@ export interface INetworkCorePublic {
30
30
  // Debug
31
31
  connectToPeer(peer: PeerIdStr, multiaddr: MultiaddrStr[]): Promise<void>;
32
32
  disconnectPeer(peer: PeerIdStr): Promise<void>;
33
-
34
- // Direct peers management
35
- addDirectPeer(peer: routes.lodestar.DirectPeer): Promise<string | null>;
36
- removeDirectPeer(peerId: PeerIdStr): Promise<boolean>;
37
- getDirectPeers(): Promise<string[]>;
38
-
39
33
  dumpPeers(): Promise<routes.lodestar.LodestarNodePeer[]>;
40
34
  dumpPeer(peerIdStr: PeerIdStr): Promise<routes.lodestar.LodestarNodePeer | undefined>;
41
35
  dumpPeerScoreStats(): Promise<PeerScoreStats>;
@@ -1,11 +1,7 @@
1
- import {peerIdFromString} from "@libp2p/peer-id";
2
- import {multiaddr} from "@multiformats/multiaddr";
3
- import {ENR} from "@chainsafe/enr";
4
1
  import {GossipSub, GossipsubEvents} from "@chainsafe/libp2p-gossipsub";
5
2
  import {MetricsRegister, TopicLabel, TopicStrToLabel} from "@chainsafe/libp2p-gossipsub/metrics";
6
3
  import {PeerScoreParams} from "@chainsafe/libp2p-gossipsub/score";
7
- import {AddrInfo, SignaturePolicy, TopicStr} from "@chainsafe/libp2p-gossipsub/types";
8
- import {routes} from "@lodestar/api";
4
+ import {SignaturePolicy, TopicStr} from "@chainsafe/libp2p-gossipsub/types";
9
5
  import {BeaconConfig, ForkBoundary} from "@lodestar/config";
10
6
  import {ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_COUNT} from "@lodestar/params";
11
7
  import {SubnetID} from "@lodestar/types";
@@ -59,12 +55,6 @@ export type Eth2GossipsubOpts = {
59
55
  disableFloodPublish?: boolean;
60
56
  skipParamsLog?: boolean;
61
57
  disableLightClientServer?: boolean;
62
- /**
63
- * Direct peers for GossipSub - these peers maintain permanent mesh connections without GRAFT/PRUNE.
64
- * Supports multiaddr strings with peer ID (e.g., "/ip4/192.168.1.1/tcp/9000/p2p/16Uiu2HAmKLhW7...")
65
- * or ENR strings (e.g., "enr:-IS4QHCYrYZbAKWCBRlAy5zzaDZXJBGkcnh4MHcBFZntXNFrdvJjX04jRzjzCBOo...")
66
- */
67
- directPeers?: string[];
68
58
  };
69
59
 
70
60
  export type ForkBoundaryLabel = string;
@@ -88,7 +78,6 @@ export class Eth2Gossipsub extends GossipSub {
88
78
  private readonly logger: Logger;
89
79
  private readonly peersData: PeersData;
90
80
  private readonly events: NetworkEventBus;
91
- private readonly libp2p: Libp2p;
92
81
 
93
82
  // Internal caches
94
83
  private readonly gossipTopicCache: GossipTopicCache;
@@ -108,9 +97,6 @@ export class Eth2Gossipsub extends GossipSub {
108
97
  );
109
98
  }
110
99
 
111
- // Parse direct peers from multiaddr strings to AddrInfo objects
112
- const directPeers = parseDirectPeers(opts.directPeers ?? [], logger);
113
-
114
100
  // Gossipsub parameters defined here:
115
101
  // https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub
116
102
  super(modules.libp2p.services.components, {
@@ -120,7 +106,6 @@ export class Eth2Gossipsub extends GossipSub {
120
106
  Dlo: gossipsubDLow ?? GOSSIP_D_LOW,
121
107
  Dhi: gossipsubDHigh ?? GOSSIP_D_HIGH,
122
108
  Dlazy: 6,
123
- directPeers,
124
109
  heartbeatInterval: GOSSIPSUB_HEARTBEAT_INTERVAL,
125
110
  fanoutTTL: 60 * 1000,
126
111
  mcacheLength: 6,
@@ -161,7 +146,6 @@ export class Eth2Gossipsub extends GossipSub {
161
146
  this.logger = logger;
162
147
  this.peersData = peersData;
163
148
  this.events = events;
164
- this.libp2p = modules.libp2p;
165
149
  this.gossipTopicCache = gossipTopicCache;
166
150
 
167
151
  this.addEventListener("gossipsub:message", this.onGossipsubMessage.bind(this));
@@ -344,64 +328,6 @@ export class Eth2Gossipsub extends GossipSub {
344
328
  this.reportMessageValidationResult(data.msgId, data.propagationSource, data.acceptance);
345
329
  });
346
330
  }
347
-
348
- /**
349
- * Add a peer as a direct peer at runtime. Accepts multiaddr with peer ID or ENR string.
350
- * Direct peers maintain permanent mesh connections without GRAFT/PRUNE negotiation.
351
- */
352
- async addDirectPeer(peerStr: routes.lodestar.DirectPeer): Promise<string | null> {
353
- const parsed = parseDirectPeers([peerStr], this.logger);
354
- if (parsed.length === 0) {
355
- return null;
356
- }
357
-
358
- const {id: peerId, addrs} = parsed[0];
359
- const peerIdStr = peerId.toString();
360
-
361
- // Prevent adding self as a direct peer
362
- if (peerId.equals(this.libp2p.peerId)) {
363
- this.logger.warn("Cannot add self as a direct peer", {peerId: peerIdStr});
364
- return null;
365
- }
366
-
367
- // Direct peers need addresses to connect - reject if none provided
368
- if (addrs.length === 0) {
369
- this.logger.warn("Cannot add direct peer without addresses", {peerId: peerIdStr});
370
- return null;
371
- }
372
-
373
- // Add addresses to peer store first so we can connect
374
- try {
375
- await this.libp2p.peerStore.merge(peerId, {multiaddrs: addrs});
376
- } catch (e) {
377
- this.logger.warn("Failed to add direct peer addresses to peer store", {peerId: peerIdStr}, e as Error);
378
- return null;
379
- }
380
-
381
- // Add to direct peers set only after addresses are stored
382
- this.direct.add(peerIdStr);
383
-
384
- this.logger.info("Added direct peer via API", {peerId: peerIdStr});
385
- return peerIdStr;
386
- }
387
-
388
- /**
389
- * Remove a peer from direct peers.
390
- */
391
- removeDirectPeer(peerIdStr: string): boolean {
392
- const removed = this.direct.delete(peerIdStr);
393
- if (removed) {
394
- this.logger.info("Removed direct peer via API", {peerId: peerIdStr});
395
- }
396
- return removed;
397
- }
398
-
399
- /**
400
- * Get list of current direct peer IDs.
401
- */
402
- getDirectPeers(): string[] {
403
- return Array.from(this.direct);
404
- }
405
331
  }
406
332
 
407
333
  /**
@@ -455,75 +381,3 @@ function getForkBoundaryLabel(boundary: ForkBoundary): ForkBoundaryLabel {
455
381
 
456
382
  return label;
457
383
  }
458
-
459
- /**
460
- * Parse direct peer strings into AddrInfo objects for GossipSub.
461
- * Direct peers maintain permanent mesh connections without GRAFT/PRUNE negotiation.
462
- *
463
- * Supported formats:
464
- * - Multiaddr with peer ID: `/ip4/192.168.1.1/tcp/9000/p2p/16Uiu2HAmKLhW7...`
465
- * - ENR: `enr:-IS4QHCYrYZbAKWCBRlAy5zzaDZXJBGkcnh4MHcBFZntXNFrdvJjX04jRzjzCBOo...`
466
- *
467
- * For multiaddrs, the string must contain a /p2p/ component with the peer ID.
468
- * For ENRs, the TCP multiaddr and peer ID are extracted from the encoded record.
469
- */
470
- export function parseDirectPeers(directPeerStrs: routes.lodestar.DirectPeer[], logger: Logger): AddrInfo[] {
471
- const directPeers: AddrInfo[] = [];
472
-
473
- for (const peerStr of directPeerStrs) {
474
- // Check if this is an ENR (starts with "enr:")
475
- if (peerStr.startsWith("enr:")) {
476
- try {
477
- const enr = ENR.decodeTxt(peerStr);
478
- const peerId = enr.peerId;
479
-
480
- // Get TCP multiaddr from ENR
481
- const multiaddrTCP = enr.getLocationMultiaddr("tcp");
482
- if (!multiaddrTCP) {
483
- logger.warn("ENR does not contain TCP multiaddr", {enr: peerStr});
484
- continue;
485
- }
486
-
487
- directPeers.push({
488
- id: peerId,
489
- addrs: [multiaddrTCP],
490
- });
491
-
492
- logger.info("Added direct peer from ENR", {peerId: peerId.toString(), addr: multiaddrTCP.toString()});
493
- } catch (e) {
494
- logger.warn("Failed to parse direct peer ENR", {enr: peerStr}, e as Error);
495
- }
496
- } else {
497
- // Parse as multiaddr
498
- try {
499
- const ma = multiaddr(peerStr);
500
-
501
- const peerIdStr = ma.getPeerId();
502
- if (!peerIdStr) {
503
- logger.warn("Direct peer multiaddr must contain /p2p/ component with peer ID", {multiaddr: peerStr});
504
- continue;
505
- }
506
-
507
- try {
508
- const peerId = peerIdFromString(peerIdStr);
509
-
510
- // Get the address without the /p2p/ component
511
- const addr = ma.decapsulate("/p2p/" + peerIdStr);
512
-
513
- directPeers.push({
514
- id: peerId,
515
- addrs: [addr],
516
- });
517
-
518
- logger.info("Added direct peer", {peerId: peerIdStr, addr: addr.toString()});
519
- } catch (e) {
520
- logger.warn("Invalid peer ID in direct peer multiaddr", {multiaddr: peerStr, peerId: peerIdStr}, e as Error);
521
- }
522
- } catch (e) {
523
- logger.warn("Failed to parse direct peer multiaddr", {multiaddr: peerStr}, e as Error);
524
- }
525
- }
526
- }
527
-
528
- return directPeers;
529
- }
@@ -641,18 +641,6 @@ export class Network implements INetwork {
641
641
  return this.core.disconnectPeer(peer);
642
642
  }
643
643
 
644
- addDirectPeer(peer: routes.lodestar.DirectPeer): Promise<string | null> {
645
- return this.core.addDirectPeer(peer);
646
- }
647
-
648
- removeDirectPeer(peerId: string): Promise<boolean> {
649
- return this.core.removeDirectPeer(peerId);
650
- }
651
-
652
- getDirectPeers(): Promise<string[]> {
653
- return this.core.getDirectPeers();
654
- }
655
-
656
644
  dumpPeer(peerIdStr: string): Promise<routes.lodestar.LodestarNodePeer | undefined> {
657
645
  return this.core.dumpPeer(peerIdStr);
658
646
  }
@@ -15,12 +15,6 @@ export interface NetworkOptions
15
15
  Omit<Eth2GossipsubOpts, "disableLightClientServer"> {
16
16
  localMultiaddrs: string[];
17
17
  bootMultiaddrs?: string[];
18
- /**
19
- * Direct peers for GossipSub - these peers maintain permanent mesh connections without GRAFT/PRUNE.
20
- * Format: multiaddr strings with peer ID, e.g., "/ip4/192.168.1.1/tcp/9000/p2p/16Uiu2HAmKLhW7..."
21
- * Both peers must configure each other as direct peers for the feature to work properly.
22
- */
23
- directPeers?: string[];
24
18
  subscribeAllSubnets?: boolean;
25
19
  mdns?: boolean;
26
20
  connectToDiscv5Bootnodes?: boolean;