@lodestar/beacon-node 1.42.0-dev.7b5ce3932d → 1.42.0-dev.7bdb87e586

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 (469) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +25 -13
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/pool/index.js +5 -1
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  8. package/lib/api/impl/beacon/state/index.js +38 -40
  9. package/lib/api/impl/beacon/state/index.js.map +1 -1
  10. package/lib/api/impl/beacon/state/utils.d.ts +4 -4
  11. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/state/utils.js +7 -10
  13. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  14. package/lib/api/impl/debug/index.js.map +1 -1
  15. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  16. package/lib/api/impl/lodestar/index.js +8 -6
  17. package/lib/api/impl/lodestar/index.js.map +1 -1
  18. package/lib/api/impl/proof/index.d.ts.map +1 -1
  19. package/lib/api/impl/proof/index.js +2 -6
  20. package/lib/api/impl/proof/index.js.map +1 -1
  21. package/lib/api/impl/validator/index.d.ts.map +1 -1
  22. package/lib/api/impl/validator/index.js +33 -27
  23. package/lib/api/impl/validator/index.js.map +1 -1
  24. package/lib/api/impl/validator/utils.d.ts +2 -2
  25. package/lib/api/impl/validator/utils.d.ts.map +1 -1
  26. package/lib/api/impl/validator/utils.js +3 -3
  27. package/lib/api/impl/validator/utils.js.map +1 -1
  28. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -1
  29. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  30. package/lib/chain/ColumnReconstructionTracker.js +5 -5
  31. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  32. package/lib/chain/GetBlobsTracker.d.ts +2 -1
  33. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  34. package/lib/chain/GetBlobsTracker.js +14 -12
  35. package/lib/chain/GetBlobsTracker.js.map +1 -1
  36. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  37. package/lib/chain/archiveStore/archiveStore.js +1 -0
  38. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  39. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +3 -7
  40. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  41. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +8 -26
  42. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  43. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts +2 -2
  44. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  45. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -0
  46. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  47. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -0
  48. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  49. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  50. package/lib/chain/archiveStore/historicalState/worker.js +1 -3
  51. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  52. package/lib/chain/archiveStore/interface.d.ts +1 -0
  53. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  54. package/lib/chain/balancesCache.d.ts +2 -2
  55. package/lib/chain/balancesCache.d.ts.map +1 -1
  56. package/lib/chain/balancesCache.js +4 -4
  57. package/lib/chain/balancesCache.js.map +1 -1
  58. package/lib/chain/blocks/blockInput/blockInput.d.ts +5 -5
  59. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  60. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  61. package/lib/chain/blocks/blockInput/types.d.ts +5 -4
  62. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  63. package/lib/chain/blocks/blockInput/types.js +1 -0
  64. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  65. package/lib/chain/blocks/importBlock.d.ts +3 -3
  66. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  67. package/lib/chain/blocks/importBlock.js +37 -23
  68. package/lib/chain/blocks/importBlock.js.map +1 -1
  69. package/lib/chain/blocks/importExecutionPayload.d.ts +10 -8
  70. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  71. package/lib/chain/blocks/importExecutionPayload.js +87 -51
  72. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  73. package/lib/chain/blocks/index.d.ts.map +1 -1
  74. package/lib/chain/blocks/index.js +3 -2
  75. package/lib/chain/blocks/index.js.map +1 -1
  76. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +14 -6
  77. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -1
  78. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +33 -2
  79. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -1
  80. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +2 -1
  81. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  82. package/lib/chain/blocks/types.d.ts +21 -15
  83. package/lib/chain/blocks/types.d.ts.map +1 -1
  84. package/lib/chain/blocks/types.js.map +1 -1
  85. package/lib/chain/blocks/utils/checkpoint.d.ts +2 -2
  86. package/lib/chain/blocks/utils/checkpoint.d.ts.map +1 -1
  87. package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
  88. package/lib/chain/blocks/verifyBlock.d.ts +2 -2
  89. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  90. package/lib/chain/blocks/verifyBlock.js +4 -4
  91. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  92. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +5 -5
  93. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  94. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -4
  95. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  96. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
  97. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  98. package/lib/chain/blocks/verifyBlocksSignatures.js +4 -2
  99. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  100. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +3 -3
  101. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  102. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +3 -3
  103. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  104. package/lib/chain/chain.d.ts +15 -14
  105. package/lib/chain/chain.d.ts.map +1 -1
  106. package/lib/chain/chain.js +110 -62
  107. package/lib/chain/chain.js.map +1 -1
  108. package/lib/chain/emitter.d.ts +31 -9
  109. package/lib/chain/emitter.d.ts.map +1 -1
  110. package/lib/chain/emitter.js +12 -3
  111. package/lib/chain/emitter.js.map +1 -1
  112. package/lib/chain/errors/blockError.d.ts +4 -4
  113. package/lib/chain/errors/blockError.d.ts.map +1 -1
  114. package/lib/chain/errors/dataColumnSidecarError.d.ts +31 -1
  115. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
  116. package/lib/chain/errors/dataColumnSidecarError.js +7 -0
  117. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  118. package/lib/chain/forkChoice/index.d.ts +4 -4
  119. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  120. package/lib/chain/forkChoice/index.js +30 -24
  121. package/lib/chain/forkChoice/index.js.map +1 -1
  122. package/lib/chain/initState.d.ts +2 -2
  123. package/lib/chain/initState.d.ts.map +1 -1
  124. package/lib/chain/initState.js +1 -1
  125. package/lib/chain/initState.js.map +1 -1
  126. package/lib/chain/interface.d.ts +15 -14
  127. package/lib/chain/interface.d.ts.map +1 -1
  128. package/lib/chain/lightClient/index.d.ts +2 -2
  129. package/lib/chain/lightClient/index.d.ts.map +1 -1
  130. package/lib/chain/lightClient/index.js +11 -4
  131. package/lib/chain/lightClient/index.js.map +1 -1
  132. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +6 -6
  133. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  134. package/lib/chain/opPools/aggregatedAttestationPool.js +13 -13
  135. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  136. package/lib/chain/opPools/executionPayloadBidPool.d.ts +2 -2
  137. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  138. package/lib/chain/opPools/executionPayloadBidPool.js +2 -2
  139. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  140. package/lib/chain/opPools/opPool.d.ts +3 -3
  141. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  142. package/lib/chain/opPools/opPool.js +7 -7
  143. package/lib/chain/opPools/opPool.js.map +1 -1
  144. package/lib/chain/opPools/utils.d.ts +2 -2
  145. package/lib/chain/opPools/utils.d.ts.map +1 -1
  146. package/lib/chain/opPools/utils.js +1 -1
  147. package/lib/chain/opPools/utils.js.map +1 -1
  148. package/lib/chain/options.d.ts +1 -0
  149. package/lib/chain/options.d.ts.map +1 -1
  150. package/lib/chain/options.js +1 -0
  151. package/lib/chain/options.js.map +1 -1
  152. package/lib/chain/prepareNextSlot.d.ts +2 -2
  153. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  154. package/lib/chain/prepareNextSlot.js +10 -4
  155. package/lib/chain/prepareNextSlot.js.map +1 -1
  156. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +4 -4
  157. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  158. package/lib/chain/produceBlock/computeNewStateRoot.js +3 -4
  159. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  160. package/lib/chain/produceBlock/produceBlockBody.d.ts +5 -5
  161. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  162. package/lib/chain/produceBlock/produceBlockBody.js +21 -16
  163. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  164. package/lib/chain/regen/interface.d.ts +13 -13
  165. package/lib/chain/regen/interface.d.ts.map +1 -1
  166. package/lib/chain/regen/queued.d.ts +14 -14
  167. package/lib/chain/regen/queued.d.ts.map +1 -1
  168. package/lib/chain/regen/queued.js.map +1 -1
  169. package/lib/chain/regen/regen.d.ts +6 -5
  170. package/lib/chain/regen/regen.d.ts.map +1 -1
  171. package/lib/chain/regen/regen.js +6 -6
  172. package/lib/chain/regen/regen.js.map +1 -1
  173. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +1 -1
  174. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  175. package/lib/chain/seenCache/seenGossipBlockInput.js +2 -2
  176. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  177. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +1 -1
  178. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  179. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +2 -2
  180. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  181. package/lib/chain/serializeState.d.ts +2 -2
  182. package/lib/chain/serializeState.d.ts.map +1 -1
  183. package/lib/chain/serializeState.js +1 -1
  184. package/lib/chain/serializeState.js.map +1 -1
  185. package/lib/chain/shufflingCache.d.ts +2 -2
  186. package/lib/chain/shufflingCache.d.ts.map +1 -1
  187. package/lib/chain/shufflingCache.js +3 -4
  188. package/lib/chain/shufflingCache.js.map +1 -1
  189. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +6 -6
  190. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  191. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  192. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +11 -11
  193. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  194. package/lib/chain/stateCache/persistentCheckpointsCache.js +12 -16
  195. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  196. package/lib/chain/stateCache/types.d.ts +14 -14
  197. package/lib/chain/stateCache/types.d.ts.map +1 -1
  198. package/lib/chain/stateCache/types.js.map +1 -1
  199. package/lib/chain/validation/attesterSlashing.js +3 -3
  200. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  201. package/lib/chain/validation/blobSidecar.js +1 -1
  202. package/lib/chain/validation/blobSidecar.js.map +1 -1
  203. package/lib/chain/validation/block.d.ts.map +1 -1
  204. package/lib/chain/validation/block.js +3 -3
  205. package/lib/chain/validation/block.js.map +1 -1
  206. package/lib/chain/validation/blsToExecutionChange.js +2 -2
  207. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  208. package/lib/chain/validation/dataColumnSidecar.d.ts +11 -4
  209. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  210. package/lib/chain/validation/dataColumnSidecar.js +185 -6
  211. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  212. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  213. package/lib/chain/validation/executionPayloadBid.js +10 -7
  214. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  215. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  216. package/lib/chain/validation/executionPayloadEnvelope.js +5 -3
  217. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  218. package/lib/chain/validation/payloadAttestationMessage.js +5 -3
  219. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  220. package/lib/chain/validation/proposerSlashing.js +1 -1
  221. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  222. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -2
  223. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  224. package/lib/chain/validation/signatureSets/contributionAndProof.js +1 -1
  225. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  226. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -2
  227. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  228. package/lib/chain/validation/signatureSets/syncCommittee.js +1 -1
  229. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  230. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +2 -2
  231. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
  232. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  233. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -2
  234. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  235. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -1
  236. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  237. package/lib/chain/validation/syncCommittee.d.ts +4 -4
  238. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  239. package/lib/chain/validation/syncCommittee.js +17 -12
  240. package/lib/chain/validation/syncCommittee.js.map +1 -1
  241. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  242. package/lib/chain/validation/syncCommitteeContributionAndProof.js +5 -2
  243. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  244. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  245. package/lib/chain/validation/voluntaryExit.js +3 -3
  246. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  247. package/lib/chain/validatorMonitor.d.ts +3 -3
  248. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  249. package/lib/chain/validatorMonitor.js +11 -9
  250. package/lib/chain/validatorMonitor.js.map +1 -1
  251. package/lib/db/buckets.d.ts +2 -2
  252. package/lib/db/buckets.d.ts.map +1 -1
  253. package/lib/db/buckets.js +2 -2
  254. package/lib/db/buckets.js.map +1 -1
  255. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  256. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  257. package/lib/db/repositories/dataColumnSidecar.d.ts.map +1 -1
  258. package/lib/db/repositories/dataColumnSidecar.js +4 -2
  259. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  260. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  261. package/lib/db/repositories/dataColumnSidecarArchive.js +4 -2
  262. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  263. package/lib/metrics/metrics/lodestar.d.ts +32 -4
  264. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  265. package/lib/metrics/metrics/lodestar.js +52 -15
  266. package/lib/metrics/metrics/lodestar.js.map +1 -1
  267. package/lib/network/gossip/encoding.d.ts.map +1 -1
  268. package/lib/network/gossip/encoding.js +15 -0
  269. package/lib/network/gossip/encoding.js.map +1 -1
  270. package/lib/network/interface.d.ts +7 -4
  271. package/lib/network/interface.d.ts.map +1 -1
  272. package/lib/network/libp2p/index.d.ts.map +1 -1
  273. package/lib/network/libp2p/index.js +22 -11
  274. package/lib/network/libp2p/index.js.map +1 -1
  275. package/lib/network/network.d.ts +7 -4
  276. package/lib/network/network.d.ts.map +1 -1
  277. package/lib/network/network.js +12 -3
  278. package/lib/network/network.js.map +1 -1
  279. package/lib/network/options.d.ts.map +1 -1
  280. package/lib/network/options.js +7 -2
  281. package/lib/network/options.js.map +1 -1
  282. package/lib/network/processor/extractSlotRootFns.d.ts +1 -1
  283. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  284. package/lib/network/processor/extractSlotRootFns.js +25 -5
  285. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  286. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  287. package/lib/network/processor/gossipHandlers.js +269 -80
  288. package/lib/network/processor/gossipHandlers.js.map +1 -1
  289. package/lib/network/processor/index.d.ts +22 -7
  290. package/lib/network/processor/index.d.ts.map +1 -1
  291. package/lib/network/processor/index.js +313 -80
  292. package/lib/network/processor/index.js.map +1 -1
  293. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  294. package/lib/network/reqresp/ReqRespBeaconNode.js +9 -0
  295. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  296. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts +8 -0
  297. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -0
  298. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +69 -0
  299. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -0
  300. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts +6 -0
  301. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -0
  302. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +28 -0
  303. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -0
  304. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  305. package/lib/network/reqresp/handlers/index.js +11 -1
  306. package/lib/network/reqresp/handlers/index.js.map +1 -1
  307. package/lib/network/reqresp/protocols.d.ts +2 -0
  308. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  309. package/lib/network/reqresp/protocols.js +10 -0
  310. package/lib/network/reqresp/protocols.js.map +1 -1
  311. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  312. package/lib/network/reqresp/rateLimit.js +8 -0
  313. package/lib/network/reqresp/rateLimit.js.map +1 -1
  314. package/lib/network/reqresp/score.d.ts.map +1 -1
  315. package/lib/network/reqresp/score.js +2 -0
  316. package/lib/network/reqresp/score.js.map +1 -1
  317. package/lib/network/reqresp/types.d.ts +10 -4
  318. package/lib/network/reqresp/types.d.ts.map +1 -1
  319. package/lib/network/reqresp/types.js +16 -4
  320. package/lib/network/reqresp/types.js.map +1 -1
  321. package/lib/node/nodejs.d.ts +2 -2
  322. package/lib/node/nodejs.d.ts.map +1 -1
  323. package/lib/node/nodejs.js +3 -3
  324. package/lib/node/nodejs.js.map +1 -1
  325. package/lib/node/notifier.d.ts.map +1 -1
  326. package/lib/node/notifier.js +3 -3
  327. package/lib/node/notifier.js.map +1 -1
  328. package/lib/sync/backfill/backfill.d.ts +2 -2
  329. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  330. package/lib/sync/backfill/backfill.js +2 -2
  331. package/lib/sync/backfill/backfill.js.map +1 -1
  332. package/lib/sync/unknownBlock.d.ts +3 -9
  333. package/lib/sync/unknownBlock.d.ts.map +1 -1
  334. package/lib/sync/unknownBlock.js +10 -43
  335. package/lib/sync/unknownBlock.js.map +1 -1
  336. package/lib/sync/utils/downloadByRange.d.ts +3 -3
  337. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  338. package/lib/sync/utils/downloadByRange.js +4 -2
  339. package/lib/sync/utils/downloadByRange.js.map +1 -1
  340. package/lib/sync/utils/downloadByRoot.d.ts +3 -3
  341. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  342. package/lib/sync/utils/downloadByRoot.js +10 -5
  343. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  344. package/lib/util/blobs.d.ts +3 -3
  345. package/lib/util/blobs.d.ts.map +1 -1
  346. package/lib/util/blobs.js +21 -10
  347. package/lib/util/blobs.js.map +1 -1
  348. package/lib/util/dataColumns.d.ts +18 -11
  349. package/lib/util/dataColumns.d.ts.map +1 -1
  350. package/lib/util/dataColumns.js +51 -17
  351. package/lib/util/dataColumns.js.map +1 -1
  352. package/lib/util/execution.d.ts +6 -2
  353. package/lib/util/execution.d.ts.map +1 -1
  354. package/lib/util/execution.js +49 -25
  355. package/lib/util/execution.js.map +1 -1
  356. package/lib/util/sszBytes.d.ts +25 -1
  357. package/lib/util/sszBytes.d.ts.map +1 -1
  358. package/lib/util/sszBytes.js +189 -2
  359. package/lib/util/sszBytes.js.map +1 -1
  360. package/lib/util/types.d.ts +2 -0
  361. package/lib/util/types.d.ts.map +1 -1
  362. package/lib/util/types.js +1 -0
  363. package/lib/util/types.js.map +1 -1
  364. package/package.json +16 -16
  365. package/src/api/impl/beacon/blocks/index.ts +33 -16
  366. package/src/api/impl/beacon/pool/index.ts +5 -1
  367. package/src/api/impl/beacon/state/index.ts +43 -55
  368. package/src/api/impl/beacon/state/utils.ts +11 -25
  369. package/src/api/impl/debug/index.ts +2 -2
  370. package/src/api/impl/lodestar/index.ts +8 -8
  371. package/src/api/impl/proof/index.ts +2 -9
  372. package/src/api/impl/validator/index.ts +36 -41
  373. package/src/api/impl/validator/utils.ts +4 -7
  374. package/src/chain/ColumnReconstructionTracker.ts +6 -5
  375. package/src/chain/GetBlobsTracker.ts +14 -12
  376. package/src/chain/archiveStore/archiveStore.ts +1 -0
  377. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +10 -39
  378. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +2 -1
  379. package/src/chain/archiveStore/historicalState/types.ts +2 -0
  380. package/src/chain/archiveStore/historicalState/worker.ts +1 -4
  381. package/src/chain/archiveStore/interface.ts +1 -0
  382. package/src/chain/balancesCache.ts +5 -11
  383. package/src/chain/blocks/blockInput/blockInput.ts +8 -8
  384. package/src/chain/blocks/blockInput/types.ts +5 -4
  385. package/src/chain/blocks/importBlock.ts +50 -31
  386. package/src/chain/blocks/importExecutionPayload.ts +98 -62
  387. package/src/chain/blocks/index.ts +3 -2
  388. package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +53 -12
  389. package/src/chain/blocks/payloadEnvelopeInput/types.ts +2 -1
  390. package/src/chain/blocks/types.ts +26 -15
  391. package/src/chain/blocks/utils/checkpoint.ts +2 -2
  392. package/src/chain/blocks/verifyBlock.ts +5 -10
  393. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +10 -14
  394. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -3
  395. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -8
  396. package/src/chain/chain.ts +148 -95
  397. package/src/chain/emitter.ts +27 -9
  398. package/src/chain/errors/blockError.ts +4 -4
  399. package/src/chain/errors/dataColumnSidecarError.ts +32 -1
  400. package/src/chain/forkChoice/index.ts +35 -41
  401. package/src/chain/initState.ts +7 -2
  402. package/src/chain/interface.ts +16 -15
  403. package/src/chain/lightClient/index.ts +17 -18
  404. package/src/chain/opPools/aggregatedAttestationPool.ts +20 -21
  405. package/src/chain/opPools/executionPayloadBidPool.ts +3 -3
  406. package/src/chain/opPools/opPool.ts +13 -14
  407. package/src/chain/opPools/utils.ts +3 -3
  408. package/src/chain/options.ts +2 -0
  409. package/src/chain/prepareNextSlot.ts +14 -8
  410. package/src/chain/produceBlock/computeNewStateRoot.ts +7 -10
  411. package/src/chain/produceBlock/produceBlockBody.ts +38 -45
  412. package/src/chain/regen/interface.ts +13 -17
  413. package/src/chain/regen/queued.ts +16 -20
  414. package/src/chain/regen/regen.ts +16 -17
  415. package/src/chain/seenCache/seenGossipBlockInput.ts +2 -2
  416. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +2 -2
  417. package/src/chain/serializeState.ts +3 -3
  418. package/src/chain/shufflingCache.ts +5 -7
  419. package/src/chain/stateCache/fifoBlockStateCache.ts +7 -7
  420. package/src/chain/stateCache/persistentCheckpointsCache.ts +27 -42
  421. package/src/chain/stateCache/types.ts +14 -18
  422. package/src/chain/validation/attesterSlashing.ts +3 -3
  423. package/src/chain/validation/blobSidecar.ts +1 -1
  424. package/src/chain/validation/block.ts +3 -4
  425. package/src/chain/validation/blsToExecutionChange.ts +2 -2
  426. package/src/chain/validation/dataColumnSidecar.ts +231 -8
  427. package/src/chain/validation/executionPayloadBid.ts +10 -10
  428. package/src/chain/validation/executionPayloadEnvelope.ts +5 -4
  429. package/src/chain/validation/payloadAttestationMessage.ts +6 -4
  430. package/src/chain/validation/proposerSlashing.ts +1 -1
  431. package/src/chain/validation/signatureSets/contributionAndProof.ts +2 -7
  432. package/src/chain/validation/signatureSets/syncCommittee.ts +2 -7
  433. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +2 -2
  434. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -7
  435. package/src/chain/validation/syncCommittee.ts +25 -20
  436. package/src/chain/validation/syncCommitteeContributionAndProof.ts +9 -10
  437. package/src/chain/validation/voluntaryExit.ts +3 -8
  438. package/src/chain/validatorMonitor.ts +15 -13
  439. package/src/db/buckets.ts +2 -2
  440. package/src/db/repositories/dataColumnSidecar.ts +4 -2
  441. package/src/db/repositories/dataColumnSidecarArchive.ts +4 -2
  442. package/src/metrics/metrics/lodestar.ts +57 -19
  443. package/src/network/gossip/encoding.ts +16 -0
  444. package/src/network/interface.ts +18 -4
  445. package/src/network/libp2p/index.ts +24 -13
  446. package/src/network/network.ts +39 -8
  447. package/src/network/options.ts +7 -2
  448. package/src/network/processor/extractSlotRootFns.ts +32 -6
  449. package/src/network/processor/gossipHandlers.ts +334 -94
  450. package/src/network/processor/index.ts +395 -92
  451. package/src/network/reqresp/ReqRespBeaconNode.ts +13 -0
  452. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +94 -0
  453. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +43 -0
  454. package/src/network/reqresp/handlers/index.ts +12 -0
  455. package/src/network/reqresp/protocols.ts +12 -0
  456. package/src/network/reqresp/rateLimit.ts +18 -0
  457. package/src/network/reqresp/score.ts +2 -0
  458. package/src/network/reqresp/types.ts +26 -5
  459. package/src/node/nodejs.ts +6 -5
  460. package/src/node/notifier.ts +5 -6
  461. package/src/sync/backfill/backfill.ts +3 -3
  462. package/src/sync/unknownBlock.ts +13 -53
  463. package/src/sync/utils/downloadByRange.ts +9 -7
  464. package/src/sync/utils/downloadByRoot.ts +16 -12
  465. package/src/util/blobs.ts +35 -15
  466. package/src/util/dataColumns.ts +69 -25
  467. package/src/util/execution.ts +49 -30
  468. package/src/util/sszBytes.ts +245 -3
  469. package/src/util/types.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecarArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,kBAAkB,EAA6C,MAAM,cAAc,CAAC;AAEhG,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAgC,MAAM,iBAAiB,CAAC;AAOpG;;;;;GAKG;AACH,qBAAa,kCAAmC,SAAQ,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC9G,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAG1C;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAE3C;IAED,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAKhD;IAED,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAK/C;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,GAAG,UAAU,CAKtD;IAED,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,WAAW,CAAA;KAAC,CAK7D;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;CACF"}
