@lodestar/beacon-node 1.33.0 → 1.34.0-dev.083b7cce17

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 (305) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +175 -56
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/pool/index.js +5 -5
  4. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  5. package/lib/api/impl/beacon/state/index.js +24 -17
  6. package/lib/api/impl/beacon/state/index.js.map +1 -1
  7. package/lib/api/impl/debug/index.d.ts +1 -1
  8. package/lib/api/impl/debug/index.js +24 -1
  9. package/lib/api/impl/debug/index.js.map +1 -1
  10. package/lib/api/impl/events/index.js +1 -1
  11. package/lib/api/impl/events/index.js.map +1 -1
  12. package/lib/api/impl/validator/index.js +72 -49
  13. package/lib/api/impl/validator/index.js.map +1 -1
  14. package/lib/api/impl/validator/utils.d.ts +3 -3
  15. package/lib/api/impl/validator/utils.js +2 -2
  16. package/lib/api/impl/validator/utils.js.map +1 -1
  17. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  18. package/lib/chain/archiveStore/archiveStore.js +2 -2
  19. package/lib/chain/archiveStore/interface.d.ts +1 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  21. package/lib/chain/archiveStore/utils/archiveBlocks.js +91 -21
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  23. package/lib/chain/beaconProposerCache.d.ts +1 -0
  24. package/lib/chain/beaconProposerCache.js +3 -0
  25. package/lib/chain/beaconProposerCache.js.map +1 -1
  26. package/lib/chain/blocks/importBlock.js +3 -2
  27. package/lib/chain/blocks/importBlock.js.map +1 -1
  28. package/lib/chain/blocks/types.d.ts +66 -23
  29. package/lib/chain/blocks/types.js +39 -5
  30. package/lib/chain/blocks/types.js.map +1 -1
  31. package/lib/chain/blocks/utils/blowfishBanner.js +1 -0
  32. package/lib/chain/blocks/utils/blowfishBanner.js.map +1 -1
  33. package/lib/chain/blocks/utils/giraffeBanner.js +1 -0
  34. package/lib/chain/blocks/utils/giraffeBanner.js.map +1 -1
  35. package/lib/chain/blocks/utils/zebraBanner.d.ts +2 -0
  36. package/lib/chain/blocks/utils/zebraBanner.js +46 -0
  37. package/lib/chain/blocks/utils/zebraBanner.js.map +1 -0
  38. package/lib/chain/blocks/verifyBlock.js +18 -5
  39. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  40. package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
  41. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  42. package/lib/chain/blocks/writeBlockInputToDb.js +63 -16
  43. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  44. package/lib/chain/bls/multithread/index.js +2 -2
  45. package/lib/chain/bls/multithread/index.js.map +1 -1
  46. package/lib/chain/chain.d.ts +18 -101
  47. package/lib/chain/chain.js +111 -78
  48. package/lib/chain/chain.js.map +1 -1
  49. package/lib/chain/emitter.d.ts +18 -2
  50. package/lib/chain/emitter.js +13 -0
  51. package/lib/chain/emitter.js.map +1 -1
  52. package/lib/chain/errors/dataColumnSidecarError.d.ts +69 -0
  53. package/lib/chain/errors/dataColumnSidecarError.js +21 -0
  54. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
  55. package/lib/chain/errors/index.d.ts +1 -0
  56. package/lib/chain/errors/index.js +1 -0
  57. package/lib/chain/errors/index.js.map +1 -1
  58. package/lib/chain/forkChoice/index.d.ts +2 -1
  59. package/lib/chain/forkChoice/index.js +2 -2
  60. package/lib/chain/forkChoice/index.js.map +1 -1
  61. package/lib/chain/interface.d.ts +6 -7
  62. package/lib/chain/interface.js.map +1 -1
  63. package/lib/chain/opPools/aggregatedAttestationPool.js +13 -3
  64. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  65. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  66. package/lib/chain/opPools/attestationPool.js +7 -7
  67. package/lib/chain/options.d.ts +4 -1
  68. package/lib/chain/options.js +1 -0
  69. package/lib/chain/options.js.map +1 -1
  70. package/lib/chain/prepareNextSlot.js +4 -2
  71. package/lib/chain/prepareNextSlot.js.map +1 -1
  72. package/lib/chain/produceBlock/produceBlockBody.d.ts +30 -16
  73. package/lib/chain/produceBlock/produceBlockBody.js +28 -28
  74. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  75. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +6 -3
  76. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +28 -4
  77. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  78. package/lib/chain/rewards/syncCommitteeRewards.js +4 -4
  79. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  80. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +64 -18
  81. package/lib/chain/seenCache/seenGossipBlockInput.js +321 -53
  82. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  83. package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
  84. package/lib/chain/validation/aggregateAndProof.js +8 -8
  85. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  86. package/lib/chain/validation/attestation.d.ts +3 -3
  87. package/lib/chain/validation/attestation.js +10 -10
  88. package/lib/chain/validation/attestation.js.map +1 -1
  89. package/lib/chain/validation/dataColumnSidecar.d.ts +29 -0
  90. package/lib/chain/validation/dataColumnSidecar.js +257 -0
  91. package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
  92. package/lib/chain/validation/syncCommitteeContributionAndProof.js +2 -2
  93. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  94. package/lib/db/beacon.d.ts +3 -1
  95. package/lib/db/beacon.js +3 -1
  96. package/lib/db/beacon.js.map +1 -1
  97. package/lib/db/buckets.d.ts +3 -1
  98. package/lib/db/buckets.js +2 -0
  99. package/lib/db/buckets.js.map +1 -1
  100. package/lib/db/interface.d.ts +3 -1
  101. package/lib/db/repositories/dataColumnSidecar.d.ts +26 -0
  102. package/lib/db/repositories/dataColumnSidecar.js +39 -0
  103. package/lib/db/repositories/dataColumnSidecar.js.map +1 -0
  104. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +24 -0
  105. package/lib/db/repositories/dataColumnSidecarArchive.js +39 -0
  106. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -0
  107. package/lib/db/repositories/index.d.ts +2 -0
  108. package/lib/db/repositories/index.js +2 -0
  109. package/lib/db/repositories/index.js.map +1 -1
  110. package/lib/db/repositories/stateArchive.js +1 -1
  111. package/lib/db/repositories/stateArchive.js.map +1 -1
  112. package/lib/execution/builder/http.d.ts +20 -4
  113. package/lib/execution/builder/http.js +30 -11
  114. package/lib/execution/builder/http.js.map +1 -1
  115. package/lib/execution/builder/interface.d.ts +5 -4
  116. package/lib/execution/engine/http.d.ts +8 -5
  117. package/lib/execution/engine/http.js +65 -46
  118. package/lib/execution/engine/http.js.map +1 -1
  119. package/lib/execution/engine/interface.d.ts +6 -13
  120. package/lib/execution/engine/interface.js +1 -1
  121. package/lib/execution/engine/interface.js.map +1 -1
  122. package/lib/execution/engine/mock.d.ts +5 -1
  123. package/lib/execution/engine/mock.js +58 -15
  124. package/lib/execution/engine/mock.js.map +1 -1
  125. package/lib/execution/engine/types.d.ts +15 -5
  126. package/lib/execution/engine/types.js +8 -2
  127. package/lib/execution/engine/types.js.map +1 -1
  128. package/lib/execution/engine/utils.js +1 -1
  129. package/lib/execution/engine/utils.js.map +1 -1
  130. package/lib/metrics/metrics/beacon.d.ts +16 -28
  131. package/lib/metrics/metrics/beacon.js +66 -75
  132. package/lib/metrics/metrics/beacon.js.map +1 -1
  133. package/lib/metrics/metrics/lodestar.d.ts +31 -1
  134. package/lib/metrics/metrics/lodestar.js +63 -0
  135. package/lib/metrics/metrics/lodestar.js.map +1 -1
  136. package/lib/metrics/metrics.d.ts +2 -1
  137. package/lib/metrics/metrics.js +3 -0
  138. package/lib/metrics/metrics.js.map +1 -1
  139. package/lib/network/core/metrics.d.ts +10 -3
  140. package/lib/network/core/metrics.js +22 -4
  141. package/lib/network/core/metrics.js.map +1 -1
  142. package/lib/network/core/networkCore.d.ts +15 -4
  143. package/lib/network/core/networkCore.js +73 -24
  144. package/lib/network/core/networkCore.js.map +1 -1
  145. package/lib/network/core/networkCoreWorker.js +2 -0
  146. package/lib/network/core/networkCoreWorker.js.map +1 -1
  147. package/lib/network/core/networkCoreWorkerHandler.d.ts +5 -3
  148. package/lib/network/core/networkCoreWorkerHandler.js +7 -2
  149. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  150. package/lib/network/core/types.d.ts +7 -4
  151. package/lib/network/events.d.ts +4 -2
  152. package/lib/network/events.js.map +1 -1
  153. package/lib/network/gossip/gossipsub.d.ts +2 -2
  154. package/lib/network/gossip/gossipsub.js +8 -6
  155. package/lib/network/gossip/gossipsub.js.map +1 -1
  156. package/lib/network/gossip/interface.d.ts +8 -1
  157. package/lib/network/gossip/interface.js +1 -0
  158. package/lib/network/gossip/interface.js.map +1 -1
  159. package/lib/network/gossip/scoringParameters.d.ts +6 -2
  160. package/lib/network/gossip/scoringParameters.js.map +1 -1
  161. package/lib/network/gossip/topic.d.ts +2038 -1489
  162. package/lib/network/gossip/topic.js +29 -1
  163. package/lib/network/gossip/topic.js.map +1 -1
  164. package/lib/network/interface.d.ts +11 -3
  165. package/lib/network/metadata.d.ts +9 -5
  166. package/lib/network/metadata.js +26 -5
  167. package/lib/network/metadata.js.map +1 -1
  168. package/lib/network/network.d.ts +14 -4
  169. package/lib/network/network.js +73 -11
  170. package/lib/network/network.js.map +1 -1
  171. package/lib/network/networkConfig.d.ts +12 -0
  172. package/lib/network/networkConfig.js +2 -0
  173. package/lib/network/networkConfig.js.map +1 -0
  174. package/lib/network/options.d.ts +1 -0
  175. package/lib/network/options.js +7 -2
  176. package/lib/network/options.js.map +1 -1
  177. package/lib/network/peers/discover.d.ts +8 -3
  178. package/lib/network/peers/discover.js +99 -14
  179. package/lib/network/peers/discover.js.map +1 -1
  180. package/lib/network/peers/peerManager.d.ts +10 -4
  181. package/lib/network/peers/peerManager.js +108 -19
  182. package/lib/network/peers/peerManager.js.map +1 -1
  183. package/lib/network/peers/peersData.d.ts +17 -3
  184. package/lib/network/peers/peersData.js.map +1 -1
  185. package/lib/network/peers/score/interface.d.ts +1 -1
  186. package/lib/network/peers/score/score.d.ts +2 -2
  187. package/lib/network/peers/score/score.js +4 -1
  188. package/lib/network/peers/score/score.js.map +1 -1
  189. package/lib/network/peers/score/store.d.ts +3 -1
  190. package/lib/network/peers/score/store.js +6 -2
  191. package/lib/network/peers/score/store.js.map +1 -1
  192. package/lib/network/peers/utils/assertPeerRelevance.d.ts +7 -3
  193. package/lib/network/peers/utils/assertPeerRelevance.js +10 -1
  194. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  195. package/lib/network/peers/utils/prioritizePeers.d.ts +19 -7
  196. package/lib/network/peers/utils/prioritizePeers.js +42 -6
  197. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  198. package/lib/network/processor/extractSlotRootFns.js +8 -1
  199. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  200. package/lib/network/processor/gossipHandlers.js +172 -23
  201. package/lib/network/processor/gossipHandlers.js.map +1 -1
  202. package/lib/network/processor/gossipQueues/index.js +5 -0
  203. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  204. package/lib/network/processor/index.js +1 -0
  205. package/lib/network/processor/index.js.map +1 -1
  206. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
  207. package/lib/network/reqresp/ReqRespBeaconNode.js +36 -14
  208. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  209. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +24 -4
  210. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +261 -20
  211. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  212. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +37 -6
  213. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +283 -28
  214. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  215. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  216. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -3
  217. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  218. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +2 -2
  219. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  220. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +2 -2
  221. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -3
  222. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  223. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
  224. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +113 -0
  225. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
  226. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
  227. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +64 -0
  228. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
  229. package/lib/network/reqresp/handlers/index.js +13 -2
  230. package/lib/network/reqresp/handlers/index.js.map +1 -1
  231. package/lib/network/reqresp/protocols.d.ts +4 -0
  232. package/lib/network/reqresp/protocols.js +20 -0
  233. package/lib/network/reqresp/protocols.js.map +1 -1
  234. package/lib/network/reqresp/rateLimit.js +19 -3
  235. package/lib/network/reqresp/rateLimit.js.map +1 -1
  236. package/lib/network/reqresp/score.js +3 -0
  237. package/lib/network/reqresp/score.js.map +1 -1
  238. package/lib/network/reqresp/types.d.ts +13 -6
  239. package/lib/network/reqresp/types.js +14 -5
  240. package/lib/network/reqresp/types.js.map +1 -1
  241. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +16 -0
  242. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +59 -0
  243. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -0
  244. package/lib/network/statusCache.d.ts +5 -5
  245. package/lib/network/statusCache.js.map +1 -1
  246. package/lib/network/subnets/interface.d.ts +3 -0
  247. package/lib/network/subnets/interface.js +14 -1
  248. package/lib/network/subnets/interface.js.map +1 -1
  249. package/lib/network/subnets/syncnetsService.js +4 -5
  250. package/lib/network/subnets/syncnetsService.js.map +1 -1
  251. package/lib/node/nodejs.js +1 -0
  252. package/lib/node/nodejs.js.map +1 -1
  253. package/lib/sync/backfill/backfill.js +1 -1
  254. package/lib/sync/backfill/backfill.js.map +1 -1
  255. package/lib/sync/constants.d.ts +18 -3
  256. package/lib/sync/constants.js +21 -3
  257. package/lib/sync/constants.js.map +1 -1
  258. package/lib/sync/interface.d.ts +2 -2
  259. package/lib/sync/interface.js +1 -1
  260. package/lib/sync/interface.js.map +1 -1
  261. package/lib/sync/range/batch.d.ts +17 -2
  262. package/lib/sync/range/batch.js +39 -7
  263. package/lib/sync/range/batch.js.map +1 -1
  264. package/lib/sync/range/chain.d.ts +15 -1
  265. package/lib/sync/range/chain.js +124 -33
  266. package/lib/sync/range/chain.js.map +1 -1
  267. package/lib/sync/range/range.d.ts +3 -2
  268. package/lib/sync/range/range.js +9 -3
  269. package/lib/sync/range/range.js.map +1 -1
  270. package/lib/sync/range/utils/chainTarget.d.ts +5 -1
  271. package/lib/sync/range/utils/chainTarget.js +26 -1
  272. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  273. package/lib/sync/range/utils/peerBalancer.d.ts +19 -5
  274. package/lib/sync/range/utils/peerBalancer.js +104 -10
  275. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  276. package/lib/sync/sync.js +1 -1
  277. package/lib/sync/sync.js.map +1 -1
  278. package/lib/sync/unknownBlock.d.ts +54 -5
  279. package/lib/sync/unknownBlock.js +321 -61
  280. package/lib/sync/unknownBlock.js.map +1 -1
  281. package/lib/sync/utils/remoteSyncType.d.ts +4 -4
  282. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  283. package/lib/util/blobs.d.ts +16 -4
  284. package/lib/util/blobs.js +122 -5
  285. package/lib/util/blobs.js.map +1 -1
  286. package/lib/util/dataColumns.d.ts +137 -0
  287. package/lib/util/dataColumns.js +362 -0
  288. package/lib/util/dataColumns.js.map +1 -0
  289. package/lib/util/metadata.d.ts +5 -0
  290. package/lib/util/metadata.js +10 -0
  291. package/lib/util/metadata.js.map +1 -1
  292. package/lib/util/queue/fnQueue.js +1 -1
  293. package/lib/util/queue/fnQueue.js.map +1 -1
  294. package/lib/util/queue/itemQueue.js +1 -1
  295. package/lib/util/queue/itemQueue.js.map +1 -1
  296. package/lib/util/sszBytes.d.ts +3 -0
  297. package/lib/util/sszBytes.js +40 -0
  298. package/lib/util/sszBytes.js.map +1 -1
  299. package/lib/util/types.d.ts +7 -0
  300. package/lib/util/types.js +3 -0
  301. package/lib/util/types.js.map +1 -1
  302. package/package.json +19 -20
  303. package/lib/network/reqresp/handlers/status.d.ts +0 -4
  304. package/lib/network/reqresp/handlers/status.js +0 -11
  305. package/lib/network/reqresp/handlers/status.js.map +0 -1
