@lodestar/beacon-node 1.45.0-dev.f2645825a8 → 1.45.0-dev.f6c521a123

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 (214) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +3 -2
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/index.d.ts +1 -1
  5. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  6. package/lib/api/impl/beacon/index.js.map +1 -1
  7. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  8. package/lib/api/impl/beacon/pool/index.js +6 -42
  9. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  10. package/lib/api/impl/beacon/state/index.d.ts +1 -1
  11. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/state/index.js +2 -2
  13. package/lib/api/impl/beacon/state/index.js.map +1 -1
  14. package/lib/api/impl/beacon/state/utils.d.ts +2 -1
  15. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  16. package/lib/api/impl/beacon/state/utils.js +9 -1
  17. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  18. package/lib/api/impl/debug/index.d.ts +1 -1
  19. package/lib/api/impl/debug/index.d.ts.map +1 -1
  20. package/lib/api/impl/debug/index.js +2 -2
  21. package/lib/api/impl/debug/index.js.map +1 -1
  22. package/lib/api/impl/lodestar/index.js +2 -2
  23. package/lib/api/impl/lodestar/index.js.map +1 -1
  24. package/lib/api/impl/proof/index.d.ts +1 -1
  25. package/lib/api/impl/proof/index.d.ts.map +1 -1
  26. package/lib/api/impl/proof/index.js +2 -2
  27. package/lib/api/impl/proof/index.js.map +1 -1
  28. package/lib/api/impl/utils.d.ts +23 -0
  29. package/lib/api/impl/utils.d.ts.map +1 -1
  30. package/lib/api/impl/utils.js +44 -1
  31. package/lib/api/impl/utils.js.map +1 -1
  32. package/lib/api/impl/validator/index.d.ts +0 -14
  33. package/lib/api/impl/validator/index.d.ts.map +1 -1
  34. package/lib/api/impl/validator/index.js +58 -59
  35. package/lib/api/impl/validator/index.js.map +1 -1
  36. package/lib/api/rest/base.d.ts.map +1 -1
  37. package/lib/api/rest/base.js +14 -3
  38. package/lib/api/rest/base.js.map +1 -1
  39. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  40. package/lib/chain/blocks/importBlock.js +3 -21
  41. package/lib/chain/blocks/importBlock.js.map +1 -1
  42. package/lib/chain/blocks/utils/chainSegment.d.ts.map +1 -1
  43. package/lib/chain/blocks/utils/chainSegment.js +13 -5
  44. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  45. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +1 -1
  46. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  47. package/lib/chain/blocks/verifyBlocksSanityChecks.js +1 -1
  48. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  49. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +2 -2
  50. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
  51. package/lib/chain/builderCircuitBreaker.d.ts +31 -0
  52. package/lib/chain/builderCircuitBreaker.d.ts.map +1 -0
  53. package/lib/chain/builderCircuitBreaker.js +59 -0
  54. package/lib/chain/builderCircuitBreaker.js.map +1 -0
  55. package/lib/chain/chain.d.ts +2 -0
  56. package/lib/chain/chain.d.ts.map +1 -1
  57. package/lib/chain/chain.js +26 -2
  58. package/lib/chain/chain.js.map +1 -1
  59. package/lib/chain/errors/blockError.d.ts +48 -6
  60. package/lib/chain/errors/blockError.d.ts.map +1 -1
  61. package/lib/chain/errors/blockError.js +25 -4
  62. package/lib/chain/errors/blockError.js.map +1 -1
  63. package/lib/chain/errors/executionPayloadEnvelope.d.ts +11 -0
  64. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  65. package/lib/chain/errors/executionPayloadEnvelope.js +2 -0
  66. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  67. package/lib/chain/interface.d.ts +2 -0
  68. package/lib/chain/interface.d.ts.map +1 -1
  69. package/lib/chain/interface.js.map +1 -1
  70. package/lib/chain/lightClient/index.d.ts.map +1 -1
  71. package/lib/chain/lightClient/index.js +11 -6
  72. package/lib/chain/lightClient/index.js.map +1 -1
  73. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  74. package/lib/chain/lightClient/proofs.js +28 -2
  75. package/lib/chain/lightClient/proofs.js.map +1 -1
  76. package/lib/chain/lightClient/types.d.ts +3 -1
  77. package/lib/chain/lightClient/types.d.ts.map +1 -1
  78. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  79. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  80. package/lib/chain/opPools/proposerPreferencesPool.d.ts +1 -1
  81. package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
  82. package/lib/chain/opPools/proposerPreferencesPool.js +1 -1
  83. package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
  84. package/lib/chain/options.d.ts +4 -0
  85. package/lib/chain/options.d.ts.map +1 -1
  86. package/lib/chain/options.js.map +1 -1
  87. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  88. package/lib/chain/prepareNextSlot.js +12 -7
  89. package/lib/chain/prepareNextSlot.js.map +1 -1
  90. package/lib/chain/validation/aggregateAndProof.js +10 -6
  91. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  92. package/lib/chain/validation/attestation.d.ts.map +1 -1
  93. package/lib/chain/validation/attestation.js +10 -6
  94. package/lib/chain/validation/attestation.js.map +1 -1
  95. package/lib/chain/validation/block.d.ts.map +1 -1
  96. package/lib/chain/validation/block.js +53 -4
  97. package/lib/chain/validation/block.js.map +1 -1
  98. package/lib/chain/validation/executionPayloadBid.js +13 -12
  99. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  100. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  101. package/lib/chain/validation/executionPayloadEnvelope.js +29 -0
  102. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  103. package/lib/chain/validation/proposerPreferences.d.ts.map +1 -1
  104. package/lib/chain/validation/proposerPreferences.js +3 -2
  105. package/lib/chain/validation/proposerPreferences.js.map +1 -1
  106. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +1 -1
  107. package/lib/chain/validation/signatureSets/aggregateAndProof.js +2 -3
  108. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  109. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +1 -1
  110. package/lib/db/repositories/lightclientSyncCommitteeWitness.js +42 -7
  111. package/lib/db/repositories/lightclientSyncCommitteeWitness.js.map +1 -1
  112. package/lib/execution/builder/http.d.ts +18 -0
  113. package/lib/execution/builder/http.d.ts.map +1 -1
  114. package/lib/execution/builder/http.js +20 -11
  115. package/lib/execution/builder/http.js.map +1 -1
  116. package/lib/metrics/metrics/beacon.d.ts +6 -0
  117. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  118. package/lib/metrics/metrics/beacon.js +18 -0
  119. package/lib/metrics/metrics/beacon.js.map +1 -1
  120. package/lib/network/core/metrics.d.ts +65 -0
  121. package/lib/network/core/metrics.d.ts.map +1 -1
  122. package/lib/network/core/metrics.js +94 -0
  123. package/lib/network/core/metrics.js.map +1 -1
  124. package/lib/network/discv5/utils.d.ts.map +1 -1
  125. package/lib/network/discv5/utils.js +12 -3
  126. package/lib/network/discv5/utils.js.map +1 -1
  127. package/lib/network/gossip/encoding.d.ts +2 -2
  128. package/lib/network/gossip/encoding.d.ts.map +1 -1
  129. package/lib/network/gossip/encoding.js +22 -9
  130. package/lib/network/gossip/encoding.js.map +1 -1
  131. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  132. package/lib/network/gossip/gossipsub.js +4 -3
  133. package/lib/network/gossip/gossipsub.js.map +1 -1
  134. package/lib/network/gossip/topic.d.ts +80 -232
  135. package/lib/network/gossip/topic.d.ts.map +1 -1
  136. package/lib/network/gossip/topic.js +47 -4
  137. package/lib/network/gossip/topic.js.map +1 -1
  138. package/lib/network/peers/peerManager.d.ts.map +1 -1
  139. package/lib/network/peers/peerManager.js +10 -0
  140. package/lib/network/peers/peerManager.js.map +1 -1
  141. package/lib/network/peers/score/score.d.ts +3 -1
  142. package/lib/network/peers/score/score.d.ts.map +1 -1
  143. package/lib/network/peers/score/score.js +6 -1
  144. package/lib/network/peers/score/score.js.map +1 -1
  145. package/lib/network/peers/score/store.d.ts.map +1 -1
  146. package/lib/network/peers/score/store.js +6 -1
  147. package/lib/network/peers/score/store.js.map +1 -1
  148. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  149. package/lib/network/peers/utils/prioritizePeers.js +14 -0
  150. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  151. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  152. package/lib/network/processor/gossipHandlers.js +18 -8
  153. package/lib/network/processor/gossipHandlers.js.map +1 -1
  154. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -1
  155. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +4 -2
  156. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -1
  157. package/lib/sync/sync.d.ts.map +1 -1
  158. package/lib/sync/sync.js +7 -0
  159. package/lib/sync/sync.js.map +1 -1
  160. package/lib/sync/unknownBlock.d.ts.map +1 -1
  161. package/lib/sync/unknownBlock.js +7 -2
  162. package/lib/sync/unknownBlock.js.map +1 -1
  163. package/package.json +23 -21
  164. package/src/api/impl/beacon/blocks/index.ts +3 -2
  165. package/src/api/impl/beacon/index.ts +1 -1
  166. package/src/api/impl/beacon/pool/index.ts +5 -52
  167. package/src/api/impl/beacon/state/index.ts +3 -2
  168. package/src/api/impl/beacon/state/utils.ts +11 -0
  169. package/src/api/impl/debug/index.ts +3 -2
  170. package/src/api/impl/lodestar/index.ts +2 -2
  171. package/src/api/impl/proof/index.ts +2 -2
  172. package/src/api/impl/utils.ts +51 -1
  173. package/src/api/impl/validator/index.ts +66 -64
  174. package/src/api/rest/base.ts +17 -3
  175. package/src/chain/blocks/importBlock.ts +1 -23
  176. package/src/chain/blocks/utils/chainSegment.ts +16 -5
  177. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +1 -1
  178. package/src/chain/blocks/verifyBlocksSanityChecks.ts +1 -1
  179. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +2 -2
  180. package/src/chain/builderCircuitBreaker.ts +84 -0
  181. package/src/chain/chain.ts +38 -2
  182. package/src/chain/errors/blockError.ts +44 -7
  183. package/src/chain/errors/executionPayloadEnvelope.ts +9 -0
  184. package/src/chain/interface.ts +2 -0
  185. package/src/chain/lightClient/index.ts +12 -7
  186. package/src/chain/lightClient/proofs.ts +36 -1
  187. package/src/chain/lightClient/types.ts +3 -1
  188. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  189. package/src/chain/opPools/proposerPreferencesPool.ts +1 -1
  190. package/src/chain/options.ts +4 -0
  191. package/src/chain/prepareNextSlot.ts +11 -7
  192. package/src/chain/validation/aggregateAndProof.ts +12 -6
  193. package/src/chain/validation/attestation.ts +12 -6
  194. package/src/chain/validation/block.ts +69 -4
  195. package/src/chain/validation/executionPayloadBid.ts +16 -11
  196. package/src/chain/validation/executionPayloadEnvelope.ts +37 -0
  197. package/src/chain/validation/proposerPreferences.ts +3 -2
  198. package/src/chain/validation/signatureSets/aggregateAndProof.ts +3 -3
  199. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +57 -9
  200. package/src/execution/builder/http.ts +30 -17
  201. package/src/metrics/metrics/beacon.ts +19 -0
  202. package/src/network/core/metrics.ts +94 -0
  203. package/src/network/discv5/utils.ts +11 -3
  204. package/src/network/gossip/encoding.ts +20 -7
  205. package/src/network/gossip/gossipsub.ts +9 -3
  206. package/src/network/gossip/topic.ts +58 -4
  207. package/src/network/peers/peerManager.ts +11 -0
  208. package/src/network/peers/score/score.ts +8 -1
  209. package/src/network/peers/score/store.ts +8 -1
  210. package/src/network/peers/utils/prioritizePeers.ts +15 -0
  211. package/src/network/processor/gossipHandlers.ts +18 -7
  212. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +4 -2
  213. package/src/sync/sync.ts +10 -0
  214. package/src/sync/unknownBlock.ts +8 -2
