@lodestar/beacon-node 1.34.0-dev.d5a4e7a09c → 1.34.0-dev.eb034b5727

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 (243) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +136 -30
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/debug/index.d.ts +1 -1
  4. package/lib/api/impl/debug/index.js +24 -1
  5. package/lib/api/impl/debug/index.js.map +1 -1
  6. package/lib/api/impl/validator/index.js +11 -5
  7. package/lib/api/impl/validator/index.js.map +1 -1
  8. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  9. package/lib/chain/archiveStore/archiveStore.js +2 -2
  10. package/lib/chain/archiveStore/interface.d.ts +1 -1
  11. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  12. package/lib/chain/archiveStore/utils/archiveBlocks.js +91 -23
  13. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  14. package/lib/chain/beaconProposerCache.d.ts +1 -0
  15. package/lib/chain/beaconProposerCache.js +3 -0
  16. package/lib/chain/beaconProposerCache.js.map +1 -1
  17. package/lib/chain/blocks/importBlock.js +3 -2
  18. package/lib/chain/blocks/importBlock.js.map +1 -1
  19. package/lib/chain/blocks/types.d.ts +66 -23
  20. package/lib/chain/blocks/types.js +39 -5
  21. package/lib/chain/blocks/types.js.map +1 -1
  22. package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
  23. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  24. package/lib/chain/blocks/writeBlockInputToDb.js +89 -15
  25. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  26. package/lib/chain/chain.d.ts +17 -28
  27. package/lib/chain/chain.js +71 -6
  28. package/lib/chain/chain.js.map +1 -1
  29. package/lib/chain/emitter.d.ts +18 -2
  30. package/lib/chain/emitter.js +13 -0
  31. package/lib/chain/emitter.js.map +1 -1
  32. package/lib/chain/errors/dataColumnSidecarError.d.ts +69 -0
  33. package/lib/chain/errors/dataColumnSidecarError.js +21 -0
  34. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
  35. package/lib/chain/errors/index.d.ts +1 -0
  36. package/lib/chain/errors/index.js +1 -0
  37. package/lib/chain/errors/index.js.map +1 -1
  38. package/lib/chain/interface.d.ts +10 -4
  39. package/lib/chain/interface.js.map +1 -1
  40. package/lib/chain/options.d.ts +4 -1
  41. package/lib/chain/options.js +1 -0
  42. package/lib/chain/options.js.map +1 -1
  43. package/lib/chain/prepareNextSlot.js +2 -1
  44. package/lib/chain/prepareNextSlot.js.map +1 -1
  45. package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -2
  46. package/lib/chain/produceBlock/produceBlockBody.js +9 -4
  47. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  48. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +3 -2
  49. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +28 -2
  50. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  51. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +64 -18
  52. package/lib/chain/seenCache/seenGossipBlockInput.js +321 -53
  53. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  54. package/lib/chain/validation/dataColumnSidecar.d.ts +28 -0
  55. package/lib/chain/validation/dataColumnSidecar.js +248 -0
  56. package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
  57. package/lib/db/beacon.d.ts +3 -1
  58. package/lib/db/beacon.js +3 -1
  59. package/lib/db/beacon.js.map +1 -1
  60. package/lib/db/buckets.d.ts +3 -1
  61. package/lib/db/buckets.js +2 -0
  62. package/lib/db/buckets.js.map +1 -1
  63. package/lib/db/interface.d.ts +3 -1
  64. package/lib/db/repositories/dataColumnSidecars.d.ts +47 -0
  65. package/lib/db/repositories/dataColumnSidecars.js +40 -0
  66. package/lib/db/repositories/dataColumnSidecars.js.map +1 -0
  67. package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +15 -0
  68. package/lib/db/repositories/dataColumnSidecarsArchive.js +23 -0
  69. package/lib/db/repositories/dataColumnSidecarsArchive.js.map +1 -0
  70. package/lib/db/repositories/index.d.ts +2 -0
  71. package/lib/db/repositories/index.js +2 -0
  72. package/lib/db/repositories/index.js.map +1 -1
  73. package/lib/execution/builder/http.d.ts +18 -2
  74. package/lib/execution/builder/http.js +27 -8
  75. package/lib/execution/builder/http.js.map +1 -1
  76. package/lib/execution/builder/interface.d.ts +3 -2
  77. package/lib/execution/engine/http.d.ts +6 -3
  78. package/lib/execution/engine/http.js +56 -42
  79. package/lib/execution/engine/http.js.map +1 -1
  80. package/lib/execution/engine/interface.d.ts +4 -2
  81. package/lib/execution/engine/interface.js +1 -1
  82. package/lib/execution/engine/interface.js.map +1 -1
  83. package/lib/execution/engine/mock.d.ts +1 -0
  84. package/lib/execution/engine/mock.js +5 -0
  85. package/lib/execution/engine/mock.js.map +1 -1
  86. package/lib/execution/engine/types.d.ts +10 -0
  87. package/lib/execution/engine/types.js +6 -0
  88. package/lib/execution/engine/types.js.map +1 -1
  89. package/lib/metrics/metrics/beacon.d.ts +14 -0
  90. package/lib/metrics/metrics/beacon.js +57 -0
  91. package/lib/metrics/metrics/beacon.js.map +1 -1
  92. package/lib/metrics/metrics/lodestar.d.ts +24 -1
  93. package/lib/metrics/metrics/lodestar.js +45 -0
  94. package/lib/metrics/metrics/lodestar.js.map +1 -1
  95. package/lib/network/core/metrics.d.ts +10 -3
  96. package/lib/network/core/metrics.js +22 -4
  97. package/lib/network/core/metrics.js.map +1 -1
  98. package/lib/network/core/networkCore.d.ts +15 -4
  99. package/lib/network/core/networkCore.js +73 -23
  100. package/lib/network/core/networkCore.js.map +1 -1
  101. package/lib/network/core/networkCoreWorker.js +2 -0
  102. package/lib/network/core/networkCoreWorker.js.map +1 -1
  103. package/lib/network/core/networkCoreWorkerHandler.d.ts +5 -3
  104. package/lib/network/core/networkCoreWorkerHandler.js +6 -1
  105. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  106. package/lib/network/core/types.d.ts +7 -4
  107. package/lib/network/events.d.ts +4 -2
  108. package/lib/network/events.js.map +1 -1
  109. package/lib/network/gossip/gossipsub.d.ts +2 -2
  110. package/lib/network/gossip/gossipsub.js +8 -6
  111. package/lib/network/gossip/gossipsub.js.map +1 -1
  112. package/lib/network/gossip/interface.d.ts +8 -1
  113. package/lib/network/gossip/interface.js +1 -0
  114. package/lib/network/gossip/interface.js.map +1 -1
  115. package/lib/network/gossip/scoringParameters.d.ts +6 -2
  116. package/lib/network/gossip/scoringParameters.js.map +1 -1
  117. package/lib/network/gossip/topic.d.ts +1077 -1056
  118. package/lib/network/gossip/topic.js +29 -1
  119. package/lib/network/gossip/topic.js.map +1 -1
  120. package/lib/network/interface.d.ts +9 -1
  121. package/lib/network/metadata.d.ts +9 -5
  122. package/lib/network/metadata.js +26 -5
  123. package/lib/network/metadata.js.map +1 -1
  124. package/lib/network/network.d.ts +12 -2
  125. package/lib/network/network.js +73 -11
  126. package/lib/network/network.js.map +1 -1
  127. package/lib/network/networkConfig.d.ts +12 -0
  128. package/lib/network/networkConfig.js +2 -0
  129. package/lib/network/networkConfig.js.map +1 -0
  130. package/lib/network/options.d.ts +1 -0
  131. package/lib/network/options.js +5 -0
  132. package/lib/network/options.js.map +1 -1
  133. package/lib/network/peers/discover.d.ts +8 -3
  134. package/lib/network/peers/discover.js +99 -14
  135. package/lib/network/peers/discover.js.map +1 -1
  136. package/lib/network/peers/peerManager.d.ts +10 -4
  137. package/lib/network/peers/peerManager.js +105 -19
  138. package/lib/network/peers/peerManager.js.map +1 -1
  139. package/lib/network/peers/peersData.d.ts +17 -3
  140. package/lib/network/peers/peersData.js.map +1 -1
  141. package/lib/network/peers/score/interface.d.ts +1 -1
  142. package/lib/network/peers/score/score.d.ts +2 -2
  143. package/lib/network/peers/score/score.js +4 -1
  144. package/lib/network/peers/score/score.js.map +1 -1
  145. package/lib/network/peers/score/store.d.ts +3 -1
  146. package/lib/network/peers/score/store.js +6 -2
  147. package/lib/network/peers/score/store.js.map +1 -1
  148. package/lib/network/peers/utils/assertPeerRelevance.d.ts +7 -3
  149. package/lib/network/peers/utils/assertPeerRelevance.js +10 -1
  150. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  151. package/lib/network/peers/utils/prioritizePeers.d.ts +18 -7
  152. package/lib/network/peers/utils/prioritizePeers.js +43 -7
  153. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  154. package/lib/network/processor/extractSlotRootFns.js +8 -1
  155. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  156. package/lib/network/processor/gossipHandlers.js +156 -10
  157. package/lib/network/processor/gossipHandlers.js.map +1 -1
  158. package/lib/network/processor/gossipQueues/index.js +5 -0
  159. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  160. package/lib/network/processor/index.js +1 -0
  161. package/lib/network/processor/index.js.map +1 -1
  162. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
  163. package/lib/network/reqresp/ReqRespBeaconNode.js +36 -14
  164. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  165. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +24 -4
  166. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +259 -20
  167. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  168. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +32 -6
  169. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +283 -28
  170. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  171. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  172. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  173. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
  174. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +92 -0
  175. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
  176. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
  177. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +50 -0
  178. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
  179. package/lib/network/reqresp/handlers/index.js +10 -0
  180. package/lib/network/reqresp/handlers/index.js.map +1 -1
  181. package/lib/network/reqresp/protocols.d.ts +4 -0
  182. package/lib/network/reqresp/protocols.js +20 -0
  183. package/lib/network/reqresp/protocols.js.map +1 -1
  184. package/lib/network/reqresp/rateLimit.js +11 -1
  185. package/lib/network/reqresp/rateLimit.js.map +1 -1
  186. package/lib/network/reqresp/score.js +3 -0
  187. package/lib/network/reqresp/score.js.map +1 -1
  188. package/lib/network/reqresp/types.d.ts +11 -4
  189. package/lib/network/reqresp/types.js +12 -3
  190. package/lib/network/reqresp/types.js.map +1 -1
  191. package/lib/network/statusCache.d.ts +5 -5
  192. package/lib/network/statusCache.js.map +1 -1
  193. package/lib/network/subnets/interface.d.ts +3 -0
  194. package/lib/network/subnets/interface.js +14 -1
  195. package/lib/network/subnets/interface.js.map +1 -1
  196. package/lib/network/subnets/syncnetsService.js +4 -5
  197. package/lib/network/subnets/syncnetsService.js.map +1 -1
  198. package/lib/node/nodejs.js +1 -0
  199. package/lib/node/nodejs.js.map +1 -1
  200. package/lib/sync/constants.d.ts +18 -3
  201. package/lib/sync/constants.js +21 -3
  202. package/lib/sync/constants.js.map +1 -1
  203. package/lib/sync/interface.d.ts +2 -2
  204. package/lib/sync/interface.js +1 -1
  205. package/lib/sync/interface.js.map +1 -1
  206. package/lib/sync/range/batch.d.ts +17 -2
  207. package/lib/sync/range/batch.js +39 -7
  208. package/lib/sync/range/batch.js.map +1 -1
  209. package/lib/sync/range/chain.d.ts +15 -1
  210. package/lib/sync/range/chain.js +124 -33
  211. package/lib/sync/range/chain.js.map +1 -1
  212. package/lib/sync/range/range.d.ts +3 -2
  213. package/lib/sync/range/range.js +9 -3
  214. package/lib/sync/range/range.js.map +1 -1
  215. package/lib/sync/range/utils/chainTarget.d.ts +5 -1
  216. package/lib/sync/range/utils/chainTarget.js +26 -1
  217. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  218. package/lib/sync/range/utils/peerBalancer.d.ts +19 -5
  219. package/lib/sync/range/utils/peerBalancer.js +104 -10
  220. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  221. package/lib/sync/sync.js +1 -1
  222. package/lib/sync/sync.js.map +1 -1
  223. package/lib/sync/unknownBlock.d.ts +8 -1
  224. package/lib/sync/unknownBlock.js +223 -67
  225. package/lib/sync/unknownBlock.js.map +1 -1
  226. package/lib/sync/utils/remoteSyncType.d.ts +4 -4
  227. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  228. package/lib/util/blobs.d.ts +23 -1
  229. package/lib/util/blobs.js +156 -1
  230. package/lib/util/blobs.js.map +1 -1
  231. package/lib/util/dataColumns.d.ts +135 -0
  232. package/lib/util/dataColumns.js +353 -0
  233. package/lib/util/dataColumns.js.map +1 -0
  234. package/lib/util/metadata.d.ts +5 -0
  235. package/lib/util/metadata.js +10 -0
  236. package/lib/util/metadata.js.map +1 -1
  237. package/lib/util/sszBytes.d.ts +1 -0
  238. package/lib/util/sszBytes.js +17 -0
  239. package/lib/util/sszBytes.js.map +1 -1
  240. package/package.json +16 -16
  241. package/lib/network/reqresp/handlers/status.d.ts +0 -4
  242. package/lib/network/reqresp/handlers/status.js +0 -11
  243. package/lib/network/reqresp/handlers/status.js.map +0 -1
