@lodestar/beacon-node 1.32.0-dev.7beba714e0 → 1.32.0-dev.7dfdb27fdc

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 (85) hide show
  1. package/lib/api/impl/beacon/state/index.js +13 -1
  2. package/lib/api/impl/beacon/state/index.js.map +1 -1
  3. package/lib/api/impl/validator/index.js +43 -29
  4. package/lib/api/impl/validator/index.js.map +1 -1
  5. package/lib/chain/archiveStore/historicalState/metrics.js +8 -0
  6. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  7. package/lib/chain/chain.d.ts +4 -4
  8. package/lib/chain/chain.js +9 -2
  9. package/lib/chain/chain.js.map +1 -1
  10. package/lib/chain/interface.d.ts +2 -2
  11. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  12. package/lib/chain/produceBlock/produceBlockBody.js +141 -108
  13. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  14. package/lib/metrics/metrics/beacon.d.ts +3 -0
  15. package/lib/metrics/metrics/beacon.js +13 -0
  16. package/lib/metrics/metrics/beacon.js.map +1 -1
  17. package/lib/network/core/networkCore.d.ts +4 -4
  18. package/lib/network/core/networkCore.js +45 -43
  19. package/lib/network/core/networkCore.js.map +1 -1
  20. package/lib/network/core/types.d.ts +4 -0
  21. package/lib/network/discv5/index.d.ts +1 -0
  22. package/lib/network/discv5/index.js +1 -0
  23. package/lib/network/discv5/index.js.map +1 -1
  24. package/lib/network/discv5/types.d.ts +1 -0
  25. package/lib/network/discv5/utils.d.ts +3 -1
  26. package/lib/network/discv5/utils.js +12 -2
  27. package/lib/network/discv5/utils.js.map +1 -1
  28. package/lib/network/discv5/worker.js +5 -1
  29. package/lib/network/discv5/worker.js.map +1 -1
  30. package/lib/network/forks.d.ts +2 -0
  31. package/lib/network/forks.js +4 -0
  32. package/lib/network/forks.js.map +1 -1
  33. package/lib/network/gossip/encoding.js +1 -1
  34. package/lib/network/gossip/encoding.js.map +1 -1
  35. package/lib/network/gossip/gossipsub.js +6 -4
  36. package/lib/network/gossip/gossipsub.js.map +1 -1
  37. package/lib/network/gossip/interface.d.ts +2 -2
  38. package/lib/network/gossip/scoringParameters.js +10 -10
  39. package/lib/network/gossip/scoringParameters.js.map +1 -1
  40. package/lib/network/gossip/topic.d.ts +2059 -1512
  41. package/lib/network/gossip/topic.js +13 -12
  42. package/lib/network/gossip/topic.js.map +1 -1
  43. package/lib/network/network.js +40 -28
  44. package/lib/network/network.js.map +1 -1
  45. package/lib/network/peers/discover.d.ts +2 -0
  46. package/lib/network/peers/discover.js +1 -0
  47. package/lib/network/peers/discover.js.map +1 -1
  48. package/lib/network/processor/gossipHandlers.js +4 -4
  49. package/lib/network/processor/gossipHandlers.js.map +1 -1
  50. package/lib/network/processor/gossipQueues/index.js +1 -1
  51. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  52. package/lib/network/processor/index.js +2 -2
  53. package/lib/network/processor/index.js.map +1 -1
  54. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +3 -3
  55. package/lib/network/reqresp/ReqRespBeaconNode.js +9 -8
  56. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  57. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +2 -2
  58. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  59. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +1 -1
  60. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  61. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +1 -1
  62. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  63. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
  64. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  65. package/lib/network/reqresp/handlers/lightClientBootstrap.js +1 -1
  66. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  67. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +1 -1
  68. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  69. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +1 -1
  70. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  71. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +1 -1
  72. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  73. package/lib/network/reqresp/handlers/status.js +1 -1
  74. package/lib/network/reqresp/handlers/status.js.map +1 -1
  75. package/lib/network/subnets/attnetsService.d.ts +3 -3
  76. package/lib/network/subnets/attnetsService.js +17 -17
  77. package/lib/network/subnets/attnetsService.js.map +1 -1
  78. package/lib/network/subnets/interface.d.ts +3 -3
  79. package/lib/network/subnets/syncnetsService.d.ts +3 -3
  80. package/lib/network/subnets/syncnetsService.js +13 -13
  81. package/lib/network/subnets/syncnetsService.js.map +1 -1
  82. package/lib/network/subscribeBoundary.d.ts +5 -0
  83. package/lib/network/subscribeBoundary.js +4 -0
  84. package/lib/network/subscribeBoundary.js.map +1 -0
  85. package/package.json +14 -14