@@ -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,16 +113,22 @@ 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
116
- // biome-ignore lint/style/useConst: <explanation>
117
120
  let discv5;
118
121
  const onMetadataSetValue = function onMetadataSetValue(key, value) {
119
122
  discv5?.setEnrValue(key, value).catch((e) => logger.error("error on setEnrValue", { key }, e));
120
123
  };
121
- const metadata = new MetadataController({}, { config, logger, onSetValue: onMetadataSetValue });
124
+ const peerId = peerIdFromPrivateKey(privateKey);
125
+ const nodeId = computeNodeId(peerId);
126
+ const networkConfig = {
127
+ nodeId,
128
+ config,
129
+ custodyConfig: new CustodyConfig({ nodeId, config, initialCustodyGroupCount }),
130
+ };
131
+ const metadata = new MetadataController({}, { networkConfig, logger, onSetValue: onMetadataSetValue });
122
132
  const reqResp = new ReqRespBeaconNode({
123
133
  config,
124
134
  libp2p,
@@ -132,7 +142,7 @@ export class NetworkCore {
132
142
  getHandler: getReqRespHandler,
133
143
  }, opts);
134
144
  const gossip = new Eth2Gossipsub(opts, {
135
- config,
145
+ networkConfig,
136
146
  libp2p,
137
147
  logger,
138
148
  metricsRegister: metricsRegistry,
@@ -149,9 +159,7 @@ export class NetworkCore {
149
159
  await reqResp.start();
150
160
  // should be called before AttnetsService constructor so that node subscribe to deterministic attnet topics
151
161
  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);
162
+ const attnetsService = new AttnetsService(config, clock, gossip, metadata, logger, metrics, networkConfig.nodeId, opts);
155
163
  const syncnetsService = new SyncnetsService(config, clock, gossip, metadata, logger, metrics, opts);
156
164
  const peerManager = await PeerManager.init({
157
165
  privateKey,
@@ -163,9 +171,9 @@ export class NetworkCore {
163
171
  logger,
164
172
  metrics,
165
173
  clock,
166
- config,
167
174
  peerRpcScores,
168
175
  events,
176
+ networkConfig,
169
177
  peersData,
170
178
  statusCache,
171
179
  }, opts);
@@ -185,6 +193,7 @@ export class NetworkCore {
185
193
  attnetsService,
186
194
  syncnetsService,
187
195
  peerManager,
196
+ networkConfig,
188
197
  peersData,
189
198
  metadata,
190
199
  logger,
@@ -216,6 +225,9 @@ export class NetworkCore {
216
225
  this.logger.debug("network lib2p closed");
217
226
  this.closed = true;
218
227
  }
228
+ getNetworkConfig() {
229
+ return this.networkConfig;
230
+ }
219
231
  async scrapeMetrics() {
220
232
  return [
221
233
  (await this.metrics?.register.metrics()) ?? "",
@@ -255,7 +267,7 @@ export class NetworkCore {
255
267
  this.logger.info("Subscribed gossip core topics");
256
268
  }
257
269
  for (const boundary of getActiveForkBoundaries(this.config, this.clock.currentEpoch)) {
258
- this.subscribeCoreTopicsAtBoundary(this.config, boundary);
270
+ this.subscribeCoreTopicsAtBoundary(this.networkConfig, boundary);
259
271
  }
260
272
  }
261
273
  /**
@@ -263,7 +275,7 @@ export class NetworkCore {
263
275
  */
264
276
  async unsubscribeGossipCoreTopics() {
265
277
  for (const boundary of this.forkBoundariesByEpoch.values()) {
266
- this.unsubscribeCoreTopicsAtBoundary(this.config, boundary);
278
+ this.unsubscribeCoreTopicsAtBoundary(this.networkConfig, boundary);
267
279
  }
268
280
  }
269
281
  async isSubscribedToGossipCoreTopics() {
@@ -277,19 +289,52 @@ export class NetworkCore {
277
289
  const { recipients } = await this.gossip.publish(topic, data, opts);
278
290
  return recipients.length;
279
291
  }
292
+ /**
293
+ * Handler of ChainEvent.updateTargetCustodyGroupCount event
294
+ * Updates the target custody group count in the network config and metadata.
295
+ * Also subscribes to new data_column_sidecar subnet topics for the new custody group count.
296
+ */
297
+ async setTargetGroupCount(count) {
298
+ this.networkConfig.custodyConfig.updateTargetCustodyGroupCount(count);
299
+ this.metadata.custodyGroupCount = count;
300
+ // cannot call subscribeGossipCoreTopics() because we subsribed to core topics already
301
+ // we only need to subscribe to more data_column_sidecar topics
302
+ const dataColumnSubnetTopics = getDataColumnSidecarTopics(this.networkConfig);
303
+ const activeBoundaries = getActiveForkBoundaries(this.config, this.clock.currentEpoch);
304
+ for (const boundary of activeBoundaries) {
305
+ for (const topic of dataColumnSubnetTopics) {
306
+ // there are existing subscriptions for old subnets, in that case gossipsub will just ignore
307
+ this.gossip.subscribeTopic({ ...topic, boundary });
308
+ }
309
+ }
310
+ }
280
311
  // REST API queries
281
312
  async getNetworkIdentity() {
282
313
  // biome-ignore lint/complexity/useLiteralKeys: `discovery` is a private attribute
283
314
  const enr = await this.peerManager["discovery"]?.discv5.enr();
315
+ // enr.getFullMultiaddr can counterintuitively return undefined near startup if the enr.ip or enr.ip6 is not set.
316
+ // Eventually, the enr will be updated with the correct ip after discv5 runs for a while.
317
+ // Node's addresses on which is listening for discv5 requests.
318
+ // The example provided by the beacon-APIs show a _full_ multiaddr, ie including the peer id, so we include it.
284
319
  const discoveryAddresses = [
285
- enr?.getLocationMultiaddr("tcp")?.toString() ?? null,
286
- enr?.getLocationMultiaddr("udp")?.toString() ?? null,
320
+ (await enr?.getFullMultiaddr("udp"))?.toString(),
321
+ (await enr?.getFullMultiaddr("udp6"))?.toString(),
322
+ ].filter((addr) => Boolean(addr));
323
+ // Node's addresses on which eth2 RPC requests are served.
324
+ const p2pAddresses = [
325
+ // It is useful to include listen multiaddrs even if they likely aren't public IPs
326
+ // This means that we will always return some multiaddrs
327
+ ...this.libp2p.getMultiaddrs().map((ma) => ma.toString()),
328
+ (await enr?.getFullMultiaddr("tcp"))?.toString(),
329
+ (await enr?.getFullMultiaddr("tcp6"))?.toString(),
330
+ (await enr?.getFullMultiaddr("quic"))?.toString(),
331
+ (await enr?.getFullMultiaddr("quic6"))?.toString(),
287
332
  ].filter((addr) => Boolean(addr));
288
333
  return {
289
334
  peerId: peerIdToString(this.libp2p.peerId),
290
335
  enr: enr?.encodeTxt() || "",
291
336
  discoveryAddresses,
292
- p2pAddresses: this.libp2p.getMultiaddrs().map((m) => m.toString()),
337
+ p2pAddresses,
293
338
  metadata: this.metadata.json,
294
339
  };
295
340
  }
@@ -318,10 +363,14 @@ export class NetworkCore {
318
363
  _dumpPeer(peerIdStr, connections) {
319
364
  const peerData = this.peersData.connectedPeers.get(peerIdStr);
320
365
  const fork = this.config.getForkName(this.clock.currentSlot);
366
+ if (isForkPostFulu(fork) && peerData?.status) {
367
+ peerData.status.earliestAvailableSlot =
368
+ peerData.status.earliestAvailableSlot ?? 0;
369
+ }
321
370
  return {
322
371
  ...formatNodePeer(peerIdStr, connections),
323
372
  agentVersion: peerData?.agentVersion ?? "NA",
324
- status: peerData?.status ? ssz.phase0.Status.toJson(peerData.status) : null,
373
+ status: peerData?.status ? sszTypesFor(fork).Status.toJson(peerData.status) : null,
325
374
  metadata: peerData?.metadata ? sszTypesFor(fork).Metadata.toJson(peerData.metadata) : null,
326
375
  agentClient: String(peerData?.agentClient ?? "Unknown"),
327
376
  lastReceivedMsgUnixTsMs: peerData?.lastReceivedMsgUnixTsMs ?? 0,
@@ -367,24 +416,24 @@ export class NetworkCore {
367
416
  // biome-ignore lint/complexity/useLiteralKeys: `discovery` is a private attribute
368
417
  return this.peerManager["discovery"]?.discv5.writeHeapSnapshot(prefix, dirpath) ?? Promise.resolve("no discv5");
369
418
  }
370
- subscribeCoreTopicsAtBoundary(config, boundary) {
419
+ subscribeCoreTopicsAtBoundary(networkConfig, boundary) {
371
420
  if (this.forkBoundariesByEpoch.has(boundary.epoch))
372
421
  return;
373
422
  this.forkBoundariesByEpoch.set(boundary.epoch, boundary);
374
423
  const { subscribeAllSubnets, disableLightClientServer } = this.opts;
375
- for (const topic of getCoreTopicsAtFork(config, boundary.fork, {
424
+ for (const topic of getCoreTopicsAtFork(networkConfig, boundary.fork, {
376
425
  subscribeAllSubnets,
377
426
  disableLightClientServer,
378
427
  })) {
379
428
  this.gossip.subscribeTopic({ ...topic, boundary });
380
429
  }
381
430
  }
382
- unsubscribeCoreTopicsAtBoundary(config, boundary) {
431
+ unsubscribeCoreTopicsAtBoundary(networkConfig, boundary) {
383
432
  if (!this.forkBoundariesByEpoch.has(boundary.epoch))
384
433
  return;
385
434
  this.forkBoundariesByEpoch.delete(boundary.epoch);
386
435
  const { subscribeAllSubnets, disableLightClientServer } = this.opts;
387
- for (const topic of getCoreTopicsAtFork(config, boundary.fork, {
436
+ for (const topic of getCoreTopicsAtFork(networkConfig, boundary.fork, {
388
437
  subscribeAllSubnets,
389
438
  disableLightClientServer,
390
439
  })) {
@@ -1 +1 @@
1
- {"version":3,"file":"networkCore.js","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAQnC,OAAO,EAAgB,GAAG,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAC,UAAU,EAAS,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAY,gBAAgB,EAAE,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAa,iBAAiB,EAAiB,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAqB,wBAAwB,EAAC,MAAM,cAAc,CAAC;AAkC1E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,WAAW;IAsBtB,YAAY,OAAa;QAJzB,iBAAiB;QACA,0BAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAChE,WAAM,GAAG,KAAK,CAAC;QA+VvB;;WAEG;QACK,YAAO,GAAG,KAAK,EAAE,KAAY,EAAiB,EAAE;YACtD,IAAI,CAAC;gBACH,kHAAkH;gBAClH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,2DAA2D;oBAC3D,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC1C,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACzC,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC7C,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC;wBAE7C,kCAAkC;wBAClC,IAAI,KAAK,KAAK,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;4BACvD,kFAAkF;4BAClF,IAAI,MAAM,IAAI,CAAC,8BAA8B,EAAE,EAAE,CAAC;gCAChD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gCAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,YAAY,CAAC,CAAC;4BACrF,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE,YAAY,CAAC,CAAC;4BAC9F,CAAC;4BACD,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;4BAC/D,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;wBAClE,CAAC;wBAED,8BAA8B;wBAC9B,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;4BAChC,0GAA0G;4BAC1G,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;4BACrC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;wBACzD,CAAC;wBAED,iCAAiC;wBACjC,IAAI,KAAK,KAAK,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;4BACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE,YAAY,CAAC,CAAC;4BACxF,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;4BAChE,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;4BACjE,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;wBACpE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAC,KAAK,EAAC,EAAE,CAAU,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,CAAC;QA1YA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAChB,IAAI,EACJ,MAAM,EACN,UAAU,EACV,YAAY,EACZ,MAAM,EACN,eAAe,EACf,MAAM,EACN,KAAK,EACL,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACG;QAChB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE;YACxD,YAAY;YACZ,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;YACjC,eAAe,EAAE,eAAe,IAAI,SAAS;SAC9C,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAExD,sCAAsC;QACtC,kGAAkG;QAClG,kDAAkD;QAClD,IAAI,MAAgC,CAAC;QACrC,MAAM,kBAAkB,GAAG,SAAS,kBAAkB,CAAC,GAAW,EAAE,KAAiB;YACnF,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,IAAI,iBAAiB,CACnC;YACE,MAAM;YACN,MAAM;YACN,QAAQ;YACR,aAAa;YACb,MAAM;YACN,MAAM;YACN,OAAO;YACP,SAAS;YACT,WAAW;YACX,UAAU,EAAE,iBAAiB;SAC9B,EACD,IAAI,CACL,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE;YACrC,MAAM;YACN,MAAM;YACN,MAAM;YACN,eAAe,EAAE,eAAe;YAChC,WAAW,EAAE;gBACX,oBAAoB;gBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC;YACD,SAAS;YACT,MAAM;SACP,CAAC,CAAC;QAEH,wEAAwE;QACxE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,2GAA2G;QAC3G,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1G,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEpG,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CACxC;YACE,UAAU;YACV,MAAM;YACN,MAAM;YACN,OAAO;YACP,cAAc;YACd,eAAe;YACf,MAAM;YACN,OAAO;YACP,KAAK;YACL,MAAM;YACN,aAAa;YACb,MAAM;YACN,SAAS;YACT,WAAW;SACZ,EACD,IAAI,CACL,CAAC;QAEF,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEnE,4DAA4D;QAC5D,OAAO,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAE9C,sCAAsC;QACtC,kFAAkF;QAClF,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAE1C,mCAAmC;QACnC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE5C,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM;YACN,OAAO;YACP,MAAM;YACN,cAAc;YACd,eAAe;YACf,WAAW;YACX,SAAS;YACT,QAAQ;YACR,MAAM;YACN,MAAM;YACN,KAAK;YACL,WAAW;YACX,OAAO;YACP,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,qDAAqD;QACrD,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO;YACL,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;YAC9C,kFAAkF;YAClF,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE;SACpE;aACE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/B,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAqB;QACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAe,EAAE,MAAkB,EAAE,UAAkB;QACtE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,KAAkB;QACpC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,6BAA6B,CAAC,aAAsC;QACxE,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,aAAsC;QACtE,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,2BAA2B;QAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,8BAA8B;QAClC,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,IAAyB;QAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACvG,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,IAAgB,EAAE,IAA8B;QACjF,MAAM,EAAC,UAAU,EAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,kBAAkB;QACtB,kFAAkF;QAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QAC9D,MAAM,kBAAkB,GAAG;YACzB,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI;YACpD,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI;SACrD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAElD,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1C,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3B,kBAAkB;YAClB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;SAC7B,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,MAAM,CAAC,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC;IACvD,CAAC;IAED,QAAQ;IAER,KAAK,CAAC,aAAa,CAAC,SAAoB,EAAE,eAA+B;QACvE,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QACtF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAoB;QACvC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC;IAEO,SAAS,CAAC,SAAiB,EAAE,WAAyB;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,OAAO;YACL,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;YACzC,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,IAAI;YAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3E,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1F,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS,CAAC;YACvD,uBAAuB,EAAE,QAAQ,EAAE,uBAAuB,IAAI,CAAC;YAC/D,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,IAAI,CAAC;YACrD,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,IAAI,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CACxF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,kFAAkF;QAClF,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YAC5C,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,OAAe;QAC1D,kFAAkF;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC;IAChG,CAAC;IAED,wBAAwB;QACtB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,uBAAuB,CAAC,MAAc,EAAE,OAAe;QACrD,kFAAkF;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClH,CAAC;IAkDO,6BAA6B,CAAC,MAAoB,EAAE,QAAsB;QAChF,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAC3D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAElE,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;YAC7D,mBAAmB;YACnB,wBAAwB;SACzB,CAAC,EAAE,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,+BAA+B,CAAC,MAAoB,EAAE,QAAsB;QAClF,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAC5D,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAElE,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;YAC7D,mBAAmB;YACnB,wBAAwB;SACzB,CAAC,EAAE,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
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
  };
@@ -65,7 +66,7 @@ export class WorkerNetworkCore {
65
66
  */
66
67
  resourceLimits: { maxYoungGenerationSizeMb: opts.maxYoungGenerationSizeMb },
67
68
  });
68
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
69
+ // biome-ignore lint/suspicious/noExplicitAny: Don't know any specific interface for the spawn
69
70
  const networkThreadApi = (await spawn(worker, {
70
71
  // A Lodestar Node may do very expensive task at start blocking the event loop and causing
71
72
  // the initialization to timeout. The number below is big enough to almost disable the timeout
@@ -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;
@@ -30,9 +30,10 @@ const MAX_OUTBOUND_BUFFER_SIZE = 2 ** 24; // 16MB
30
30
  export class Eth2Gossipsub extends GossipSub {
31
31
  constructor(opts, modules) {
32
32
  const { allowPublishToZeroPeers, gossipsubD, gossipsubDLow, gossipsubDHigh } = opts;
33
- const gossipTopicCache = new GossipTopicCache(modules.config);
34
- const scoreParams = computeGossipPeerScoreParams(modules);
35
- const { config, logger, metricsRegister, peersData, events } = modules;
33
+ const { networkConfig, logger, metricsRegister, peersData, events } = modules;
34
+ const { config } = networkConfig;
35
+ const gossipTopicCache = new GossipTopicCache(config);
36
+ const scoreParams = computeGossipPeerScoreParams({ config, eth2Context: modules.eth2Context });
36
37
  // Gossipsub parameters defined here:
37
38
  // https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub
38
39
  super(modules.libp2p.services.components, {
@@ -67,7 +68,7 @@ export class Eth2Gossipsub extends GossipSub {
67
68
  dataTransform: new DataTransformSnappy(gossipTopicCache, Number.isFinite(config.BELLATRIX_FORK_EPOCH) ? GOSSIP_MAX_SIZE_BELLATRIX : GOSSIP_MAX_SIZE),
68
69
  metricsRegister: metricsRegister,
69
70
  metricsTopicStrToLabel: metricsRegister
70
- ? getMetricsTopicStrToLabel(config, { disableLightClientServer: opts.disableLightClientServer ?? false })
71
+ ? getMetricsTopicStrToLabel(networkConfig, { disableLightClientServer: opts.disableLightClientServer ?? false })
71
72
  : undefined,
72
73
  asyncValidation: true,
73
74
  maxOutboundBufferSize: MAX_OUTBOUND_BUFFER_SIZE,
@@ -252,7 +253,8 @@ function attSubnetLabel(subnet) {
252
253
  return String(subnet);
253
254
  return `0${subnet}`;
254
255
  }
255
- function getMetricsTopicStrToLabel(config, opts) {
256
+ function getMetricsTopicStrToLabel(networkConfig, opts) {
257
+ const { config } = networkConfig;
256
258
  const metricsTopicStrToLabel = new Map();
257
259
  const { forkBoundariesAscendingEpochOrder } = config;
258
260
  for (let i = 0; i < forkBoundariesAscendingEpochOrder.length; i++) {
@@ -262,7 +264,7 @@ function getMetricsTopicStrToLabel(config, opts) {
262
264
  if (nextForkBoundary && currentForkBoundary.epoch === nextForkBoundary.epoch) {
263
265
  continue;
264
266
  }
265
- const topics = getCoreTopicsAtFork(config, currentForkBoundary.fork, {
267
+ const topics = getCoreTopicsAtFork(networkConfig, currentForkBoundary.fork, {
266
268
  subscribeAllSubnets: true,
267
269
  disableLightClientServer: opts.disableLightClientServer,
268
270
  });