@lodestar/beacon-node 1.40.0 → 1.41.0-dev.0087e7a664

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 (446) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +123 -4
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/state/index.js +8 -8
  5. package/lib/api/impl/beacon/state/index.js.map +1 -1
  6. package/lib/api/impl/beacon/state/utils.d.ts +3 -4
  7. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  8. package/lib/api/impl/beacon/state/utils.js +5 -24
  9. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  10. package/lib/api/impl/debug/index.d.ts.map +1 -1
  11. package/lib/api/impl/debug/index.js +6 -2
  12. package/lib/api/impl/debug/index.js.map +1 -1
  13. package/lib/api/impl/lightclient/index.d.ts.map +1 -1
  14. package/lib/api/impl/lightclient/index.js +19 -2
  15. package/lib/api/impl/lightclient/index.js.map +1 -1
  16. package/lib/api/impl/node/index.d.ts +1 -1
  17. package/lib/api/impl/node/index.d.ts.map +1 -1
  18. package/lib/api/impl/node/index.js +18 -1
  19. package/lib/api/impl/node/index.js.map +1 -1
  20. package/lib/api/impl/node/utils.d.ts +1 -1
  21. package/lib/api/impl/node/utils.d.ts.map +1 -1
  22. package/lib/api/impl/node/utils.js.map +1 -1
  23. package/lib/api/impl/validator/index.d.ts.map +1 -1
  24. package/lib/api/impl/validator/index.js +130 -16
  25. package/lib/api/impl/validator/index.js.map +1 -1
  26. package/lib/chain/archiveStore/archiveStore.d.ts +1 -0
  27. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  28. package/lib/chain/archiveStore/archiveStore.js +9 -0
  29. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  30. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +5 -6
  31. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  32. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +9 -10
  33. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  34. package/lib/chain/archiveStore/historicalState/worker.js +3 -3
  35. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  36. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +3 -8
  37. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  38. package/lib/chain/archiveStore/utils/archiveBlocks.js +1 -1
  39. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  40. package/lib/chain/archiveStore/utils/archivePayloads.d.ts +7 -0
  41. package/lib/chain/archiveStore/utils/archivePayloads.d.ts.map +1 -0
  42. package/lib/chain/archiveStore/utils/archivePayloads.js +10 -0
  43. package/lib/chain/archiveStore/utils/archivePayloads.js.map +1 -0
  44. package/lib/chain/archiveStore/utils/updateBackfillRange.js +1 -1
  45. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +1 -1
  46. package/lib/chain/blocks/blockInput/blockInput.d.ts +25 -2
  47. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  48. package/lib/chain/blocks/blockInput/blockInput.js +71 -0
  49. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  50. package/lib/chain/blocks/blockInput/types.d.ts +18 -1
  51. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  52. package/lib/chain/blocks/blockInput/types.js +1 -0
  53. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  54. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  55. package/lib/chain/blocks/importBlock.js +27 -6
  56. package/lib/chain/blocks/importBlock.js.map +1 -1
  57. package/lib/chain/blocks/index.d.ts.map +1 -1
  58. package/lib/chain/blocks/index.js +2 -1
  59. package/lib/chain/blocks/index.js.map +1 -1
  60. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  61. package/lib/chain/blocks/verifyBlocksDataAvailability.js +3 -0
  62. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  63. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +4 -0
  64. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  65. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -1
  66. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  67. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  68. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -1
  69. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  70. package/lib/chain/blocks/writeBlockInputToDb.d.ts +12 -3
  71. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  72. package/lib/chain/blocks/writeBlockInputToDb.js +92 -95
  73. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  74. package/lib/chain/bls/multithread/index.d.ts +3 -3
  75. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  76. package/lib/chain/bls/multithread/index.js +5 -5
  77. package/lib/chain/bls/multithread/index.js.map +1 -1
  78. package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
  79. package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
  80. package/lib/chain/bls/multithread/jobItem.js +2 -2
  81. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  82. package/lib/chain/bls/singleThread.d.ts +4 -4
  83. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  84. package/lib/chain/bls/singleThread.js +4 -4
  85. package/lib/chain/bls/singleThread.js.map +1 -1
  86. package/lib/chain/bls/utils.d.ts +2 -2
  87. package/lib/chain/bls/utils.d.ts.map +1 -1
  88. package/lib/chain/bls/utils.js +7 -4
  89. package/lib/chain/bls/utils.js.map +1 -1
  90. package/lib/chain/chain.d.ts +8 -11
  91. package/lib/chain/chain.d.ts.map +1 -1
  92. package/lib/chain/chain.js +45 -28
  93. package/lib/chain/chain.js.map +1 -1
  94. package/lib/chain/emitter.d.ts +5 -5
  95. package/lib/chain/emitter.d.ts.map +1 -1
  96. package/lib/chain/errors/blockError.d.ts +7 -1
  97. package/lib/chain/errors/blockError.d.ts.map +1 -1
  98. package/lib/chain/errors/blockError.js +2 -0
  99. package/lib/chain/errors/blockError.js.map +1 -1
  100. package/lib/chain/errors/executionPayloadBid.d.ts +1 -1
  101. package/lib/chain/errors/executionPayloadEnvelope.d.ts +2 -2
  102. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  103. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  104. package/lib/chain/errors/payloadAttestation.d.ts +1 -1
  105. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  106. package/lib/chain/forkChoice/index.js +30 -24
  107. package/lib/chain/forkChoice/index.js.map +1 -1
  108. package/lib/chain/interface.d.ts +4 -6
  109. package/lib/chain/interface.d.ts.map +1 -1
  110. package/lib/chain/interface.js.map +1 -1
  111. package/lib/chain/lightClient/index.d.ts.map +1 -1
  112. package/lib/chain/lightClient/index.js +1 -1
  113. package/lib/chain/lightClient/index.js.map +1 -1
  114. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  115. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  116. package/lib/chain/options.d.ts.map +1 -1
  117. package/lib/chain/options.js.map +1 -1
  118. package/lib/chain/prepareNextSlot.js +3 -3
  119. package/lib/chain/prepareNextSlot.js.map +1 -1
  120. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +9 -2
  121. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  122. package/lib/chain/produceBlock/computeNewStateRoot.js +25 -2
  123. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  124. package/lib/chain/produceBlock/produceBlockBody.d.ts +22 -7
  125. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  126. package/lib/chain/produceBlock/produceBlockBody.js +109 -10
  127. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  128. package/lib/chain/regen/queued.d.ts.map +1 -1
  129. package/lib/chain/regen/queued.js +4 -1
  130. package/lib/chain/regen/queued.js.map +1 -1
  131. package/lib/chain/regen/regen.d.ts.map +1 -1
  132. package/lib/chain/regen/regen.js +6 -2
  133. package/lib/chain/regen/regen.js.map +1 -1
  134. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +5 -1
  135. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  136. package/lib/chain/seenCache/seenGossipBlockInput.js +36 -15
  137. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  138. package/lib/chain/validation/aggregateAndProof.js +1 -1
  139. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  140. package/lib/chain/validation/attestation.d.ts.map +1 -1
  141. package/lib/chain/validation/attestation.js +7 -4
  142. package/lib/chain/validation/attestation.js.map +1 -1
  143. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  144. package/lib/chain/validation/attesterSlashing.js +9 -2
  145. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  146. package/lib/chain/validation/blobSidecar.js +2 -2
  147. package/lib/chain/validation/blobSidecar.js.map +1 -1
  148. package/lib/chain/validation/block.d.ts.map +1 -1
  149. package/lib/chain/validation/block.js +33 -6
  150. package/lib/chain/validation/block.js.map +1 -1
  151. package/lib/chain/validation/dataColumnSidecar.d.ts +2 -2
  152. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  153. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  154. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  155. package/lib/chain/validation/executionPayloadBid.js +1 -2
  156. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  157. package/lib/chain/validation/executionPayloadEnvelope.js +6 -5
  158. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  159. package/lib/chain/validation/payloadAttestationMessage.js +9 -3
  160. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  161. package/lib/chain/validation/proposerSlashing.js +1 -1
  162. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  163. package/lib/chain/validation/syncCommitteeContributionAndProof.js +1 -1
  164. package/lib/db/beacon.d.ts +3 -1
  165. package/lib/db/beacon.d.ts.map +1 -1
  166. package/lib/db/beacon.js +5 -1
  167. package/lib/db/beacon.js.map +1 -1
  168. package/lib/db/buckets.d.ts +3 -1
  169. package/lib/db/buckets.d.ts.map +1 -1
  170. package/lib/db/buckets.js +2 -0
  171. package/lib/db/buckets.js.map +1 -1
  172. package/lib/db/index.d.ts +1 -0
  173. package/lib/db/index.d.ts.map +1 -1
  174. package/lib/db/index.js +1 -0
  175. package/lib/db/index.js.map +1 -1
  176. package/lib/db/interface.d.ts +3 -1
  177. package/lib/db/interface.d.ts.map +1 -1
  178. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  179. package/lib/db/repositories/blockArchive.js +1 -2
  180. package/lib/db/repositories/blockArchive.js.map +1 -1
  181. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  182. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  183. package/lib/db/repositories/dataColumnSidecar.d.ts +5 -3
  184. package/lib/db/repositories/dataColumnSidecar.d.ts.map +1 -1
  185. package/lib/db/repositories/dataColumnSidecar.js +14 -1
  186. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  187. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +5 -3
  188. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  189. package/lib/db/repositories/dataColumnSidecarArchive.js +14 -1
  190. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  191. package/lib/db/repositories/executionPayloadEnvelope.d.ts +19 -0
  192. package/lib/db/repositories/executionPayloadEnvelope.d.ts.map +1 -0
  193. package/lib/db/repositories/executionPayloadEnvelope.js +22 -0
  194. package/lib/db/repositories/executionPayloadEnvelope.js.map +1 -0
  195. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts +18 -0
  196. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts.map +1 -0
  197. package/lib/db/repositories/executionPayloadEnvelopeArchive.js +28 -0
  198. package/lib/db/repositories/executionPayloadEnvelopeArchive.js.map +1 -0
  199. package/lib/db/repositories/index.d.ts +2 -0
  200. package/lib/db/repositories/index.d.ts.map +1 -1
  201. package/lib/db/repositories/index.js +2 -0
  202. package/lib/db/repositories/index.js.map +1 -1
  203. package/lib/execution/engine/http.d.ts +1 -0
  204. package/lib/execution/engine/http.d.ts.map +1 -1
  205. package/lib/execution/engine/http.js +3 -0
  206. package/lib/execution/engine/http.js.map +1 -1
  207. package/lib/execution/engine/interface.d.ts +3 -25
  208. package/lib/execution/engine/interface.d.ts.map +1 -1
  209. package/lib/execution/engine/interface.js +2 -20
  210. package/lib/execution/engine/interface.js.map +1 -1
  211. package/lib/metrics/metrics/beacon.d.ts +1 -0
  212. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  213. package/lib/metrics/metrics/beacon.js +5 -0
  214. package/lib/metrics/metrics/beacon.js.map +1 -1
  215. package/lib/metrics/metrics/lodestar.d.ts +9 -0
  216. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  217. package/lib/metrics/metrics/lodestar.js +18 -0
  218. package/lib/metrics/metrics/lodestar.js.map +1 -1
  219. package/lib/metrics/metrics.d.ts.map +1 -1
  220. package/lib/metrics/metrics.js +8 -3
  221. package/lib/metrics/metrics.js.map +1 -1
  222. package/lib/monitoring/service.d.ts +2 -2
  223. package/lib/monitoring/service.d.ts.map +1 -1
  224. package/lib/monitoring/service.js +3 -2
  225. package/lib/monitoring/service.js.map +1 -1
  226. package/lib/network/core/networkCore.d.ts +3 -3
  227. package/lib/network/core/networkCore.d.ts.map +1 -1
  228. package/lib/network/core/networkCore.js.map +1 -1
  229. package/lib/network/core/networkCoreWorkerHandler.d.ts +3 -3
  230. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  231. package/lib/network/core/types.d.ts +2 -2
  232. package/lib/network/core/types.d.ts.map +1 -1
  233. package/lib/network/events.d.ts +2 -1
  234. package/lib/network/events.d.ts.map +1 -1
  235. package/lib/network/events.js.map +1 -1
  236. package/lib/network/gossip/encoding.d.ts +3 -3
  237. package/lib/network/gossip/encoding.d.ts.map +1 -1
  238. package/lib/network/gossip/encoding.js.map +1 -1
  239. package/lib/network/gossip/gossipsub.d.ts +13 -4
  240. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  241. package/lib/network/gossip/gossipsub.js +47 -20
  242. package/lib/network/gossip/gossipsub.js.map +1 -1
  243. package/lib/network/gossip/interface.d.ts +6 -6
  244. package/lib/network/gossip/interface.d.ts.map +1 -1
  245. package/lib/network/gossip/scoringParameters.d.ts +1 -1
  246. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  247. package/lib/network/gossip/scoringParameters.js +1 -1
  248. package/lib/network/gossip/scoringParameters.js.map +1 -1
  249. package/lib/network/gossip/topic.d.ts +114 -65
  250. package/lib/network/gossip/topic.d.ts.map +1 -1
  251. package/lib/network/gossip/topic.js +2 -2
  252. package/lib/network/gossip/topic.js.map +1 -1
  253. package/lib/network/interface.d.ts +6 -5
  254. package/lib/network/interface.d.ts.map +1 -1
  255. package/lib/network/libp2p/index.d.ts +1 -1
  256. package/lib/network/libp2p/index.d.ts.map +1 -1
  257. package/lib/network/libp2p/index.js +7 -2
  258. package/lib/network/libp2p/index.js.map +1 -1
  259. package/lib/network/network.d.ts +5 -4
  260. package/lib/network/network.d.ts.map +1 -1
  261. package/lib/network/network.js +11 -2
  262. package/lib/network/network.js.map +1 -1
  263. package/lib/network/options.d.ts.map +1 -1
  264. package/lib/network/options.js +3 -0
  265. package/lib/network/options.js.map +1 -1
  266. package/lib/network/peers/datastore.d.ts +7 -5
  267. package/lib/network/peers/datastore.d.ts.map +1 -1
  268. package/lib/network/peers/datastore.js +10 -10
  269. package/lib/network/peers/datastore.js.map +1 -1
  270. package/lib/network/peers/peerManager.d.ts +3 -0
  271. package/lib/network/peers/peerManager.d.ts.map +1 -1
  272. package/lib/network/peers/peerManager.js +103 -53
  273. package/lib/network/peers/peerManager.js.map +1 -1
  274. package/lib/network/peers/utils/prioritizePeers.d.ts +3 -3
  275. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  276. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  277. package/lib/network/processor/gossipHandlers.js +9 -2
  278. package/lib/network/processor/gossipHandlers.js.map +1 -1
  279. package/lib/network/processor/gossipValidatorFn.js +1 -1
  280. package/lib/network/processor/types.d.ts +1 -1
  281. package/lib/network/processor/types.d.ts.map +1 -1
  282. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  283. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -2
  284. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  285. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +1 -1
  286. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +3 -2
  287. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  288. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
  289. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  290. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  291. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +3 -2
  292. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  293. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -1
  294. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  295. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +1 -1
  296. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +7 -1
  297. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  298. package/lib/network/reqresp/score.d.ts.map +1 -1
  299. package/lib/network/reqresp/score.js +0 -1
  300. package/lib/network/reqresp/score.js.map +1 -1
  301. package/lib/network/reqresp/utils/collect.d.ts +1 -1
  302. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -1
  303. package/lib/network/util.js +2 -2
  304. package/lib/network/util.js.map +1 -1
  305. package/lib/node/nodejs.d.ts +3 -5
  306. package/lib/node/nodejs.d.ts.map +1 -1
  307. package/lib/node/nodejs.js +6 -4
  308. package/lib/node/nodejs.js.map +1 -1
  309. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  310. package/lib/sync/utils/downloadByRange.js +3 -9
  311. package/lib/sync/utils/downloadByRange.js.map +1 -1
  312. package/lib/sync/utils/downloadByRoot.d.ts +2 -2
  313. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  314. package/lib/sync/utils/downloadByRoot.js +4 -4
  315. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  316. package/lib/sync/utils/remoteSyncType.d.ts +1 -1
  317. package/lib/util/blobs.d.ts +2 -2
  318. package/lib/util/blobs.d.ts.map +1 -1
  319. package/lib/util/blobs.js.map +1 -1
  320. package/lib/util/clock.d.ts +6 -0
  321. package/lib/util/clock.d.ts.map +1 -1
  322. package/lib/util/clock.js +9 -3
  323. package/lib/util/clock.js.map +1 -1
  324. package/lib/util/dataColumns.d.ts +15 -2
  325. package/lib/util/dataColumns.d.ts.map +1 -1
  326. package/lib/util/dataColumns.js +40 -5
  327. package/lib/util/dataColumns.js.map +1 -1
  328. package/lib/util/multifork.d.ts +8 -0
  329. package/lib/util/multifork.d.ts.map +1 -1
  330. package/lib/util/multifork.js +37 -0
  331. package/lib/util/multifork.js.map +1 -1
  332. package/lib/util/serializedCache.d.ts +7 -2
  333. package/lib/util/serializedCache.d.ts.map +1 -1
  334. package/lib/util/serializedCache.js +9 -2
  335. package/lib/util/serializedCache.js.map +1 -1
  336. package/package.json +39 -42
  337. package/src/api/impl/beacon/blocks/index.ts +147 -3
  338. package/src/api/impl/beacon/state/index.ts +8 -8
  339. package/src/api/impl/beacon/state/utils.ts +15 -29
  340. package/src/api/impl/debug/index.ts +9 -5
  341. package/src/api/impl/lightclient/index.ts +19 -2
  342. package/src/api/impl/node/index.ts +22 -1
  343. package/src/api/impl/node/utils.ts +3 -3
  344. package/src/api/impl/validator/index.ts +153 -17
  345. package/src/chain/archiveStore/archiveStore.ts +15 -5
  346. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +10 -11
  347. package/src/chain/archiveStore/historicalState/worker.ts +3 -3
  348. package/src/chain/archiveStore/utils/archiveBlocks.ts +4 -5
  349. package/src/chain/archiveStore/utils/archivePayloads.ts +15 -0
  350. package/src/chain/archiveStore/utils/updateBackfillRange.ts +1 -1
  351. package/src/chain/blocks/blockInput/blockInput.ts +103 -3
  352. package/src/chain/blocks/blockInput/types.ts +18 -0
  353. package/src/chain/blocks/importBlock.ts +35 -7
  354. package/src/chain/blocks/index.ts +2 -1
  355. package/src/chain/blocks/verifyBlocksDataAvailability.ts +3 -0
  356. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -2
  357. package/src/chain/blocks/verifyBlocksSanityChecks.ts +7 -2
  358. package/src/chain/blocks/writeBlockInputToDb.ts +105 -101
  359. package/src/chain/bls/multithread/index.ts +7 -7
  360. package/src/chain/bls/multithread/jobItem.ts +3 -3
  361. package/src/chain/bls/singleThread.ts +5 -5
  362. package/src/chain/bls/utils.ts +8 -5
  363. package/src/chain/chain.ts +82 -45
  364. package/src/chain/emitter.ts +5 -5
  365. package/src/chain/errors/blockError.ts +4 -1
  366. package/src/chain/errors/executionPayloadBid.ts +1 -1
  367. package/src/chain/errors/executionPayloadEnvelope.ts +6 -2
  368. package/src/chain/errors/payloadAttestation.ts +1 -1
  369. package/src/chain/forkChoice/index.ts +39 -21
  370. package/src/chain/interface.ts +4 -11
  371. package/src/chain/lightClient/index.ts +4 -1
  372. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  373. package/src/chain/options.ts +1 -0
  374. package/src/chain/prepareNextSlot.ts +5 -5
  375. package/src/chain/produceBlock/computeNewStateRoot.ts +36 -3
  376. package/src/chain/produceBlock/produceBlockBody.ts +162 -13
  377. package/src/chain/regen/queued.ts +7 -2
  378. package/src/chain/regen/regen.ts +9 -3
  379. package/src/chain/seenCache/seenGossipBlockInput.ts +54 -17
  380. package/src/chain/validation/aggregateAndProof.ts +1 -1
  381. package/src/chain/validation/attestation.ts +7 -4
  382. package/src/chain/validation/attesterSlashing.ts +10 -1
  383. package/src/chain/validation/blobSidecar.ts +2 -2
  384. package/src/chain/validation/block.ts +40 -7
  385. package/src/chain/validation/dataColumnSidecar.ts +3 -6
  386. package/src/chain/validation/executionPayloadBid.ts +1 -2
  387. package/src/chain/validation/executionPayloadEnvelope.ts +6 -5
  388. package/src/chain/validation/payloadAttestationMessage.ts +11 -4
  389. package/src/chain/validation/proposerSlashing.ts +1 -1
  390. package/src/chain/validation/syncCommitteeContributionAndProof.ts +1 -1
  391. package/src/db/beacon.ts +8 -0
  392. package/src/db/buckets.ts +3 -0
  393. package/src/db/index.ts +1 -0
  394. package/src/db/interface.ts +5 -0
  395. package/src/db/repositories/blockArchive.ts +1 -2
  396. package/src/db/repositories/dataColumnSidecar.ts +18 -3
  397. package/src/db/repositories/dataColumnSidecarArchive.ts +18 -3
  398. package/src/db/repositories/executionPayloadEnvelope.ts +26 -0
  399. package/src/db/repositories/executionPayloadEnvelopeArchive.ts +32 -0
  400. package/src/db/repositories/index.ts +2 -0
  401. package/src/execution/engine/http.ts +3 -0
  402. package/src/execution/engine/interface.ts +3 -27
  403. package/src/metrics/metrics/beacon.ts +5 -0
  404. package/src/metrics/metrics/lodestar.ts +18 -0
  405. package/src/metrics/metrics.ts +8 -3
  406. package/src/monitoring/service.ts +3 -2
  407. package/src/network/core/networkCore.ts +3 -3
  408. package/src/network/core/networkCoreWorkerHandler.ts +3 -3
  409. package/src/network/core/types.ts +2 -2
  410. package/src/network/events.ts +2 -1
  411. package/src/network/gossip/encoding.ts +3 -3
  412. package/src/network/gossip/gossipsub.ts +86 -25
  413. package/src/network/gossip/interface.ts +6 -6
  414. package/src/network/gossip/scoringParameters.ts +4 -4
  415. package/src/network/gossip/topic.ts +2 -1
  416. package/src/network/interface.ts +7 -4
  417. package/src/network/libp2p/index.ts +8 -3
  418. package/src/network/network.ts +26 -7
  419. package/src/network/options.ts +3 -0
  420. package/src/network/peers/datastore.ts +13 -10
  421. package/src/network/peers/peerManager.ts +118 -54
  422. package/src/network/peers/utils/prioritizePeers.ts +3 -3
  423. package/src/network/processor/gossipHandlers.ts +19 -4
  424. package/src/network/processor/gossipValidatorFn.ts +2 -2
  425. package/src/network/processor/types.ts +1 -1
  426. package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
  427. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +4 -3
  428. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +3 -2
  429. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +1 -1
  430. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +4 -3
  431. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +2 -2
  432. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +6 -1
  433. package/src/network/reqresp/score.ts +0 -1
  434. package/src/network/reqresp/utils/collect.ts +1 -1
  435. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +1 -1
  436. package/src/network/util.ts +2 -2
  437. package/src/node/nodejs.ts +8 -9
  438. package/src/sync/utils/downloadByRange.ts +3 -15
  439. package/src/sync/utils/downloadByRoot.ts +6 -12
  440. package/src/sync/utils/remoteSyncType.ts +1 -1
  441. package/src/util/blobs.ts +3 -3
  442. package/src/util/clock.ts +9 -4
  443. package/src/util/dataColumns.ts +54 -5
  444. package/src/util/multifork.ts +45 -0
  445. package/src/util/serializedCache.ts +10 -3
  446. package/src/util/workerEvents.ts +1 -1
