@lodestar/beacon-node 1.32.0-dev.ea8c82564a → 1.32.0-peerDAS.23530b6726

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 (250) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +40 -14
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/state/index.js +1 -13
  4. package/lib/api/impl/beacon/state/index.js.map +1 -1
  5. package/lib/api/impl/debug/index.d.ts +1 -1
  6. package/lib/api/impl/debug/index.js +24 -1
  7. package/lib/api/impl/debug/index.js.map +1 -1
  8. package/lib/api/impl/validator/index.js +29 -43
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  11. package/lib/chain/archiveStore/archiveStore.js +2 -2
  12. package/lib/chain/archiveStore/interface.d.ts +1 -1
  13. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  14. package/lib/chain/archiveStore/utils/archiveBlocks.js +88 -23
  15. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  16. package/lib/chain/beaconProposerCache.d.ts +1 -0
  17. package/lib/chain/beaconProposerCache.js +3 -0
  18. package/lib/chain/beaconProposerCache.js.map +1 -1
  19. package/lib/chain/blocks/importBlock.js +25 -15
  20. package/lib/chain/blocks/importBlock.js.map +1 -1
  21. package/lib/chain/blocks/types.d.ts +65 -24
  22. package/lib/chain/blocks/types.js +39 -6
  23. package/lib/chain/blocks/types.js.map +1 -1
  24. package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
  25. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  26. package/lib/chain/blocks/writeBlockInputToDb.js +89 -15
  27. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  28. package/lib/chain/chain.d.ts +16 -8
  29. package/lib/chain/chain.js +27 -4
  30. package/lib/chain/chain.js.map +1 -1
  31. package/lib/chain/emitter.d.ts +18 -2
  32. package/lib/chain/emitter.js +13 -0
  33. package/lib/chain/emitter.js.map +1 -1
  34. package/lib/chain/errors/dataColumnSidecarError.d.ts +69 -0
  35. package/lib/chain/errors/dataColumnSidecarError.js +21 -0
  36. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
  37. package/lib/chain/errors/index.d.ts +1 -0
  38. package/lib/chain/errors/index.js +1 -0
  39. package/lib/chain/errors/index.js.map +1 -1
  40. package/lib/chain/interface.d.ts +11 -5
  41. package/lib/chain/interface.js.map +1 -1
  42. package/lib/chain/options.d.ts +4 -1
  43. package/lib/chain/options.js +4 -0
  44. package/lib/chain/options.js.map +1 -1
  45. package/lib/chain/produceBlock/produceBlockBody.d.ts +5 -3
  46. package/lib/chain/produceBlock/produceBlockBody.js +117 -141
  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 +25 -2
  50. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  51. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +61 -18
  52. package/lib/chain/seenCache/seenGossipBlockInput.js +254 -53
  53. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  54. package/lib/chain/validation/blobSidecar.d.ts +1 -1
  55. package/lib/chain/validation/blobSidecar.js +6 -6
  56. package/lib/chain/validation/blobSidecar.js.map +1 -1
  57. package/lib/chain/validation/dataColumnSidecar.d.ts +28 -0
  58. package/lib/chain/validation/dataColumnSidecar.js +245 -0
  59. package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
  60. package/lib/db/beacon.d.ts +3 -1
  61. package/lib/db/beacon.js +3 -1
  62. package/lib/db/beacon.js.map +1 -1
  63. package/lib/db/buckets.d.ts +3 -1
  64. package/lib/db/buckets.js +2 -0
  65. package/lib/db/buckets.js.map +1 -1
  66. package/lib/db/interface.d.ts +3 -1
  67. package/lib/db/repositories/dataColumnSidecars.d.ts +47 -0
  68. package/lib/db/repositories/dataColumnSidecars.js +40 -0
  69. package/lib/db/repositories/dataColumnSidecars.js.map +1 -0
  70. package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +15 -0
  71. package/lib/db/repositories/dataColumnSidecarsArchive.js +23 -0
  72. package/lib/db/repositories/dataColumnSidecarsArchive.js.map +1 -0
  73. package/lib/db/repositories/index.d.ts +2 -0
  74. package/lib/db/repositories/index.js +2 -0
  75. package/lib/db/repositories/index.js.map +1 -1
  76. package/lib/execution/engine/http.d.ts +5 -3
  77. package/lib/execution/engine/http.js +70 -31
  78. package/lib/execution/engine/http.js.map +1 -1
  79. package/lib/execution/engine/interface.d.ts +4 -2
  80. package/lib/execution/engine/interface.js +1 -1
  81. package/lib/execution/engine/interface.js.map +1 -1
  82. package/lib/execution/engine/mock.d.ts +1 -0
  83. package/lib/execution/engine/mock.js +8 -3
  84. package/lib/execution/engine/mock.js.map +1 -1
  85. package/lib/execution/engine/types.d.ts +10 -0
  86. package/lib/execution/engine/types.js +6 -0
  87. package/lib/execution/engine/types.js.map +1 -1
  88. package/lib/metrics/metrics/beacon.d.ts +12 -0
  89. package/lib/metrics/metrics/beacon.js +44 -1
  90. package/lib/metrics/metrics/beacon.js.map +1 -1
  91. package/lib/network/core/metrics.d.ts +10 -3
  92. package/lib/network/core/metrics.js +22 -4
  93. package/lib/network/core/metrics.js.map +1 -1
  94. package/lib/network/core/networkCore.d.ts +10 -4
  95. package/lib/network/core/networkCore.js +63 -53
  96. package/lib/network/core/networkCore.js.map +1 -1
  97. package/lib/network/core/networkCoreWorker.js +2 -0
  98. package/lib/network/core/networkCoreWorker.js.map +1 -1
  99. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -0
  100. package/lib/network/core/networkCoreWorkerHandler.js +7 -0
  101. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  102. package/lib/network/core/types.d.ts +4 -4
  103. package/lib/network/discv5/index.d.ts +0 -1
  104. package/lib/network/discv5/index.js +0 -1
  105. package/lib/network/discv5/index.js.map +1 -1
  106. package/lib/network/discv5/types.d.ts +0 -1
  107. package/lib/network/discv5/utils.d.ts +1 -3
  108. package/lib/network/discv5/utils.js +2 -12
  109. package/lib/network/discv5/utils.js.map +1 -1
  110. package/lib/network/discv5/worker.js +1 -5
  111. package/lib/network/discv5/worker.js.map +1 -1
  112. package/lib/network/events.d.ts +3 -1
  113. package/lib/network/events.js.map +1 -1
  114. package/lib/network/forks.d.ts +0 -2
  115. package/lib/network/forks.js +0 -4
  116. package/lib/network/forks.js.map +1 -1
  117. package/lib/network/gossip/interface.d.ts +8 -1
  118. package/lib/network/gossip/interface.js +1 -0
  119. package/lib/network/gossip/interface.js.map +1 -1
  120. package/lib/network/gossip/scoringParameters.js +3 -4
  121. package/lib/network/gossip/scoringParameters.js.map +1 -1
  122. package/lib/network/gossip/topic.d.ts +1047 -1031
  123. package/lib/network/gossip/topic.js +20 -1
  124. package/lib/network/gossip/topic.js.map +1 -1
  125. package/lib/network/interface.d.ts +13 -1
  126. package/lib/network/metadata.d.ts +10 -6
  127. package/lib/network/metadata.js +23 -4
  128. package/lib/network/metadata.js.map +1 -1
  129. package/lib/network/network.d.ts +12 -1
  130. package/lib/network/network.js +61 -9
  131. package/lib/network/network.js.map +1 -1
  132. package/lib/network/networkConfig.d.ts +23 -0
  133. package/lib/network/networkConfig.js +32 -0
  134. package/lib/network/networkConfig.js.map +1 -0
  135. package/lib/network/options.js +2 -0
  136. package/lib/network/options.js.map +1 -1
  137. package/lib/network/peers/discover.d.ts +14 -3
  138. package/lib/network/peers/discover.js +139 -14
  139. package/lib/network/peers/discover.js.map +1 -1
  140. package/lib/network/peers/peerManager.d.ts +10 -2
  141. package/lib/network/peers/peerManager.js +96 -10
  142. package/lib/network/peers/peerManager.js.map +1 -1
  143. package/lib/network/peers/peersData.d.ts +8 -2
  144. package/lib/network/peers/peersData.js.map +1 -1
  145. package/lib/network/peers/score/interface.d.ts +1 -1
  146. package/lib/network/peers/score/score.d.ts +2 -2
  147. package/lib/network/peers/score/score.js +4 -1
  148. package/lib/network/peers/score/score.js.map +1 -1
  149. package/lib/network/peers/score/store.d.ts +3 -1
  150. package/lib/network/peers/score/store.js +6 -2
  151. package/lib/network/peers/score/store.js.map +1 -1
  152. package/lib/network/peers/utils/prioritizePeers.d.ts +15 -4
  153. package/lib/network/peers/utils/prioritizePeers.js +30 -5
  154. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  155. package/lib/network/processor/extractSlotRootFns.js +8 -1
  156. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  157. package/lib/network/processor/gossipHandlers.js +154 -8
  158. package/lib/network/processor/gossipHandlers.js.map +1 -1
  159. package/lib/network/processor/gossipQueues/index.js +5 -0
  160. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  161. package/lib/network/processor/index.js +1 -0
  162. package/lib/network/processor/index.js.map +1 -1
  163. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +3 -3
  164. package/lib/network/reqresp/ReqRespBeaconNode.js +29 -12
  165. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  166. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +14 -5
  167. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +199 -14
  168. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  169. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +32 -5
  170. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +280 -26
  171. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  172. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  173. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +2 -2
  174. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  175. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +1 -1
  176. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  177. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +1 -1
  178. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  179. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
  180. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  181. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
  182. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +106 -0
  183. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
  184. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
  185. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +57 -0
  186. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
  187. package/lib/network/reqresp/handlers/index.js +10 -0
  188. package/lib/network/reqresp/handlers/index.js.map +1 -1
  189. package/lib/network/reqresp/handlers/lightClientBootstrap.js +1 -1
  190. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  191. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +1 -1
  192. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  193. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +1 -1
  194. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  195. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +1 -1
  196. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  197. package/lib/network/reqresp/handlers/status.js +1 -1
  198. package/lib/network/reqresp/handlers/status.js.map +1 -1
  199. package/lib/network/reqresp/protocols.d.ts +3 -0
  200. package/lib/network/reqresp/protocols.js +15 -0
  201. package/lib/network/reqresp/protocols.js.map +1 -1
  202. package/lib/network/reqresp/rateLimit.js +11 -1
  203. package/lib/network/reqresp/rateLimit.js.map +1 -1
  204. package/lib/network/reqresp/types.d.ts +13 -6
  205. package/lib/network/reqresp/types.js +9 -2
  206. package/lib/network/reqresp/types.js.map +1 -1
  207. package/lib/network/subnets/attnetsService.d.ts +3 -3
  208. package/lib/network/subnets/attnetsService.js +15 -15
  209. package/lib/network/subnets/attnetsService.js.map +1 -1
  210. package/lib/network/subnets/interface.d.ts +6 -3
  211. package/lib/network/subnets/interface.js +14 -1
  212. package/lib/network/subnets/interface.js.map +1 -1
  213. package/lib/network/subnets/syncnetsService.d.ts +3 -3
  214. package/lib/network/subnets/syncnetsService.js +13 -14
  215. package/lib/network/subnets/syncnetsService.js.map +1 -1
  216. package/lib/node/nodejs.js +1 -6
  217. package/lib/node/nodejs.js.map +1 -1
  218. package/lib/sync/interface.d.ts +2 -2
  219. package/lib/sync/interface.js +1 -1
  220. package/lib/sync/interface.js.map +1 -1
  221. package/lib/sync/range/batch.d.ts +8 -2
  222. package/lib/sync/range/batch.js +19 -7
  223. package/lib/sync/range/batch.js.map +1 -1
  224. package/lib/sync/range/chain.d.ts +7 -2
  225. package/lib/sync/range/chain.js +45 -21
  226. package/lib/sync/range/chain.js.map +1 -1
  227. package/lib/sync/range/range.js +3 -3
  228. package/lib/sync/range/range.js.map +1 -1
  229. package/lib/sync/range/utils/peerBalancer.d.ts +4 -1
  230. package/lib/sync/range/utils/peerBalancer.js +20 -2
  231. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  232. package/lib/sync/unknownBlock.d.ts +8 -1
  233. package/lib/sync/unknownBlock.js +222 -62
  234. package/lib/sync/unknownBlock.js.map +1 -1
  235. package/lib/util/blobs.d.ts +13 -1
  236. package/lib/util/blobs.js +44 -1
  237. package/lib/util/blobs.js.map +1 -1
  238. package/lib/util/dataColumns.d.ts +125 -0
  239. package/lib/util/dataColumns.js +284 -0
  240. package/lib/util/dataColumns.js.map +1 -0
  241. package/lib/util/kzg.d.ts +2 -34
  242. package/lib/util/kzg.js +2 -123
  243. package/lib/util/kzg.js.map +1 -1
  244. package/lib/util/metadata.d.ts +4 -0
  245. package/lib/util/metadata.js +7 -0
  246. package/lib/util/metadata.js.map +1 -1
  247. package/lib/util/sszBytes.d.ts +1 -0
  248. package/lib/util/sszBytes.js +17 -0
  249. package/lib/util/sszBytes.js.map +1 -1
  250. package/package.json +15 -15
