@lodestar/beacon-node 1.41.0-dev.95cf2edc4c → 1.41.0-dev.96f78af84b

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 (97) hide show
  1. package/lib/api/impl/node/utils.d.ts +1 -1
  2. package/lib/api/impl/node/utils.d.ts.map +1 -1
  3. package/lib/api/impl/node/utils.js.map +1 -1
  4. package/lib/constants/network.d.ts +2 -1
  5. package/lib/constants/network.d.ts.map +1 -1
  6. package/lib/constants/network.js +1 -0
  7. package/lib/constants/network.js.map +1 -1
  8. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  9. package/lib/db/repositories/blockArchive.js +1 -2
  10. package/lib/db/repositories/blockArchive.js.map +1 -1
  11. package/lib/execution/engine/http.d.ts +1 -0
  12. package/lib/execution/engine/http.d.ts.map +1 -1
  13. package/lib/execution/engine/http.js +3 -0
  14. package/lib/execution/engine/http.js.map +1 -1
  15. package/lib/metrics/metrics/lodestar.d.ts +3 -0
  16. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  17. package/lib/metrics/metrics/lodestar.js +5 -0
  18. package/lib/metrics/metrics/lodestar.js.map +1 -1
  19. package/lib/network/core/networkCore.d.ts +3 -3
  20. package/lib/network/core/networkCore.d.ts.map +1 -1
  21. package/lib/network/core/networkCore.js.map +1 -1
  22. package/lib/network/core/networkCoreWorkerHandler.d.ts +3 -3
  23. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  24. package/lib/network/core/types.d.ts +2 -2
  25. package/lib/network/core/types.d.ts.map +1 -1
  26. package/lib/network/events.d.ts +2 -1
  27. package/lib/network/events.d.ts.map +1 -1
  28. package/lib/network/events.js.map +1 -1
  29. package/lib/network/gossip/encoding.d.ts +3 -3
  30. package/lib/network/gossip/encoding.d.ts.map +1 -1
  31. package/lib/network/gossip/encoding.js.map +1 -1
  32. package/lib/network/gossip/gossipsub.d.ts +13 -4
  33. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  34. package/lib/network/gossip/gossipsub.js +47 -20
  35. package/lib/network/gossip/gossipsub.js.map +1 -1
  36. package/lib/network/gossip/interface.d.ts +3 -3
  37. package/lib/network/gossip/interface.d.ts.map +1 -1
  38. package/lib/network/gossip/scoringParameters.d.ts +1 -1
  39. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  40. package/lib/network/gossip/scoringParameters.js +1 -1
  41. package/lib/network/gossip/scoringParameters.js.map +1 -1
  42. package/lib/network/interface.d.ts +3 -3
  43. package/lib/network/interface.d.ts.map +1 -1
  44. package/lib/network/libp2p/index.d.ts +1 -1
  45. package/lib/network/libp2p/index.d.ts.map +1 -1
  46. package/lib/network/libp2p/index.js +7 -2
  47. package/lib/network/libp2p/index.js.map +1 -1
  48. package/lib/network/network.d.ts +2 -2
  49. package/lib/network/network.d.ts.map +1 -1
  50. package/lib/network/network.js.map +1 -1
  51. package/lib/network/options.d.ts.map +1 -1
  52. package/lib/network/options.js +3 -0
  53. package/lib/network/options.js.map +1 -1
  54. package/lib/network/peers/datastore.d.ts +7 -5
  55. package/lib/network/peers/datastore.d.ts.map +1 -1
  56. package/lib/network/peers/datastore.js +10 -10
  57. package/lib/network/peers/datastore.js.map +1 -1
  58. package/lib/network/peers/peerManager.d.ts +11 -0
  59. package/lib/network/peers/peerManager.d.ts.map +1 -1
  60. package/lib/network/peers/peerManager.js +148 -53
  61. package/lib/network/peers/peerManager.js.map +1 -1
  62. package/lib/network/peers/utils/prioritizePeers.d.ts +3 -3
  63. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  64. package/lib/network/processor/gossipValidatorFn.js +1 -1
  65. package/lib/network/processor/types.d.ts +1 -1
  66. package/lib/network/processor/types.d.ts.map +1 -1
  67. package/lib/network/reqresp/score.d.ts.map +1 -1
  68. package/lib/network/reqresp/score.js +0 -1
  69. package/lib/network/reqresp/score.js.map +1 -1
  70. package/lib/network/util.js +2 -2
  71. package/lib/network/util.js.map +1 -1
  72. package/package.json +38 -41
  73. package/src/api/impl/node/utils.ts +3 -3
  74. package/src/constants/network.ts +1 -0
  75. package/src/db/repositories/blockArchive.ts +1 -2
  76. package/src/execution/engine/http.ts +3 -0
  77. package/src/metrics/metrics/lodestar.ts +5 -0
  78. package/src/network/core/networkCore.ts +3 -3
  79. package/src/network/core/networkCoreWorkerHandler.ts +3 -3
  80. package/src/network/core/types.ts +2 -2
  81. package/src/network/events.ts +2 -1
  82. package/src/network/gossip/encoding.ts +3 -3
  83. package/src/network/gossip/gossipsub.ts +86 -25
  84. package/src/network/gossip/interface.ts +3 -3
  85. package/src/network/gossip/scoringParameters.ts +4 -4
  86. package/src/network/interface.ts +3 -3
  87. package/src/network/libp2p/index.ts +8 -3
  88. package/src/network/network.ts +3 -3
  89. package/src/network/options.ts +3 -0
  90. package/src/network/peers/datastore.ts +13 -10
  91. package/src/network/peers/peerManager.ts +175 -54
  92. package/src/network/peers/utils/prioritizePeers.ts +3 -3
  93. package/src/network/processor/gossipValidatorFn.ts +1 -1
  94. package/src/network/processor/types.ts +1 -1
  95. package/src/network/reqresp/score.ts +0 -1
  96. package/src/network/util.ts +2 -2
  97. package/src/util/workerEvents.ts +1 -1
