@lodestar/beacon-node 1.35.0-dev.8ea34e52ba → 1.35.0-dev.955e9f89ed

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 (235) hide show
  1. package/lib/api/impl/errors.js +0 -2
  2. package/lib/api/impl/errors.js.map +1 -1
  3. package/lib/api/rest/activeSockets.js +2 -3
  4. package/lib/api/rest/activeSockets.js.map +1 -1
  5. package/lib/api/rest/base.js +0 -4
  6. package/lib/api/rest/base.js.map +1 -1
  7. package/lib/api/rest/index.js +0 -2
  8. package/lib/api/rest/index.js.map +1 -1
  9. package/lib/api/rest/swaggerUI.js +2 -4
  10. package/lib/api/rest/swaggerUI.js.map +1 -1
  11. package/lib/chain/ColumnReconstructionTracker.js +9 -13
  12. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  13. package/lib/chain/GetBlobsTracker.js +4 -9
  14. package/lib/chain/GetBlobsTracker.js.map +1 -1
  15. package/lib/chain/archiveStore/archiveStore.js +38 -49
  16. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  17. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -2
  18. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  19. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +0 -5
  20. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  21. package/lib/chain/balancesCache.js +3 -1
  22. package/lib/chain/balancesCache.js.map +1 -1
  23. package/lib/chain/beaconProposerCache.js +0 -1
  24. package/lib/chain/beaconProposerCache.js.map +1 -1
  25. package/lib/chain/blocks/blockInput/blockInput.js +7 -18
  26. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  27. package/lib/chain/blocks/index.js +0 -1
  28. package/lib/chain/blocks/index.js.map +1 -1
  29. package/lib/chain/bls/multithread/index.js +163 -167
  30. package/lib/chain/bls/multithread/index.js.map +1 -1
  31. package/lib/chain/bls/singleThread.js +0 -1
  32. package/lib/chain/bls/singleThread.js.map +1 -1
  33. package/lib/chain/chain.js +15 -60
  34. package/lib/chain/chain.js.map +1 -1
  35. package/lib/chain/errors/blockError.js +0 -1
  36. package/lib/chain/errors/blockError.js.map +1 -1
  37. package/lib/chain/errors/gossipValidation.js +0 -1
  38. package/lib/chain/errors/gossipValidation.js.map +1 -1
  39. package/lib/chain/genesis/genesis.js +5 -16
  40. package/lib/chain/genesis/genesis.js.map +1 -1
  41. package/lib/chain/lightClient/index.js +9 -16
  42. package/lib/chain/lightClient/index.js.map +1 -1
  43. package/lib/chain/opPools/aggregatedAttestationPool.js +8 -13
  44. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  45. package/lib/chain/opPools/attestationPool.js +2 -7
  46. package/lib/chain/opPools/attestationPool.js.map +1 -1
  47. package/lib/chain/opPools/opPool.js +12 -10
  48. package/lib/chain/opPools/opPool.js.map +1 -1
  49. package/lib/chain/opPools/syncCommitteeMessagePool.js +6 -9
  50. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  51. package/lib/chain/opPools/syncContributionAndProofPool.js +2 -5
  52. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  53. package/lib/chain/prepareNextSlot.js +136 -141
  54. package/lib/chain/prepareNextSlot.js.map +1 -1
  55. package/lib/chain/regen/errors.js +0 -1
  56. package/lib/chain/regen/errors.js.map +1 -1
  57. package/lib/chain/regen/queued.js +28 -35
  58. package/lib/chain/regen/queued.js.map +1 -1
  59. package/lib/chain/regen/regen.js +0 -1
  60. package/lib/chain/regen/regen.js.map +1 -1
  61. package/lib/chain/reprocess.js +1 -3
  62. package/lib/chain/reprocess.js.map +1 -1
  63. package/lib/chain/seenCache/seenAggregateAndProof.js +6 -7
  64. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  65. package/lib/chain/seenCache/seenAttestationData.js +2 -5
  66. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  67. package/lib/chain/seenCache/seenAttesters.js +4 -2
  68. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  69. package/lib/chain/seenCache/seenBlockProposers.js +4 -2
  70. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  71. package/lib/chain/seenCache/seenCommittee.js +3 -1
  72. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  73. package/lib/chain/seenCache/seenCommitteeContribution.js +2 -3
  74. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  75. package/lib/chain/seenCache/seenGossipBlockInput.js +13 -20
  76. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  77. package/lib/chain/shufflingCache.js +2 -5
  78. package/lib/chain/shufflingCache.js.map +1 -1
  79. package/lib/chain/stateCache/blockStateCacheImpl.js +7 -13
  80. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  81. package/lib/chain/stateCache/datastore/db.js +0 -1
  82. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  83. package/lib/chain/stateCache/datastore/file.js +0 -1
  84. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  85. package/lib/chain/stateCache/fifoBlockStateCache.js +0 -10
  86. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  87. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +4 -10
  88. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  89. package/lib/chain/stateCache/mapMetrics.js +4 -4
  90. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  91. package/lib/chain/stateCache/persistentCheckpointsCache.js +4 -13
  92. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  93. package/lib/chain/validatorMonitor.js +1 -2
  94. package/lib/chain/validatorMonitor.js.map +1 -1
  95. package/lib/db/beacon.js +0 -24
  96. package/lib/db/beacon.js.map +1 -1
  97. package/lib/db/repositories/depositDataRoot.js +0 -1
  98. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  99. package/lib/db/single/preGenesisState.js +0 -6
  100. package/lib/db/single/preGenesisState.js.map +1 -1
  101. package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -5
  102. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  103. package/lib/eth1/eth1DataCache.js +0 -2
  104. package/lib/eth1/eth1DataCache.js.map +1 -1
  105. package/lib/eth1/eth1DepositDataTracker.js +5 -18
  106. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  107. package/lib/eth1/eth1DepositsCache.js +0 -3
  108. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  109. package/lib/eth1/eth1MergeBlockTracker.js +4 -10
  110. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  111. package/lib/eth1/index.js +0 -2
  112. package/lib/eth1/index.js.map +1 -1
  113. package/lib/eth1/provider/eth1Provider.js +2 -6
  114. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  115. package/lib/eth1/provider/jsonRpcHttpClient.js +2 -16
  116. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  117. package/lib/execution/builder/cache.js +0 -6
  118. package/lib/execution/builder/cache.js.map +1 -1
  119. package/lib/execution/builder/http.js +8 -14
  120. package/lib/execution/builder/http.js.map +1 -1
  121. package/lib/execution/engine/disabled.js +4 -2
  122. package/lib/execution/engine/disabled.js.map +1 -1
  123. package/lib/execution/engine/http.js +8 -23
  124. package/lib/execution/engine/http.js.map +1 -1
  125. package/lib/execution/engine/mock.d.ts +0 -1
  126. package/lib/execution/engine/mock.js +12 -16
  127. package/lib/execution/engine/mock.js.map +1 -1
  128. package/lib/execution/engine/payloadIdCache.js +3 -1
  129. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  130. package/lib/execution/engine/utils.js +1 -2
  131. package/lib/execution/engine/utils.js.map +1 -1
  132. package/lib/metrics/utils/avgMinMax.js +6 -10
  133. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  134. package/lib/metrics/utils/gauge.js +4 -1
  135. package/lib/metrics/utils/gauge.js.map +1 -1
  136. package/lib/monitoring/properties.js +0 -4
  137. package/lib/monitoring/properties.js.map +1 -1
  138. package/lib/monitoring/service.js +1 -13
  139. package/lib/monitoring/service.js.map +1 -1
  140. package/lib/monitoring/system.js +27 -25
  141. package/lib/monitoring/system.js.map +1 -1
  142. package/lib/network/core/networkCore.d.ts +1 -1
  143. package/lib/network/core/networkCore.js +49 -66
  144. package/lib/network/core/networkCore.js.map +1 -1
  145. package/lib/network/core/networkCoreWorkerHandler.d.ts +1 -1
  146. package/lib/network/core/networkCoreWorkerHandler.js +1 -4
  147. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  148. package/lib/network/discv5/index.js +1 -4
  149. package/lib/network/discv5/index.js.map +1 -1
  150. package/lib/network/discv5/worker.js.map +1 -1
  151. package/lib/network/gossip/encoding.js +0 -2
  152. package/lib/network/gossip/encoding.js.map +1 -1
  153. package/lib/network/gossip/errors.js +0 -1
  154. package/lib/network/gossip/errors.js.map +1 -1
  155. package/lib/network/gossip/gossipsub.js +0 -7
  156. package/lib/network/gossip/gossipsub.js.map +1 -1
  157. package/lib/network/gossip/topic.d.ts +49 -49
  158. package/lib/network/gossip/topic.js +1 -2
  159. package/lib/network/gossip/topic.js.map +1 -1
  160. package/lib/network/metadata.js +0 -4
  161. package/lib/network/metadata.js.map +1 -1
  162. package/lib/network/network.js +72 -86
  163. package/lib/network/network.js.map +1 -1
  164. package/lib/network/peers/datastore.js +2 -8
  165. package/lib/network/peers/datastore.js.map +1 -1
  166. package/lib/network/peers/discover.js +64 -74
  167. package/lib/network/peers/discover.js.map +1 -1
  168. package/lib/network/peers/peerManager.js +125 -145
  169. package/lib/network/peers/peerManager.js.map +1 -1
  170. package/lib/network/peers/peersData.js +3 -1
  171. package/lib/network/peers/peersData.js.map +1 -1
  172. package/lib/network/peers/score/score.js +0 -6
  173. package/lib/network/peers/score/score.js.map +1 -1
  174. package/lib/network/peers/score/store.js +0 -3
  175. package/lib/network/peers/score/store.js.map +1 -1
  176. package/lib/network/peers/utils/subnetMap.js +4 -2
  177. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  178. package/lib/network/processor/aggregatorTracker.js +3 -1
  179. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  180. package/lib/network/processor/gossipQueues/indexed.js +9 -11
  181. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  182. package/lib/network/processor/gossipQueues/linear.js +8 -9
  183. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  184. package/lib/network/processor/index.js +3 -15
  185. package/lib/network/processor/index.js.map +1 -1
  186. package/lib/network/reqresp/ReqRespBeaconNode.js +2 -11
  187. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  188. package/lib/network/statusCache.js +0 -1
  189. package/lib/network/statusCache.js.map +1 -1
  190. package/lib/network/subnets/attnetsService.js +65 -73
  191. package/lib/network/subnets/attnetsService.js.map +1 -1
  192. package/lib/network/subnets/syncnetsService.js +22 -29
  193. package/lib/network/subnets/syncnetsService.js.map +1 -1
  194. package/lib/node/nodejs.js +0 -15
  195. package/lib/node/nodejs.js.map +1 -1
  196. package/lib/sync/backfill/backfill.js +15 -57
  197. package/lib/sync/backfill/backfill.js.map +1 -1
  198. package/lib/sync/range/batch.js +10 -19
  199. package/lib/sync/range/batch.js.map +1 -1
  200. package/lib/sync/range/chain.js +8 -33
  201. package/lib/sync/range/chain.js.map +1 -1
  202. package/lib/sync/range/range.js +70 -76
  203. package/lib/sync/range/range.js.map +1 -1
  204. package/lib/sync/range/utils/peerBalancer.js +1 -5
  205. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  206. package/lib/sync/sync.js +85 -93
  207. package/lib/sync/sync.js.map +1 -1
  208. package/lib/sync/unknownBlock.js +160 -171
  209. package/lib/sync/unknownBlock.js.map +1 -1
  210. package/lib/util/array.js +3 -7
  211. package/lib/util/array.js.map +1 -1
  212. package/lib/util/asyncIterableToEvents.js +3 -6
  213. package/lib/util/asyncIterableToEvents.js.map +1 -1
  214. package/lib/util/binarySearch.js +0 -2
  215. package/lib/util/binarySearch.js.map +1 -1
  216. package/lib/util/bufferPool.js +2 -7
  217. package/lib/util/bufferPool.js.map +1 -1
  218. package/lib/util/clock.js +18 -23
  219. package/lib/util/clock.js.map +1 -1
  220. package/lib/util/dataColumns.js +0 -34
  221. package/lib/util/dataColumns.js.map +1 -1
  222. package/lib/util/itTrigger.js +4 -4
  223. package/lib/util/itTrigger.js.map +1 -1
  224. package/lib/util/map.js +0 -2
  225. package/lib/util/map.js.map +1 -1
  226. package/lib/util/queue/itemQueue.js +49 -52
  227. package/lib/util/queue/itemQueue.js.map +1 -1
  228. package/lib/util/serializedCache.js +3 -1
  229. package/lib/util/serializedCache.js.map +1 -1
  230. package/lib/util/set.js +0 -2
  231. package/lib/util/set.js.map +1 -1
  232. package/lib/util/timeSeries.js +1 -3
  233. package/lib/util/timeSeries.js.map +1 -1
  234. package/lib/util/types.d.ts +1 -1
  235. package/package.json +15 -15