@@ -5,7 +5,7 @@ import { routes } from "@lodestar/api";
5
5
  import { BeaconConfig } from "@lodestar/config";
6
6
  import type { LoggerNode } from "@lodestar/logger/node";
7
7
  import { ResponseIncoming } from "@lodestar/reqresp";
8
- import { phase0 } from "@lodestar/types";
8
+ import { Status } from "@lodestar/types";
9
9
  import { RegistryMetricCreator } from "../../metrics/index.js";
10
10
  import { IClock } from "../../util/clock.js";
11
11
  import { PeerIdStr } from "../../util/peerId.js";
@@ -13,6 +13,7 @@ import { NetworkEventBus } from "../events.js";
13
13
  import { Eth2Gossipsub } from "../gossip/index.js";
14
14
  import { Libp2p } from "../interface.js";
15
15
  import { MetadataController } from "../metadata.js";
16
+ import { NetworkConfig } from "../networkConfig.js";
16
17
  import { NetworkOptions } from "../options.js";
17
18
  import { PeerAction, PeerScoreStats } from "../peers/index.js";
18
19
  import { PeerManager } from "../peers/peerManager.js";
@@ -31,6 +32,7 @@ type Mods = {
31
32
  attnetsService: IAttnetsService;
32
33
  syncnetsService: SyncnetsService;
33
34
  peerManager: PeerManager;
35
+ networkConfig: NetworkConfig;
34
36
  peersData: PeersData;
35
37
  metadata: MetadataController;
36
38
  logger: LoggerNode;
@@ -51,7 +53,8 @@ export type BaseNetworkInit = {
51
53
  events: NetworkEventBus;
52
54
  getReqRespHandler: GetReqRespHandlerFn;
53
55
  activeValidatorCount: number;
54
- initialStatus: phase0.Status;
56
+ initialStatus: Status;
57
+ initialCustodyGroupCount: number;
55
58
  };
56
59
  /**
57
60
  * This class is meant to work both:
@@ -74,6 +77,7 @@ export declare class NetworkCore implements INetworkCore {
74
77
  private readonly attnetsService;
75
78
  private readonly syncnetsService;
76
79
  private readonly peerManager;
80
+ private readonly networkConfig;
77
81
  private readonly peersData;
78
82
  private readonly reqResp;
79
83
  private readonly gossip;
@@ -87,11 +91,12 @@ export declare class NetworkCore implements INetworkCore {
87
91
  private readonly forkBoundariesByEpoch;
88
92
  private closed;
89
93
  constructor(modules: Mods);
90
- static init({ opts, config, privateKey, peerStoreDir, logger, metricsRegistry, events, clock, getReqRespHandler, activeValidatorCount, initialStatus, }: BaseNetworkInit): Promise<NetworkCore>;
94
+ static init({ opts, config, privateKey, peerStoreDir, logger, metricsRegistry, events, clock, getReqRespHandler, activeValidatorCount, initialStatus, initialCustodyGroupCount, }: BaseNetworkInit): Promise<NetworkCore>;
91
95
  /** Destroy this instance. Can only be called once. */
92
96
  close(): Promise<void>;
97
+ getNetworkConfig(): NetworkConfig;
93
98
  scrapeMetrics(): Promise<string>;
94
- updateStatus(status: phase0.Status): Promise<void>;
99
+ updateStatus(status: Status): Promise<void>;
95
100
  reportPeer(peer: PeerIdStr, action: PeerAction, actionName: string): Promise<void>;
96
101
  reStatusPeers(peers: PeerIdStr[]): Promise<void>;
97
102
  /**
@@ -110,6 +115,12 @@ export declare class NetworkCore implements INetworkCore {
110
115
  isSubscribedToGossipCoreTopics(): Promise<boolean>;
111
116
  sendReqRespRequest(data: OutgoingRequestArgs): AsyncIterable<ResponseIncoming>;
112
117
  publishGossip(topic: string, data: Uint8Array, opts?: PublishOpts | undefined): Promise<number>;
118
+ /**
119
+ * Handler of ChainEvent.updateTargetCustodyGroupCount event
120
+ * Updates the target custody group count in the network config and metadata.
121
+ * Also subscribes to new data_column_sidecar subnet topics for the new custody group count.
122
+ */
123
+ setTargetGroupCount(count: number): Promise<void>;
113
124
  getNetworkIdentity(): Promise<routes.node.NetworkIdentity>;
114
125
  getConnectionsByPeer(): Map<string, Connection[]>;
115
126
  getConnectedPeers(): Promise<PeerIdStr[]>;
@@ -1,12 +1,14 @@
1
- import { ENR } from "@chainsafe/enr";
2
- import { ssz, sszTypesFor } from "@lodestar/types";
3
- import { fromHex } from "@lodestar/utils";
1
+ import { peerIdFromPrivateKey } from "@libp2p/peer-id";
2
+ import { isForkPostFulu } from "@lodestar/params";
3
+ import { sszTypesFor } from "@lodestar/types";
4
4
  import { multiaddr } from "@multiformats/multiaddr";
5
5
  import { formatNodePeer } from "../../api/impl/node/utils.js";
6
6
  import { ClockEvent } from "../../util/clock.js";
7
+ import { CustodyConfig } from "../../util/dataColumns.js";
7
8
  import { peerIdFromString, peerIdToString } from "../../util/peerId.js";
8
9
  import { FORK_EPOCH_LOOKAHEAD, getActiveForkBoundaries } from "../forks.js";
9
10
  import { Eth2Gossipsub, getCoreTopicsAtFork } from "../gossip/index.js";
11
+ import { getDataColumnSidecarTopics } from "../gossip/topic.js";
10
12
  import { createNodeJsLibp2p } from "../libp2p/index.js";
11
13
  import { MetadataController } from "../metadata.js";
12
14
  import { PeerRpcScoreStore } from "../peers/index.js";
@@ -15,6 +17,7 @@ import { PeersData } from "../peers/peersData.js";
15
17
  import { ReqRespBeaconNode } from "../reqresp/ReqRespBeaconNode.js";
16
18
  import { LocalStatusCache } from "../statusCache.js";
17
19
  import { AttnetsService } from "../subnets/attnetsService.js";
20
+ import { computeNodeId } from "../subnets/interface.js";
18
21
  import { SyncnetsService } from "../subnets/syncnetsService.js";
19
22
  import { getConnectionsMap } from "../util.js";
20
23
  import { createNetworkCoreMetrics } from "./metrics.js";
@@ -56,7 +59,7 @@ export class NetworkCore {
56
59
  if (epoch === nextBoundaryEpoch - FORK_EPOCH_LOOKAHEAD) {
57
60
  // Don't subscribe to new fork boundary if the node is not subscribed to any topic
58
61
  if (await this.isSubscribedToGossipCoreTopics()) {
59
- this.subscribeCoreTopicsAtBoundary(this.config, nextBoundary);
62
+ this.subscribeCoreTopicsAtBoundary(this.networkConfig, nextBoundary);
60
63
  this.logger.info("Subscribing gossip topics for next fork boundary", nextBoundary);
61
64
  }
62
65
  else {
@@ -74,7 +77,7 @@ export class NetworkCore {
74
77
  // After fork boundary transition
75
78
  if (epoch === nextBoundaryEpoch + FORK_EPOCH_LOOKAHEAD) {
76
79
  this.logger.info("Unsubscribing gossip topics of previous fork boundary", prevBoundary);
77
- this.unsubscribeCoreTopicsAtBoundary(this.config, prevBoundary);
80
+ this.unsubscribeCoreTopicsAtBoundary(this.networkConfig, prevBoundary);
78
81
  this.attnetsService.unsubscribeSubnetsPrevBoundary(prevBoundary);
79
82
  this.syncnetsService.unsubscribeSubnetsPrevBoundary(prevBoundary);
80
83
  }
@@ -91,6 +94,7 @@ export class NetworkCore {
91
94
  this.attnetsService = modules.attnetsService;
92
95
  this.syncnetsService = modules.syncnetsService;
93
96
  this.peerManager = modules.peerManager;
97
+ this.networkConfig = modules.networkConfig;
94
98
  this.peersData = modules.peersData;
95
99
  this.metadata = modules.metadata;
96
100
  this.logger = modules.logger;
@@ -101,7 +105,7 @@ export class NetworkCore {
101
105
  this.opts = modules.opts;
102
106
  this.clock.on(ClockEvent.epoch, this.onEpoch);
103
107
  }
104
- static async init({ opts, config, privateKey, peerStoreDir, logger, metricsRegistry, events, clock, getReqRespHandler, activeValidatorCount, initialStatus, }) {
108
+ static async init({ opts, config, privateKey, peerStoreDir, logger, metricsRegistry, events, clock, getReqRespHandler, activeValidatorCount, initialStatus, initialCustodyGroupCount, }) {
105
109
  const libp2p = await createNodeJsLibp2p(privateKey, opts, {
106
110
  peerStoreDir,
107
111
  metrics: Boolean(metricsRegistry),
@@ -109,7 +113,7 @@ export class NetworkCore {
109
113
  });
110
114
  const metrics = metricsRegistry ? createNetworkCoreMetrics(metricsRegistry) : null;
111
115
  const peersData = new PeersData();
112
- const peerRpcScores = new PeerRpcScoreStore(opts, metrics);
116
+ const peerRpcScores = new PeerRpcScoreStore(opts, metrics, logger);
113
117
  const statusCache = new LocalStatusCache(initialStatus);
114
118
  // Bind discv5's ENR to local metadata
115
119
  // resolve circular dependency by setting `discv5` variable after the peer manager is instantiated
@@ -118,7 +122,14 @@ export class NetworkCore {
118
122
  const onMetadataSetValue = function onMetadataSetValue(key, value) {
119
123
  discv5?.setEnrValue(key, value).catch((e) => logger.error("error on setEnrValue", { key }, e));
120
124
  };
121
- const metadata = new MetadataController({}, { config, logger, onSetValue: onMetadataSetValue });
125
+ const peerId = peerIdFromPrivateKey(privateKey);
126
+ const nodeId = computeNodeId(peerId);
127
+ const networkConfig = {
128
+ nodeId,
129
+ config,
130
+ custodyConfig: new CustodyConfig({ nodeId, config, initialCustodyGroupCount }),
131
+ };
132
+ const metadata = new MetadataController({}, { networkConfig, logger, onSetValue: onMetadataSetValue });
122
133
  const reqResp = new ReqRespBeaconNode({
123
134
  config,
124
135
  libp2p,
@@ -132,7 +143,7 @@ export class NetworkCore {
132
143
  getHandler: getReqRespHandler,
133
144
  }, opts);
134
145
  const gossip = new Eth2Gossipsub(opts, {
135
- config,
146
+ networkConfig,
136
147
  libp2p,
137
148
  logger,
138
149
  metricsRegister: metricsRegistry,
@@ -149,9 +160,7 @@ export class NetworkCore {
149
160
  await reqResp.start();
150
161
  // should be called before AttnetsService constructor so that node subscribe to deterministic attnet topics
151
162
  await gossip.start();
152
- const enr = opts.discv5?.enr;
153
- const nodeId = enr ? fromHex(ENR.decodeTxt(enr).nodeId) : null;
154
- const attnetsService = new AttnetsService(config, clock, gossip, metadata, logger, metrics, nodeId, opts);
163
+ const attnetsService = new AttnetsService(config, clock, gossip, metadata, logger, metrics, networkConfig.nodeId, opts);
155
164
  const syncnetsService = new SyncnetsService(config, clock, gossip, metadata, logger, metrics, opts);
156
165
  const peerManager = await PeerManager.init({
157
166
  privateKey,
@@ -163,9 +172,9 @@ export class NetworkCore {
163
172
  logger,
164
173
  metrics,
165
174
  clock,
166
- config,
167
175
  peerRpcScores,
168
176
  events,
177
+ networkConfig,
169
178
  peersData,
170
179
  statusCache,
171
180
  }, opts);
@@ -185,6 +194,7 @@ export class NetworkCore {
185
194
  attnetsService,
186
195
  syncnetsService,
187
196
  peerManager,
197
+ networkConfig,
188
198
  peersData,
189
199
  metadata,
190
200
  logger,
@@ -216,6 +226,9 @@ export class NetworkCore {
216
226
  this.logger.debug("network lib2p closed");
217
227
  this.closed = true;
218
228
  }
229
+ getNetworkConfig() {
230
+ return this.networkConfig;
231
+ }
219
232
  async scrapeMetrics() {
220
233
  return [
221
234
  (await this.metrics?.register.metrics()) ?? "",
@@ -255,7 +268,7 @@ export class NetworkCore {
255
268
  this.logger.info("Subscribed gossip core topics");
256
269
  }
257
270
  for (const boundary of getActiveForkBoundaries(this.config, this.clock.currentEpoch)) {
258
- this.subscribeCoreTopicsAtBoundary(this.config, boundary);
271
+ this.subscribeCoreTopicsAtBoundary(this.networkConfig, boundary);
259
272
  }
260
273
  }
261
274
  /**
@@ -263,7 +276,7 @@ export class NetworkCore {
263
276
  */
264
277
  async unsubscribeGossipCoreTopics() {
265
278
  for (const boundary of this.forkBoundariesByEpoch.values()) {
266
- this.unsubscribeCoreTopicsAtBoundary(this.config, boundary);
279
+ this.unsubscribeCoreTopicsAtBoundary(this.networkConfig, boundary);
267
280
  }
268
281
  }
269
282
  async isSubscribedToGossipCoreTopics() {
@@ -277,19 +290,52 @@ export class NetworkCore {
277
290
  const { recipients } = await this.gossip.publish(topic, data, opts);
278
291
  return recipients.length;
279
292
  }
293
+ /**
294
+ * Handler of ChainEvent.updateTargetCustodyGroupCount event
295
+ * Updates the target custody group count in the network config and metadata.
296
+ * Also subscribes to new data_column_sidecar subnet topics for the new custody group count.
297
+ */
298
+ async setTargetGroupCount(count) {
299
+ this.networkConfig.custodyConfig.updateTargetCustodyGroupCount(count);
300
+ this.metadata.custodyGroupCount = count;
301
+ // cannot call subscribeGossipCoreTopics() because we subsribed to core topics already
302
+ // we only need to subscribe to more data_column_sidecar topics
303
+ const dataColumnSubnetTopics = getDataColumnSidecarTopics(this.networkConfig);
304
+ const activeBoundaries = getActiveForkBoundaries(this.config, this.clock.currentEpoch);
305
+ for (const boundary of activeBoundaries) {
306
+ for (const topic of dataColumnSubnetTopics) {
307
+ // there are existing subscriptions for old subnets, in that case gossipsub will just ignore
308
+ this.gossip.subscribeTopic({ ...topic, boundary });
309
+ }
310
+ }
311
+ }
280
312
  // REST API queries
281
313
  async getNetworkIdentity() {
282
314
  // biome-ignore lint/complexity/useLiteralKeys: `discovery` is a private attribute
283
315
  const enr = await this.peerManager["discovery"]?.discv5.enr();
316
+ // enr.getFullMultiaddr can counterintuitively return undefined near startup if the enr.ip or enr.ip6 is not set.
317
+ // Eventually, the enr will be updated with the correct ip after discv5 runs for a while.
318
+ // Node's addresses on which is listening for discv5 requests.
319
+ // The example provided by the beacon-APIs show a _full_ multiaddr, ie including the peer id, so we include it.
284
320
  const discoveryAddresses = [
285
- enr?.getLocationMultiaddr("tcp")?.toString() ?? null,
286
- enr?.getLocationMultiaddr("udp")?.toString() ?? null,
321
+ (await enr?.getFullMultiaddr("udp"))?.toString(),
322
+ (await enr?.getFullMultiaddr("udp6"))?.toString(),
323
+ ].filter((addr) => Boolean(addr));
324
+ // Node's addresses on which eth2 RPC requests are served.
325
+ const p2pAddresses = [
326
+ // It is useful to include listen multiaddrs even if they likely aren't public IPs
327
+ // This means that we will always return some multiaddrs
328
+ ...this.libp2p.getMultiaddrs().map((ma) => ma.toString()),
329
+ (await enr?.getFullMultiaddr("tcp"))?.toString(),
330
+ (await enr?.getFullMultiaddr("tcp6"))?.toString(),
331
+ (await enr?.getFullMultiaddr("quic"))?.toString(),
332
+ (await enr?.getFullMultiaddr("quic6"))?.toString(),
287
333
  ].filter((addr) => Boolean(addr));
288
334
  return {
289
335
  peerId: peerIdToString(this.libp2p.peerId),
290
336
  enr: enr?.encodeTxt() || "",
291
337
  discoveryAddresses,
292
- p2pAddresses: this.libp2p.getMultiaddrs().map((m) => m.toString()),
338
+ p2pAddresses,
293
339
  metadata: this.metadata.json,
294
340
  };
295
341
  }
@@ -318,10 +364,14 @@ export class NetworkCore {
318
364
  _dumpPeer(peerIdStr, connections) {
319
365
  const peerData = this.peersData.connectedPeers.get(peerIdStr);
320
366
  const fork = this.config.getForkName(this.clock.currentSlot);
367
+ if (isForkPostFulu(fork) && peerData?.status) {
368
+ peerData.status.earliestAvailableSlot =
369
+ peerData.status.earliestAvailableSlot ?? 0;
370
+ }
321
371
  return {
322
372
  ...formatNodePeer(peerIdStr, connections),
323
373
  agentVersion: peerData?.agentVersion ?? "NA",
324
- status: peerData?.status ? ssz.phase0.Status.toJson(peerData.status) : null,
374
+ status: peerData?.status ? sszTypesFor(fork).Status.toJson(peerData.status) : null,
325
375
  metadata: peerData?.metadata ? sszTypesFor(fork).Metadata.toJson(peerData.metadata) : null,
326
376
  agentClient: String(peerData?.agentClient ?? "Unknown"),
327
377
  lastReceivedMsgUnixTsMs: peerData?.lastReceivedMsgUnixTsMs ?? 0,
@@ -367,24 +417,24 @@ export class NetworkCore {
367
417
  // biome-ignore lint/complexity/useLiteralKeys: `discovery` is a private attribute
368
418
  return this.peerManager["discovery"]?.discv5.writeHeapSnapshot(prefix, dirpath) ?? Promise.resolve("no discv5");
369
419
  }
370
- subscribeCoreTopicsAtBoundary(config, boundary) {
420
+ subscribeCoreTopicsAtBoundary(networkConfig, boundary) {
371
421
  if (this.forkBoundariesByEpoch.has(boundary.epoch))
372
422
  return;
373
423
  this.forkBoundariesByEpoch.set(boundary.epoch, boundary);
374
424
  const { subscribeAllSubnets, disableLightClientServer } = this.opts;
375
- for (const topic of getCoreTopicsAtFork(config, boundary.fork, {
425
+ for (const topic of getCoreTopicsAtFork(networkConfig, boundary.fork, {
376
426
  subscribeAllSubnets,
377
427
  disableLightClientServer,
378
428
  })) {
379
429
  this.gossip.subscribeTopic({ ...topic, boundary });
380
430
  }
381
431
  }
382
- unsubscribeCoreTopicsAtBoundary(config, boundary) {
432
+ unsubscribeCoreTopicsAtBoundary(networkConfig, boundary) {
383
433
  if (!this.forkBoundariesByEpoch.has(boundary.epoch))
384
434
  return;
385
435
  this.forkBoundariesByEpoch.delete(boundary.epoch);
386
436
  const { subscribeAllSubnets, disableLightClientServer } = this.opts;
387
- for (const topic of getCoreTopicsAtFork(config, boundary.fork, {
437
+ for (const topic of getCoreTopicsAtFork(networkConfig, boundary.fork, {
388
438
  subscribeAllSubnets,
389
439
  disableLightClientServer,
390
440
  })) {
@@ -1 +1 @@
1
- {"version":3,"file":"networkCore.js","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkCore.js","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,7 @@ const core = await NetworkCore.init({
84
84
  getReqRespHandler: (method) => (req, peerId) => reqRespBridgeRespCaller.getAsyncIterable({ method, req, peerId: peerIdToString(peerId) }),
85
85
  activeValidatorCount: workerData.activeValidatorCount,
86
86
  initialStatus: workerData.initialStatus,
87
+ initialCustodyGroupCount: workerData.initialCustodyGroupCount,
87
88
  });
88
89
  wireEventsOnWorkerThread(NetworkWorkerThreadEventType.networkEvent, events, parentPort, networkCoreWorkerMetrics, networkEventDirection);
89
90
  wireEventsOnWorkerThread(NetworkWorkerThreadEventType.reqRespBridgeEvents, reqRespBridgeEventBus, parentPort, networkCoreWorkerMetrics, reqRespBridgeEventDirection);
@@ -102,6 +103,7 @@ const libp2pWorkerApi = {
102
103
  unsubscribeGossipCoreTopics: () => core.unsubscribeGossipCoreTopics(),
103
104
  // sendReqRespRequest - handled via events with AsyncIterableBridgeHandler
104
105
  publishGossip: (topic, data, opts) => core.publishGossip(topic, data, opts),
106
+ setTargetGroupCount: (count) => core.setTargetGroupCount(count),
105
107
  // Debug
106
108
  getNetworkIdentity: () => core.getNetworkIdentity(),
107
109
  getConnectedPeers: () => core.getConnectedPeers(),
@@ -1 +1 @@
1
- {"version":3,"file":"networkCoreWorker.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkCoreWorker.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorker.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { routes } from "@lodestar/api";
6
6
  import { BeaconConfig } from "@lodestar/config";
7
7
  import type { LoggerNode } from "@lodestar/logger/node";
8
8
  import { ResponseIncoming, ResponseOutgoing } from "@lodestar/reqresp";
9
- import { phase0 } from "@lodestar/types";
9
+ import { Status } from "@lodestar/types";
10
10
  import { Metrics } from "../../metrics/index.js";
11
11
  import { AsyncIterableBridgeHandler } from "../../util/asyncIterableToEvents.js";
12
12
  import { PeerIdStr } from "../../util/peerId.js";
@@ -21,7 +21,8 @@ export type WorkerNetworkCoreOpts = NetworkOptions & {
21
21
  peerStoreDir?: string;
22
22
  activeValidatorCount: number;
23
23
  genesisTime: number;
24
- initialStatus: phase0.Status;
24
+ initialStatus: Status;
25
+ initialCustodyGroupCount: number;
25
26
  };
26
27
  export type WorkerNetworkCoreInitModules = {
27
28
  opts: WorkerNetworkCoreOpts;
@@ -49,7 +50,7 @@ export declare class WorkerNetworkCore implements INetworkCore {
49
50
  close(): Promise<void>;
50
51
  test(): Promise<void>;
51
52
  scrapeMetrics(): Promise<string>;
52
- updateStatus(status: phase0.Status): Promise<void>;
53
+ updateStatus(status: Status): Promise<void>;
53
54
  reStatusPeers(peers: PeerIdStr[]): Promise<void>;
54
55
  reportPeer(peer: PeerIdStr, action: PeerAction, actionName: string): Promise<void>;
55
56
  prepareBeaconCommitteeSubnets(subscriptions: CommitteeSubscription[]): Promise<void>;
@@ -61,6 +62,7 @@ export declare class WorkerNetworkCore implements INetworkCore {
61
62
  getNetworkIdentity(): Promise<routes.node.NetworkIdentity>;
62
63
  sendReqRespRequest(data: OutgoingRequestArgs): AsyncIterable<ResponseIncoming>;
63
64
  publishGossip(topic: string, data: Uint8Array, opts?: PublishOpts): Promise<number>;
65
+ setTargetGroupCount(count: number): Promise<void>;
64
66
  connectToPeer(peer: PeerIdStr, multiaddr: MultiaddrStr[]): Promise<void>;
65
67
  disconnectPeer(peer: PeerIdStr): Promise<void>;
66
68
  dumpPeers(): Promise<routes.lodestar.LodestarNodePeer[]>;
@@ -36,7 +36,7 @@ export class WorkerNetworkCore {
36
36
  }
37
37
  static async init(modules) {
38
38
  const { opts, config, privateKey } = modules;
39
- const { genesisTime, peerStoreDir, activeValidatorCount, localMultiaddrs, metricsEnabled, initialStatus } = opts;
39
+ const { genesisTime, peerStoreDir, activeValidatorCount, localMultiaddrs, metricsEnabled, initialStatus, initialCustodyGroupCount, } = opts;
40
40
  const workerData = {
41
41
  opts,
42
42
  chainConfigJson: chainConfigToJson(config),
@@ -47,6 +47,7 @@ export class WorkerNetworkCore {
47
47
  peerStoreDir,
48
48
  genesisTime,
49
49
  initialStatus,
50
+ initialCustodyGroupCount,
50
51
  activeValidatorCount,
51
52
  loggerOpts: modules.logger.toOpts(),
52
53
  };
@@ -135,6 +136,10 @@ export class WorkerNetworkCore {
135
136
  publishGossip(topic, data, opts) {
136
137
  return this.getApi().publishGossip(topic, data, opts);
137
138
  }
139
+ // Custody
140
+ setTargetGroupCount(count) {
141
+ return this.getApi().setTargetGroupCount(count);
142
+ }
138
143
  // Debug
139
144
  connectToPeer(peer, multiaddr) {
140
145
  return this.getApi().connectToPeer(peer, multiaddr);
@@ -1 +1 @@
1
- {"version":3,"file":"networkCoreWorkerHandler.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorkerHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkCoreWorkerHandler.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorkerHandler.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { routes } from "@lodestar/api";
4
4
  import { SpecJson } from "@lodestar/config";
5
5
  import { LoggerNodeOpts } from "@lodestar/logger/node";
6
6
  import { ResponseIncoming } from "@lodestar/reqresp";
7
- import { phase0 } from "@lodestar/types";
7
+ import { Status } from "@lodestar/types";
8
8
  import { PeerIdStr } from "../../util/peerId.js";
9
9
  import { NetworkOptions } from "../options.js";
10
10
  import { PeerAction, PeerScoreStats } from "../peers/index.js";
@@ -37,7 +37,8 @@ export interface INetworkCore extends INetworkCorePublic {
37
37
  getConnectedPeers(): Promise<PeerIdStr[]>;
38
38
  getConnectedPeerCount(): Promise<number>;
39
39
  /** Chain must push status updates to the network core */
40
- updateStatus(status: phase0.Status): Promise<void>;
40
+ updateStatus(status: Status): Promise<void>;
41
+ setTargetGroupCount(count: number): Promise<void>;
41
42
  /** Opens stream to handle ReqResp outgoing request */
42
43
  sendReqRespRequest(data: OutgoingRequestArgs): AsyncIterable<ResponseIncoming>;
43
44
  /** Publish gossip message to peers */
@@ -58,7 +59,8 @@ export type NetworkWorkerData = {
58
59
  genesisValidatorsRoot: Uint8Array;
59
60
  genesisTime: number;
60
61
  activeValidatorCount: number;
61
- initialStatus: phase0.Status;
62
+ initialStatus: Status;
63
+ initialCustodyGroupCount: number;
62
64
  privateKeyProto: Uint8Array;
63
65
  localMultiaddrs: string[];
64
66
  metricsEnabled: boolean;
@@ -74,7 +76,8 @@ export type NetworkWorkerApi = INetworkCorePublic & {
74
76
  reStatusPeers(peers: PeerIdStr[]): Promise<void>;
75
77
  getConnectedPeers(): Promise<PeerIdStr[]>;
76
78
  getConnectedPeerCount(): Promise<number>;
77
- updateStatus(status: phase0.Status): Promise<void>;
79
+ updateStatus(status: Status): Promise<void>;
80
+ setTargetGroupCount(count: number): Promise<void>;
78
81
  publishGossip(topic: string, data: Uint8Array, opts?: PublishOpts): Promise<number>;
79
82
  close(): Promise<void>;
80
83
  scrapeMetrics(): Promise<string>;
@@ -1,5 +1,5 @@
1
1
  import { PeerId, TopicValidatorResult } from "@libp2p/interface";
2
- import { RootHex, phase0 } from "@lodestar/types";
2
+ import { CustodyIndex, RootHex, Status } from "@lodestar/types";
3
3
  import { BlockInput, NullBlockInput } from "../chain/blocks/types.js";
4
4
  import { PeerIdStr } from "../util/peerId.js";
5
5
  import { StrictEventEmitterSingleArg } from "../util/strictEvents.js";
@@ -23,7 +23,9 @@ export declare enum NetworkEvent {
23
23
  export type NetworkEventData = {
24
24
  [NetworkEvent.peerConnected]: {
25
25
  peer: PeerIdStr;
26
- status: phase0.Status;
26
+ status: Status;
27
+ custodyGroups: CustodyIndex[];
28
+ clientAgent: string;
27
29
  };
28
30
  [NetworkEvent.peerDisconnected]: {
29
31
  peer: PeerIdStr;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/network/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAMzC,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAIvD,MAAM,CAAN,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,4DAA4D;IAC5D,6DAA6C,CAAA;IAC7C,mCAAmC;IACnC,mEAAmD,CAAA;IACnD,mDAAmC,CAAA;IACnC,6FAA6F;IAC7F,yDAAyC,CAAA;IACzC,6CAA6B,CAAA;IAC7B,uDAAuC,CAAA;IAEvC,2BAA2B;IAC3B,gEAAgE;IAChE,0EAA0D,CAAA;IAC1D,2DAA2D;IAC3D,gFAAgE,CAAA;AAClE,CAAC,EAhBW,YAAY,KAAZ,YAAY,QAgBvB;AAiBD,MAAM,CAAC,MAAM,qBAAqB,GAAyC;IACzE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY;IACzD,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC5D,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,sCAAsC;IAC1F,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC9D,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY;IACxD,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC7D,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,YAAY;IACnE,CAAC,YAAY,CAAC,6BAA6B,CAAC,EAAE,cAAc,CAAC,YAAY;CAC1E,CAAC;AAIF,MAAM,OAAO,eAAgB,SAAS,YAA2C;CAAG"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/network/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAMzC,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAIvD,MAAM,CAAN,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,4DAA4D;IAC5D,6DAA6C,CAAA;IAC7C,mCAAmC;IACnC,mEAAmD,CAAA;IACnD,mDAAmC,CAAA;IACnC,6FAA6F;IAC7F,yDAAyC,CAAA;IACzC,6CAA6B,CAAA;IAC7B,uDAAuC,CAAA;IAEvC,2BAA2B;IAC3B,gEAAgE;IAChE,0EAA0D,CAAA;IAC1D,2DAA2D;IAC3D,gFAAgE,CAAA;AAClE,CAAC,EAhBW,YAAY,KAAZ,YAAY,QAgBvB;AAsBD,MAAM,CAAC,MAAM,qBAAqB,GAAyC;IACzE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY;IACzD,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC5D,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,sCAAsC;IAC1F,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC9D,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY;IACxD,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC7D,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,YAAY;IACnE,CAAC,YAAY,CAAC,6BAA6B,CAAC,EAAE,cAAc,CAAC,YAAY;CAC1E,CAAC;AAIF,MAAM,OAAO,eAAgB,SAAS,YAA2C;CAAG"}
@@ -1,19 +1,19 @@
1
1
  import { GossipSub } from "@chainsafe/libp2p-gossipsub";
2
2
  import { PeerScoreParams } from "@chainsafe/libp2p-gossipsub/score";
3
- import { BeaconConfig } from "@lodestar/config";
4
3
  import { Logger } from "@lodestar/utils";
5
4
  import { RegistryMetricCreator } from "../../metrics/index.js";
6
5
  import { NetworkEventBus } from "../events.js";
7
6
  import { Libp2p } from "../interface.js";
8
7
  import { PeersData } from "../peers/peersData.js";
9
8
  import { GossipTopic } from "./interface.js";
9
+ import { NetworkConfig } from "../networkConfig.js";
10
10
  export type Eth2Context = {
11
11
  activeValidatorCount: number;
12
12
  currentSlot: number;
13
13
  currentEpoch: number;
14
14
  };
15
15
  export type Eth2GossipsubModules = {
16
- config: BeaconConfig;
16
+ networkConfig: NetworkConfig;
17
17
  libp2p: Libp2p;
18
18
  logger: Logger;
19
19
  metricsRegister: RegistryMetricCreator | null;