@@ -1,8 +1,8 @@
1
- import { ATTESTATION_SUBNET_COUNT, EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION, SLOTS_PER_EPOCH } from "@lodestar/params";
1
+ import { ATTESTATION_SUBNET_COUNT, EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION, SLOTS_PER_EPOCH, } from "@lodestar/params";
2
2
  import { ssz } from "@lodestar/types";
3
3
  import { MapDef } from "@lodestar/utils";
4
4
  import { ClockEvent } from "../../util/clock.js";
5
- import { getActiveSubscribeBoundaries } from "../forks.js";
5
+ import { getActiveForks } from "../forks.js";
6
6
  import { GossipType } from "../gossip/index.js";
7
7
  import { GOSSIP_D_LOW } from "../gossip/scoringParameters.js";
8
8
  import { stringifyGossipTopic } from "../gossip/topic.js";
@@ -160,24 +160,24 @@ export class AttnetsService {
160
160
  * TODO-dll: clarify how many epochs before the fork we should subscribe to the new fork
161
161
  * Call ONLY ONCE: Two epoch before the fork, re-subscribe all existing random subscriptions to the new fork
162
162
  **/
163
- subscribeSubnetsAfterBoundary(boundary) {
164
- this.logger.info("Subscribing to long lived attnets after boundary", {
165
- ...boundary,
163
+ subscribeSubnetsToNextFork(nextFork) {
164
+ this.logger.info("Subscribing to long lived attnets to next fork", {
165
+ nextFork,
166
166
  subnets: Array.from(this.longLivedSubscriptions).join(","),
167
167
  });
168
168
  for (const subnet of this.longLivedSubscriptions) {
169
- this.gossip.subscribeTopic({ type: gossipType, subnet, fork: boundary.fork });
169
+ this.gossip.subscribeTopic({ type: gossipType, fork: nextFork, subnet });
170
170
  }
171
171
  }
172
172
  /**
173
173
  * TODO-dll: clarify how many epochs after the fork we should unsubscribe to the new fork
174
174
  * Call ONLY ONCE: Two epochs after the fork, un-subscribe all subnets from the old fork
175
175
  **/
176
- unsubscribeSubnetsBeforeBoundary(boundary) {
177
- this.logger.info("Unsubscribing to long lived attnets before boundary", { ...boundary });
176
+ unsubscribeSubnetsFromPrevFork(prevFork) {
177
+ this.logger.info("Unsubscribing to long lived attnets from prev fork", { prevFork });
178
178
  for (let subnet = 0; subnet < ATTESTATION_SUBNET_COUNT; subnet++) {
179
179
  if (!this.opts.subscribeAllSubnets) {
180
- this.gossip.unsubscribeTopic({ type: gossipType, subnet, fork: boundary.fork });
180
+ this.gossip.unsubscribeTopic({ type: gossipType, fork: prevFork, subnet });
181
181
  }
182
182
  }
183
183
  }
@@ -283,11 +283,11 @@ export class AttnetsService {
283
283
  * shortLivedSubscriptions or longLivedSubscriptions should be updated right AFTER this called
284
284
  **/
285
285
  subscribeToSubnets(subnets, src) {
286
- const boundaries = getActiveSubscribeBoundaries(this.config, this.clock.currentEpoch);
286
+ const forks = getActiveForks(this.config, this.clock.currentEpoch);
287
287
  for (const subnet of subnets) {
288
288
  if (!this.shortLivedSubscriptions.has(subnet) && !this.longLivedSubscriptions.has(subnet)) {
289
- for (const boundary of boundaries) {
290
- this.gossip.subscribeTopic({ type: gossipType, subnet, fork: boundary.fork });
289
+ for (const fork of forks) {
290
+ this.gossip.subscribeTopic({ type: gossipType, fork, subnet });
291
291
  }
292
292
  this.metrics?.attnetsService.subscribeSubnets.inc({ subnet, src });
293
293
  }
@@ -301,11 +301,11 @@ export class AttnetsService {
301
301
  // No need to unsubscribeTopic(). Return early to prevent repetitive extra work
302
302
  if (this.opts.subscribeAllSubnets)
303
303
  return;
304
- const boundaries = getActiveSubscribeBoundaries(this.config, this.clock.currentEpoch);
304
+ const forks = getActiveForks(this.config, this.clock.currentEpoch);
305
305
  for (const subnet of subnets) {
306
306
  if (!this.shortLivedSubscriptions.isActiveAtSlot(subnet, slot) && !this.longLivedSubscriptions.has(subnet)) {
307
- for (const boundary of boundaries) {
308
- this.gossip.unsubscribeTopic({ type: gossipType, subnet, fork: boundary.fork });
307
+ for (const fork of forks) {
308
+ this.gossip.unsubscribeTopic({ type: gossipType, fork, subnet });
309
309
  }
310
310
  this.metrics?.attnetsService.unsubscribeSubnets.inc({ subnet, src });
311
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/attnetsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/attnetsService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import type { PeerId, PrivateKey } from "@libp2p/interface";
2
+ import { ForkName } from "@lodestar/params";
1
3
  import { Bytes32, Slot, SubnetID, ValidatorIndex } from "@lodestar/types";
2
- import { SubscribeBoundary } from "../core/types.js";
3
4
  import { GossipTopic } from "../gossip/interface.js";
4
5
  import { RequestedSubnet } from "../peers/utils/index.js";
5
6
  /** Generic CommitteeSubscription for both beacon attnets subs and syncnets subs */
@@ -13,8 +14,8 @@ export type SubnetsService = {
13
14
  close(): void;
14
15
  addCommitteeSubscriptions(subscriptions: CommitteeSubscription[]): void;
15
16
  getActiveSubnets(): RequestedSubnet[];
16
- subscribeSubnetsAfterBoundary(boundary: SubscribeBoundary): void;
17
- unsubscribeSubnetsBeforeBoundary(prevFork: SubscribeBoundary): void;
17
+ subscribeSubnetsToNextFork(nextFork: ForkName): void;
18
+ unsubscribeSubnetsFromPrevFork(prevFork: ForkName): void;
18
19
  };
19
20
  export interface IAttnetsService extends SubnetsService {
20
21
  shouldProcess(subnet: SubnetID, slot: Slot): boolean;
@@ -37,5 +38,7 @@ export type GossipSubscriber = {
37
38
  mesh: Map<TopicStr, Set<PeerIdStr>>;
38
39
  };
39
40
  export type NodeId = Bytes32;
41
+ export declare function computeNodeIdFromPrivateKey(privateKey: PrivateKey): NodeId;
42
+ export declare function computeNodeId(peerId: PeerId): Uint8Array;
40
43
  export {};
41
44
  //# sourceMappingURL=interface.d.ts.map
@@ -1,2 +1,15 @@
1
- export {};
1
+ import { getV4Crypto } from "@chainsafe/enr";
2
+ import { fromHexString } from "@chainsafe/ssz";
3
+ import { peerIdFromPrivateKey } from "@libp2p/peer-id";
4
+ export function computeNodeIdFromPrivateKey(privateKey) {
5
+ const peerId = peerIdFromPrivateKey(privateKey);
6
+ return computeNodeId(peerId);
7
+ }
8
+ export function computeNodeId(peerId) {
9
+ if (peerId.publicKey === undefined) {
10
+ throw Error(`Undefined publicKey peerId=${peerId.toString()}`);
11
+ }
12
+ const nodeIdHex = getV4Crypto().nodeId(peerId.publicKey.raw);
13
+ return fromHexString(nodeIdHex);
14
+ }
2
15
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/network/subnets/interface.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/network/subnets/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAmDrD,MAAM,UAAU,2BAA2B,CAAC,UAAsB;IAChE,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,KAAK,CAAC,8BAA8B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { BeaconConfig } from "@lodestar/config";
2
+ import { ForkName } from "@lodestar/params";
2
3
  import { Logger } from "@lodestar/utils";
3
4
  import { IClock } from "../../util/clock.js";
4
5
  import { NetworkCoreMetrics } from "../core/metrics.js";
5
- import { SubscribeBoundary } from "../core/types.js";
6
6
  import { MetadataController } from "../metadata.js";
7
7
  import { RequestedSubnet } from "../peers/utils/index.js";
8
8
  import { CommitteeSubscription, GossipSubscriber, SubnetsService, SubnetsServiceOpts } from "./interface.js";
@@ -37,9 +37,9 @@ export declare class SyncnetsService implements SubnetsService {
37
37
  */
38
38
  addCommitteeSubscriptions(subscriptions: CommitteeSubscription[]): void;
39
39
  /** Call ONLY ONCE: Two epoch before the fork, re-subscribe all existing random subscriptions to the new fork */
40
- subscribeSubnetsAfterBoundary(boundary: SubscribeBoundary): void;
40
+ subscribeSubnetsToNextFork(nextFork: ForkName): void;
41
41
  /** Call ONLY ONCE: Two epochs after the fork, un-subscribe all subnets from the old fork */
42
- unsubscribeSubnetsBeforeBoundary(boundary: SubscribeBoundary): void;
42
+ unsubscribeSubnetsFromPrevFork(prevFork: ForkName): void;
43
43
  /**
44
44
  * Run per epoch, clean-up operations that are not urgent
45
45
  */
@@ -2,10 +2,9 @@ import { SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
2
2
  import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
3
3
  import { ssz } from "@lodestar/types";
4
4
  import { ClockEvent } from "../../util/clock.js";
5
- import { getActiveSubscribeBoundaries } from "../forks.js";
5
+ import { getActiveForks } from "../forks.js";
6
6
  import { GossipType } from "../gossip/index.js";
7
7
  import { SubnetMap } from "../peers/utils/index.js";
8
- const gossipType = GossipType.sync_committee;
9
8
  /**
10
9
  * Manage sync committee subnets. Sync committees are long (~27h) so there aren't random long-lived subscriptions
11
10
  */
@@ -70,18 +69,18 @@ export class SyncnetsService {
70
69
  this.updateMetadata();
71
70
  }
72
71
  /** Call ONLY ONCE: Two epoch before the fork, re-subscribe all existing random subscriptions to the new fork */
73
- subscribeSubnetsAfterBoundary(boundary) {
74
- this.logger.info("Subscribing to random attnets after boundary", boundary);
72
+ subscribeSubnetsToNextFork(nextFork) {
73
+ this.logger.info("Subscribing to random attnets to next fork", { nextFork });
75
74
  for (const subnet of this.subscriptionsCommittee.getAll()) {
76
- this.gossip.subscribeTopic({ type: gossipType, fork: boundary.fork, subnet });
75
+ this.gossip.subscribeTopic({ type: GossipType.sync_committee, fork: nextFork, subnet });
77
76
  }
78
77
  }
79
78
  /** Call ONLY ONCE: Two epochs after the fork, un-subscribe all subnets from the old fork */
80
- unsubscribeSubnetsBeforeBoundary(boundary) {
81
- this.logger.info("Unsubscribing to random attnets before boundary", boundary);
79
+ unsubscribeSubnetsFromPrevFork(prevFork) {
80
+ this.logger.info("Unsubscribing to random attnets from prev fork", { prevFork });
82
81
  for (let subnet = 0; subnet < SYNC_COMMITTEE_SUBNET_COUNT; subnet++) {
83
82
  if (!this.opts?.subscribeAllSubnets) {
84
- this.gossip.unsubscribeTopic({ type: gossipType, fork: boundary.fork, subnet });
83
+ this.gossip.unsubscribeTopic({ type: GossipType.sync_committee, fork: prevFork, subnet });
85
84
  }
86
85
  }
87
86
  }
@@ -98,11 +97,11 @@ export class SyncnetsService {
98
97
  }
99
98
  /** Tigger a gossip subcription only if not already subscribed */
100
99
  subscribeToSubnets(subnets) {
101
- const boundaries = getActiveSubscribeBoundaries(this.config, this.clock.currentEpoch);
100
+ const forks = getActiveForks(this.config, this.clock.currentEpoch);
102
101
  for (const subnet of subnets) {
103
102
  if (!this.subscriptionsCommittee.has(subnet)) {
104
- for (const boundary of boundaries) {
105
- this.gossip.subscribeTopic({ type: gossipType, fork: boundary.fork, subnet });
103
+ for (const fork of forks) {
104
+ this.gossip.subscribeTopic({ type: GossipType.sync_committee, fork, subnet });
106
105
  }
107
106
  this.metrics?.syncnetsService.subscribeSubnets.inc({ subnet });
108
107
  }
@@ -110,12 +109,12 @@ export class SyncnetsService {
110
109
  }
111
110
  /** Trigger a gossip un-subscrition only if no-one is still subscribed */
112
111
  unsubscribeSubnets(subnets) {
113
- const boundaries = getActiveSubscribeBoundaries(this.config, this.clock.currentEpoch);
112
+ const forks = getActiveForks(this.config, this.clock.currentEpoch);
114
113
  for (const subnet of subnets) {
115
114
  // No need to check if active in subscriptionsCommittee since we only have a single SubnetMap
116
115
  if (!this.opts?.subscribeAllSubnets) {
117
- for (const boundary of boundaries) {
118
- this.gossip.unsubscribeTopic({ type: gossipType, fork: boundary.fork, subnet });
116
+ for (const fork of forks) {
117
+ this.gossip.unsubscribeTopic({ type: GossipType.sync_committee, fork, subnet });
119
118
  }
120
119
  this.metrics?.syncnetsService.unsubscribeSubnets.inc({ subnet });
121
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/syncnetsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/syncnetsService.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ import { Network, getReqRespHandlers } from "../network/index.js";
12
12
  import { BackfillSync } from "../sync/backfill/index.js";
13
13
  import { BeaconSync } from "../sync/index.js";
14
14
  import { Clock } from "../util/clock.js";
15
- import { TrustedFileMode, initCKZG, loadEthereumTrustedSetup } from "../util/kzg.js";
16
15
  import { runNodeNotifier } from "./notifier.js";
17
16
  export * from "./options.js";
18
17
  export var BeaconNodeStatus;
@@ -76,11 +75,6 @@ export class BeaconNode {
76
75
  // Since it is perfectly fine to have listeners > 10
77
76
  setMaxListeners(Infinity, controller.signal);
78
77
  const signal = controller.signal;
79
- // If deneb is configured, load the trusted setup
80
- if (config.DENEB_FORK_EPOCH < Infinity) {
81
- await initCKZG();
82
- loadEthereumTrustedSetup(TrustedFileMode.Txt, opts.chain.trustedSetup);
83
- }
84
78
  let metrics = null;
85
79
  if (opts.metrics.enabled ||
86
80
  // monitoring relies on metrics data
@@ -102,6 +96,7 @@ export class BeaconNode {
102
96
  ? new MonitoringService("beacon", { ...opts.monitoring, endpoint: opts.monitoring.endpoint }, { register: metrics.register, logger: logger.child({ module: LoggerModule.monitoring }) })
103
97
  : null;
104
98
  const chain = new BeaconChain(opts.chain, {
99
+ privateKey,
105
100
  config,
106
101
  clock,
107
102
  dataDir,
@@ -1 +1 @@
1
- {"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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"}
@@ -68,7 +68,7 @@ export type UnknownBlock = PendingBlockCommon & {
68
68
  unknownBlockType: PendingBlockType.UNKNOWN_BLOCK;
69
69
  blockInput: null;
70
70
  } | {
71
- unknownBlockType: PendingBlockType.UNKNOWN_BLOBS;
71
+ unknownBlockType: PendingBlockType.UNKNOWN_DATA;
72
72
  blockInput: BlockInput & {
73
73
  type: BlockInputType.dataPromise;
74
74
  };
@@ -100,6 +100,6 @@ export declare enum PendingBlockType {
100
100
  */
101
101
  UNKNOWN_PARENT = "unknown_parent",
102
102
  UNKNOWN_BLOCKINPUT = "unknown_blockinput",
103
- UNKNOWN_BLOBS = "unknown_blobs"
103
+ UNKNOWN_DATA = "unknown_data"
104
104
  }
105
105
  //# sourceMappingURL=interface.d.ts.map
@@ -34,6 +34,6 @@ export var PendingBlockType;
34
34
  */
35
35
  PendingBlockType["UNKNOWN_PARENT"] = "unknown_parent";
36
36
  PendingBlockType["UNKNOWN_BLOCKINPUT"] = "unknown_blockinput";
37
- PendingBlockType["UNKNOWN_BLOBS"] = "unknown_blobs";
37
+ PendingBlockType["UNKNOWN_DATA"] = "unknown_data";
38
38
  })(PendingBlockType || (PendingBlockType = {}));
39
39
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/sync/interface.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,oCAAoC;IACpC,gCAAmB,CAAA;IACnB,sEAAsE;IACtE,kDAAqC,CAAA;IACrC,gEAAgE;IAChE,wCAA2B,CAAA;IAC3B,kDAAkD;IAClD,8BAAiB,CAAA;AACnB,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC/B,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;IAC1B,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;CACtB,CAAC;AAuDF,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;IACrB,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;AAC3B,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,gBAYX;AAZD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,mDAA+B,CAAA;IAC/B;;OAEG;IACH,qDAAiC,CAAA;IAEjC,6DAAyC,CAAA;IACzC,mDAA+B,CAAA;AACjC,CAAC,EAZW,gBAAgB,KAAhB,gBAAgB,QAY3B"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/sync/interface.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,oCAAoC;IACpC,gCAAmB,CAAA;IACnB,sEAAsE;IACtE,kDAAqC,CAAA;IACrC,gEAAgE;IAChE,wCAA2B,CAAA;IAC3B,kDAAkD;IAClD,8BAAiB,CAAA;AACnB,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC/B,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;IAC1B,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;CACtB,CAAC;AAuDF,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;IACrB,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;AAC3B,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,gBAYX;AAZD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,mDAA+B,CAAA;IAC/B;;OAEG;IACH,qDAAiC,CAAA;IAEjC,6DAAyC,CAAA;IACzC,iDAA6B,CAAA;AAC/B,CAAC,EAZW,gBAAgB,KAAhB,gBAAgB,QAY3B"}
@@ -2,6 +2,7 @@ import { ChainForkConfig } from "@lodestar/config";
2
2
  import { Epoch, RootHex, phase0 } from "@lodestar/types";
3
3
  import { LodestarError } from "@lodestar/utils";
4
4
  import { BlockInput } from "../../chain/blocks/types.js";
5
+ import { PartialDownload } from "../../network/reqresp/beaconBlocksMaybeBlobsByRange.js";
5
6
  import { PeerIdStr } from "../../util/peerId.js";
6
7
  /**
7
8
  * Current state of a batch
@@ -32,9 +33,11 @@ export type Attempt = {
32
33
  };
33
34
  export type BatchState = {
34
35
  status: BatchStatus.AwaitingDownload;
36
+ partialDownload: PartialDownload;
35
37
  } | {
36
38
  status: BatchStatus.Downloading;
37
39
  peer: PeerIdStr;
40
+ partialDownload: PartialDownload;
38
41
  } | {
39
42
  status: BatchStatus.AwaitingProcessing;
40
43
  peer: PeerIdStr;
@@ -83,11 +86,14 @@ export declare class Batch {
83
86
  /**
84
87
  * AwaitingDownload -> Downloading
85
88
  */
86
- startDownloading(peer: PeerIdStr): void;
89
+ startDownloading(peer: PeerIdStr): PartialDownload;
87
90
  /**
88
91
  * Downloading -> AwaitingProcessing
89
92
  */
90
- downloadingSuccess(blocks: BlockInput[]): void;
93
+ downloadingSuccess(downloadResult: {
94
+ blocks: BlockInput[];
95
+ pendingDataColumns: null | number[];
96
+ }): null | BlockInput[];
91
97
  /**
92
98
  * Downloading -> AwaitingDownload
93
99
  */
@@ -38,7 +38,7 @@ export var BatchStatus;
38
38
  export class Batch {
39
39
  constructor(startEpoch, config) {
40
40
  /** State of the batch. */
41
- this.state = { status: BatchStatus.AwaitingDownload };
41
+ this.state = { status: BatchStatus.AwaitingDownload, partialDownload: null };
42
42
  /** The `Attempts` that have been made and failed to send us this batch. */
43
43
  this.failedProcessingAttempts = [];
44
44
  /** The `Attempts` that have been made and failed because of execution malfunction. */
@@ -70,16 +70,27 @@ export class Batch {
70
70
  if (this.state.status !== BatchStatus.AwaitingDownload) {
71
71
  throw new BatchError(this.wrongStatusErrorType(BatchStatus.AwaitingDownload));
72
72
  }
73
- this.state = { status: BatchStatus.Downloading, peer };
73
+ const { partialDownload } = this.state;
74
+ this.state = { status: BatchStatus.Downloading, peer, partialDownload };
75
+ return partialDownload;
74
76
  }
75
77
  /**
76
78
  * Downloading -> AwaitingProcessing
77
79
  */
78
- downloadingSuccess(blocks) {
80
+ downloadingSuccess(downloadResult) {
79
81
  if (this.state.status !== BatchStatus.Downloading) {
80
82
  throw new BatchError(this.wrongStatusErrorType(BatchStatus.Downloading));
81
83
  }
82
- this.state = { status: BatchStatus.AwaitingProcessing, peer: this.state.peer, blocks };
84
+ const { blocks, pendingDataColumns } = downloadResult;
85
+ if (pendingDataColumns === null) {
86
+ this.state = { status: BatchStatus.AwaitingProcessing, peer: this.state.peer, blocks };
87
+ return blocks;
88
+ }
89
+ this.state = {
90
+ status: BatchStatus.AwaitingDownload,
91
+ partialDownload: blocks.length === 0 ? null : { blocks, pendingDataColumns },
92
+ };
93
+ return null;
83
94
  }
84
95
  /**
85
96
  * Downloading -> AwaitingDownload
@@ -92,7 +103,8 @@ export class Batch {
92
103
  if (this.failedDownloadAttempts.length > MAX_BATCH_DOWNLOAD_ATTEMPTS) {
93
104
  throw new BatchError(this.errorType({ code: BatchErrorCode.MAX_DOWNLOAD_ATTEMPTS }));
94
105
  }
95
- this.state = { status: BatchStatus.AwaitingDownload };
106
+ const { partialDownload } = this.state;
107
+ this.state = { status: BatchStatus.AwaitingDownload, partialDownload };
96
108
  }
97
109
  /**
98
110
  * AwaitingProcessing -> Processing
@@ -157,14 +169,14 @@ export class Batch {
157
169
  if (this.executionErrorAttempts.length > MAX_BATCH_PROCESSING_ATTEMPTS) {
158
170
  throw new BatchError(this.errorType({ code: BatchErrorCode.MAX_EXECUTION_ENGINE_ERROR_ATTEMPTS }));
159
171
  }
160
- this.state = { status: BatchStatus.AwaitingDownload };
172
+ this.state = { status: BatchStatus.AwaitingDownload, partialDownload: null };
161
173
  }
162
174
  onProcessingError(attempt) {
163
175
  this.failedProcessingAttempts.push(attempt);
164
176
  if (this.failedProcessingAttempts.length > MAX_BATCH_PROCESSING_ATTEMPTS) {
165
177
  throw new BatchError(this.errorType({ code: BatchErrorCode.MAX_PROCESSING_ATTEMPTS }));
166
178
  }
167
- this.state = { status: BatchStatus.AwaitingDownload };
179
+ this.state = { status: BatchStatus.AwaitingDownload, partialDownload: null };
168
180
  }
169
181
  /** Helper to construct typed BatchError. Stack traces are correct as the error is thrown above */
170
182
  errorType(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/sync/range/batch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/sync/range/batch.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { Epoch, Root, Slot, phase0 } from "@lodestar/types";
3
3
  import { Logger } from "@lodestar/utils";
4
4
  import { BlockInput } from "../../chain/blocks/types.js";
5
5
  import { PeerAction } from "../../network/index.js";
6
+ import { PartialDownload } from "../../network/reqresp/beaconBlocksMaybeBlobsByRange.js";
6
7
  import { PeerIdStr } from "../../util/peerId.js";
7
8
  import { RangeSyncType } from "../utils/remoteSyncType.js";
8
9
  import { BatchErrorCode, BatchMetadata } from "./batch.js";
@@ -17,7 +18,10 @@ export type SyncChainFns = {
17
18
  */
18
19
  processChainSegment: (blocks: BlockInput[], syncType: RangeSyncType) => Promise<void>;
19
20
  /** Must download blocks, and validate their range */
20
- downloadBeaconBlocksByRange: (peer: PeerIdStr, request: phase0.BeaconBlocksByRangeRequest) => Promise<BlockInput[]>;
21
+ downloadBeaconBlocksByRange: (peer: PeerIdStr, request: phase0.BeaconBlocksByRangeRequest, partialDownload: PartialDownload, peerClient: string) => Promise<{
22
+ blocks: BlockInput[];
23
+ pendingDataColumns: null | number[];
24
+ }>;
21
25
  /** Report peer for negative actions. Decouples from the full network instance */
22
26
  reportPeer: (peer: PeerIdStr, action: PeerAction, actionName: string) => void;
23
27
  /** Hook called when Chain state completes */
@@ -82,6 +86,7 @@ export declare class SyncChain {
82
86
  /** Sorted map of batches undergoing some kind of processing. */
83
87
  private readonly batches;
84
88
  private readonly peerset;
89
+ private readonly peersetCustody;
85
90
  private readonly logger;
86
91
  private readonly config;
87
92
  constructor(initialBatchEpoch: Epoch, initialTarget: ChainTarget, syncType: RangeSyncType, fns: SyncChainFns, modules: SyncChainModules);
@@ -101,7 +106,7 @@ export declare class SyncChain {
101
106
  /**
102
107
  * Add peer to the chain and request batches if active
103
108
  */
104
- addPeer(peer: PeerIdStr, target: ChainTarget): void;
109
+ addPeer(peer: PeerIdStr, target: ChainTarget, custodyColumns: number[], clientAgent: string): void;
105
110
  /**
106
111
  * Returns true if the peer existed and has been removed
107
112
  * NOTE: The RangeSync will take care of deleting the SyncChain if peers = 0