@@ -60,28 +60,132 @@ var RelevantPeerStatus;
60
60
  * - Disconnect peers if over target peers
61
61
  */
62
62
  export class PeerManager {
63
- nodeId;
64
- libp2p;
65
- logger;
66
- metrics;
67
- reqResp;
68
- gossipsub;
69
- attnetsService;
70
- syncnetsService;
71
- clock;
72
- networkConfig;
73
- config;
74
- peerRpcScores;
75
- /** If null, discovery is disabled */
76
- discovery;
77
- networkEventBus;
78
- statusCache;
79
- lastStatus;
80
- // A single map of connected peers with all necessary data to handle PINGs, STATUS, and metrics
81
- connectedPeers;
82
- opts;
83
- intervals = [];
84
63
  constructor(modules, opts, discovery) {
64
+ this.intervals = [];
65
+ /**
66
+ * Must be called when network ReqResp receives incoming requests
67
+ */
68
+ this.onRequest = ({ peer, request }) => {
69
+ try {
70
+ const peerData = this.connectedPeers.get(peer.toString());
71
+ if (peerData) {
72
+ peerData.lastReceivedMsgUnixTsMs = Date.now();
73
+ }
74
+ switch (request.method) {
75
+ case ReqRespMethod.Ping:
76
+ this.onPing(peer, request.body);
77
+ return;
78
+ case ReqRespMethod.Goodbye:
79
+ this.onGoodbye(peer, request.body);
80
+ return;
81
+ case ReqRespMethod.Status:
82
+ this.onStatus(peer, request.body);
83
+ return;
84
+ }
85
+ }
86
+ catch (e) {
87
+ this.logger.error("Error onRequest handler", {}, e);
88
+ }
89
+ };
90
+ /**
91
+ * The libp2p Upgrader has successfully upgraded a peer connection on a particular multiaddress
92
+ * This event is routed through the connectionManager
93
+ *
94
+ * Registers a peer as connected. The `direction` parameter determines if the peer is being
95
+ * dialed or connecting to us.
96
+ */
97
+ this.onLibp2pPeerConnect = async (evt) => {
98
+ const { direction, status, remotePeer } = evt.detail;
99
+ const remotePeerStr = remotePeer.toString();
100
+ const remotePeerPrettyStr = prettyPrintPeerId(remotePeer);
101
+ this.logger.verbose("peer connected", { peer: remotePeerPrettyStr, direction, status });
102
+ // NOTE: The peerConnect event is not emitted here here, but after asserting peer relevance
103
+ this.metrics?.peerConnectedEvent.inc({ direction, status });
104
+ if (evt.detail.status !== "open") {
105
+ this.logger.debug("Peer disconnected before identify protocol initiated", {
106
+ peerId: remotePeerPrettyStr,
107
+ status: evt.detail.status,
108
+ });
109
+ return;
110
+ }
111
+ // On connection:
112
+ // - Outbound connections: send a STATUS and PING request
113
+ // - Inbound connections: expect to be STATUS'd, schedule STATUS and PING for latter
114
+ // NOTE: libp2p may emit two "peer:connect" events: One for inbound, one for outbound
115
+ // If that happens, it's okay. Only the "outbound" connection triggers immediate action
116
+ const now = Date.now();
117
+ const nodeId = computeNodeId(remotePeer);
118
+ const peerData = {
119
+ lastReceivedMsgUnixTsMs: direction === "outbound" ? 0 : now,
120
+ // If inbound, request after STATUS_INBOUND_GRACE_PERIOD
121
+ lastStatusUnixTsMs: direction === "outbound" ? 0 : now - STATUS_INTERVAL_MS + STATUS_INBOUND_GRACE_PERIOD,
122
+ connectedUnixTsMs: now,
123
+ relevantStatus: RelevantPeerStatus.Unknown,
124
+ direction,
125
+ nodeId,
126
+ peerId: remotePeer,
127
+ status: null,
128
+ metadata: null,
129
+ agentVersion: null,
130
+ agentClient: null,
131
+ encodingPreference: null,
132
+ };
133
+ this.connectedPeers.set(remotePeerStr, peerData);
134
+ if (direction === "outbound") {
135
+ // this.pingAndStatusTimeouts();
136
+ void this.requestPing(remotePeer);
137
+ void this.requestStatus(remotePeer, this.statusCache.get());
138
+ }
139
+ this.libp2p.services.identify
140
+ .identify(evt.detail)
141
+ .then((result) => {
142
+ const agentVersion = result.agentVersion;
143
+ if (agentVersion) {
144
+ peerData.agentVersion = agentVersion;
145
+ peerData.agentClient = getKnownClientFromAgentVersion(agentVersion);
146
+ }
147
+ })
148
+ .catch((err) => {
149
+ if (evt.detail.status !== "open") {
150
+ this.logger.debug("Peer disconnected during identify protocol", {
151
+ peerId: remotePeerPrettyStr,
152
+ error: err.message,
153
+ });
154
+ }
155
+ else {
156
+ this.logger.debug("Error setting agentVersion for the peer", { peerId: remotePeerPrettyStr }, err);
157
+ }
158
+ });
159
+ };
160
+ /**
161
+ * The libp2p Upgrader has ended a connection
162
+ */
163
+ this.onLibp2pPeerDisconnect = (evt) => {
164
+ const { direction, status, remotePeer } = evt.detail;
165
+ const peerIdStr = remotePeer.toString();
166
+ let logMessage = "onLibp2pPeerDisconnect";
167
+ const logContext = {
168
+ peerId: prettyPrintPeerIdStr(peerIdStr),
169
+ direction,
170
+ status,
171
+ };
172
+ // Some clients do not send good-bye requests (Nimbus) so check for inbound disconnects and apply reconnection
173
+ // cool-down period to prevent automatic reconnection by Discovery
174
+ if (direction === "inbound") {
175
+ // prevent automatic/immediate reconnects
176
+ const coolDownMin = this.peerRpcScores.applyReconnectionCoolDown(peerIdStr, GoodByeReasonCode.INBOUND_DISCONNECT);
177
+ logMessage += ". Enforcing a reconnection cool-down period";
178
+ logContext.coolDownMin = coolDownMin;
179
+ }
180
+ // remove the ping and status timer for the peer
181
+ this.connectedPeers.delete(peerIdStr);
182
+ this.logger.verbose(logMessage, logContext);
183
+ this.networkEventBus.emit(NetworkEvent.peerDisconnected, { peer: peerIdStr });
184
+ this.metrics?.peerDisconnectedEvent.inc({ direction });
185
+ this.libp2p.peerStore
186
+ .merge(remotePeer, { tags: { [PEER_RELEVANT_TAG]: undefined } })
187
+ .catch((e) => this.logger.verbose("cannot untag peer", { peerId: peerIdStr }, e));
188
+ };
85
189
  const { networkConfig } = modules;
86
190
  this.libp2p = modules.libp2p;
87
191
  this.logger = modules.logger;
@@ -180,31 +284,6 @@ export class PeerManager {
180
284
  dumpPeerScoreStats() {
181
285
  return this.peerRpcScores.dumpPeerScoreStats();
182
286
  }
183
- /**
184
- * Must be called when network ReqResp receives incoming requests
185
- */
186
- onRequest = ({ peer, request }) => {
187
- try {
188
- const peerData = this.connectedPeers.get(peer.toString());
189
- if (peerData) {
190
- peerData.lastReceivedMsgUnixTsMs = Date.now();
191
- }
192
- switch (request.method) {
193
- case ReqRespMethod.Ping:
194
- this.onPing(peer, request.body);
195
- return;
196
- case ReqRespMethod.Goodbye:
197
- this.onGoodbye(peer, request.body);
198
- return;
199
- case ReqRespMethod.Status:
200
- this.onStatus(peer, request.body);
201
- return;
202
- }
203
- }
204
- catch (e) {
205
- this.logger.error("Error onRequest handler", {}, e);
206
- }
207
- };
208
287
  /**
209
288
  * Handle a PING request + response (rpc handler responds with PONG automatically)
210
289
  */
@@ -539,105 +618,6 @@ export class PeerManager {
539
618
  void this.requestStatusMany(peersToStatus);
540
619
  }
541
620
  }
542
- /**
543
- * The libp2p Upgrader has successfully upgraded a peer connection on a particular multiaddress
544
- * This event is routed through the connectionManager
545
- *
546
- * Registers a peer as connected. The `direction` parameter determines if the peer is being
547
- * dialed or connecting to us.
548
- */
549
- onLibp2pPeerConnect = async (evt) => {
550
- const { direction, status, remotePeer } = evt.detail;
551
- const remotePeerStr = remotePeer.toString();
552
- const remotePeerPrettyStr = prettyPrintPeerId(remotePeer);
553
- this.logger.verbose("peer connected", { peer: remotePeerPrettyStr, direction, status });
554
- // NOTE: The peerConnect event is not emitted here here, but after asserting peer relevance
555
- this.metrics?.peerConnectedEvent.inc({ direction, status });
556
- if (evt.detail.status !== "open") {
557
- this.logger.debug("Peer disconnected before identify protocol initiated", {
558
- peerId: remotePeerPrettyStr,
559
- status: evt.detail.status,
560
- });
561
- return;
562
- }
563
- // On connection:
564
- // - Outbound connections: send a STATUS and PING request
565
- // - Inbound connections: expect to be STATUS'd, schedule STATUS and PING for latter
566
- // NOTE: libp2p may emit two "peer:connect" events: One for inbound, one for outbound
567
- // If that happens, it's okay. Only the "outbound" connection triggers immediate action
568
- const now = Date.now();
569
- const nodeId = computeNodeId(remotePeer);
570
- const peerData = {
571
- lastReceivedMsgUnixTsMs: direction === "outbound" ? 0 : now,
572
- // If inbound, request after STATUS_INBOUND_GRACE_PERIOD
573
- lastStatusUnixTsMs: direction === "outbound" ? 0 : now - STATUS_INTERVAL_MS + STATUS_INBOUND_GRACE_PERIOD,
574
- connectedUnixTsMs: now,
575
- relevantStatus: RelevantPeerStatus.Unknown,
576
- direction,
577
- nodeId,
578
- peerId: remotePeer,
579
- status: null,
580
- metadata: null,
581
- agentVersion: null,
582
- agentClient: null,
583
- encodingPreference: null,
584
- };
585
- this.connectedPeers.set(remotePeerStr, peerData);
586
- if (direction === "outbound") {
587
- // this.pingAndStatusTimeouts();
588
- void this.requestPing(remotePeer);
589
- void this.requestStatus(remotePeer, this.statusCache.get());
590
- }
591
- this.libp2p.services.identify
592
- .identify(evt.detail)
593
- .then((result) => {
594
- const agentVersion = result.agentVersion;
595
- if (agentVersion) {
596
- peerData.agentVersion = agentVersion;
597
- peerData.agentClient = getKnownClientFromAgentVersion(agentVersion);
598
- }
599
- })
600
- .catch((err) => {
601
- if (evt.detail.status !== "open") {
602
- this.logger.debug("Peer disconnected during identify protocol", {
603
- peerId: remotePeerPrettyStr,
604
- error: err.message,
605
- });
606
- }
607
- else {
608
- this.logger.debug("Error setting agentVersion for the peer", { peerId: remotePeerPrettyStr }, err);
609
- }
610
- });
611
- };
612
- /**
613
- * The libp2p Upgrader has ended a connection
614
- */
615
- onLibp2pPeerDisconnect = (evt) => {
616
- const { direction, status, remotePeer } = evt.detail;
617
- const peerIdStr = remotePeer.toString();
618
- let logMessage = "onLibp2pPeerDisconnect";
619
- const logContext = {
620
- peerId: prettyPrintPeerIdStr(peerIdStr),
621
- direction,
622
- status,
623
- };
624
- // Some clients do not send good-bye requests (Nimbus) so check for inbound disconnects and apply reconnection
625
- // cool-down period to prevent automatic reconnection by Discovery
626
- if (direction === "inbound") {
627
- // prevent automatic/immediate reconnects
628
- const coolDownMin = this.peerRpcScores.applyReconnectionCoolDown(peerIdStr, GoodByeReasonCode.INBOUND_DISCONNECT);
629
- logMessage += ". Enforcing a reconnection cool-down period";
630
- logContext.coolDownMin = coolDownMin;
631
- }
632
- // remove the ping and status timer for the peer
633
- this.connectedPeers.delete(peerIdStr);
634
- this.logger.verbose(logMessage, logContext);
635
- this.networkEventBus.emit(NetworkEvent.peerDisconnected, { peer: peerIdStr });
636
- this.metrics?.peerDisconnectedEvent.inc({ direction });
637
- this.libp2p.peerStore
638
- .merge(remotePeer, { tags: { [PEER_RELEVANT_TAG]: undefined } })
639
- .catch((e) => this.logger.verbose("cannot untag peer", { peerId: peerIdStr }, e));
640
- };
641
621
  async disconnect(peer) {
642
622
  try {
643
623
  await this.libp2p.hangUp(peer);
@@ -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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"}
@@ -12,7 +12,9 @@ export var RelevantPeerStatus;
12
12
  * The pruning and bounding of this class is handled by the PeerManager
13
13
  */
14
14
  export class PeersData {
15
- connectedPeers = new Map();
15
+ constructor() {
16
+ this.connectedPeers = new Map();
17
+ }
16
18
  getAgentVersion(peerIdStr) {
17
19
  return this.connectedPeers.get(peerIdStr)?.agentVersion ?? "NA";
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"peersData.js","sourceRoot":"","sources":["../../../src/network/peers/peersData.ts"],"names":[],"mappings":"AAeA,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;IACrB,+CAAyB,CAAA;AAC3B,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAiBD;;;;;;GAMG;AACH,MAAM,OAAO,SAAS;IACX,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEzD,eAAe,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,kBAAkB,IAAI,IAAI,CAAC;IACxE,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,QAAkB;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACzC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"peersData.js","sourceRoot":"","sources":["../../../src/network/peers/peersData.ts"],"names":[],"mappings":"AAeA,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;IACrB,+CAAyB,CAAA;AAC3B,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAiBD;;;;;;GAMG;AACH,MAAM,OAAO,SAAS;IAAtB;QACW,mBAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;IAoB3D,CAAC;IAlBC,eAAe,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,kBAAkB,IAAI,IAAI,CAAC;IACxE,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,QAAkB;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACzC,CAAC;IACH,CAAC;CACF"}
@@ -6,12 +6,6 @@ import { scoreToState } from "./utils.js";
6
6
  * Manage score of a peer.
7
7
  */
8
8
  export class RealScore {
9
- lodestarScore;
10
- gossipScore;
11
- ignoreNegativeGossipScore;
12
- /** The final score, computed from the above */
13
- score;
14
- lastUpdate;
15
9
  constructor() {
16
10
  this.lodestarScore = DEFAULT_SCORE;
17
11
  this.gossipScore = DEFAULT_SCORE;
@@ -1 +1 @@
1
- {"version":3,"file":"score.js","sourceRoot":"","sources":["../../../../src/network/peers/score/score.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"score.js","sourceRoot":"","sources":["../../../../src/network/peers/score/score.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,6 @@ const peerActionScore = {
17
17
  * Peer cool-down period will be checked before dialing and will only be dialed if score is not waiting to decay
18
18
  */
19
19
  export class PeerRpcScoreStore {
20
- scores;
21
- metrics;
22
- logger;
23
20
  // TODO: Persist scores, at least BANNED status to disk
24
21
  constructor(opts = {}, metrics = null, logger = null) {
25
22
  this.metrics = metrics;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/network/peers/score/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/network/peers/score/store.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@
2
2
  * Track requested subnets by `toSlot`
3
3
  */
4
4
  export class SubnetMap {
5
- /** Map of subnets and the slot until they are needed */
6
- subnets = new Map();
5
+ constructor() {
6
+ /** Map of subnets and the slot until they are needed */
7
+ this.subnets = new Map();
8
+ }
7
9
  get size() {
8
10
  return this.subnets.size;
9
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subnetMap.js","sourceRoot":"","sources":["../../../../src/network/peers/utils/subnetMap.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,wDAAwD;IAChD,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,MAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;QAEI;IACJ,OAAO,CAAC,eAAgC;QACtC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,cAAc,CAAC,MAAgB,EAAE,IAAU;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,aAAa;IAC9D,CAAC;IAED,wEAAwE;IACxE,SAAS,CAAC,WAAiB;QACzB,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wEAAwE;IACxE,YAAY,CAAC,WAAiB;QAC5B,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6FAA6F;IAC7F,UAAU,CAAC,WAAiB;QAC1B,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAgB;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"subnetMap.js","sourceRoot":"","sources":["../../../../src/network/peers/utils/subnetMap.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,OAAO,SAAS;IAAtB;QACE,wDAAwD;QAChD,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAuE9C,CAAC;IArEC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,MAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;QAEI;IACJ,OAAO,CAAC,eAAgC;QACtC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,cAAc,CAAC,MAAgB,EAAE,IAAU;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,aAAa;IAC9D,CAAC;IAED,wEAAwE;IACxE,SAAS,CAAC,WAAiB;QACzB,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wEAAwE;IACxE,YAAY,CAAC,WAAiB;QAC5B,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6FAA6F;IAC7F,UAAU,CAAC,WAAiB;QAC1B,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAgB;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -7,7 +7,9 @@ const MAX_SLOTS_CACHED = SLOTS_PER_EPOCH * 2;
7
7
  * to only then insert attestations into the op pool
8
8
  */
9
9
  export class AggregatorTracker {
10
- subnetAggregatorsBySlot = new MapDef(() => new Set());
10
+ constructor() {
11
+ this.subnetAggregatorsBySlot = new MapDef(() => new Set());
12
+ }
11
13
  get maxSlotsCached() {
12
14
  return MAX_SLOTS_CACHED;
13
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aggregatorTracker.js","sourceRoot":"","sources":["../../../src/network/processor/aggregatorTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEtD,wDAAwD;AACxD,MAAM,gBAAgB,GAAG,eAAe,GAAG,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,uBAAuB,GAAG,IAAI,MAAM,CAAsB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAEnF,IAAI,cAAc;QAChB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,IAAU;QACxC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,eAAe,CAAC,MAAgB,EAAE,IAAU;QAC1C,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACtE,CAAC;IAED,KAAK;QACH,yEAAyE;QACzE,qEAAqE;QACrE,2EAA2E;QAC3E,aAAa,CACX,IAAI,CAAC,uBAAuB,EAC5B,gBAAgB;QAChB,+BAA+B;QAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAChB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"aggregatorTracker.js","sourceRoot":"","sources":["../../../src/network/processor/aggregatorTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEtD,wDAAwD;AACxD,MAAM,gBAAgB,GAAG,eAAe,GAAG,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACU,4BAAuB,GAAG,IAAI,MAAM,CAAsB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAyBrF,CAAC;IAvBC,IAAI,cAAc;QAChB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,IAAU;QACxC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,eAAe,CAAC,MAAgB,EAAE,IAAU;QAC1C,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACtE,CAAC;IAED,KAAK;QACH,yEAAyE;QACzE,qEAAqE;QACrE,2EAA2E;QAC3E,aAAa,CACX,IAAI,CAAC,uBAAuB,EAC5B,gBAAgB;QAChB,+BAA+B;QAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAChB,CAAC;IACJ,CAAC;CACF"}
@@ -20,19 +20,17 @@ const MINIMUM_WAIT_TIME_MS = 50;
20
20
  * This is a special gossip queue for beacon_attestation topic
21
21
  */
22
22
  export class IndexedGossipQueueMinSize {
23
- opts;
24
- _length = 0;
25
- indexedItems;
26
- // keys with at least minChunkSize items
27
- // we want to process the last key with minChunkSize first, similar to LIFO
28
- minChunkSizeKeys = new OrderedSet();
29
- // wait time for the next() function to prevent having to search for items >=MINIMUM_WAIT_TIME_MS old repeatedly
30
- // this value is <= MINIMUM_WAIT_TIME_MS
31
- nextWaitTimeMs = null;
32
- // the last time we checked for items >=MINIMUM_WAIT_TIME_MS old
33
- lastWaitTimeCheckedMs = 0;
34
23
  constructor(opts) {
35
24
  this.opts = opts;
25
+ this._length = 0;
26
+ // keys with at least minChunkSize items
27
+ // we want to process the last key with minChunkSize first, similar to LIFO
28
+ this.minChunkSizeKeys = new OrderedSet();
29
+ // wait time for the next() function to prevent having to search for items >=MINIMUM_WAIT_TIME_MS old repeatedly
30
+ // this value is <= MINIMUM_WAIT_TIME_MS
31
+ this.nextWaitTimeMs = null;
32
+ // the last time we checked for items >=MINIMUM_WAIT_TIME_MS old
33
+ this.lastWaitTimeCheckedMs = 0;
36
34
  const { minChunkSize, maxChunkSize } = opts;
37
35
  if (minChunkSize < 0 || maxChunkSize < 0 || minChunkSize > maxChunkSize) {
38
36
  throw Error(`Unexpected min chunk size ${minChunkSize}, max chunk size ${maxChunkSize}}`);
@@ -1 +1 @@
1
- {"version":3,"file":"indexed.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/indexed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexed.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/indexed.ts"],"names":[],"mappings":"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"}
@@ -8,17 +8,16 @@ const MAX_DROP_RATIO = 0.95;
8
8
  * Support LIFO and FIFO type.
9
9
  */
10
10
  export class LinearGossipQueue {
11
- opts;
12
- list = new LinkedList();
13
- // Increase _dropRatio gradually, retest its initial value if node is in good status
14
- _dropRatio = 0;
15
- // this is to avoid the case we drop 90% of the queue, then queue is empty and we consider
16
- // node is in good status
17
- recentDrop = false;
18
- // set recentDrop to false after we process up to maxLength items
19
- processedCountSinceDrop = 0;
20
11
  constructor(opts) {
21
12
  this.opts = opts;
13
+ this.list = new LinkedList();
14
+ // Increase _dropRatio gradually, retest its initial value if node is in good status
15
+ this._dropRatio = 0;
16
+ // this is to avoid the case we drop 90% of the queue, then queue is empty and we consider
17
+ // node is in good status
18
+ this.recentDrop = false;
19
+ // set recentDrop to false after we process up to maxLength items
20
+ this.processedCountSinceDrop = 0;
22
21
  if (opts.dropOpts.type === DropType.ratio) {
23
22
  const { start, step } = opts.dropOpts;
24
23
  if (start <= 0 || start > 1) {