@@ -59,6 +59,71 @@ export declare function createNetworkCoreMetrics(register: RegistryMetricCreator
59
59
  peerManager: {
60
60
  heartbeatDuration: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
61
61
  starved: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
62
+ /**
63
+ * Core selection/pruning phase of the heartbeat, split out of heartbeatDuration so it
64
+ * can be attributed on its own. Divide by peersEvaluated for time-per-peer.
65
+ */
66
+ prioritizePeersDuration: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
67
+ /**
68
+ * Score decay + map prune over every tracked peer, split out of heartbeatDuration.
69
+ * This loop iterates the whole score store, so divide by scoreMapSize (not
70
+ * peersEvaluated) for time-per-peer.
71
+ */
72
+ scoreUpdateDuration: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
73
+ /**
74
+ * Denominator for prioritizePeersDuration: it scales with the number of connected
75
+ * healthy peers, so time-per-peer (prioritizePeersDuration / this) is the comparable
76
+ * figure. For scoreUpdateDuration use scoreMapSize instead.
77
+ */
78
+ peersEvaluated: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
79
+ /**
80
+ * Every peer the manager intends to disconnect. Covers both the top-of-heartbeat
81
+ * bad-score disconnects ("banned"/"score_too_low") and the prioritization reasons;
82
+ * the older peersRequestedToDisconnect gauge only recorded the latter. Counts intent,
83
+ * not completion (goodbye is fire-and-forget).
84
+ */
85
+ peersPruned: import("@lodestar/utils").Counter<{
86
+ reason: string;
87
+ }>;
88
+ /**
89
+ * Actual peer count per active subnet, to check the min-peers-per-subnet invariant.
90
+ * Buckets straddle the target (TARGET_SUBNET_PEERS = 6).
91
+ */
92
+ peersPerActiveSubnet: import("@lodestar/utils").Histogram<{
93
+ type: SubnetType;
94
+ }>;
95
+ /**
96
+ * Live outbound ratio, to check the OUTBOUND_PEERS_RATIO (10%) invariant (issue #2215).
97
+ * Denominator is connected healthy peers (banned/disconnected already removed).
98
+ */
99
+ outboundPeersRatio: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
100
+ /**
101
+ * Score state crossings (Healthy/Disconnected/Banned). Sensitive to the decay formula,
102
+ * thresholds, and gossip-score weighting.
103
+ */
104
+ scoreStateTransitions: import("@lodestar/utils").Counter<{
105
+ from: string;
106
+ to: string;
107
+ }>;
108
+ /**
109
+ * Entry count of the score store (not bytes). Reflects the prune-to-MAX_ENTRIES /
110
+ * SCORE_THRESHOLD retention logic. Also the denominator for scoreUpdateDuration
111
+ * time-per-peer (that loop iterates the whole store, not just connected peers).
112
+ */
113
+ scoreMapSize: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
114
+ /**
115
+ * Entry count of the connectedPeers map (not bytes). Should track libp2p_peers; a
116
+ * persistent gap indicates the connection leak guarded by leakedConnectionsCount.
117
+ */
118
+ connectedPeersMapSize: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
119
+ /**
120
+ * assertPeerRelevance outcome per Status exchange: "relevant", an irrelevant reason
121
+ * code, or "error". Fires on every status evaluation (inbound requests and our own
122
+ * requestStatus responses both route through onStatus).
123
+ */
124
+ relevanceCheck: import("@lodestar/utils").Counter<{
125
+ result: string;
126
+ }>;
62
127
  };
63
128
  leakedConnectionsCount: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
64
129
  discovery: {
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/network/core/metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoRvE;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEtF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,qBAAqB;;;;;EAa1E"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/network/core/metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuHlE;;;WAGG;;QAMH;;;;WAIG;;QAMH;;;;WAIG;;QAMH;;;;;WAKG;;;;QAMH;;;WAGG;;;;QAOH;;;WAGG;;QAKH;;;WAGG;;;;;QAMH;;;;WAIG;;QAKH;;;WAGG;;QAKH;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmKR;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEtF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,qBAAqB;;;;;EAa1E"}
@@ -115,6 +115,100 @@ export function createNetworkCoreMetrics(register) {
115
115
  name: "lodestar_peer_manager_starved_bool",
116
116
  help: "Whether lodestar is starved of data while syncing",
117
117
  }),