package/lib/util/clock.js CHANGED
@@ -43,11 +43,14 @@ export class Clock extends EventEmitter {
43
43
  /**
44
44
  * If it's too close to next slot given MAXIMUM_GOSSIP_CLOCK_DISPARITY, return currentSlot + 1.
45
45
  * Otherwise return currentSlot
46
+ *
47
+ * Spec: phase0/p2p-interface.md - gossip validation uses `current_time + MAXIMUM_GOSSIP_CLOCK_DISPARITY < message_time`
48
+ * to reject future messages (strict `<`), so the boundary (exactly equal) is accepted, hence `<=` here.
46
49
  */
47
50
  get currentSlotWithGossipDisparity() {
48
51
  const currentSlot = this.currentSlot;
49
52
  const nextSlotTime = computeTimeAtSlot(this.config, currentSlot + 1, this.genesisTime) * 1000;
50
- return nextSlotTime - Date.now() < this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY ? currentSlot + 1 : currentSlot;
53
+ return nextSlotTime - Date.now() <= this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY ? currentSlot + 1 : currentSlot;
51
54
  }
52
55
  get currentEpoch() {
53
56
  return computeEpochAtSlot(this.currentSlot);
@@ -64,6 +67,9 @@ export class Clock extends EventEmitter {
64
67
  }
65
68
  /**
66
69
  * Check if a slot is current slot given MAXIMUM_GOSSIP_CLOCK_DISPARITY.
70
+ *
71
+ * Uses `<=` for disparity checks because the spec rejects with strict `<`
72
+ * (phase0/p2p-interface.md), meaning the boundary (exactly equal) is accepted.
67
73
  */
68
74
  isCurrentSlotGivenGossipDisparity(slot) {
69
75
  const currentSlot = this.currentSlot;
@@ -72,12 +78,12 @@ export class Clock extends EventEmitter {
72
78
  }
73
79
  const nextSlotTime = computeTimeAtSlot(this.config, currentSlot + 1, this.genesisTime) * 1000;
74
80
  // we're too close to next slot, accept next slot
75
- if (nextSlotTime - Date.now() < this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
81
+ if (nextSlotTime - Date.now() <= this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
76
82
  return slot === currentSlot + 1;
77
83
  }
78
84
  const currentSlotTime = computeTimeAtSlot(this.config, currentSlot, this.genesisTime) * 1000;
79
85
  // we've just passed the current slot, accept previous slot
80
- if (Date.now() - currentSlotTime < this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
86
+ if (Date.now() - currentSlotTime <= this.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY) {
81
87
  return slot === currentSlot - 1;
82
88
  }
83
89
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/util/clock.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAEjG,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB;;;OAGG;IACH,iCAAmB,CAAA;IACnB;;;OAGG;IACH,mCAAqB,CAAA;AACvB,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB;AA+CD;;GAEG;AACH,MAAM,OAAO,KAAM,SAAQ,YAAY;IAC5B,WAAW,CAAS;IACZ,MAAM,CAAkB;IACjC,SAAS,CAA0B;IAC1B,MAAM,CAAc;IAC7B,YAAY,CAAS;IAE7B,YAAY,EAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAsE;QAC5G,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,WAAW;QACb,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,IAAI,8BAA8B;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC9F,OAAO,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAChH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,uBAAuB,CAAC,YAAoB;QAC1C,yDAAyD;QACzD,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,8EAA8E;IAC9E,qBAAqB,CAAC,YAAoB;QACxC,yDAAyD;QACzD,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,iCAAiC,CAAC,IAAU;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC9F,iDAAiD;QACjD,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,CAAC;YAC3E,OAAO,IAAI,KAAK,WAAW,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC7F,2DAA2D;QAC3D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,CAAC;YAC9E,OAAO,IAAI,KAAK,WAAW,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAU;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,CAAC,SAAe,EAAQ,EAAE;gBACvC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACtB,MAAM,EAAE,CAAC;gBACX,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,IAAU,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC/C,OAAO,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,UAAU,CAAC,IAAU,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE;QACtC,OAAO,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC9E,CAAC;IAEO,UAAU,GAAG,CAAC,IAAW,EAAQ,EAAE;QACzC,MAAM,SAAS,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,qGAAqG;QACrG,OAAO,IAAI,CAAC,YAAY,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAE9C,MAAM,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAI,aAAa,GAAG,YAAY,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,+BAA+B;YAC/B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;IAEM,eAAe;QACrB,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAChE,OAAO,mBAAmB,GAAG,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/util/clock.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { ForkName, ForkPostFulu } from "@lodestar/params";
3
- import { BeaconBlockBody, ColumnIndex, CustodyIndex, SignedBeaconBlock, SignedBeaconBlockHeader, deneb, fulu } from "@lodestar/types";
2
+ import { ForkName, ForkPostDeneb, ForkPostFulu } from "@lodestar/params";
3
+ import { BeaconBlockBody, ColumnIndex, CustodyIndex, Root, SignedBeaconBlock, SignedBeaconBlockHeader, Slot, deneb, fulu, gloas } from "@lodestar/types";
4
4
  import { BlockInputColumns } from "../chain/blocks/blockInput/blockInput.js";
5
5
  import { ChainEventEmitter } from "../chain/emitter.js";
6
6
  import { Metrics } from "../metrics/metrics.js";
@@ -92,6 +92,11 @@ export declare function getCellsAndProofs(blobBundles: fulu.BlobAndProofV2[]): P
92
92
  cells: Uint8Array[];
93
93
  proofs: Uint8Array[];
94
94
  }[]>;
95
+ /**
96
+ * Get blob KZG commitments from a signed block, handling the different locations
97
+ * in pre-Gloas (directly in block body) vs post-Gloas (in execution payload bid).
98
+ */
99
+ export declare function getBlobKzgCommitments(fork: ForkName, signedBlock: SignedBeaconBlock<ForkPostDeneb>): deneb.KZGCommitment[];
95
100
  /**
96
101
  * Given a signed block header and the commitments, inclusion proof, cells/proofs associated with
97
102
  * each blob in the block, assemble the sidecars which can be distributed to peers.
@@ -125,6 +130,14 @@ export declare function getDataColumnSidecarsFromColumnSidecar(sidecar: fulu.Dat
125
130
  cells: Uint8Array[];
126
131
  proofs: Uint8Array[];
127
132
  }[]): fulu.DataColumnSidecars;
133
+ /**
134
+ * In Gloas, data column sidecars have a simplified structure with `slot` and `beaconBlockRoot`
135
+ * instead of `signedBlockHeader`, `kzgCommitments`, and `kzgCommitmentsInclusionProof`.
136
+ */
137
+ export declare function getDataColumnSidecarsForGloas(slot: Slot, beaconBlockRoot: Root, cellsAndKzgProofs: {
138
+ cells: Uint8Array[];
139
+ proofs: Uint8Array[];
140
+ }[]): gloas.DataColumnSidecars;
128
141
  /**
129
142
  * If we receive more than half of NUMBER_OF_COLUMNS (64) we should recover all remaining columns
130
143
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumns.d.ts","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataColumns.d.ts","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { digest } from "@chainsafe/as-sha256";
2
2
  import { Tree } from "@chainsafe/persistent-merkle-tree";
3
- import { KZG_COMMITMENTS_GINDEX, NUMBER_OF_COLUMNS, } from "@lodestar/params";
3
+ import { KZG_COMMITMENTS_GINDEX, NUMBER_OF_COLUMNS, isForkPostGloas, } from "@lodestar/params";
4
4
  import { signedBlockToSignedHeader } from "@lodestar/state-transition";
5
5
  import { ssz, } from "@lodestar/types";
6
6
  import { bytesToBigInt } from "@lodestar/utils";
@@ -193,6 +193,16 @@ export async function getCellsAndProofs(blobBundles) {
193
193
  }
194
194
  return blobsAndProofs;
195
195
  }
196
+ /**
197
+ * Get blob KZG commitments from a signed block, handling the different locations
198
+ * in pre-Gloas (directly in block body) vs post-Gloas (in execution payload bid).
199
+ */
200
+ export function getBlobKzgCommitments(fork, signedBlock) {
201
+ if (isForkPostGloas(fork)) {
202
+ return signedBlock.message.body.signedExecutionPayloadBid.message.blobKzgCommitments;
203
+ }
204
+ return signedBlock.message.body.blobKzgCommitments;
205
+ }
196
206
  /**
197
207
  * Given a signed block header and the commitments, inclusion proof, cells/proofs associated with
198
208
  * each blob in the block, assemble the sidecars which can be distributed to peers.
@@ -231,14 +241,12 @@ export function getDataColumnSidecars(signedBlockHeader, kzgCommitments, kzgComm
231
241
  * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/validator.md#get_data_column_sidecars_from_block
232
242
  */
233
243
  export function getDataColumnSidecarsFromBlock(config, signedBlock, cellsAndKzgProofs) {
234
- // TODO GLOAS: Need to get blobKzgCommitments from somewhere else
235
- const blobKzgCommitments = signedBlock.message.body
236
- .blobKzgCommitments;
244
+ const fork = config.getForkName(signedBlock.message.slot);
245
+ const blobKzgCommitments = getBlobKzgCommitments(fork, signedBlock);
237
246
  // No need to create data column sidecars if there are no blobs
238
247
  if (blobKzgCommitments.length === 0) {
239
248
  return [];
240
249
  }
241
- const fork = config.getForkName(signedBlock.message.slot);
242
250
  const signedBlockHeader = signedBlockToSignedHeader(config, signedBlock);
243
251
  const kzgCommitmentsInclusionProof = computePostFuluKzgCommitmentsInclusionProof(fork, signedBlock.message.body);
244
252
  return getDataColumnSidecars(signedBlockHeader, blobKzgCommitments, kzgCommitmentsInclusionProof, cellsAndKzgProofs);
@@ -253,6 +261,33 @@ export function getDataColumnSidecarsFromBlock(config, signedBlock, cellsAndKzgP
253
261
  export function getDataColumnSidecarsFromColumnSidecar(sidecar, cellsAndKzgProofs) {
254
262
  return getDataColumnSidecars(sidecar.signedBlockHeader, sidecar.kzgCommitments, sidecar.kzgCommitmentsInclusionProof, cellsAndKzgProofs);
255
263
  }
264
+ /**
265
+ * In Gloas, data column sidecars have a simplified structure with `slot` and `beaconBlockRoot`
266
+ * instead of `signedBlockHeader`, `kzgCommitments`, and `kzgCommitmentsInclusionProof`.
267
+ */
268
+ export function getDataColumnSidecarsForGloas(slot, beaconBlockRoot, cellsAndKzgProofs) {
269
+ // No need to create data column sidecars if there are no blobs
270
+ if (cellsAndKzgProofs.length === 0) {
271
+ return [];
272
+ }
273
+ const sidecars = [];
274
+ for (let columnIndex = 0; columnIndex < NUMBER_OF_COLUMNS; columnIndex++) {
275
+ const column = [];
276
+ const kzgProofs = [];
277
+ for (const { cells, proofs } of cellsAndKzgProofs) {
278
+ column.push(cells[columnIndex]);
279
+ kzgProofs.push(proofs[columnIndex]);
280
+ }
281
+ sidecars.push({
282
+ index: columnIndex,
283
+ column,
284
+ kzgProofs,
285
+ slot,
286
+ beaconBlockRoot,
287
+ });
288
+ }
289
+ return sidecars;
290
+ }
256
291
  /**
257
292
  * If we receive more than half of NUMBER_OF_COLUMNS (64) we should recover all remaining columns
258
293
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumns.js","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataColumns.js","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,12 @@ export declare function getSignedBlockTypeFromBytes(config: ChainForkConfig, byt
5
5
  export declare function getStateTypeFromBytes(config: ChainForkConfig, bytes: Buffer | Uint8Array): SSZTypesFor<ForkAll, "BeaconState">;
6
6
  export declare function getStateSlotFromBytes(bytes: Uint8Array): Slot;
7
7
  export declare function getLightClientHeaderTypeFromBytes(config: ChainForkConfig, bytes: Buffer | Uint8Array): SSZTypesFor<ForkPostAltair, "LightClientHeader">;
8
+ /**
9
+ * Determines if DataColumnSidecar bytes are from Gloas fork by checking the SSZ offset structure.
10
+ *
11
+ * The first offset (bytes 8-12) indicates where variable-size data begins:
12
+ * - Gloas: 56 (small fixed section)
13
+ * - Fulu: 356
14
+ */
15
+ export declare function isGloasDataColumnSidecarBytes(bytes: Uint8Array): boolean;
8
16
  //# sourceMappingURL=multifork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multifork.d.ts","sourceRoot":"","sources":["../../src/util/multifork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,WAAW,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAqBlD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAO3C;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAGrC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAE7D;AAeD,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,WAAW,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAKlD"}
1
+ {"version":3,"file":"multifork.d.ts","sourceRoot":"","sources":["../../src/util/multifork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,WAAW,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AA0BlD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAO3C;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAGrC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAE7D;AAeD,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,WAAW,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAKlD;AAyBD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAQxE"}
@@ -4,6 +4,10 @@ import { getSlotFromSignedBeaconBlockSerialized } from "./sszBytes.js";
4
4
  * Slot uint64
5
5
  */
6
6
  const SLOT_BYTE_COUNT = 8;
7
+ /**
8
+ * SSZ offset uint32
9
+ */
10
+ const OFFSET_BYTE_COUNT = 4;
7
11
  /**
8
12
  * 8 + 32 = 40
9
13
  * ```
@@ -46,4 +50,37 @@ export function getLightClientHeaderTypeFromBytes(config, bytes) {
46
50
  const slot = bytesToInt(bytes.subarray(SLOT_BYTES_POSITION_IN_LIGHTCLIENTHEADER, SLOT_BYTES_POSITION_IN_LIGHTCLIENTHEADER + SLOT_BYTE_COUNT));
47
51
  return config.getPostAltairForkTypes(slot).LightClientHeader;
48
52
  }
53
+ /**
54
+ * Position of first offset in DataColumnSidecar (after index field)
55
+ *
56
+ * Fulu DataColumnSidecar (6 fields):
57
+ * index: uint64 [fixed - 8 bytes]
58
+ * column: List [variable - 4-byte offset]
59
+ * kzgCommitments: List [variable - 4-byte offset]
60
+ * kzgProofs: List [variable - 4-byte offset]
61
+ * signedBlockHeader: Container [fixed - 208 bytes]
62
+ * kzgCommitmentsInclusionProof: Vector[Bytes32, 4] [fixed - 128 bytes]
63
+ * => First offset value = 8 + 4 + 4 + 4 + 208 + 128 = 356
64
+ *
65
+ * Gloas DataColumnSidecar (5 fields):
66
+ * index: uint64 [fixed - 8 bytes]
67
+ * column: List [variable - 4-byte offset]
68
+ * kzgProofs: List [variable - 4-byte offset]
69
+ * slot: uint64 [fixed - 8 bytes]
70
+ * beaconBlockRoot: Bytes32 [fixed - 32 bytes]
71
+ * => First offset value = 8 + 4 + 4 + 8 + 32 = 56
72
+ */
73
+ const FIRST_OFFSET_POSITION_IN_DATA_COLUMN_SIDECAR = 8;
74
+ const GLOAS_DATA_COLUMN_SIDECAR_FIRST_OFFSET = 56;
75
+ /**
76
+ * Determines if DataColumnSidecar bytes are from Gloas fork by checking the SSZ offset structure.
77
+ *
78
+ * The first offset (bytes 8-12) indicates where variable-size data begins:
79
+ * - Gloas: 56 (small fixed section)
80
+ * - Fulu: 356
81
+ */
82
+ export function isGloasDataColumnSidecarBytes(bytes) {
83
+ const firstOffset = bytesToInt(bytes.subarray(FIRST_OFFSET_POSITION_IN_DATA_COLUMN_SIDECAR, FIRST_OFFSET_POSITION_IN_DATA_COLUMN_SIDECAR + OFFSET_BYTE_COUNT));
84
+ return firstOffset === GLOAS_DATA_COLUMN_SIDECAR_FIRST_OFFSET;
85
+ }
49
86
  //# sourceMappingURL=multifork.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multifork.js","sourceRoot":"","sources":["../../src/util/multifork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,sCAAsC,EAAC,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAExC,MAAM,UAAU,2BAA2B,CACzC,MAAuB,EACvB,KAA0B;IAE1B,MAAM,IAAI,GAAG,sCAAsC,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAuB,EACvB,KAA0B;IAE1B,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiB;IACrD,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B,GAAG,eAAe,CAAC,CAAC,CAAC;AAClH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,wCAAwC,GAAG,CAAC,CAAC;AACnD,MAAM,UAAU,iCAAiC,CAC/C,MAAuB,EACvB,KAA0B;IAE1B,MAAM,IAAI,GAAG,UAAU,CACrB,KAAK,CAAC,QAAQ,CAAC,wCAAwC,EAAE,wCAAwC,GAAG,eAAe,CAAC,CACrH,CAAC;IACF,OAAO,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"multifork.js","sourceRoot":"","sources":["../../src/util/multifork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,sCAAsC,EAAC,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B;;;;;;;;;GASG;AACH,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAExC,MAAM,UAAU,2BAA2B,CACzC,MAAuB,EACvB,KAA0B;IAE1B,MAAM,IAAI,GAAG,sCAAsC,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAuB,EACvB,KAA0B;IAE1B,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiB;IACrD,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B,GAAG,eAAe,CAAC,CAAC,CAAC;AAClH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,wCAAwC,GAAG,CAAC,CAAC;AACnD,MAAM,UAAU,iCAAiC,CAC/C,MAAuB,EACvB,KAA0B;IAE1B,MAAM,IAAI,GAAG,UAAU,CACrB,KAAK,CAAC,QAAQ,CAAC,wCAAwC,EAAE,wCAAwC,GAAG,eAAe,CAAC,CACrH,CAAC;IACF,OAAO,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,4CAA4C,GAAG,CAAC,CAAC;AACvD,MAAM,sCAAsC,GAAG,EAAE,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAiB;IAC7D,MAAM,WAAW,GAAG,UAAU,CAC5B,KAAK,CAAC,QAAQ,CACZ,4CAA4C,EAC5C,4CAA4C,GAAG,iBAAiB,CACjE,CACF,CAAC;IACF,OAAO,WAAW,KAAK,sCAAsC,CAAC;AAChE,CAAC"}
@@ -4,9 +4,14 @@
4
4
  * This is a thin wrapper around WeakMap
5
5
  */
6
6
  export declare class SerializedCache {
7
- map: WeakMap<object, Uint8Array>;
7
+ private map;
8
8
  get(obj: object): Uint8Array | undefined;
9
9
  set(obj: object, serialized: Uint8Array): void;
10
- clear(): void;
10
+ /**
11
+ * Delete cached serialized entries for the provided object references.
12
+ * Must only be called after all DB writes that read from this cache for these objects have completed,
13
+ * otherwise cached serialized bytes will be unavailable and data will be re-serialized unnecessarily.
14
+ */
15
+ delete(objs: object[]): void;
11
16
  }
12
17
  //# sourceMappingURL=serializedCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializedCache.d.ts","sourceRoot":"","sources":["../../src/util/serializedCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAiB;IAEjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAI9C,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"serializedCache.d.ts","sourceRoot":"","sources":["../../src/util/serializedCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAA8C;IAEzD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAI9C;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAK7B"}
@@ -11,8 +11,15 @@ export class SerializedCache {
11
11
  set(obj, serialized) {
12
12
  this.map.set(obj, serialized);
13
13
  }
14
- clear() {
15
- this.map = new WeakMap();
14
+ /**
15
+ * Delete cached serialized entries for the provided object references.
16
+ * Must only be called after all DB writes that read from this cache for these objects have completed,
17
+ * otherwise cached serialized bytes will be unavailable and data will be re-serialized unnecessarily.
18
+ */
19
+ delete(objs) {
20
+ for (const obj of objs) {
21
+ this.map.delete(obj);
22
+ }
16
23
  }
17
24
  }
18
25
  //# sourceMappingURL=serializedCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializedCache.js","sourceRoot":"","sources":["../../src/util/serializedCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAC1B,GAAG,GAAgC,IAAI,OAAO,EAAE,CAAC;IAEjD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,UAAsB;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"serializedCache.js","sourceRoot":"","sources":["../../src/util/serializedCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAClB,GAAG,GAAgC,IAAI,OAAO,EAAE,CAAC;IAEzD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,UAAsB;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAc;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.40.0",
14
+ "version": "1.41.0-dev.0087e7a664",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -110,10 +110,9 @@
110
110
  "dependencies": {
111
111
  "@chainsafe/as-sha256": "^1.2.0",
112
112
  "@chainsafe/blst": "^2.2.0",
113
- "@chainsafe/discv5": "^11.0.4",
114
- "@chainsafe/enr": "^5.0.1",
115
- "@chainsafe/libp2p-gossipsub": "^14.1.2",
116
- "@chainsafe/libp2p-noise": "^16.1.5",
113
+ "@chainsafe/discv5": "^12.0.0",
114
+ "@chainsafe/enr": "^6.0.0",
115
+ "@chainsafe/libp2p-noise": "^17.0.0",
117
116
  "@chainsafe/persistent-merkle-tree": "^1.2.1",
118
117
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
119
118
  "@chainsafe/pubkey-index-map": "^3.0.0",
@@ -125,39 +124,38 @@
125
124
  "@fastify/cors": "^10.0.1",
126
125
  "@fastify/swagger": "^9.0.0",
127
126
  "@fastify/swagger-ui": "^5.0.1",
128
- "@libp2p/bootstrap": "^11.0.32",
129
- "@libp2p/crypto": "^5.0.15",
130
- "@libp2p/identify": "^3.0.27",
131
- "@libp2p/interface": "^2.7.0",
132
- "@libp2p/mdns": "^11.0.32",
133
- "@libp2p/mplex": "^11.0.32",
134
- "@libp2p/peer-id": "^5.1.0",
135
- "@libp2p/prometheus-metrics": "^4.3.15",
136
- "@libp2p/tcp": "^10.1.8",
137
- "@lodestar/api": "^1.40.0",
138
- "@lodestar/config": "^1.40.0",
139
- "@lodestar/db": "^1.40.0",
140
- "@lodestar/fork-choice": "^1.40.0",
141
- "@lodestar/light-client": "^1.40.0",
142
- "@lodestar/logger": "^1.40.0",
143
- "@lodestar/params": "^1.40.0",
144
- "@lodestar/reqresp": "^1.40.0",
145
- "@lodestar/state-transition": "^1.40.0",
146
- "@lodestar/types": "^1.40.0",
147
- "@lodestar/utils": "^1.40.0",
148
- "@lodestar/validator": "^1.40.0",
149
- "@multiformats/multiaddr": "^12.1.3",
150
- "datastore-core": "^10.0.2",
151
- "datastore-fs": "^10.0.6",
152
- "datastore-level": "^11.0.3",
127
+ "@libp2p/bootstrap": "^12.0.13",
128
+ "@libp2p/crypto": "^5.1.13",
129
+ "@libp2p/gossipsub": "^15.0.14",
130
+ "@libp2p/identify": "^4.0.12",
131
+ "@libp2p/interface": "^3.1.0",
132
+ "@libp2p/mdns": "^12.0.13",
133
+ "@libp2p/mplex": "^12.0.13",
134
+ "@libp2p/peer-id": "^6.0.4",
135
+ "@libp2p/prometheus-metrics": "^5.0.13",
136
+ "@libp2p/tcp": "^11.0.12",
137
+ "@lodestar/api": "^1.41.0-dev.0087e7a664",
138
+ "@lodestar/config": "^1.41.0-dev.0087e7a664",
139
+ "@lodestar/db": "^1.41.0-dev.0087e7a664",
140
+ "@lodestar/fork-choice": "^1.41.0-dev.0087e7a664",
141
+ "@lodestar/light-client": "^1.41.0-dev.0087e7a664",
142
+ "@lodestar/logger": "^1.41.0-dev.0087e7a664",
143
+ "@lodestar/params": "^1.41.0-dev.0087e7a664",
144
+ "@lodestar/reqresp": "^1.41.0-dev.0087e7a664",
145
+ "@lodestar/state-transition": "^1.41.0-dev.0087e7a664",
146
+ "@lodestar/types": "^1.41.0-dev.0087e7a664",
147
+ "@lodestar/utils": "^1.41.0-dev.0087e7a664",
148
+ "@lodestar/validator": "^1.41.0-dev.0087e7a664",
149
+ "@multiformats/multiaddr": "^13.0.1",
150
+ "datastore-core": "^11.0.2",
151
+ "datastore-fs": "^11.0.2",
152
+ "datastore-level": "^12.0.2",
153
153
  "deepmerge": "^4.3.1",
154
- "fastify": "^5.7.4",
155
- "interface-datastore": "^8.3.0",
156
- "it-all": "^3.0.4",
157
- "it-pipe": "^3.0.1",
154
+ "fastify": "^5.8.1",
155
+ "interface-datastore": "^9.0.2",
158
156
  "jwt-simple": "0.5.6",
159
- "libp2p": "2.9.0",
160
- "multiformats": "^11.0.1",
157
+ "libp2p": "3.1.5",
158
+ "multiformats": "^13.4.2",
161
159
  "prom-client": "^15.1.0",
162
160
  "qs": "^6.11.1",
163
161
  "strict-event-emitter-types": "^2.0.0",
@@ -167,14 +165,13 @@
167
165
  },
168
166
  "devDependencies": {
169
167
  "@chainsafe/swap-or-not-shuffle": "^1.2.1",
170
- "@libp2p/interface-internal": "^2.3.18",
171
- "@libp2p/logger": "^5.1.21",
172
- "@lodestar/spec-test-util": "^1.40.0",
168
+ "@libp2p/interface-internal": "^3.0.12",
169
+ "@libp2p/logger": "^6.2.2",
170
+ "@libp2p/utils": "^7.0.12",
171
+ "@lodestar/spec-test-util": "^1.41.0-dev.0087e7a664",
173
172
  "@types/js-yaml": "^4.0.5",
174
173
  "@types/qs": "^6.9.7",
175
174
  "@types/tmp": "^0.2.3",
176
- "it-drain": "^3.0.3",
177
- "it-pair": "^2.0.6",
178
175
  "js-yaml": "^4.1.0",
179
176
  "rewiremock": "^3.14.5",
180
177
  "rimraf": "^4.4.1",
@@ -188,5 +185,5 @@
188
185
  "beacon",
189
186
  "blockchain"
190
187
  ],
191
- "gitHead": "66aff778c3094e0e16956b98454d353cea314982"
188
+ "gitHead": "c05479d7c03f0e9a68db3ee17c4bf2cd6925080a"
192
189
  }