@@ -43,6 +43,18 @@ export function createBeaconMetrics(register) {
43
43
  labelNames: ["status"],
44
44
  help: "number of validators in current epoch",
45
45
  }),
46
+ pendingDeposits: register.gauge({
47
+ name: "beacon_pending_deposits",
48
+ help: "Current number of pending deposits",
49
+ }),
50
+ pendingConsolidations: register.gauge({
51
+ name: "beacon_pending_consolidations",
52
+ help: "Current number of pending consolidations",
53
+ }),
54
+ pendingPartialWithdrawals: register.gauge({
55
+ name: "beacon_pending_partial_withdrawals",
56
+ help: "Current number of pending partial withdrawals",
57
+ }),
46
58
  // Non-spec'ed
47
59
  forkChoice: {
48
60
  findHead: register.histogram({
@@ -190,6 +202,7 @@ export function createBeaconMetrics(register) {
190
202
  name: "beacon_block_payload_fetched_time",
191
203
  help: "Time to fetch the payload from EL",
192
204
  labelNames: ["prepType"],
205
+ buckets: [0.1, 0.2, 0.3, 0.5, 0.7, 1, 2],
193
206
  }),
194
207
  emptyPayloads: register.gauge({
195
208
  name: "beacon_block_payload_empty_total",
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../src/metrics/metrics/beacon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../src/metrics/metrics/beacon.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ export declare class NetworkCore implements INetworkCore {
84
84
  private readonly statusCache;
85
85
  private readonly metrics;
86
86
  private readonly opts;
87
- private readonly subscribedForks;
87
+ private readonly subscribedBoundariesByEpoch;
88
88
  private closed;
89
89
  constructor(modules: Mods);
90
90
  static init({ opts, config, privateKey, peerStoreDir, logger, metricsRegistry, events, clock, getReqRespHandler, activeValidatorCount, initialStatus, }: BaseNetworkInit): Promise<NetworkCore>;
@@ -128,11 +128,11 @@ export declare class NetworkCore implements INetworkCore {
128
128
  writeNetworkHeapSnapshot(): Promise<string>;
129
129
  writeDiscv5HeapSnapshot(prefix: string, dirpath: string): Promise<string>;
130
130
  /**
131
- * Handle subscriptions through fork transitions, @see FORK_EPOCH_LOOKAHEAD
131
+ * Handle subscriptions through subscribe boundary transitions, @see FORK_EPOCH_LOOKAHEAD
132
132
  */
133
133
  private onEpoch;
134
- private subscribeCoreTopicsAtFork;
135
- private unsubscribeCoreTopicsAtFork;
134
+ private subscribeCoreTopicsAtBoundary;
135
+ private unsubscribeCoreTopicsAtBoundary;
136
136
  }
137
137
  export {};
138
138
  //# sourceMappingURL=networkCore.d.ts.map
@@ -5,7 +5,7 @@ import { multiaddr } from "@multiformats/multiaddr";
5
5
  import { formatNodePeer } from "../../api/impl/node/utils.js";
6
6
  import { ClockEvent } from "../../util/clock.js";
7
7
  import { peerIdFromString, peerIdToString } from "../../util/peerId.js";
8
- import { FORK_EPOCH_LOOKAHEAD, getActiveForks } from "../forks.js";
8
+ import { FORK_EPOCH_LOOKAHEAD, getActiveSubscribeBoundaries } from "../forks.js";
9
9
  import { Eth2Gossipsub, getCoreTopicsAtFork } from "../gossip/index.js";
10
10
  import { createNodeJsLibp2p } from "../libp2p/index.js";
11
11
  import { MetadataController } from "../metadata.js";
@@ -37,46 +37,46 @@ import { createNetworkCoreMetrics } from "./metrics.js";
37
37
  export class NetworkCore {
38
38
  constructor(modules) {
39
39
  // Internal state
40
- this.subscribedForks = new Set();
40
+ this.subscribedBoundariesByEpoch = new Map();
41
41
  this.closed = false;
42
42
  /**
43
- * Handle subscriptions through fork transitions, @see FORK_EPOCH_LOOKAHEAD
43
+ * Handle subscriptions through subscribe boundary transitions, @see FORK_EPOCH_LOOKAHEAD
44
44
  */
45
45
  this.onEpoch = async (epoch) => {
46
46
  try {
47
47
  // Compute prev and next fork shifted, so next fork is still next at forkEpoch + FORK_EPOCH_LOOKAHEAD
48
- const activeForks = getActiveForks(this.config, epoch);
49
- for (let i = 0; i < activeForks.length; i++) {
50
- // Only when a new fork is scheduled post this one
51
- if (activeForks[i + 1] !== undefined) {
52
- const prevFork = activeForks[i];
53
- const nextFork = activeForks[i + 1];
54
- const forkEpoch = this.config.forks[nextFork].epoch;
55
- // Before fork transition
56
- if (epoch === forkEpoch - FORK_EPOCH_LOOKAHEAD) {
57
- // Don't subscribe to new fork if the node is not subscribed to any topic
48
+ const activeBoundaries = getActiveSubscribeBoundaries(this.config, epoch);
49
+ for (let i = 0; i < activeBoundaries.length; i++) {
50
+ // Only when a new subscribe boundary is scheduled post this one
51
+ if (activeBoundaries[i + 1] !== undefined) {
52
+ const prevBoundary = activeBoundaries[i];
53
+ const nextBoundary = activeBoundaries[i + 1];
54
+ const nextBoundaryEpoch = this.config.forks[nextBoundary.fork].epoch;
55
+ // Before subscribe boundary transition
56
+ if (epoch === nextBoundaryEpoch - FORK_EPOCH_LOOKAHEAD) {
57
+ // Don't subscribe to new boundary if the node is not subscribed to any topic
58
58
  if (await this.isSubscribedToGossipCoreTopics()) {
59
- this.subscribeCoreTopicsAtFork(this.config, nextFork);
60
- this.logger.info("Subscribing gossip topics before fork", { nextFork });
59
+ this.subscribeCoreTopicsAtBoundary(this.config, nextBoundary);
60
+ this.logger.info("Subscribing gossip topics before boundary", nextBoundary);
61
61
  }
62
62
  else {
63
- this.logger.info("Skipping subscribing gossip topics before fork", { nextFork });
63
+ this.logger.info("Skipping subscribing gossip topics before boundary", nextBoundary);
64
64
  }
65
- this.attnetsService.subscribeSubnetsToNextFork(nextFork);
66
- this.syncnetsService.subscribeSubnetsToNextFork(nextFork);
65
+ this.attnetsService.subscribeSubnetsAfterBoundary(nextBoundary);
66
+ this.syncnetsService.subscribeSubnetsAfterBoundary(nextBoundary);
67
67
  }
68
- // On fork transition
69
- if (epoch === forkEpoch) {
68
+ // On boundary transition
69
+ if (epoch === nextBoundaryEpoch) {
70
70
  // updateEth2Field() MUST be called with clock epoch, onEpoch event is emitted in response to clock events
71
71
  this.metadata.updateEth2Field(epoch);
72
- this.reqResp.registerProtocolsAtFork(nextFork);
72
+ this.reqResp.registerProtocolsAtBoundary(nextBoundary);
73
73
  }
74
- // After fork transition
75
- if (epoch === forkEpoch + FORK_EPOCH_LOOKAHEAD) {
76
- this.logger.info("Unsubscribing gossip topics from prev fork", { prevFork });
77
- this.unsubscribeCoreTopicsAtFork(this.config, prevFork);
78
- this.attnetsService.unsubscribeSubnetsFromPrevFork(prevFork);
79
- this.syncnetsService.unsubscribeSubnetsFromPrevFork(prevFork);
74
+ // After boundary transition
75
+ if (epoch === nextBoundaryEpoch + FORK_EPOCH_LOOKAHEAD) {
76
+ this.logger.info("Unsubscribing gossip topics before boundary", prevBoundary);
77
+ this.unsubscribeCoreTopicsAtBoundary(this.config, prevBoundary);
78
+ this.attnetsService.unsubscribeSubnetsBeforeBoundary(prevBoundary);
79
+ this.syncnetsService.unsubscribeSubnetsBeforeBoundary(prevBoundary);
80
80
  }
81
81
  }
82
82
  }
@@ -172,7 +172,7 @@ export class NetworkCore {
172
172
  // Network spec decides version changes based on clock fork, not head fork
173
173
  const forkCurrentSlot = config.getForkName(clock.currentSlot);
174
174
  // Register only ReqResp protocols relevant to clock's fork
175
- reqResp.registerProtocolsAtFork(forkCurrentSlot);
175
+ reqResp.registerProtocolsAtBoundary({ fork: forkCurrentSlot });
176
176
  // Bind discv5's ENR to local metadata
177
177
  // biome-ignore lint/complexity/useLiteralKeys: `discovery` is a private attribute
178
178
  discv5 = peerManager["discovery"]?.discv5;
@@ -254,20 +254,20 @@ export class NetworkCore {
254
254
  if (!(await this.isSubscribedToGossipCoreTopics())) {
255
255
  this.logger.info("Subscribed gossip core topics");
256
256
  }
257
- for (const fork of getActiveForks(this.config, this.clock.currentEpoch)) {
258
- this.subscribeCoreTopicsAtFork(this.config, fork);
257
+ for (const boundary of getActiveSubscribeBoundaries(this.config, this.clock.currentEpoch)) {
258
+ this.subscribeCoreTopicsAtBoundary(this.config, boundary);
259
259
  }
260
260
  }
261
261
  /**
262
262
  * Unsubscribe from all gossip events. Safe to call multiple times
263
263
  */
264
264
  async unsubscribeGossipCoreTopics() {
265
- for (const fork of this.subscribedForks.values()) {
266
- this.unsubscribeCoreTopicsAtFork(this.config, fork);
265
+ for (const boundary of this.subscribedBoundariesByEpoch.values()) {
266
+ this.unsubscribeCoreTopicsAtBoundary(this.config, boundary);
267
267
  }
268
268
  }
269
269
  async isSubscribedToGossipCoreTopics() {
270
- return this.subscribedForks.size > 0;
270
+ return this.subscribedBoundariesByEpoch.size > 0;
271
271
  }
272
272
  sendReqRespRequest(data) {
273
273
  const peerId = peerIdFromString(data.peerId);
@@ -367,28 +367,30 @@ export class NetworkCore {
367
367
  // biome-ignore lint/complexity/useLiteralKeys: `discovery` is a private attribute
368
368
  return this.peerManager["discovery"]?.discv5.writeHeapSnapshot(prefix, dirpath) ?? Promise.resolve("no discv5");
369
369
  }
370
- subscribeCoreTopicsAtFork(config, fork) {
371
- if (this.subscribedForks.has(fork))
370
+ subscribeCoreTopicsAtBoundary(config, boundary) {
371
+ const epoch = config.forks[boundary.fork].epoch;
372
+ if (this.subscribedBoundariesByEpoch.has(epoch))
372
373
  return;
373
- this.subscribedForks.add(fork);
374
+ this.subscribedBoundariesByEpoch.set(epoch, boundary);
374
375
  const { subscribeAllSubnets, disableLightClientServer } = this.opts;
375
- for (const topic of getCoreTopicsAtFork(config, fork, {
376
+ for (const topic of getCoreTopicsAtFork(config, boundary.fork, {
376
377
  subscribeAllSubnets,
377
378
  disableLightClientServer,
378
379
  })) {
379
- this.gossip.subscribeTopic({ ...topic, fork });
380
+ this.gossip.subscribeTopic({ ...topic, boundary });
380
381
  }
381
382
  }
382
- unsubscribeCoreTopicsAtFork(config, fork) {
383
- if (!this.subscribedForks.has(fork))
383
+ unsubscribeCoreTopicsAtBoundary(config, boundary) {
384
+ const epoch = config.forks[boundary.fork].epoch;
385
+ if (!this.subscribedBoundariesByEpoch.has(epoch))
384
386
  return;
385
- this.subscribedForks.delete(fork);
387
+ this.subscribedBoundariesByEpoch.delete(epoch);
386
388
  const { subscribeAllSubnets, disableLightClientServer } = this.opts;
387
- for (const topic of getCoreTopicsAtFork(config, fork, {
389
+ for (const topic of getCoreTopicsAtFork(config, boundary.fork, {
388
390
  subscribeAllSubnets,
389
391
  disableLightClientServer,
390
392
  })) {
391
- this.gossip.unsubscribeTopic({ ...topic, fork });
393
+ this.gossip.unsubscribeTopic({ ...topic, boundary });
392
394
  }
393
395
  }
394
396
  }
@@ -1 +1 @@
1
- {"version":3,"file":"networkCore.js","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkCore.js","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { PublishOpts } from "@chainsafe/libp2p-gossipsub/types";
3
3
  import { routes } from "@lodestar/api";
4
4
  import { SpecJson } from "@lodestar/config";
5
5
  import { LoggerNodeOpts } from "@lodestar/logger/node";
6
+ import { ForkName } from "@lodestar/params";
6
7
  import { ResponseIncoming } from "@lodestar/reqresp";
7
8
  import { phase0 } from "@lodestar/types";
8
9
  import { PeerIdStr } from "../../util/peerId.js";
@@ -11,6 +12,9 @@ import { PeerAction, PeerScoreStats } from "../peers/index.js";
11
12
  import { OutgoingRequestArgs } from "../reqresp/types.js";
12
13
  import { CommitteeSubscription } from "../subnets/interface.js";
13
14
  export type MultiaddrStr = string;
15
+ export type SubscribeBoundary = {
16
+ fork: ForkName;
17
+ };
14
18
  export interface INetworkCorePublic {
15
19
  prepareBeaconCommitteeSubnets(subscriptions: CommitteeSubscription[]): Promise<void>;
16
20
  prepareSyncCommitteeSubnets(subscriptions: CommitteeSubscription[]): Promise<void>;
@@ -11,6 +11,7 @@ export type Discv5Opts = {
11
11
  discv5: LodestarDiscv5Opts;
12
12
  logger: LoggerNode;
13
13
  config: BeaconConfig;
14
+ genesisTime: number;
14
15
  metrics?: NetworkCoreMetrics;
15
16
  };
16
17
  export type Discv5Events = {
@@ -25,6 +25,7 @@ export class Discv5Worker extends EventEmitter {
25
25
  chainConfig: chainConfigFromJson(chainConfigToJson(opts.config)),
26
26
  genesisValidatorsRoot: opts.config.genesisValidatorsRoot,
27
27
  loggerOpts: opts.logger.toOpts(),
28
+ genesisTime: opts.genesisTime,
28
29
  };
29
30
  const worker = new Worker("./worker.js", { workerData });
30
31
  const workerApi = await spawn(worker, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/discv5/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/discv5/index.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export interface Discv5WorkerData {
31
31
  chainConfig: ChainConfig;
32
32
  genesisValidatorsRoot: Uint8Array;
33
33
  loggerOpts: LoggerNodeOpts;
34
+ genesisTime: number;
34
35
  }
35
36
  /**
36
37
  * API exposed by the discv5 worker
@@ -1,10 +1,12 @@
1
1
  import { ENR } from "@chainsafe/enr";
2
2
  import { BeaconConfig } from "@lodestar/config";
3
+ import { IClock } from "../../util/clock.js";
3
4
  export declare enum ENRRelevance {
4
5
  no_tcp = "no_tcp",
5
6
  no_eth2 = "no_eth2",
6
7
  unknown_forkDigest = "unknown_forkDigest",
8
+ current_fork_mismatch = "current_fork_mismatch",
7
9
  relevant = "relevant"
8
10
  }
9
- export declare function enrRelevance(enr: ENR, config: BeaconConfig): ENRRelevance;
11
+ export declare function enrRelevance(enr: ENR, config: BeaconConfig, clock: IClock): ENRRelevance;
10
12
  //# sourceMappingURL=utils.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { MAXIMUM_GOSSIP_CLOCK_DISPARITY } from "../../constants/constants.js";
1
2
  import { ENRKey } from "../metadata.js";
2
3
  export var ENRRelevance;
3
4
  (function (ENRRelevance) {
@@ -5,9 +6,10 @@ export var ENRRelevance;
5
6
  ENRRelevance["no_eth2"] = "no_eth2";
6
7
  // biome-ignore lint/style/useNamingConvention: Need to use the this name for network convention
7
8
  ENRRelevance["unknown_forkDigest"] = "unknown_forkDigest";
9
+ ENRRelevance["current_fork_mismatch"] = "current_fork_mismatch";
8
10
  ENRRelevance["relevant"] = "relevant";
9
11
  })(ENRRelevance || (ENRRelevance = {}));
10
- export function enrRelevance(enr, config) {
12
+ export function enrRelevance(enr, config, clock) {
11
13
  // We are not interested in peers that don't advertise their tcp addr
12
14
  const multiaddrTCP = enr.getLocationMultiaddr(ENRKey.tcp);
13
15
  if (!multiaddrTCP) {
@@ -25,7 +27,15 @@ export function enrRelevance(enr, config) {
25
27
  if (forkName == null) {
26
28
  return ENRRelevance.unknown_forkDigest;
27
29
  }
28
- // TODO: Then check if the next fork info matches ours
30
+ // Check if fork digest's fork matches ours
31
+ const currentSlot = clock.slotWithFutureTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY);
32
+ const localForkInfo = config.getForkInfo(currentSlot);
33
+ // We only connect if the ENR's fork matches our current fork.
34
+ // We also allow it to be the previous fork due to delay and infrequent update of DHT.
35
+ if (forkName !== localForkInfo.name && forkName !== localForkInfo.prevForkName) {
36
+ return ENRRelevance.current_fork_mismatch;
37
+ }
38
+ // TODO: If we have next fork scheduled, check if next fork info matches ours
29
39
  // const enrForkId = ssz.phase0.ENRForkID.deserialize(eth2);
30
40
  return ENRRelevance.relevant;
31
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/network/discv5/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,gGAAgG;IAChG,yDAAyC,CAAA;IACzC,qCAAqB,CAAA;AACvB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,MAAoB;IACzD,qEAAqE;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,yDAAyD;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,YAAY,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,sDAAsD;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,YAAY,CAAC,kBAAkB,CAAC;IACzC,CAAC;IAED,sDAAsD;IACtD,4DAA4D;IAE5D,OAAO,YAAY,CAAC,QAAQ,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/network/discv5/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,8BAA8B,EAAC,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,gGAAgG;IAChG,yDAAyC,CAAA;IACzC,+DAA+C,CAAA;IAC/C,qCAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,MAAoB,EAAE,KAAa;IACxE,qEAAqE;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,yDAAyD;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,YAAY,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,sDAAsD;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,YAAY,CAAC,kBAAkB,CAAC;IACzC,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtD,8DAA8D;IAC9D,sFAAsF;IACtF,IAAI,QAAQ,KAAK,aAAa,CAAC,IAAI,IAAI,QAAQ,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;QAC/E,OAAO,YAAY,CAAC,qBAAqB,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAC7E,4DAA4D;IAE5D,OAAO,YAAY,CAAC,QAAQ,CAAC;AAC/B,CAAC"}
@@ -12,6 +12,7 @@ import { getNodeLogger } from "@lodestar/logger/node";
12
12
  import { multiaddr } from "@multiformats/multiaddr";
13
13
  import { RegistryMetricCreator } from "../../metrics/index.js";
14
14
  import { collectNodeJSMetrics } from "../../metrics/nodeJsMetrics.js";
15
+ import { Clock } from "../../util/clock.js";
15
16
  import { profileNodeJS, writeHeapSnapshot } from "../../util/profile.js";
16
17
  import { ENRRelevance, enrRelevance } from "./utils.js";
17
18
  // This discv5 worker will start discv5 on initialization (there is no `start` function to call)
@@ -56,8 +57,11 @@ for (const bootEnr of workerData.bootEnrs) {
56
57
  }
57
58
  /** Used to push discovered ENRs */
58
59
  const subject = new Subject();
60
+ /** Define a new clock */
61
+ const abortController = new AbortController();
62
+ const clock = new Clock({ config, genesisTime: workerData.genesisTime, signal: abortController.signal });
59
63
  const onDiscovered = (enr) => {
60
- const status = enrRelevance(enr, config);
64
+ const status = enrRelevance(enr, config, clock);
61
65
  enrRelevanceMetric?.inc({ status });
62
66
  if (status === ENRRelevance.relevant) {
63
67
  subject.next(enr.toObject());
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/network/discv5/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/network/discv5/worker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ChainForkConfig, ForkInfo } from "@lodestar/config";
2
2
  import { ForkName } from "@lodestar/params";
3
3
  import { Epoch } from "@lodestar/types";
4
+ import { SubscribeBoundary } from "./core/types.js";
4
5
  /**
5
6
  * Subscribe topics to the new fork N epochs before the fork. Remove all subscriptions N epochs after the fork
6
7
  *
@@ -32,6 +33,7 @@ export declare const FORK_EPOCH_LOOKAHEAD = 2;
32
33
  * @see FORK_EPOCH_LOOKAHEAD for details on when forks are considered 'active'
33
34
  */
34
35
  export declare function getActiveForks(config: ChainForkConfig, epoch: Epoch): ForkName[];
36
+ export declare function getActiveSubscribeBoundaries(config: ChainForkConfig, epoch: Epoch): SubscribeBoundary[];
35
37
  /**
36
38
  * Return the currentFork and nextFork given a fork schedule and `epoch`
37
39
  */
@@ -44,6 +44,10 @@ export function getActiveForks(config, epoch) {
44
44
  }
45
45
  return activeForks;
46
46
  }
47
+ export function getActiveSubscribeBoundaries(config, epoch) {
48
+ const activeForks = getActiveForks(config, epoch);
49
+ return activeForks.map((fork) => ({ fork }));
50
+ }
47
51
  /**
48
52
  * Return the currentFork and nextFork given a fork schedule and `epoch`
49
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"forks.js","sourceRoot":"","sources":["../../src/network/forks.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,KAAY;IAClE,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5E,qFAAqF;QACrF,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,KAAK,IAAI,aAAa,GAAG,oBAAoB,IAAI,KAAK,IAAI,aAAa,GAAG,oBAAoB,EAAE,CAAC;YACnG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAuB,EACvB,KAAY;IAEZ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,0DAA0D;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAC9C,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IACxB,gBAAgB;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;YAAE,cAAc,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;IAC9F,2FAA2F;IAC3F,mFAAmF;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,+EAA+E;YAC/E,iCAAiC;YACjC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK;gBAAE,WAAW,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC9C,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"forks.js","sourceRoot":"","sources":["../../src/network/forks.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,KAAY;IAClE,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5E,qFAAqF;QACrF,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,KAAK,IAAI,aAAa,GAAG,oBAAoB,IAAI,KAAK,IAAI,aAAa,GAAG,oBAAoB,EAAE,CAAC;YACnG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAuB,EAAE,KAAY;IAChF,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAElD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAuB,EACvB,KAAY;IAEZ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,0DAA0D;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAC9C,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IACxB,gBAAgB;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;YAAE,cAAc,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;IAC9F,2FAA2F;IAC3F,mFAAmF;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,+EAA+E;YAC/E,iCAAiC;YACjC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK;gBAAE,WAAW,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC9C,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC;AACJ,CAAC"}
@@ -32,7 +32,7 @@ export function msgIdToStrFn(msgId) {
32
32
  export function msgIdFn(gossipTopicCache, msg) {
33
33
  const topic = gossipTopicCache.getTopic(msg.topic);
34
34
  let vec;
35
- if (topic.fork === ForkName.phase0) {
35
+ if (topic.boundary.fork === ForkName.phase0) {
36
36
  // message id for phase0.
37
37
  // ```
38
38
  // SHA256(MESSAGE_DOMAIN_VALID_SNAPPY + snappy_decompress(message.data))[:20]
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"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"}
@@ -131,6 +131,7 @@ export class Eth2Gossipsub extends GossipSub {
131
131
  ]) {
132
132
  // Pre-aggregate results by fork so we can fill the remaining metrics with 0
133
133
  const peersByTypeByFork = new Map2d();
134
+ // TODO: This shouldnt be by fork, but by boundary
134
135
  const peersByBeaconAttSubnetByFork = new Map2dArr();
135
136
  const peersByBeaconSyncSubnetByFork = new Map2dArr();
136
137
  // loop through all mesh entries, count each set size
@@ -142,14 +143,15 @@ export class Eth2Gossipsub extends GossipSub {
142
143
  // for example in prater: /eth2/82f4a72b/optimistic_light_client_update_v0/ssz_snappy
143
144
  const topic = this.gossipTopicCache.getKnownTopic(topicString);
144
145
  if (topic !== undefined) {
146
+ const { fork } = topic.boundary;
145
147
  if (topic.type === GossipType.beacon_attestation) {
146
- peersByBeaconAttSubnetByFork.set(topic.fork, topic.subnet, peers.size);
148
+ peersByBeaconAttSubnetByFork.set(fork, topic.subnet, peers.size);
147
149
  }
148
150
  else if (topic.type === GossipType.sync_committee) {
149
- peersByBeaconSyncSubnetByFork.set(topic.fork, topic.subnet, peers.size);
151
+ peersByBeaconSyncSubnetByFork.set(fork, topic.subnet, peers.size);
150
152
  }
151
153
  else {
152
- peersByTypeByFork.set(topic.fork, topic.type, peers.size);
154
+ peersByTypeByFork.set(fork, topic.type, peers.size);
153
155
  }
154
156
  }
155
157
  if (type === "mesh") {
@@ -258,7 +260,7 @@ function getMetricsTopicStrToLabel(config, opts) {
258
260
  disableLightClientServer: opts.disableLightClientServer,
259
261
  });
260
262
  for (const topic of topics) {
261
- metricsTopicStrToLabel.set(stringifyGossipTopic(config, { ...topic, fork }), topic.type);
263
+ metricsTopicStrToLabel.set(stringifyGossipTopic(config, { ...topic, boundary: { fork } }), topic.type);
262
264
  }
263
265
  }
264
266
  return metricsTopicStrToLabel;