118
+ /**
119
+ * Core selection/pruning phase of the heartbeat, split out of heartbeatDuration so it
120
+ * can be attributed on its own. Divide by peersEvaluated for time-per-peer.
121
+ */
122
+ prioritizePeersDuration: register.histogram({
123
+ name: "lodestar_peer_manager_prioritize_peers_seconds",
124
+ help: "prioritizePeers function duration in seconds, the core peer selection/pruning algorithm",
125
+ buckets: [0.0005, 0.001, 0.005, 0.01, 0.05, 0.1],
126
+ }),
127
+ /**
128
+ * Score decay + map prune over every tracked peer, split out of heartbeatDuration.
129
+ * This loop iterates the whole score store, so divide by scoreMapSize (not
130
+ * peersEvaluated) for time-per-peer.
131
+ */
132
+ scoreUpdateDuration: register.histogram({
133
+ name: "lodestar_peer_score_update_seconds",
134
+ help: "Peer score store update (decay + prune over all peers) duration in seconds",
135
+ buckets: [0.0005, 0.001, 0.005, 0.01, 0.05, 0.1],
136
+ }),
137
+ /**
138
+ * Denominator for prioritizePeersDuration: it scales with the number of connected
139
+ * healthy peers, so time-per-peer (prioritizePeersDuration / this) is the comparable
140
+ * figure. For scoreUpdateDuration use scoreMapSize instead.
141
+ */
142
+ peersEvaluated: register.histogram({
143
+ name: "lodestar_peer_manager_peers_evaluated_count",
144
+ help: "Number of connected healthy peers evaluated by prioritizePeers per heartbeat, denominator for prioritize_peers_seconds",
145
+ buckets: [0, 25, 50, 75, 100, 150, 200],
146
+ }),
147
+ /**
148
+ * Every peer the manager intends to disconnect. Covers both the top-of-heartbeat
149
+ * bad-score disconnects ("banned"/"score_too_low") and the prioritization reasons;
150
+ * the older peersRequestedToDisconnect gauge only recorded the latter. Counts intent,
151
+ * not completion (goodbye is fire-and-forget).
152
+ */
153
+ peersPruned: register.counter({
154
+ name: "lodestar_peer_manager_peers_pruned_total",
155
+ help: "Total peers the peer manager intends to disconnect, labeled by reason (incl. bad-score and prioritization reasons)",
156
+ labelNames: ["reason"],
157
+ }),
158
+ /**
159
+ * Actual peer count per active subnet, to check the min-peers-per-subnet invariant.
160
+ * Buckets straddle the target (TARGET_SUBNET_PEERS = 6).
161
+ */
162
+ peersPerActiveSubnet: register.histogram({
163
+ name: "lodestar_peer_manager_peers_per_active_subnet",
164
+ help: "Histogram of connected peer count per active subnet, labeled by subnet type",
165
+ labelNames: ["type"],
166
+ buckets: [0, 2, 4, 6, 8, 12],
167
+ }),
168
+ /**
169
+ * Live outbound ratio, to check the OUTBOUND_PEERS_RATIO (10%) invariant (issue #2215).
170
+ * Denominator is connected healthy peers (banned/disconnected already removed).
171
+ */
172
+ outboundPeersRatio: register.gauge({
173
+ name: "lodestar_peer_manager_outbound_peers_ratio",
174
+ help: "Ratio of outbound peers to total connected healthy peers, verifies the outbound peers invariant",
175
+ }),
176
+ /**
177
+ * Score state crossings (Healthy/Disconnected/Banned). Sensitive to the decay formula,
178
+ * thresholds, and gossip-score weighting.
179
+ */
180
+ scoreStateTransitions: register.counter({
181
+ name: "lodestar_peer_score_state_transitions_total",
182
+ help: "Total peer score state transitions, labeled by from and to state (Healthy/Disconnected/Banned)",
183
+ labelNames: ["from", "to"],
184
+ }),
185
+ /**
186
+ * Entry count of the score store (not bytes). Reflects the prune-to-MAX_ENTRIES /
187
+ * SCORE_THRESHOLD retention logic. Also the denominator for scoreUpdateDuration
188
+ * time-per-peer (that loop iterates the whole store, not just connected peers).
189
+ */
190
+ scoreMapSize: register.gauge({
191
+ name: "lodestar_peer_manager_score_map_size",
192
+ help: "Current number of entries in the peer score store",
193
+ }),
194
+ /**
195
+ * Entry count of the connectedPeers map (not bytes). Should track libp2p_peers; a
196
+ * persistent gap indicates the connection leak guarded by leakedConnectionsCount.
197
+ */
198
+ connectedPeersMapSize: register.gauge({
199
+ name: "lodestar_peer_manager_connected_peers_map_size",
200
+ help: "Current number of entries in the peer manager connectedPeers map",
201
+ }),
202
+ /**
203
+ * assertPeerRelevance outcome per Status exchange: "relevant", an irrelevant reason
204
+ * code, or "error". Fires on every status evaluation (inbound requests and our own
205
+ * requestStatus responses both route through onStatus).
206
+ */
207
+ relevanceCheck: register.counter({
208
+ name: "lodestar_peer_relevance_check_total",
209
+ help: "Total peer relevance checks on Status, labeled by result (relevant or irrelevant reason code)",
210
+ labelNames: ["result"],
211
+ }),
118
212
  },