@@ -4,6 +4,7 @@ import { computeTimeAtSlot } from "@lodestar/state-transition";
4
4
  import { prettyPrintIndices, toHex, withTimeout } from "@lodestar/utils";
5
5
  import { GOODBYE_KNOWN_CODES, GoodByeReasonCode, Libp2pEvent } from "../../constants/index.js";
6
6
  import { computeColumnsForCustodyGroup, getCustodyGroups } from "../../util/dataColumns.js";
7
+ import { callInNextEventLoop } from "../../util/eventLoop.js";
7
8
  import { NetworkEvent } from "../events.js";
8
9
  import { SubnetType } from "../metadata.js";
9
10
  import { ReqRespMethod } from "../reqresp/ReqRespBeaconNode.js";
@@ -80,6 +81,8 @@ export class PeerManager {
80
81
  lastStatus;
81
82
  // A single map of connected peers with all necessary data to handle PINGs, STATUS, and metrics
82
83
  connectedPeers;
84
+ /** Track one in-flight identify call per peer/connection id */
85
+ identifyInProgress = new Map();
83
86
  opts;
84
87
  intervals = [];
85
88
  constructor(modules, opts, discovery) {
@@ -107,8 +110,15 @@ export class PeerManager {
107
110
  }
108
111
  this.libp2p.services.components.events.addEventListener(Libp2pEvent.connectionOpen, this.onLibp2pPeerConnect);
109
112
  this.libp2p.services.components.events.addEventListener(Libp2pEvent.connectionClose, this.onLibp2pPeerDisconnect);
113
+ this.libp2p.services.components.events.addEventListener(Libp2pEvent.peerIdentify, this.onPeerIdentify);
110
114
  this.networkEventBus.on(NetworkEvent.reqRespRequest, this.onRequest);
111
115
  this.lastStatus = this.statusCache.get();
116
+ // A connection may already be open before listeners are attached.
117
+ // Seed those peers so they are tracked in connectedPeers immediately.
118
+ this.bootstrapAlreadyOpenConnections();
119
+ // Defer status/ping to the next event loop tick so the heartbeat interval and
120
+ // event listeners are fully registered before we begin handshakes.
121
+ callInNextEventLoop(() => this.pingAndStatusTimeouts());
112
122
  // On start-up will connected to existing peers in libp2p.peerStore, same as autoDial behaviour
113
123
  this.heartbeat();
114
124
  this.intervals = [
@@ -132,6 +142,7 @@ export class PeerManager {
132
142
  await this.discovery?.stop();
133
143
  this.libp2p.services.components.events.removeEventListener(Libp2pEvent.connectionOpen, this.onLibp2pPeerConnect);
134
144
  this.libp2p.services.components.events.removeEventListener(Libp2pEvent.connectionClose, this.onLibp2pPeerDisconnect);
145
+ this.libp2p.services.components.events.removeEventListener(Libp2pEvent.peerIdentify, this.onPeerIdentify);
135
146
  this.networkEventBus.off(NetworkEvent.reqRespRequest, this.onRequest);
136
147
  for (const interval of this.intervals)
137
148
  clearInterval(interval);
@@ -347,6 +358,29 @@ export class PeerManager {
347
358
  clientAgent,
348
359
  custodyColumns,
349
360
  });
361
+ // Identify peer after status proves the connection is usable.
362
+ // This is the only place we trigger identify — avoids wasted streams on
363
+ // peers that close identify right after connection open or turn out to be
364
+ // irrelevant.
365
+ if (peerData?.agentVersion === null) {
366
+ const peerIdStr = peer.toString();
367
+ const connection = getConnection(this.libp2p, peerIdStr);
368
+ if (!connection || connection.status !== "open") {
369
+ this.logger.debug("Peer has no open connection for identify", { peerId: prettyPrintPeerId(peer) });
370
+ return;
371
+ }
372
+ const identifyKey = connection.id;
373
+ if (this.identifyInProgress.get(peerIdStr) === identifyKey) {
374
+ return;
375
+ }
376
+ this.identifyInProgress.set(peerIdStr, identifyKey);
377
+ void this.identifyPeer(peerIdStr, prettyPrintPeerId(peer), connection, identifyKey).finally(() => {
378
+ // Clear only if this identify attempt is still the active one for this peer
379
+ if (this.identifyInProgress.get(peerIdStr) === identifyKey) {
380
+ this.identifyInProgress.delete(peerIdStr);
381
+ }
382
+ });
383
+ }
350
384
  }
351
385
  }
352
386
  async requestMetadata(peer) {
@@ -540,33 +574,31 @@ export class PeerManager {
540
574
  void this.requestStatusMany(peersToStatus);
541
575
  }
542
576
  }
543
- /**
544
- * The libp2p Upgrader has successfully upgraded a peer connection on a particular multiaddress
545
- * This event is routed through the connectionManager
546
- *
547
- * Registers a peer as connected. The `direction` parameter determines if the peer is being
548
- * dialed or connecting to us.
549
- */
550
- onLibp2pPeerConnect = async (evt) => {
551
- const { direction, status, remotePeer } = evt.detail;
577
+ bootstrapAlreadyOpenConnections() {
578
+ let bootstrapped = 0;
579
+ for (const { value: connections } of getConnectionsMap(this.libp2p).values()) {
580
+ for (const connection of connections) {
581
+ // trackLibp2pConnection handles deduplication via overwriteExisting: false
582
+ if (this.trackLibp2pConnection(connection, { overwriteExisting: false, triggerHandshakeNow: false })) {
583
+ bootstrapped++;
584
+ }
585
+ }
586
+ }
587
+ if (bootstrapped > 0) {
588
+ this.logger.verbose("Bootstrapped already-open libp2p peers", { bootstrapped });
589
+ }
590
+ }
591
+ trackLibp2pConnection(connection, opts) {
592
+ const { direction, status, remotePeer } = connection;
552
593
  const remotePeerStr = remotePeer.toString();
553
594
  const remotePeerPrettyStr = prettyPrintPeerId(remotePeer);
554
- this.logger.verbose("peer connected", { peer: remotePeerPrettyStr, direction, status });
555
- // NOTE: The peerConnect event is not emitted here here, but after asserting peer relevance
556
- this.metrics?.peerConnectedEvent.inc({ direction, status });
557
- if (evt.detail.status !== "open") {
595
+ if (status !== "open") {
558
596
  this.logger.debug("Peer disconnected before identify protocol initiated", {
559
597
  peerId: remotePeerPrettyStr,
560
- status: evt.detail.status,
598
+ status,
561
599
  });
562
- return;
600
+ return false;
563
601
  }
564
- // On connection:
565
- // - Outbound connections: send a STATUS and PING request
566
- // - Inbound connections: expect to be STATUS'd, schedule STATUS and PING for latter
567
- // NOTE: libp2p may emit two "peer:connect" events: One for inbound, one for outbound
568
- // If that happens, it's okay. Only the "outbound" connection triggers immediate action
569
- const now = Date.now();
570
602
  // Ethereum uses secp256k1 for node IDs, reject peers with other key types
571
603
  if (remotePeer.type !== "secp256k1") {
572
604
  this.logger.debug("Peer does not have secp256k1 key, disconnecting", {
@@ -574,50 +606,57 @@ export class PeerManager {
574
606
  type: remotePeer.type,
575
607
  });
576
608
  void this.goodbyeAndDisconnect(remotePeer, GoodByeReasonCode.IRRELEVANT_NETWORK);
577
- return;
609
+ return false;
610
+ }
611
+ if (!opts.overwriteExisting && this.connectedPeers.has(remotePeerStr)) {
612
+ return false;
578
613
  }
614
+ // On connection:
615
+ // - Outbound connections: send a STATUS and PING request
616
+ // - Inbound connections: expect to be STATUS'd, schedule STATUS and PING for later
617
+ // NOTE: libp2p may emit two "peer:connect" events: One for inbound, one for outbound
618
+ // If that happens, it's okay. Only the "outbound" connection triggers immediate action
619
+ const now = Date.now();
620
+ const existingPeerData = this.connectedPeers.get(remotePeerStr);
579
621
  const nodeId = computeNodeId(remotePeer);
580
622
  const peerData = {
581
- lastReceivedMsgUnixTsMs: direction === "outbound" ? 0 : now,
623
+ // Keep existing timestamps if this peer already had another open connection.
624
+ // libp2p may emit multiple connection:open events per peer.
625
+ lastReceivedMsgUnixTsMs: existingPeerData?.lastReceivedMsgUnixTsMs ?? (direction === "outbound" ? 0 : now),
582
626
  // If inbound, request after STATUS_INBOUND_GRACE_PERIOD
583
- lastStatusUnixTsMs: direction === "outbound" ? 0 : now - STATUS_INTERVAL_MS + STATUS_INBOUND_GRACE_PERIOD,
584
- connectedUnixTsMs: now,
585
- relevantStatus: RelevantPeerStatus.Unknown,
627
+ lastStatusUnixTsMs: existingPeerData?.lastStatusUnixTsMs ??
628
+ (direction === "outbound" ? 0 : now - STATUS_INTERVAL_MS + STATUS_INBOUND_GRACE_PERIOD),
629
+ connectedUnixTsMs: existingPeerData?.connectedUnixTsMs ?? now,
630
+ relevantStatus: existingPeerData?.relevantStatus ?? RelevantPeerStatus.Unknown,
586
631
  direction,
587
632
  nodeId,
588
633
  peerId: remotePeer,
589
- status: null,
590
- metadata: null,
591
- agentVersion: null,
592
- agentClient: null,
593
- encodingPreference: null,
634
+ status: existingPeerData?.status ?? null,
635
+ metadata: existingPeerData?.metadata ?? null,
636
+ agentVersion: existingPeerData?.agentVersion ?? null,
637
+ agentClient: existingPeerData?.agentClient ?? null,
638
+ encodingPreference: existingPeerData?.encodingPreference ?? null,
594
639
  };
595
640
  this.connectedPeers.set(remotePeerStr, peerData);
596
- if (direction === "outbound") {
597
- // this.pingAndStatusTimeouts();
641
+ if (direction === "outbound" && opts.triggerHandshakeNow) {
598
642
  void this.requestPing(remotePeer);
599
643
  void this.requestStatus(remotePeer, this.statusCache.get());
600
644
  }
601
- this.libp2p.services.identify
602
- .identify(evt.detail)
603
- .then((result) => {
604
- const agentVersion = result.agentVersion;
605
- if (agentVersion) {
606
- peerData.agentVersion = agentVersion;
607
- peerData.agentClient = getKnownClientFromAgentVersion(agentVersion);
608
- }
609
- })
610
- .catch((err) => {
611
- if (evt.detail.status !== "open") {
612
- this.logger.debug("Peer disconnected during identify protocol", {
613
- peerId: remotePeerPrettyStr,
614
- error: err.message,
615
- });
616
- }
617
- else {
618
- this.logger.debug("Error setting agentVersion for the peer", { peerId: remotePeerPrettyStr }, err);
619
- }
620
- });
645
+ return true;
646
+ }
647
+ /**
648
+ * The libp2p Upgrader has successfully upgraded a peer connection on a particular multiaddress
649
+ * This event is routed through the connectionManager
650
+ *
651
+ * Registers a peer as connected. The `direction` parameter determines if the peer is being
652
+ * dialed or connecting to us.
653
+ */
654
+ onLibp2pPeerConnect = (evt) => {
655
+ const { direction, status, remotePeer } = evt.detail;
656
+ this.logger.verbose("peer connected", { peer: prettyPrintPeerId(remotePeer), direction, status });
657
+ // NOTE: The peerConnect event is not emitted here here, but after asserting peer relevance
658
+ this.metrics?.peerConnectedEvent.inc({ direction, status });
659
+ this.trackLibp2pConnection(evt.detail, { overwriteExisting: true, triggerHandshakeNow: true });
621
660
  };
622
661
  /**
623
662
  * The libp2p Upgrader has ended a connection
@@ -625,6 +664,17 @@ export class PeerManager {
625
664
  onLibp2pPeerDisconnect = (evt) => {
626
665
  const { direction, status, remotePeer } = evt.detail;
627
666
  const peerIdStr = remotePeer.toString();
667
+ const openConnections = getConnectionsMap(this.libp2p)
668
+ .get(peerIdStr)
669
+ ?.value.filter((connection) => connection.status === "open") ?? [];
670
+ if (openConnections.length > 0) {
671
+ this.logger.debug("Ignoring peer disconnect event while another connection is still open", {
672
+ peerId: prettyPrintPeerIdStr(peerIdStr),
673
+ direction,
674
+ status,
675
+ });
676
+ return;
677
+ }
628
678
  let logMessage = "onLibp2pPeerDisconnect";
629
679
  const logContext = {
630
680
  peerId: prettyPrintPeerIdStr(peerIdStr),
@@ -641,6 +691,7 @@ export class PeerManager {
641
691
  }
642
692
  // remove the ping and status timer for the peer
643
693
  this.connectedPeers.delete(peerIdStr);
694
+ this.identifyInProgress.delete(peerIdStr);
644
695
  this.logger.verbose(logMessage, logContext);
645
696
  this.networkEventBus.emit(NetworkEvent.peerDisconnected, { peer: peerIdStr });
646
697
  this.metrics?.peerDisconnectedEvent.inc({ direction });
@@ -656,6 +707,50 @@ export class PeerManager {
656
707
  this.logger.debug("Unclean disconnect", { peer: prettyPrintPeerId(peer) }, e);
657
708
  }
658
709
  }
710
+ /**
711
+ * Consume successful identify results from libp2p events.
712
+ * This captures agentVersion from identify-push or successful inbound/outbound identify,
713
+ * even if our explicit identify request failed earlier.
714
+ */
715
+ onPeerIdentify = (evt) => {
716
+ const { peerId, agentVersion } = evt.detail;
717
+ if (!agentVersion)
718
+ return;
719
+ const peerIdStr = peerId.toString();
720
+ const peerData = this.connectedPeers.get(peerIdStr);
721
+ if (!peerData)
722
+ return;
723
+ peerData.agentVersion = agentVersion;
724
+ peerData.agentClient = getKnownClientFromAgentVersion(agentVersion);
725
+ this.identifyInProgress.delete(peerIdStr);
726
+ };
727
+ async identifyPeer(peerIdStr, peerIdPretty, connection, identifyKey) {
728
+ if (this.identifyInProgress.get(peerIdStr) !== identifyKey) {
729
+ return;
730
+ }
731
+ if (connection.status !== "open") {
732
+ this.logger.debug("Peer has no open connection for identify", { peerId: peerIdPretty });
733
+ return;
734
+ }
735
+ try {
736
+ const result = await this.libp2p.services.identify.identify(connection);
737
+ // A newer identify attempt may have superseded this one (e.g. reconnect).
738
+ if (this.identifyInProgress.get(peerIdStr) !== identifyKey) {
739
+ return;
740
+ }
741
+ const agentVersion = result.agentVersion;
742
+ if (agentVersion) {
743
+ const connectedPeerData = this.connectedPeers.get(peerIdStr);
744
+ if (connectedPeerData) {
745
+ connectedPeerData.agentVersion = agentVersion;
746
+ connectedPeerData.agentClient = getKnownClientFromAgentVersion(agentVersion);
747
+ }
748
+ }
749
+ }
750
+ catch (e) {
751
+ this.logger.debug("Error setting agentVersion for the peer", { peerId: peerIdPretty }, e);
752
+ }
753
+ }
659
754
  async goodbyeAndDisconnect(peer, goodbye) {
660
755
  const reason = GOODBYE_KNOWN_CODES[goodbye.toString()] || "";
661
756
  const peerIdStr = peer.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"peerManager.js","sourceRoot":"","sources":["../../../src/network/peers/peerManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peerManager.js","sourceRoot":"","sources":["../../../src/network/peers/peerManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Direction, PeerId } from "@libp2p/interface";
1
+ import type { MessageStreamDirection, PeerId } from "@libp2p/interface";
2
2
  import { ChainConfig } from "@lodestar/config";
3
3
  import { CustodyIndex, Status, SubnetID, altair, phase0 } from "@lodestar/types";
4
4
  import { NetworkCoreMetrics } from "../../core/metrics.js";
@@ -27,7 +27,7 @@ declare enum StatusScore {
27
27
  }
28
28
  type PeerInfo = {
29
29
  id: PeerId;
30
- direction: Direction | null;
30
+ direction: MessageStreamDirection | null;
31
31
  statusScore: StatusScore;
32
32
  attnets: phase0.AttestationSubnets;
33
33
  syncnets: altair.SyncSubnets;
@@ -65,7 +65,7 @@ export declare enum ExcessPeerDisconnectReason {
65
65
  */
66
66
  export declare function prioritizePeers(connectedPeersInfo: {
67
67
  id: PeerId;
68
- direction: Direction | null;
68
+ direction: MessageStreamDirection | null;
69
69
  status: Status | null;
70
70
  attnets: phase0.AttestationSubnets | null;
71
71
  syncnets: altair.SyncSubnets | null;
@@ -1 +1 @@
1
- {"version":3,"file":"prioritizePeers.d.ts","sourceRoot":"","sources":["../../../../src/network/peers/utils/prioritizePeers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prioritizePeers.d.ts","sourceRoot":"","sources":["../../../../src/network/peers/utils/prioritizePeers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TopicValidatorResult } from "@libp2p/interface";
1
+ import { TopicValidatorResult } from "@libp2p/gossipsub";
2
2
  import { AttestationError, GossipAction, GossipActionError } from "../../chain/errors/index.js";
3
3
  import { prettyPrintPeerIdStr } from "../util.js";
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Message } from "@libp2p/interface";
1
+ import type { Message } from "@libp2p/gossipsub";
2
2
  import { ForkName } from "@lodestar/params";
3
3
  import { Slot, SlotOptionalRoot } from "@lodestar/types";
4
4
  import { PeerIdStr } from "../../util/peerId.js";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/network/processor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IAEb,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,SAAS,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;KAC9B,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,KAAK,gBAAgB,GAAG,IAAI;CACtF,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/network/processor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IAEb,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,SAAS,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;KAC9B,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,KAAK,gBAAgB,GAAG,IAAI;CACtF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAmBzC,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAgDhG"}
1
+ {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAmBzC,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CA+ChG"}
@@ -32,7 +32,6 @@ export function onOutgoingReqRespError(e, method) {
32
32
  ? PeerAction.Fatal
33
33
  : PeerAction.LowToleranceError;
34
34
  // TODO: Detect SSZDecodeError and return PeerAction.Fatal
35
- case RequestErrorCode.TTFB_TIMEOUT:
36
35
  case RequestErrorCode.RESP_TIMEOUT:
37
36
  switch (method) {
38
37
  case ReqRespMethod.Ping:
@@ -1 +1 @@
1
- {"version":3,"file":"score.js","sourceRoot":"","sources":["../../../src/network/reqresp/score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,wBAAwB,EAAE,0BAA0B;CACrD,CAAC;AAEF;;;GAGG;AACH,MAAM,2BAA2B,GAAG;IAClC,uBAAuB,EAAE,2BAA2B;CACrD,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,CAAe,EAAE,MAAqB;IAC3E,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,gBAAgB,CAAC,eAAe,CAAC;QACtC,KAAK,gBAAgB,CAAC,oBAAoB,CAAC;QAC3C,KAAK,gBAAgB,CAAC,iBAAiB;YACrC,OAAO,UAAU,CAAC,iBAAiB,CAAC;QAEtC,KAAK,gBAAgB,CAAC,YAAY;YAChC,OAAO,UAAU,CAAC,iBAAiB,CAAC;QACtC,KAAK,gBAAgB,CAAC,oBAAoB;YACxC,OAAO,UAAU,CAAC,kBAAkB,CAAC;QAEvC,KAAK,gBAAgB,CAAC,YAAY,CAAC;QACnC,KAAK,gBAAgB,CAAC,UAAU;YAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,IAAI,MAAM,KAAK,aAAa,CAAC,IAAI;gBAC7G,CAAC,CAAC,UAAU,CAAC,KAAK;gBAClB,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACnC,0DAA0D;QAE1D,KAAK,gBAAgB,CAAC,YAAY,CAAC;QACnC,KAAK,gBAAgB,CAAC,YAAY;YAChC,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,aAAa,CAAC,IAAI,CAAC;gBACxB,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1B,KAAK,aAAa,CAAC,QAAQ;oBACzB,OAAO,UAAU,CAAC,iBAAiB,CAAC;gBACtC,KAAK,aAAa,CAAC,mBAAmB,CAAC;gBACvC,KAAK,aAAa,CAAC,kBAAkB;oBACnC,OAAO,UAAU,CAAC,iBAAiB,CAAC;gBACtC;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAClE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,UAAU,CAAC,KAAK,CAAC;YAC1B,KAAK,aAAa,CAAC,QAAQ,CAAC;YAC5B,KAAK,aAAa,CAAC,MAAM;gBACvB,OAAO,UAAU,CAAC,iBAAiB,CAAC;YACtC;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4HAA4H;IAC5H,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"score.js","sourceRoot":"","sources":["../../../src/network/reqresp/score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,wBAAwB,EAAE,0BAA0B;CACrD,CAAC;AAEF;;;GAGG;AACH,MAAM,2BAA2B,GAAG;IAClC,uBAAuB,EAAE,2BAA2B;CACrD,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,CAAe,EAAE,MAAqB;IAC3E,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,gBAAgB,CAAC,eAAe,CAAC;QACtC,KAAK,gBAAgB,CAAC,oBAAoB,CAAC;QAC3C,KAAK,gBAAgB,CAAC,iBAAiB;YACrC,OAAO,UAAU,CAAC,iBAAiB,CAAC;QAEtC,KAAK,gBAAgB,CAAC,YAAY;YAChC,OAAO,UAAU,CAAC,iBAAiB,CAAC;QACtC,KAAK,gBAAgB,CAAC,oBAAoB;YACxC,OAAO,UAAU,CAAC,kBAAkB,CAAC;QAEvC,KAAK,gBAAgB,CAAC,YAAY,CAAC;QACnC,KAAK,gBAAgB,CAAC,UAAU;YAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,IAAI,MAAM,KAAK,aAAa,CAAC,IAAI;gBAC7G,CAAC,CAAC,UAAU,CAAC,KAAK;gBAClB,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACnC,0DAA0D;QAE1D,KAAK,gBAAgB,CAAC,YAAY;YAChC,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,aAAa,CAAC,IAAI,CAAC;gBACxB,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1B,KAAK,aAAa,CAAC,QAAQ;oBACzB,OAAO,UAAU,CAAC,iBAAiB,CAAC;gBACtC,KAAK,aAAa,CAAC,mBAAmB,CAAC;gBACvC,KAAK,aAAa,CAAC,kBAAkB;oBACnC,OAAO,UAAU,CAAC,iBAAiB,CAAC;gBACtC;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAClE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,UAAU,CAAC,KAAK,CAAC;YAC1B,KAAK,aAAa,CAAC,QAAQ,CAAC;YAC5B,KAAK,aAAa,CAAC,MAAM;gBACvB,OAAO,UAAU,CAAC,iBAAiB,CAAC;YACtC;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4HAA4H;IAC5H,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -15,8 +15,8 @@ export function getConnectionsMap(libp2p) {
15
15
  export function getConnection(libp2p, peerIdStr) {
16
16
  return getConnectionsMap(libp2p).get(peerIdStr)?.value[0] ?? undefined;
17
17
  }
18
- // https://github.com/ChainSafe/js-libp2p-gossipsub/blob/3475242ed254f7647798ab7f36b21909f6cb61da/src/index.ts#L2009
18
+ // https://github.com/libp2p/js-libp2p/blob/f87cba928991736d9646b3e054c367f55cab315c/packages/gossipsub/src/gossipsub.ts#L2076
19
19
  export function isPublishToZeroPeersError(e) {
20
- return e.message.includes("PublishError.InsufficientPeers");
20
+ return e.message.includes("PublishError.NoPeersSubscribedToTopic");
21
21
  }
22
22
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/network/util.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAa;IAChD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,yCAAyC;AACzC,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,0EAA0E;IAC1E,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,SAAiB;IAC7D,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AACzE,CAAC;AAED,oHAAoH;AACpH,MAAM,UAAU,yBAAyB,CAAC,CAAQ;IAChD,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/network/util.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAa;IAChD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,yCAAyC;AACzC,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,0EAA0E;IAC1E,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,SAAiB;IAC7D,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AACzE,CAAC;AAED,8HAA8H;AAC9H,MAAM,UAAU,yBAAyB,CAAC,CAAQ;IAChD,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC;AACrE,CAAC"}