1
+ {"version":3,"file":"dataColumnSidecarArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,kBAAkB,EAA6C,MAAM,cAAc,CAAC;AAEhG,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAgC,MAAM,iBAAiB,CAAC;AAOpG;;;;;GAKG;AACH,qBAAa,kCAAmC,SAAQ,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC9G,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAK1C;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAE3C;IAED,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAKhD;IAED,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAK/C;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,GAAG,UAAU,CAKtD;IAED,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,WAAW,CAAA;KAAC,CAK7D;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;CACF"}
@@ -13,8 +13,10 @@ const SLOT_BYTE_SIZE = 8;
13
13
  */
14
14
  export class DataColumnSidecarArchiveRepository extends PrefixedRepository {
15
15
  constructor(config, db) {
16
- const bucket = Bucket.fulu_dataColumnSidecarsArchive;
17
- super(config, db, bucket, ssz.fulu.DataColumnSidecar, getBucketNameByValue(bucket));
16
+ const bucket = Bucket.allForks_dataColumnSidecarsArchive;
17
+ // Type won't be used since we select it dynamically based on fork
18
+ const type = ssz.fulu.DataColumnSidecar;
19
+ super(config, db, bucket, type, getBucketNameByValue(bucket));
18
20
  }
19
21
  /**
20
22
  * Id is hashTreeRoot of unsigned BeaconBlock
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecarArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAuC,wBAAwB,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAC,6BAA6B,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAAwD;IAC9G,YAAY,MAAuB,EAAE,EAAM,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,8BAA8B,CAAC;QACrD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CACrF;IAED;;OAEG;IACH,KAAK,CAAC,KAAwB,EAAe;QAC3C,OAAO,KAAK,CAAC,KAAK,CAAC;IAAA,CACpB;IAED,WAAW,CAAC,KAAwB,EAAc;QAChD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAAA,CACpD;IAED,WAAW,CAAC,IAAgB,EAAqB;QAC/C,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAAA,CACrD;IAED,YAAY,CAAC,MAAY,EAAE,EAAe,EAAc;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC;SACjD,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,GAAe,EAAmC;QAC7D,OAAO;YACL,MAAM,EAAE,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAS;YACzD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAgB;SAC3F,CAAC;IAAA,CACH;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC;SACpE,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAChD,CAAC,CAAC;IAAA,CACJ;CACF"}
1
+ {"version":3,"file":"dataColumnSidecarArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAuC,wBAAwB,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAC,6BAA6B,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAAwD;IAC9G,YAAY,MAAuB,EAAE,EAAM,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,kCAAkC,CAAC;QACzD,kEAAkE;QAClE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACxC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CAC/D;IAED;;OAEG;IACH,KAAK,CAAC,KAAwB,EAAe;QAC3C,OAAO,KAAK,CAAC,KAAK,CAAC;IAAA,CACpB;IAED,WAAW,CAAC,KAAwB,EAAc;QAChD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAAA,CACpD;IAED,WAAW,CAAC,IAAgB,EAAqB;QAC/C,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAAA,CACrD;IAED,YAAY,CAAC,MAAY,EAAE,EAAe,EAAc;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC;SACjD,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,GAAe,EAAmC;QAC7D,OAAO;YACL,MAAM,EAAE,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAS;YACzD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAgB;SAC3F,CAAC;IAAA,CACH;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC;SACpE,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAChD,CAAC,CAAC;IAAA,CACJ;CACF"}
@@ -693,16 +693,44 @@ export declare function createLodestarMetrics(register: RegistryMetricCreator, m
693
693
  reason: ReprocessStatus;
694
694
  }>;
695
695
  };
696
- reprocessGossipAttestations: {
697
- total: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
696
+ awaitingBlockGossipMessages: {
697
+ queue: import("@lodestar/utils").GaugeExtra<{
698
+ topic: GossipType;
699
+ }>;
698
700
  countPerSlot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
699
- resolve: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
700
- waitSecBeforeResolve: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
701
+ resolve: import("@lodestar/utils").GaugeExtra<{
702
+ topic: GossipType;
703
+ }>;
704
+ waitSecBeforeResolve: import("@lodestar/utils").GaugeExtra<{
705
+ topic: GossipType;
706
+ }>;
701
707
  reject: import("@lodestar/utils").GaugeExtra<{
702
708
  reason: ReprocessRejectReason;
709
+ topic: GossipType;
703
710
  }>;
704
711
  waitSecBeforeReject: import("@lodestar/utils").GaugeExtra<{
705
712
  reason: ReprocessRejectReason;
713
+ topic: GossipType;
714
+ }>;
715
+ };
716
+ awaitingPayloadGossipMessages: {
717
+ queue: import("@lodestar/utils").GaugeExtra<{
718
+ topic: GossipType;
719
+ }>;
720
+ countPerSlot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
721
+ resolve: import("@lodestar/utils").GaugeExtra<{
722
+ topic: GossipType;
723
+ }>;
724
+ waitSecBeforeResolve: import("@lodestar/utils").GaugeExtra<{
725
+ topic: GossipType;
726
+ }>;
727
+ reject: import("@lodestar/utils").GaugeExtra<{
728
+ reason: ReprocessRejectReason;
729
+ topic: GossipType;
730
+ }>;
731
+ waitSecBeforeReject: import("@lodestar/utils").GaugeExtra<{
732
+ reason: ReprocessRejectReason;
733
+ topic: GossipType;
706
734
  }>;
707
735
  };
708
736
  lightclientServer: {
@@ -1 +1 @@
1
- {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
@@ -1631,33 +1631,70 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
1631
1631
  labelNames: ["reason"],
1632
1632
  }),
1633
1633
  },
1634
- // reprocess gossip attestations
1635
- reprocessGossipAttestations: {
1636
- total: register.gauge({
1637
- name: "lodestar_reprocess_gossip_attestations_total",
1638
- help: "Total number of gossip attestations waiting to reprocess",
1634
+ // some gossip messages need to wait for block to be processed before they can be processed
1635
+ awaitingBlockGossipMessages: {
1636
+ queue: register.gauge({
1637
+ name: "lodestar_awaiting_block_gossip_messages_total",
1638
+ help: "Total number of gossip messages waiting for block to be processed",
1639
+ labelNames: ["topic"],
1639
1640
  }),
1640
1641
  countPerSlot: register.gauge({
1641
- name: "lodestar_reprocess_gossip_attestations_per_slot_total",
1642
- help: "Total number of gossip attestations waiting to reprocess pet slot",
1642
+ name: "lodestar_awaiting_block_gossip_messages_per_slot_total",
1643
+ help: "Total number of gossip messages waiting for block to be processed per slot",
1643
1644
  }),
1644
1645
  resolve: register.gauge({
1645
- name: "lodestar_reprocess_gossip_attestations_resolve_total",
1646
- help: "Total number of gossip attestations are reprocessed",
1646
+ name: "lodestar_awaiting_block_gossip_messages_resolve_total",
1647
+ help: "Total number of gossip messages are reprocessed",
1648
+ labelNames: ["topic"],
1647
1649
  }),
1648
1650
  waitSecBeforeResolve: register.gauge({
1649
- name: "lodestar_reprocess_gossip_attestations_wait_time_resolve_seconds",
1651
+ name: "lodestar_awaiting_block_gossip_messages_wait_time_resolve_seconds",
1650
1652
  help: "Time to wait for unknown block in seconds",
1653
+ labelNames: ["topic"],
1651
1654
  }),
1655
+ // having 2 labels here is not great for performance, however it's rarely happening and having the reason label is important for debugging
1652
1656
  reject: register.gauge({
1653
- name: "lodestar_reprocess_gossip_attestations_reject_total",
1654
- help: "Total number of attestations are rejected to reprocess",
1655
- labelNames: ["reason"],
1657
+ name: "lodestar_awaiting_block_gossip_messages_reject_total",
1658
+ help: "Total number of gossip messages are rejected to reprocess",
1659
+ labelNames: ["reason", "topic"],
1656
1660
  }),
1657
1661
  waitSecBeforeReject: register.gauge({
1658
- name: "lodestar_reprocess_gossip_attestations_wait_time_reject_seconds",
1662
+ name: "lodestar_awaiting_block_gossip_messages_wait_time_reject_seconds",
1659
1663
  help: "Time to wait for unknown block before being rejected",
1660
- labelNames: ["reason"],
1664
+ labelNames: ["reason", "topic"],
1665
+ }),
1666
+ },
1667
+ // some gossip messages need to wait for payload to be processed before they can be processed
1668
+ awaitingPayloadGossipMessages: {
1669
+ queue: register.gauge({
1670
+ name: "lodestar_awaiting_payload_gossip_messages_total",
1671
+ help: "Total number of gossip messages waiting for payload to be processed",
1672
+ labelNames: ["topic"],
1673
+ }),
1674
+ countPerSlot: register.gauge({
1675
+ name: "lodestar_awaiting_payload_gossip_messages_per_slot_total",
1676
+ help: "Total number of gossip messages waiting for payload to be processed per slot",
1677
+ }),
1678
+ resolve: register.gauge({
1679
+ name: "lodestar_awaiting_payload_gossip_messages_resolve_total",
1680
+ help: "Total number of gossip messages are reprocessed",
1681
+ labelNames: ["topic"],
1682
+ }),
1683
+ waitSecBeforeResolve: register.gauge({
1684
+ name: "lodestar_awaiting_payload_gossip_messages_wait_time_resolve_seconds",
1685
+ help: "Time to wait for unknown payload in seconds",
1686
+ labelNames: ["topic"],
1687
+ }),
1688
+ // having 2 labels here is not great for performance, however it's rarely happening and having the reason label is important for debugging
1689
+ reject: register.gauge({
1690
+ name: "lodestar_awaiting_payload_gossip_messages_reject_total",
1691
+ help: "Total number of gossip messages are rejected to reprocess",
1692
+ labelNames: ["reason", "topic"],
1693
+ }),
1694
+ waitSecBeforeReject: register.gauge({
1695
+ name: "lodestar_awaiting_payload_gossip_messages_wait_time_reject_seconds",
1696
+ help: "Time to wait for unknown payload before being rejected",
1697
+ labelNames: ["reason", "topic"],
1661
1698
  }),
1662
1699
  },
1663
1700
  lightclientServer: {
@@ -1 +1 @@
1
- {"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
@@ -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;AAe9D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAKvD;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,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"}
@@ -15,12 +15,27 @@ const encoder = new snappyWasm.Encoder();
15
15
  const decoder = new snappyWasm.Decoder();
16
16
  // Shared buffer to convert msgId to string
17
17
  const sharedMsgIdBuf = Buffer.alloc(20);
18
+ // Cache topic -> seed to avoid per-message allocations on the hot path.
19
+ // Topics are a fixed set per fork (changes only at fork boundaries).
20
+ const topicSeedCache = new Map();
18
21
  /**
19
22
  * The function used to generate a gossipsub message id
20
23
  * We use the first 8 bytes of SHA256(data) for content addressing
21
24
  */
22
25
  export function fastMsgIdFn(rpcMsg) {
23
26
  if (rpcMsg.data) {
27
+ if (rpcMsg.topic) {
28
+ // Use topic-derived seed to prevent cross-topic deduplication of identical messages.
29
+ // SyncCommitteeMessages are published to multiple sync_committee_{subnet} topics with
30
+ // identical data, so hashing only the data incorrectly deduplicates across subnets.
31
+ // See https://github.com/ChainSafe/lodestar/issues/8294
32
+ let topicSeed = topicSeedCache.get(rpcMsg.topic);
33
+ if (topicSeed === undefined) {
34
+ topicSeed = xxhash.h64Raw(Buffer.from(rpcMsg.topic), h64Seed);
35
+ topicSeedCache.set(rpcMsg.topic, topicSeed);
36
+ }
37
+ return xxhash.h64Raw(rpcMsg.data, topicSeed).toString(16);
38
+ }
24
39
  return xxhash.h64Raw(rpcMsg.data, h64Seed).toString(16);
25
40
  }
26
41
  return "0000000000000000";
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { AttesterSlashing, DataColumnSidecar, LightClientFinalityUpdate, LightCl
7
7
  import { BlockInputSource } from "../chain/blocks/blockInput/types.js";
8
8
  import { CustodyConfig } from "../util/dataColumns.js";
9
9
  import { PeerIdStr } from "../util/peerId.js";
10
- import { BeaconBlocksByRootRequest, BlobSidecarsByRootRequest, DataColumnSidecarsByRootRequest } from "../util/types.js";
10
+ import { BeaconBlocksByRootRequest, BlobSidecarsByRootRequest, DataColumnSidecarsByRootRequest, ExecutionPayloadEnvelopesByRootRequest } from "../util/types.js";
11
11
  import { INetworkCorePublic } from "./core/types.js";
12
12
  import { INetworkEventBus } from "./events.js";
13
13
  import { GossipType } from "./gossip/interface.js";
@@ -34,13 +34,16 @@ export interface INetwork extends INetworkCorePublic {
34
34
  reportPeer(peer: PeerIdStr, action: PeerAction, actionName: string): void;
35
35
  shouldAggregate(subnet: SubnetID, slot: Slot): boolean;
36
36
  reStatusPeers(peers: PeerIdStr[]): Promise<void>;
37
- searchUnknownSlotRoot(slotRoot: SlotRootHex, source: BlockInputSource, peer?: PeerIdStr): void;
37
+ searchUnknownBlock(slotRoot: SlotRootHex, source: BlockInputSource, peer?: PeerIdStr): void;
38
+ searchUnknownEnvelope(slotRoot: SlotRootHex, source: BlockInputSource, peer?: PeerIdStr): void;
38
39
  sendBeaconBlocksByRange(peerId: PeerIdStr, request: phase0.BeaconBlocksByRangeRequest): Promise<SignedBeaconBlock[]>;
39
40
  sendBeaconBlocksByRoot(peerId: PeerIdStr, request: BeaconBlocksByRootRequest): Promise<SignedBeaconBlock[]>;
40
41
  sendBlobSidecarsByRange(peerId: PeerIdStr, request: deneb.BlobSidecarsByRangeRequest): Promise<deneb.BlobSidecar[]>;
41
42
  sendBlobSidecarsByRoot(peerId: PeerIdStr, request: BlobSidecarsByRootRequest): Promise<deneb.BlobSidecar[]>;
42
- sendDataColumnSidecarsByRange(peerId: PeerIdStr, request: fulu.DataColumnSidecarsByRangeRequest): Promise<fulu.DataColumnSidecar[]>;
43
- sendDataColumnSidecarsByRoot(peerId: PeerIdStr, request: DataColumnSidecarsByRootRequest): Promise<fulu.DataColumnSidecar[]>;
43
+ sendDataColumnSidecarsByRange(peerId: PeerIdStr, request: fulu.DataColumnSidecarsByRangeRequest): Promise<DataColumnSidecar[]>;
44
+ sendDataColumnSidecarsByRoot(peerId: PeerIdStr, request: DataColumnSidecarsByRootRequest): Promise<DataColumnSidecar[]>;
45
+ sendExecutionPayloadEnvelopesByRange(peerId: PeerIdStr, request: gloas.ExecutionPayloadEnvelopesByRangeRequest): Promise<gloas.SignedExecutionPayloadEnvelope[]>;
46
+ sendExecutionPayloadEnvelopesByRoot(peerId: PeerIdStr, request: ExecutionPayloadEnvelopesByRootRequest): Promise<gloas.SignedExecutionPayloadEnvelope[]>;
44
47
  publishBeaconBlock(signedBlock: SignedBeaconBlock): Promise<number>;
45
48
  publishBlobSidecar(blobSidecar: deneb.BlobSidecar): Promise<number>;
46
49
  publishBeaconAggregateAndProof(aggregateAndProof: SignedAggregateAndProof): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/network/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/network/interface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/libp2p/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAMlD,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAKrC,OAAO,EAAC,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,cAAc,EAAwB,MAAM,eAAe,CAAC;AAGpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,QAAQ,CAAC;CAC5B,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAatG;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,WAAW,GAAE,OAAO,CAAC,cAAc,CAAM,EACzC,gBAAgB,GAAE,gBAAqB,GACtC,OAAO,CAAC,MAAM,CAAC,CAwIjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/libp2p/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAMlD,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAKrC,OAAO,EAAC,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,cAAc,EAAwB,MAAM,eAAe,CAAC;AAGpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,QAAQ,CAAC;CAC5B,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAatG;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,WAAW,GAAE,OAAO,CAAC,cAAc,CAAM,EACzC,gBAAgB,GAAE,gBAAqB,GACtC,OAAO,CAAC,MAAM,CAAC,CAmJjB"}
@@ -28,6 +28,8 @@ export async function getDiscv5Multiaddrs(bootEnrs, quicEnabled) {
28
28
  export async function createNodeJsLibp2p(privateKey, networkOpts = {}, nodeJsLibp2pOpts = {}) {
29
29
  const localMultiaddrs = networkOpts.localMultiaddrs || defaultNetworkOptions.localMultiaddrs;
30
30
  const disconnectThreshold = networkOpts.disconnectThreshold ?? defaultNetworkOptions.disconnectThreshold;
31
+ const tcpEnabled = networkOpts.tcp ?? defaultNetworkOptions.tcp;
32
+ const quicEnabled = networkOpts.quic ?? defaultNetworkOptions.quic;
31
33
  const { peerStoreDir, disablePeerDiscovery } = nodeJsLibp2pOpts;
32
34
  let datastore = undefined;
33
35
  if (peerStoreDir) {
@@ -40,7 +42,7 @@ export async function createNodeJsLibp2p(privateKey, networkOpts = {}, nodeJsLib
40
42
  ...(networkOpts.bootMultiaddrs ?? defaultNetworkOptions.bootMultiaddrs ?? []),
41
43
  // Append discv5.bootEnrs to bootMultiaddrs if requested
42
44
  ...(networkOpts.connectToDiscv5Bootnodes
43
- ? await getDiscv5Multiaddrs(networkOpts.discv5?.bootEnrs ?? [], networkOpts.quic)
45
+ ? await getDiscv5Multiaddrs(networkOpts.discv5?.bootEnrs ?? [], quicEnabled)
44
46
  : []),
45
47
  ];
46
48
  if ((bootMultiaddrs.length ?? 0) > 0) {
@@ -51,7 +53,7 @@ export async function createNodeJsLibp2p(privateKey, networkOpts = {}, nodeJsLib
51
53
  }
52
54
  }
53
55
  const transports = [];
54
- if (networkOpts.tcp ?? true) {
56
+ if (tcpEnabled) {
55
57
  transports.unshift(tcp({
56
58
  // Reject connections when the server's connection count gets high
57
59
  maxConnections: networkOpts.maxPeers,
@@ -65,15 +67,24 @@ export async function createNodeJsLibp2p(privateKey, networkOpts = {}, nodeJsLib
65
67
  },
66
68
  }));
67
69
  }
68
- if (networkOpts.quic) {
69
- transports.unshift(quic({
70
- handshakeTimeout: 5_000,
71
- maxIdleTimeout: 10_000,
72
- keepAliveInterval: 5_000,
73
- maxConcurrentStreamLimit: 256,
74
- maxStreamData: 10_000_000,
75
- maxConnectionData: 15_000_000,
76
- }));
70
+ if (quicEnabled) {
71
+ const quicMultiaddrs = localMultiaddrs.filter((ma) => ma.includes("/quic-v1"));
72
+ const hasIpv4Quic = quicMultiaddrs.some((ma) => ma.includes("/ip4/"));
73
+ const hasIpv6Quic = quicMultiaddrs.some((ma) => ma.includes("/ip6/"));
74
+ // Only add QUIC transport if at least one QUIC listen address is configured,
75
+ // otherwise the transport constructor will throw
76
+ if (hasIpv4Quic || hasIpv6Quic) {
77
+ transports.unshift(quic({
78
+ handshakeTimeout: 5_000,
79
+ maxIdleTimeout: 10_000,
80
+ keepAliveInterval: 5_000,
81
+ maxConcurrentStreamLimit: 256,
82
+ maxStreamData: 10_000_000,
83
+ maxConnectionData: 15_000_000,
84
+ ipv4: hasIpv4Quic,
85
+ ipv6: hasIpv6Quic,
86
+ }));
87
+ }
77
88
  }
78
89
  const noiseCrypto = {
79
90
  ...defaultCrypto,