119
213
  leakedConnectionsCount: register.gauge({
120
214
  name: "lodestar_peer_manager_leaked_connections_count",
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/network/core/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/network/core/metrics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/network/discv5/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAG3C,oBAAY,YAAY;IACtB,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IAEnB,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAC/C,QAAQ,aAAa;CACtB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAmCxF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/network/discv5/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAG3C,oBAAY,YAAY;IACtB,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IAEnB,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAC/C,QAAQ,aAAa;CACtB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CA2CxF"}
@@ -10,9 +10,18 @@ var ENRRelevance;
10
10
  ENRRelevance["relevant"] = "relevant";
11
11
  })(ENRRelevance || (ENRRelevance = {}));
12
12
  export function enrRelevance(enr, config, clock) {
13
- // We are not interested in peers that don't advertise at least one transport (tcp or quic)
14
- const multiaddrTCP = enr.getLocationMultiaddr(ENRKey.tcp);
15
- const multiaddrQUIC = enr.getLocationMultiaddr(ENRKey.quic);
13
+ // We are not interested in peers that don't advertise at least one transport (tcp or quic).
14
+ let multiaddrTCP;
15
+ let multiaddrQUIC;
16
+ // Malformed ENR endpoint fields can make multiaddr conversion throw.
17
+ // Treat endpoints that cannot be converted as unusable.
18
+ try {
19
+ multiaddrTCP = enr.getLocationMultiaddr(ENRKey.tcp);
20
+ multiaddrQUIC = enr.getLocationMultiaddr(ENRKey.quic);
21
+ }
22
+ catch {
23
+ return ENRRelevance.no_transport;
24
+ }
16
25
  if (!multiaddrTCP && !multiaddrQUIC) {
17
26
  return ENRRelevance.no_transport;
18
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/network/discv5/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;SAE1B,YAAY;AAAxB,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,mCAAmB,CAAA;IACnB,gGAAgG;IAChG,yDAAyC,CAAA;IACzC,+DAA+C,CAAA;IAC/C,qCAAqB,CAAA;AAAC,CACxB,EAPY,YAAY,KAAZ,YAAY,QAOvB;AAED,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,MAAoB,EAAE,KAAa,EAAgB;IACxF,2FAA2F;IAC3F,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC,YAAY,CAAC;IACnC,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,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC,6BAA6B,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,kBAAkB,CAAC;IACzC,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAAC;IAChG,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;AAAA,CAC9B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/network/discv5/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;SAE1B,YAAY;AAAxB,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,mCAAmB,CAAA;IACnB,gGAAgG;IAChG,yDAAyC,CAAA;IACzC,+DAA+C,CAAA;IAC/C,qCAAqB,CAAA;AAAC,CACxB,EAPY,YAAY,KAAZ,YAAY,QAOvB;AAED,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,MAAoB,EAAE,KAAa,EAAgB;IACxF,4FAA4F;IAC5F,IAAI,YAAqD,CAAC;IAC1D,IAAI,aAAsD,CAAC;IAC3D,qEAAqE;IACrE,wDAAwD;IACxD,IAAI,CAAC;QACH,YAAY,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,aAAa,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,YAAY,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC,YAAY,CAAC;IACnC,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,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC,6BAA6B,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,kBAAkB,CAAC;IACzC,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAAC;IAChG,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;AAAA,CAC9B"}
@@ -15,9 +15,9 @@ export declare function msgIdToStrFn(msgId: Uint8Array): string;
15
15
  export declare function msgIdFn(gossipTopicCache: GossipTopicCache, msg: Message): Uint8Array;
16
16
  export declare class DataTransformSnappy implements DataTransform {
17
17
  private readonly gossipTopicCache;
18
- private readonly maxSizePerMessage;
18
+ private readonly maxPayloadSize;
19
19
  private readonly metrics;
20
- constructor(gossipTopicCache: GossipTopicCache, maxSizePerMessage: number, metrics: Eth2GossipsubMetrics | null);
20
+ constructor(gossipTopicCache: GossipTopicCache, maxPayloadSize: number, metrics: Eth2GossipsubMetrics | null);
21
21
  /**
22
22
  * Takes the data published by peers on a topic and transforms the data.
23
23
  * Should be the reverse of outboundTransform(). Example:
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAQ3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAmB,MAAM,YAAY,CAAC;AAmB9D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAiBvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAItD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU,CA0BpF;AAED,qBAAa,mBAAoB,YAAW,aAAa;IAErD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,YACmB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,oBAAoB,GAAG,IAAI,EACnD;IAEJ;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAuB/D;IAED;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAWhE;CACF"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAQ3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAwC,MAAM,YAAY,CAAC;AAmBnF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAiBvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAWtD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU,CA0BpF;AAED,qBAAa,mBAAoB,YAAW,aAAa;IAErD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,YACmB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,oBAAoB,GAAG,IAAI,EACnD;IAEJ;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAwB/D;IAED;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAgBhE;CACF"}
@@ -5,7 +5,7 @@ import snappyWasm from "@chainsafe/snappy-wasm";
5
5
  import { ForkName } from "@lodestar/params";
6
6
  import { intToBytes } from "@lodestar/utils";
7
7
  import { MESSAGE_DOMAIN_VALID_SNAPPY } from "./constants.js";
8
- import { getGossipSSZType } from "./topic.js";
8
+ import { getGossipSSZMaxSize, getGossipSSZType } from "./topic.js";
9
9
  // Load WASM
10
10
  const xxhash = await xxhashFactory();
11
11
  // Use salt to prevent msgId from being mined for collisions
@@ -41,6 +41,13 @@ export function fastMsgIdFn(rpcMsg) {
41
41
  return "0000000000000000";
42
42
  }
43
43
  export function msgIdToStrFn(msgId) {
44
+ // Spec mandates a 20-byte gossipsub message-id, but control-message IDs from peers
45
+ // can be any length. Reject non-20-byte IDs to avoid a Buffer.set() RangeError on
46
+ // longer IDs and stale shared-buffer bytes on shorter ones.
47
+ // Ref: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.10/specs/phase0/p2p-interface.md?plain=1#L486
48
+ if (msgId.length !== 20) {
49
+ throw Error(`Expect msgId to be 20 bytes, got ${msgId.length}`);
50
+ }
44
51
  // this is the same logic to `toHex(msgId)` with better performance
45
52
  sharedMsgIdBuf.set(msgId);
46
53
  return `0x${sharedMsgIdBuf.toString("hex")}`;
@@ -75,11 +82,11 @@ export function msgIdFn(gossipTopicCache, msg) {
75
82
  }
76
83
  export class DataTransformSnappy {
77
84
  gossipTopicCache;
78
- maxSizePerMessage;
85
+ maxPayloadSize;
79
86
  metrics;
80
- constructor(gossipTopicCache, maxSizePerMessage, metrics) {
87
+ constructor(gossipTopicCache, maxPayloadSize, metrics) {
81
88
  this.gossipTopicCache = gossipTopicCache;
82
- this.maxSizePerMessage = maxSizePerMessage;
89
+ this.maxPayloadSize = maxPayloadSize;
83
90
  this.metrics = metrics;
84
91
  }
85
92
  /**
@@ -91,15 +98,16 @@ export class DataTransformSnappy {
91
98
  inboundTransform(topicStr, data) {
92
99
  // check uncompressed data length before we actually decompress
93
100
  const uncompressedDataLength = snappyWasm.decompress_len(data);
94
- if (uncompressedDataLength > this.maxSizePerMessage) {
95
- throw Error(`ssz_snappy decoded data length ${uncompressedDataLength} > ${this.maxSizePerMessage}`);
96
- }
97
101
  const topic = this.gossipTopicCache.getTopic(topicStr);
98
102
  const sszType = getGossipSSZType(topic);
103
+ const maxSize = getGossipSSZMaxSize(topic, this.maxPayloadSize, sszType);
99
104
  this.metrics?.dataTransform.inbound.inc({ type: topic.type });
100
105
  if (uncompressedDataLength < sszType.minSize) {
101
106
  throw Error(`ssz_snappy decoded data length ${uncompressedDataLength} < ${sszType.minSize}`);
102
107
  }
108
+ if (uncompressedDataLength > maxSize) {
109
+ throw Error(`ssz_snappy decoded data length ${uncompressedDataLength} > ${maxSize}`);
110
+ }
103
111
  if (uncompressedDataLength > sszType.maxSize) {
104
112
  throw Error(`ssz_snappy decoded data length ${uncompressedDataLength} > ${sszType.maxSize}`);
105
113
  }
@@ -115,9 +123,14 @@ export class DataTransformSnappy {
115
123
  */
116
124
  outboundTransform(topicStr, data) {
117
125
  const topic = this.gossipTopicCache.getTopic(topicStr);
126
+ const sszType = getGossipSSZType(topic);
127
+ const maxSize = getGossipSSZMaxSize(topic, this.maxPayloadSize, sszType);
118
128
  this.metrics?.dataTransform.outbound.inc({ type: topic.type });
119
- if (data.length > this.maxSizePerMessage) {
120
- throw Error(`ssz_snappy encoded data length ${data.length} > ${this.maxSizePerMessage}`);
129
+ if (data.length > maxSize) {
130
+ throw Error(`ssz_snappy encoded data length ${data.length} > ${maxSize}`);
131
+ }
132
+ if (data.length > sszType.maxSize) {
133
+ throw Error(`ssz_snappy encoded data length ${data.length} > ${sszType.maxSize}`);
121
134
  }
122
135
  // Using Buffer.alloc() instead of Buffer.allocUnsafe() to mitigate high GC pressure observed in some environments
123
136
  const compressedData = Buffer.alloc(snappyWasm.max_compress_len(data.length));
@@ -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":"AAGA,0DAA0D;AAC1D,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,2BAA2B,EAAC,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAmB,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAEnF,YAAY;AACZ,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;AAErC,4DAA4D;AAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AAExD,4CAA4C;AAC5C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;AACzC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;AAEzC,2CAA2C;AAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAExC,wEAAwE;AACxE,qEAAqE;AACrE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB,EAAU;IACvD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,qFAAqF;YACrF,sFAAsF;YACtF,oFAAoF;YACpF,wDAAwD;YACxD,IAAI,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC9D,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,kBAAkB,CAAC;AAAA,CAC3B;AAED,MAAM,UAAU,YAAY,CAAC,KAAiB,EAAU;IACtD,mFAAmF;IACnF,kFAAkF;IAClF,4DAA4D;IAC5D,mHAAmH;IACnH,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,oCAAoC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,mEAAmE;IACnE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,KAAK,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAAA,CAC9C;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,gBAAkC,EAAE,GAAY,EAAc;IACpF,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnD,IAAI,GAAiB,CAAC;IAEtB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,yBAAyB;QACzB,MAAM;QACN,6EAA6E;QAC7E,MAAM;QACN,GAAG,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,MAAM;QACN,UAAU;QACV,kCAAkC;QAClC,gDAAgD;QAChD,oBAAoB;QACpB,oCAAoC;QACpC,SAAS;QACT,MAAM;QACN,iHAAiH;QACjH,GAAG,GAAG,CAAC,2BAA2B,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAAA,CACnD;AAED,MAAM,OAAO,mBAAmB;IAEX,gBAAgB;IAChB,cAAc;IACd,OAAO;IAH1B,YACmB,gBAAkC,EAClC,cAAsB,EACtB,OAAoC,EACrD;gCAHiB,gBAAgB;8BAChB,cAAc;uBACd,OAAO;IACvB,CAAC;IAEJ;;;;;OAKG;IACH,gBAAgB,CAAC,QAAgB,EAAE,IAAgB,EAAc;QAC/D,+DAA+D;QAC/D,MAAM,sBAAsB,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAE5D,IAAI,sBAAsB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC,kCAAkC,sBAAsB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,sBAAsB,GAAG,OAAO,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,kCAAkC,sBAAsB,MAAM,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,sBAAsB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC,kCAAkC,sBAAsB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,8DAA8D;QAC9D,kHAAkH;QAClH,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9D,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAChD,OAAO,gBAAgB,CAAC;IAAA,CACzB;IAED;;;OAGG;IACH,iBAAiB,CAAC,QAAgB,EAAE,IAAgB,EAAc;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,kCAAkC,IAAI,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC,kCAAkC,IAAI,CAAC,MAAM,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,kHAAkH;QAClH,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAClE,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAAA,CAClD;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"gossipsub.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAK7E,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAIrC,OAAO,EAAC,MAAM,EAAkB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAe,eAAe,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAC,WAAW,EAAa,MAAM,gBAAgB,CAAC;AAgBvD,MAAM,MAAM,WAAW,GAAG;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAoBvC;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAG9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,YAAY,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAiFjE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAED,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAEnC;IAED,SAAS,IAAI,QAAQ,EAAE,CAEtB;IAED,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEtC;IAED,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAErF;IAED,kBAAkB,IAAI,kBAAkB,CAEvC;IAED,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElC;IAED;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAOvC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAIzC;IAED,OAAO,CAAC,uBAAuB;IA6G/B,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,kBAAkB;IAS1B;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkC/E;IAED;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAM3C;IAED;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE,CAEzB;CACF;AAsDD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAiEzG"}
1
+ {"version":3,"file":"gossipsub.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { StrictNoSign, gossipsub, } from "@libp2p/gossipsub";
2
2
  import { peerIdFromString } from "@libp2p/peer-id";
3
3
  import { multiaddr } from "@multiformats/multiaddr";
4
4
  import { ENR } from "@chainsafe/enr";
5
- import { ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
5
+ import { ATTESTATION_SUBNET_COUNT, MAX_SIGNED_AGGREGATE_AND_PROOF_SIZE, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_COUNT, } from "@lodestar/params";
6
6
  import { Map2d, Map2dArr } from "@lodestar/utils";
7
7
  import { callInNextEventLoop } from "../../util/eventLoop.js";
8
8
  import { NetworkEvent } from "../events.js";
@@ -11,7 +11,7 @@ import { DataTransformSnappy, fastMsgIdFn, msgIdFn, msgIdToStrFn } from "./encod
11
11
  import { GossipType } from "./interface.js";
12
12
  import { createEth2GossipsubMetrics } from "./metrics.js";
13
13
  import { GOSSIP_D, GOSSIP_D_HIGH, GOSSIP_D_LOW, computeGossipPeerScoreParams, gossipScoreThresholds, } from "./scoringParameters.js";
14
- import { GossipTopicCache, getCoreTopicsAtFork, stringifyGossipTopic } from "./topic.js";
14
+ import { GossipTopicCache, getAllowedTopics, getCoreTopicsAtFork, stringifyGossipTopic } from "./topic.js";
15
15
  /** As specified in https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md */
16
16
  const GOSSIPSUB_HEARTBEAT_INTERVAL = 0.7 * 1000;
17
17
  const MAX_OUTBOUND_BUFFER_SIZE = 2 ** 24; // 16MB
@@ -55,6 +55,7 @@ export class Eth2Gossipsub {
55
55
  const gossipsubInstance = gossipsub({
56
56
  globalSignaturePolicy: StrictNoSign,
57
57
  allowPublishToZeroTopicPeers: allowPublishToZeroPeers,
58
+ allowedTopics: getAllowedTopics(networkConfig),
58
59
  D: gossipsubD ?? GOSSIP_D,
59
60
  Dlo: gossipsubDLow ?? GOSSIP_D_LOW,
60
61
  Dhi: gossipsubDHigh ?? GOSSIP_D_HIGH,
@@ -92,7 +93,7 @@ export class Eth2Gossipsub {
92
93
  // Only send IDONTWANT messages if the message size is larger than this
93
94
  // This should be large enough to not send IDONTWANT for "small" messages
94
95
  // See https://github.com/ChainSafe/lodestar/pull/7077#issuecomment-2383679472
95
- idontwantMinDataSize: 16829,
96
+ idontwantMinDataSize: MAX_SIGNED_AGGREGATE_AND_PROOF_SIZE,
96
97
  })(modules.libp2p.services.components);
97
98
  if (metrics) {
98
99
  metrics.gossipMesh.peersByType.addCollect(() => this.onScrapeLodestarMetrics(metrics, networkConfig));
@@ -1 +1 @@
1
- {"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}