@lodestar/beacon-node 1.33.0 → 1.34.0-dev.083b7cce17

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 (305) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +175 -56
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/pool/index.js +5 -5
  4. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  5. package/lib/api/impl/beacon/state/index.js +24 -17
  6. package/lib/api/impl/beacon/state/index.js.map +1 -1
  7. package/lib/api/impl/debug/index.d.ts +1 -1
  8. package/lib/api/impl/debug/index.js +24 -1
  9. package/lib/api/impl/debug/index.js.map +1 -1
  10. package/lib/api/impl/events/index.js +1 -1
  11. package/lib/api/impl/events/index.js.map +1 -1
  12. package/lib/api/impl/validator/index.js +72 -49
  13. package/lib/api/impl/validator/index.js.map +1 -1
  14. package/lib/api/impl/validator/utils.d.ts +3 -3
  15. package/lib/api/impl/validator/utils.js +2 -2
  16. package/lib/api/impl/validator/utils.js.map +1 -1
  17. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  18. package/lib/chain/archiveStore/archiveStore.js +2 -2
  19. package/lib/chain/archiveStore/interface.d.ts +1 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  21. package/lib/chain/archiveStore/utils/archiveBlocks.js +91 -21
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  23. package/lib/chain/beaconProposerCache.d.ts +1 -0
  24. package/lib/chain/beaconProposerCache.js +3 -0
  25. package/lib/chain/beaconProposerCache.js.map +1 -1
  26. package/lib/chain/blocks/importBlock.js +3 -2
  27. package/lib/chain/blocks/importBlock.js.map +1 -1
  28. package/lib/chain/blocks/types.d.ts +66 -23
  29. package/lib/chain/blocks/types.js +39 -5
  30. package/lib/chain/blocks/types.js.map +1 -1
  31. package/lib/chain/blocks/utils/blowfishBanner.js +1 -0
  32. package/lib/chain/blocks/utils/blowfishBanner.js.map +1 -1
  33. package/lib/chain/blocks/utils/giraffeBanner.js +1 -0
  34. package/lib/chain/blocks/utils/giraffeBanner.js.map +1 -1
  35. package/lib/chain/blocks/utils/zebraBanner.d.ts +2 -0
  36. package/lib/chain/blocks/utils/zebraBanner.js +46 -0
  37. package/lib/chain/blocks/utils/zebraBanner.js.map +1 -0
  38. package/lib/chain/blocks/verifyBlock.js +18 -5
  39. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  40. package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
  41. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  42. package/lib/chain/blocks/writeBlockInputToDb.js +63 -16
  43. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  44. package/lib/chain/bls/multithread/index.js +2 -2
  45. package/lib/chain/bls/multithread/index.js.map +1 -1
  46. package/lib/chain/chain.d.ts +18 -101
  47. package/lib/chain/chain.js +111 -78
  48. package/lib/chain/chain.js.map +1 -1
  49. package/lib/chain/emitter.d.ts +18 -2
  50. package/lib/chain/emitter.js +13 -0
  51. package/lib/chain/emitter.js.map +1 -1
  52. package/lib/chain/errors/dataColumnSidecarError.d.ts +69 -0
  53. package/lib/chain/errors/dataColumnSidecarError.js +21 -0
  54. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
  55. package/lib/chain/errors/index.d.ts +1 -0
  56. package/lib/chain/errors/index.js +1 -0
  57. package/lib/chain/errors/index.js.map +1 -1
  58. package/lib/chain/forkChoice/index.d.ts +2 -1
  59. package/lib/chain/forkChoice/index.js +2 -2
  60. package/lib/chain/forkChoice/index.js.map +1 -1
  61. package/lib/chain/interface.d.ts +6 -7
  62. package/lib/chain/interface.js.map +1 -1
  63. package/lib/chain/opPools/aggregatedAttestationPool.js +13 -3
  64. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  65. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  66. package/lib/chain/opPools/attestationPool.js +7 -7
  67. package/lib/chain/options.d.ts +4 -1
  68. package/lib/chain/options.js +1 -0
  69. package/lib/chain/options.js.map +1 -1
  70. package/lib/chain/prepareNextSlot.js +4 -2
  71. package/lib/chain/prepareNextSlot.js.map +1 -1
  72. package/lib/chain/produceBlock/produceBlockBody.d.ts +30 -16
  73. package/lib/chain/produceBlock/produceBlockBody.js +28 -28
  74. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  75. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +6 -3
  76. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +28 -4
  77. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  78. package/lib/chain/rewards/syncCommitteeRewards.js +4 -4
  79. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  80. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +64 -18
  81. package/lib/chain/seenCache/seenGossipBlockInput.js +321 -53
  82. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  83. package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
  84. package/lib/chain/validation/aggregateAndProof.js +8 -8
  85. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  86. package/lib/chain/validation/attestation.d.ts +3 -3
  87. package/lib/chain/validation/attestation.js +10 -10
  88. package/lib/chain/validation/attestation.js.map +1 -1
  89. package/lib/chain/validation/dataColumnSidecar.d.ts +29 -0
  90. package/lib/chain/validation/dataColumnSidecar.js +257 -0
  91. package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
  92. package/lib/chain/validation/syncCommitteeContributionAndProof.js +2 -2
  93. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  94. package/lib/db/beacon.d.ts +3 -1
  95. package/lib/db/beacon.js +3 -1
  96. package/lib/db/beacon.js.map +1 -1
  97. package/lib/db/buckets.d.ts +3 -1
  98. package/lib/db/buckets.js +2 -0
  99. package/lib/db/buckets.js.map +1 -1
  100. package/lib/db/interface.d.ts +3 -1
  101. package/lib/db/repositories/dataColumnSidecar.d.ts +26 -0
  102. package/lib/db/repositories/dataColumnSidecar.js +39 -0
  103. package/lib/db/repositories/dataColumnSidecar.js.map +1 -0
  104. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +24 -0
  105. package/lib/db/repositories/dataColumnSidecarArchive.js +39 -0
  106. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -0
  107. package/lib/db/repositories/index.d.ts +2 -0
  108. package/lib/db/repositories/index.js +2 -0
  109. package/lib/db/repositories/index.js.map +1 -1
  110. package/lib/db/repositories/stateArchive.js +1 -1
  111. package/lib/db/repositories/stateArchive.js.map +1 -1
  112. package/lib/execution/builder/http.d.ts +20 -4
  113. package/lib/execution/builder/http.js +30 -11
  114. package/lib/execution/builder/http.js.map +1 -1
  115. package/lib/execution/builder/interface.d.ts +5 -4
  116. package/lib/execution/engine/http.d.ts +8 -5
  117. package/lib/execution/engine/http.js +65 -46
  118. package/lib/execution/engine/http.js.map +1 -1
  119. package/lib/execution/engine/interface.d.ts +6 -13
  120. package/lib/execution/engine/interface.js +1 -1
  121. package/lib/execution/engine/interface.js.map +1 -1
  122. package/lib/execution/engine/mock.d.ts +5 -1
  123. package/lib/execution/engine/mock.js +58 -15
  124. package/lib/execution/engine/mock.js.map +1 -1
  125. package/lib/execution/engine/types.d.ts +15 -5
  126. package/lib/execution/engine/types.js +8 -2
  127. package/lib/execution/engine/types.js.map +1 -1
  128. package/lib/execution/engine/utils.js +1 -1
  129. package/lib/execution/engine/utils.js.map +1 -1
  130. package/lib/metrics/metrics/beacon.d.ts +16 -28
  131. package/lib/metrics/metrics/beacon.js +66 -75
  132. package/lib/metrics/metrics/beacon.js.map +1 -1
  133. package/lib/metrics/metrics/lodestar.d.ts +31 -1
  134. package/lib/metrics/metrics/lodestar.js +63 -0
  135. package/lib/metrics/metrics/lodestar.js.map +1 -1
  136. package/lib/metrics/metrics.d.ts +2 -1
  137. package/lib/metrics/metrics.js +3 -0
  138. package/lib/metrics/metrics.js.map +1 -1
  139. package/lib/network/core/metrics.d.ts +10 -3
  140. package/lib/network/core/metrics.js +22 -4
  141. package/lib/network/core/metrics.js.map +1 -1
  142. package/lib/network/core/networkCore.d.ts +15 -4
  143. package/lib/network/core/networkCore.js +73 -24
  144. package/lib/network/core/networkCore.js.map +1 -1
  145. package/lib/network/core/networkCoreWorker.js +2 -0
  146. package/lib/network/core/networkCoreWorker.js.map +1 -1
  147. package/lib/network/core/networkCoreWorkerHandler.d.ts +5 -3
  148. package/lib/network/core/networkCoreWorkerHandler.js +7 -2
  149. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  150. package/lib/network/core/types.d.ts +7 -4
  151. package/lib/network/events.d.ts +4 -2
  152. package/lib/network/events.js.map +1 -1
  153. package/lib/network/gossip/gossipsub.d.ts +2 -2
  154. package/lib/network/gossip/gossipsub.js +8 -6
  155. package/lib/network/gossip/gossipsub.js.map +1 -1
  156. package/lib/network/gossip/interface.d.ts +8 -1
  157. package/lib/network/gossip/interface.js +1 -0
  158. package/lib/network/gossip/interface.js.map +1 -1
  159. package/lib/network/gossip/scoringParameters.d.ts +6 -2
  160. package/lib/network/gossip/scoringParameters.js.map +1 -1
  161. package/lib/network/gossip/topic.d.ts +2038 -1489
  162. package/lib/network/gossip/topic.js +29 -1
  163. package/lib/network/gossip/topic.js.map +1 -1
  164. package/lib/network/interface.d.ts +11 -3
  165. package/lib/network/metadata.d.ts +9 -5
  166. package/lib/network/metadata.js +26 -5
  167. package/lib/network/metadata.js.map +1 -1
  168. package/lib/network/network.d.ts +14 -4
  169. package/lib/network/network.js +73 -11
  170. package/lib/network/network.js.map +1 -1
  171. package/lib/network/networkConfig.d.ts +12 -0
  172. package/lib/network/networkConfig.js +2 -0
  173. package/lib/network/networkConfig.js.map +1 -0
  174. package/lib/network/options.d.ts +1 -0
  175. package/lib/network/options.js +7 -2
  176. package/lib/network/options.js.map +1 -1
  177. package/lib/network/peers/discover.d.ts +8 -3
  178. package/lib/network/peers/discover.js +99 -14
  179. package/lib/network/peers/discover.js.map +1 -1
  180. package/lib/network/peers/peerManager.d.ts +10 -4
  181. package/lib/network/peers/peerManager.js +108 -19
  182. package/lib/network/peers/peerManager.js.map +1 -1
  183. package/lib/network/peers/peersData.d.ts +17 -3
  184. package/lib/network/peers/peersData.js.map +1 -1
  185. package/lib/network/peers/score/interface.d.ts +1 -1
  186. package/lib/network/peers/score/score.d.ts +2 -2
  187. package/lib/network/peers/score/score.js +4 -1
  188. package/lib/network/peers/score/score.js.map +1 -1
  189. package/lib/network/peers/score/store.d.ts +3 -1
  190. package/lib/network/peers/score/store.js +6 -2
  191. package/lib/network/peers/score/store.js.map +1 -1
  192. package/lib/network/peers/utils/assertPeerRelevance.d.ts +7 -3
  193. package/lib/network/peers/utils/assertPeerRelevance.js +10 -1
  194. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  195. package/lib/network/peers/utils/prioritizePeers.d.ts +19 -7
  196. package/lib/network/peers/utils/prioritizePeers.js +42 -6
  197. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  198. package/lib/network/processor/extractSlotRootFns.js +8 -1
  199. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  200. package/lib/network/processor/gossipHandlers.js +172 -23
  201. package/lib/network/processor/gossipHandlers.js.map +1 -1
  202. package/lib/network/processor/gossipQueues/index.js +5 -0
  203. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  204. package/lib/network/processor/index.js +1 -0
  205. package/lib/network/processor/index.js.map +1 -1
  206. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
  207. package/lib/network/reqresp/ReqRespBeaconNode.js +36 -14
  208. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  209. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +24 -4
  210. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +261 -20
  211. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  212. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +37 -6
  213. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +283 -28
  214. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  215. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  216. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -3
  217. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  218. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +2 -2
  219. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  220. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +2 -2
  221. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -3
  222. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  223. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
  224. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +113 -0
  225. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
  226. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
  227. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +64 -0
  228. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
  229. package/lib/network/reqresp/handlers/index.js +13 -2
  230. package/lib/network/reqresp/handlers/index.js.map +1 -1
  231. package/lib/network/reqresp/protocols.d.ts +4 -0
  232. package/lib/network/reqresp/protocols.js +20 -0
  233. package/lib/network/reqresp/protocols.js.map +1 -1
  234. package/lib/network/reqresp/rateLimit.js +19 -3
  235. package/lib/network/reqresp/rateLimit.js.map +1 -1
  236. package/lib/network/reqresp/score.js +3 -0
  237. package/lib/network/reqresp/score.js.map +1 -1
  238. package/lib/network/reqresp/types.d.ts +13 -6
  239. package/lib/network/reqresp/types.js +14 -5
  240. package/lib/network/reqresp/types.js.map +1 -1
  241. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +16 -0
  242. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +59 -0
  243. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -0
  244. package/lib/network/statusCache.d.ts +5 -5
  245. package/lib/network/statusCache.js.map +1 -1
  246. package/lib/network/subnets/interface.d.ts +3 -0
  247. package/lib/network/subnets/interface.js +14 -1
  248. package/lib/network/subnets/interface.js.map +1 -1
  249. package/lib/network/subnets/syncnetsService.js +4 -5
  250. package/lib/network/subnets/syncnetsService.js.map +1 -1
  251. package/lib/node/nodejs.js +1 -0
  252. package/lib/node/nodejs.js.map +1 -1
  253. package/lib/sync/backfill/backfill.js +1 -1
  254. package/lib/sync/backfill/backfill.js.map +1 -1
  255. package/lib/sync/constants.d.ts +18 -3
  256. package/lib/sync/constants.js +21 -3
  257. package/lib/sync/constants.js.map +1 -1
  258. package/lib/sync/interface.d.ts +2 -2
  259. package/lib/sync/interface.js +1 -1
  260. package/lib/sync/interface.js.map +1 -1
  261. package/lib/sync/range/batch.d.ts +17 -2
  262. package/lib/sync/range/batch.js +39 -7
  263. package/lib/sync/range/batch.js.map +1 -1
  264. package/lib/sync/range/chain.d.ts +15 -1
  265. package/lib/sync/range/chain.js +124 -33
  266. package/lib/sync/range/chain.js.map +1 -1
  267. package/lib/sync/range/range.d.ts +3 -2
  268. package/lib/sync/range/range.js +9 -3
  269. package/lib/sync/range/range.js.map +1 -1
  270. package/lib/sync/range/utils/chainTarget.d.ts +5 -1
  271. package/lib/sync/range/utils/chainTarget.js +26 -1
  272. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  273. package/lib/sync/range/utils/peerBalancer.d.ts +19 -5
  274. package/lib/sync/range/utils/peerBalancer.js +104 -10
  275. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  276. package/lib/sync/sync.js +1 -1
  277. package/lib/sync/sync.js.map +1 -1
  278. package/lib/sync/unknownBlock.d.ts +54 -5
  279. package/lib/sync/unknownBlock.js +321 -61
  280. package/lib/sync/unknownBlock.js.map +1 -1
  281. package/lib/sync/utils/remoteSyncType.d.ts +4 -4
  282. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  283. package/lib/util/blobs.d.ts +16 -4
  284. package/lib/util/blobs.js +122 -5
  285. package/lib/util/blobs.js.map +1 -1
  286. package/lib/util/dataColumns.d.ts +137 -0
  287. package/lib/util/dataColumns.js +362 -0
  288. package/lib/util/dataColumns.js.map +1 -0
  289. package/lib/util/metadata.d.ts +5 -0
  290. package/lib/util/metadata.js +10 -0
  291. package/lib/util/metadata.js.map +1 -1
  292. package/lib/util/queue/fnQueue.js +1 -1
  293. package/lib/util/queue/fnQueue.js.map +1 -1
  294. package/lib/util/queue/itemQueue.js +1 -1
  295. package/lib/util/queue/itemQueue.js.map +1 -1
  296. package/lib/util/sszBytes.d.ts +3 -0
  297. package/lib/util/sszBytes.js +40 -0
  298. package/lib/util/sszBytes.js.map +1 -1
  299. package/lib/util/types.d.ts +7 -0
  300. package/lib/util/types.js +3 -0
  301. package/lib/util/types.js.map +1 -1
  302. package/package.json +19 -20
  303. package/lib/network/reqresp/handlers/status.d.ts +0 -4
  304. package/lib/network/reqresp/handlers/status.js +0 -11
  305. package/lib/network/reqresp/handlers/status.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAoC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EACL,WAAW,EAGX,WAAW,EAEX,iBAAiB,EAEjB,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,iDAAiB,CAAA;IACjB,6DAA6B,CAAA;AAC/B,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAeD,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IAAjC;QACU,oBAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;IAwHpE,CAAC;IAtHC,KAAK;QACH,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,SAAkB;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB,CACjB,MAAuB,EACvB,aAAiC,EACjC,OAAuB;QAUvB,IAAI,QAAiB,CAAC;QACtB,IAAI,UAA+B,CAAC;QACpC,IAAI,IAAc,CAAC;QAEnB,IAAI,aAAa,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,EAAC,WAAW,EAAC,GAAG,aAAa,CAAC;YACpC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEpD,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAClH,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAEtF,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,EAAC,WAAW,EAAC,GAAG,aAAa,CAAC;YACpC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACnG,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtE,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAChC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAEtF,sFAAsF;YACtF,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC;QAE1F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACL,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC1E,cAAc,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAC;iBAChE,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,EAAC,UAAU,EAAE,mBAAmB,EAAC,GAAG,UAAU,CAAC;YAErD,uDAAuD;YACvD,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,WAAW,CAAC,OAAO,CAAC;YACzC,MAAM,EAAC,kBAAkB,EAAC,GAAG,IAA6B,CAAC;YAC3D,MAAM,SAAS,GAAG,YAAY,QAAQ,UAAU,IAAI,EAAE,CAAC;YAEvD,IAAI,kBAAkB,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,KAAK,CACT,uBAAuB,UAAU,CAAC,IAAI,qBAAqB,kBAAkB,CAAC,MAAM,QAAQ,SAAS,EAAE,CACxG,CAAC;YACJ,CAAC;YAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,EAAC,GAAG,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAC,CAAC;gBACxF,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC/B,OAAO,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,4BAA4B,CAAC,MAAM,EAAC,CAAC,CAAC;gBACvG,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAEnG,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC9B,OAAO;oBACL,UAAU;oBACV,cAAc,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,kBAAkB,CAAC,MAAM,EAAC;iBAC5G,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAElG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9B,OAAO;gBACL,UAAU;gBACV,cAAc,EAAE;oBACd,OAAO,EAAE,iBAAiB,CAAC,IAAI;oBAC/B,SAAS,EAAE,UAAU,CAAC,IAAI;oBAC1B,aAAa,EAAE,kBAAkB,CAAC,MAAM;iBACzC;aACF,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,EAAC,UAAU,EAAC,GAAG,UAAU,CAAC;QAEhC,OAAO;YACL,UAAU,EAAE;gBACV,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,QAAQ;gBACtB,UAAU;gBACV,iBAAiB;aAClB;YACD,cAAc,EAAE,EAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAC;SACpG,CAAC;IACJ,CAAC;CACF;AAED,SAAS,4BAA4B,CAAC,IAAc;IAClD,mFAAmF;IACnF,kGAAkG;IAClG,IAAI,iBAAiB,GAAyC,IAAI,CAAC;IACnE,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAa,CAAC,SAAS,EAAE,EAAE;QAC9D,iBAAiB,GAAG,SAAS,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,CAAC;IACtD,CAAC;IAED,IAAI,mBAAmB,GAAkD,IAAI,CAAC;IAC9E,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAsB,CAAC,SAAS,EAAE,EAAE;QACzE,mBAAmB,GAAG,SAAS,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAe,EAAC,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAC,CAAC;IAC5F,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { IndexedAttestation, RootHex, SignedAggregateAndProof } from "@lodestar/
3
3
  import { IBeaconChain } from "../index.js";
4
4
  export type AggregateAndProofValidationResult = {
5
5
  indexedAttestation: IndexedAttestation;
6
- committeeIndices: Uint32Array;
6
+ committeeValidatorIndices: Uint32Array;
7
7
  attDataRootHex: RootHex;
8
8
  };
9
9
  export declare function validateApiAggregateAndProof(fork: ForkName, chain: IBeaconChain, signedAggregateAndProof: SignedAggregateAndProof): Promise<AggregateAndProofValidationResult>;
@@ -4,7 +4,7 @@ import { ssz } from "@lodestar/types";
4
4
  import { toRootHex } from "@lodestar/utils";
5
5
  import { AttestationError, AttestationErrorCode, GossipAction } from "../errors/index.js";
6
6
  import { RegenCaller } from "../regen/index.js";
7
- import { getAttestationDataSigningRoot, getCommitteeIndices, getSeenAttDataKeyFromSignedAggregateAndProof, getShufflingForAttestationVerification, verifyHeadBlockAndTargetRoot, verifyPropagationSlotRange, } from "./attestation.js";
7
+ import { getAttestationDataSigningRoot, getCommitteeValidatorIndices, getSeenAttDataKeyFromSignedAggregateAndProof, getShufflingForAttestationVerification, verifyHeadBlockAndTargetRoot, verifyPropagationSlotRange, } from "./attestation.js";
8
8
  import { getAggregateAndProofSignatureSet, getSelectionProofSignatureSet } from "./signatureSets/index.js";
9
9
  export async function validateApiAggregateAndProof(fork, chain, signedAggregateAndProof) {
10
10
  const skipValidationKnownAttesters = true;
@@ -108,15 +108,15 @@ async function validateAggregateAndProof(fork, chain, signedAggregateAndProof, s
108
108
  const shuffling = await getShufflingForAttestationVerification(chain, attEpoch, attHeadBlock, RegenCaller.validateGossipAttestation);
109
109
  // [REJECT] The committee index is within the expected range
110
110
  // -- i.e. data.index < get_committee_count_per_slot(state, data.target.epoch)
111
- const committeeIndices = cachedAttData
111
+ const committeeValidatorIndices = cachedAttData
112
112
  ? cachedAttData.committeeValidatorIndices
113
- : getCommitteeIndices(shuffling, attSlot, attIndex);
113
+ : getCommitteeValidatorIndices(shuffling, attSlot, attIndex);
114
114
  // [REJECT] The number of aggregation bits matches the committee size
115
115
  // -- i.e. `len(aggregation_bits) == len(get_beacon_committee(state, aggregate.data.slot, index))`.
116
- if (aggregate.aggregationBits.bitLen !== committeeIndices.length) {
116
+ if (aggregate.aggregationBits.bitLen !== committeeValidatorIndices.length) {
117
117
  throw new AttestationError(GossipAction.REJECT, { code: AttestationErrorCode.WRONG_NUMBER_OF_AGGREGATION_BITS });
118
118
  }
119
- const attestingIndices = aggregate.aggregationBits.intersectValues(committeeIndices);
119
+ const attestingIndices = aggregate.aggregationBits.intersectValues(committeeValidatorIndices);
120
120
  const indexedAttestation = {
121
121
  attestingIndices,
122
122
  data: attData,
@@ -131,12 +131,12 @@ async function validateAggregateAndProof(fork, chain, signedAggregateAndProof, s
131
131
  }
132
132
  // [REJECT] aggregate_and_proof.selection_proof selects the validator as an aggregator for the slot
133
133
  // -- i.e. is_aggregator(state, aggregate.data.slot, aggregate.data.index, aggregate_and_proof.selection_proof) returns True.
134
- if (!isAggregatorFromCommitteeLength(committeeIndices.length, aggregateAndProof.selectionProof)) {
134
+ if (!isAggregatorFromCommitteeLength(committeeValidatorIndices.length, aggregateAndProof.selectionProof)) {
135
135
  throw new AttestationError(GossipAction.REJECT, { code: AttestationErrorCode.INVALID_AGGREGATOR });
136
136
  }
137
137
  // [REJECT] The aggregator's validator index is within the committee
138
138
  // -- i.e. aggregate_and_proof.aggregator_index in get_beacon_committee(state, aggregate.data.slot, aggregate.data.index).
139
- if (!committeeIndices.includes(aggregateAndProof.aggregatorIndex)) {
139
+ if (!committeeValidatorIndices.includes(aggregateAndProof.aggregatorIndex)) {
140
140
  throw new AttestationError(GossipAction.REJECT, { code: AttestationErrorCode.AGGREGATOR_NOT_IN_COMMITTEE });
141
141
  }
142
142
  // [REJECT] The aggregate_and_proof.selection_proof is a valid signature of the aggregate.data.slot
@@ -167,6 +167,6 @@ async function validateAggregateAndProof(fork, chain, signedAggregateAndProof, s
167
167
  }
168
168
  chain.seenAggregators.add(targetEpoch, aggregatorIndex);
169
169
  chain.seenAggregatedAttestations.add(targetEpoch, attIndex, attDataRootHex, { aggregationBits, trueBitCount: attestingIndices.length }, false);
170
- return { indexedAttestation, committeeIndices, attDataRootHex };
170
+ return { indexedAttestation, committeeValidatorIndices, attDataRootHex };
171
171
  }
172
172
  //# sourceMappingURL=aggregateAndProof.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregateAndProof.js","sourceRoot":"","sources":["../../../src/chain/validation/aggregateAndProof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregateAndProof.js","sourceRoot":"","sources":["../../../src/chain/validation/aggregateAndProof.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export type AttestationValidationResult = {
17
17
  subnet: SubnetID;
18
18
  attDataRootHex: RootHex;
19
19
  committeeIndex: CommitteeIndex;
20
- committeeValidatorIndex: number;
20
+ validatorCommitteeIndex: number;
21
21
  committeeSize: number;
22
22
  };
23
23
  export type AttestationOrBytes = ApiAttestation | GossipAttestation;
@@ -91,10 +91,10 @@ export declare function getShufflingForAttestationVerification(chain: IBeaconCha
91
91
  */
92
92
  export declare function getAttestationDataSigningRoot(config: BeaconConfig, data: phase0.AttestationData): Uint8Array;
93
93
  /**
94
- * Get a list of indices of validators in the given committee
94
+ * Get a list of validator indices in the given committee
95
95
  * attestationIndex - Index of the committee in shuffling.committees
96
96
  */
97
- export declare function getCommitteeIndices(shuffling: EpochShuffling, attestationSlot: Slot, attestationIndex: number): Uint32Array;
97
+ export declare function getCommitteeValidatorIndices(shuffling: EpochShuffling, attestationSlot: Slot, attestationIndex: number): Uint32Array;
98
98
  /**
99
99
  * Compute the correct subnet for a slot/committee index
100
100
  */
@@ -215,7 +215,7 @@ subnet) {
215
215
  verifyPropagationSlotRange(fork, chain, attestationOrCache.attestation.data.slot);
216
216
  }
217
217
  let aggregationBits = null;
218
- let committeeValidatorIndex = null;
218
+ let validatorCommitteeIndex = null;
219
219
  if (!isForkPostElectra(fork)) {
220
220
  // [REJECT] The attestation is unaggregated -- that is, it has exactly one participating validator
221
221
  // (len([bit for bit in attestation.aggregation_bits if bit]) == 1, i.e. exactly 1 bit is set).
@@ -234,7 +234,7 @@ subnet) {
234
234
  code: AttestationErrorCode.NOT_EXACTLY_ONE_AGGREGATION_BIT_SET,
235
235
  });
236
236
  }
237
- committeeValidatorIndex = bitIndex;
237
+ validatorCommitteeIndex = bitIndex;
238
238
  }
239
239
  let committeeValidatorIndices;
240
240
  let getSigningRoot;
@@ -264,7 +264,7 @@ subnet) {
264
264
  const shuffling = await getShufflingForAttestationVerification(chain, attEpoch, attHeadBlock, RegenCaller.validateGossipAttestation);
265
265
  // [REJECT] The committee index is within the expected range
266
266
  // -- i.e. data.index < get_committee_count_per_slot(state, data.target.epoch)
267
- committeeValidatorIndices = getCommitteeIndices(shuffling, attSlot, committeeIndex);
267
+ committeeValidatorIndices = getCommitteeValidatorIndices(shuffling, attSlot, committeeIndex);
268
268
  getSigningRoot = () => getAttestationDataSigningRoot(chain.config, attData);
269
269
  expectedSubnet = computeSubnetForSlot(shuffling, attSlot, committeeIndex);
270
270
  }
@@ -272,8 +272,8 @@ subnet) {
272
272
  if (!isForkPostElectra(fork)) {
273
273
  // The validity of aggregation bits are already checked above
274
274
  assert.notNull(aggregationBits);
275
- assert.notNull(committeeValidatorIndex);
276
- validatorIndex = committeeValidatorIndices[committeeValidatorIndex];
275
+ assert.notNull(validatorCommitteeIndex);
276
+ validatorIndex = committeeValidatorIndices[validatorCommitteeIndex];
277
277
  // [REJECT] The number of aggregation bits matches the committee size
278
278
  // -- i.e. len(attestation.aggregation_bits) == len(get_beacon_committee(state, data.slot, data.index)).
279
279
  // > TODO: Is this necessary? Lighthouse does not do this check.
@@ -299,8 +299,8 @@ subnet) {
299
299
  // [REJECT] The attester is a member of the committee -- i.e.
300
300
  // `attestation.attester_index in get_beacon_committee(state, attestation.data.slot, index)`.
301
301
  // Position of the validator in its committee
302
- committeeValidatorIndex = committeeValidatorIndices.indexOf(validatorIndex);
303
- if (committeeValidatorIndex === -1) {
302
+ validatorCommitteeIndex = committeeValidatorIndices.indexOf(validatorIndex);
303
+ if (validatorCommitteeIndex === -1) {
304
304
  throw new AttestationError(GossipAction.REJECT, {
305
305
  code: AttestationErrorCode.ATTESTER_NOT_IN_COMMITTEE,
306
306
  });
@@ -399,7 +399,7 @@ subnet) {
399
399
  signatureSet,
400
400
  validatorIndex,
401
401
  committeeIndex,
402
- committeeValidatorIndex,
402
+ validatorCommitteeIndex,
403
403
  committeeSize: committeeValidatorIndices.length,
404
404
  };
405
405
  }
@@ -598,10 +598,10 @@ function verifyAttestationTargetRoot(headBlock, targetRoot, attestationEpoch) {
598
598
  }
599
599
  }
600
600
  /**
601
- * Get a list of indices of validators in the given committee
601
+ * Get a list of validator indices in the given committee
602
602
  * attestationIndex - Index of the committee in shuffling.committees
603
603
  */
604
- export function getCommitteeIndices(shuffling, attestationSlot, attestationIndex) {
604
+ export function getCommitteeValidatorIndices(shuffling, attestationSlot, attestationIndex) {
605
605
  const { committees } = shuffling;
606
606
  const slotCommittees = committees[attestationSlot % SLOTS_PER_EPOCH];
607
607
  if (attestationIndex >= slotCommittees.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { ChainConfig } from "@lodestar/config";
2
+ import { Root, Slot, SubnetID, deneb, fulu } from "@lodestar/types";
3
+ import { Metrics } from "../../metrics/metrics.js";
4
+ import { IBeaconChain } from "../interface.js";
5
+ export declare function validateGossipDataColumnSidecar(chain: IBeaconChain, dataColumnSidecar: fulu.DataColumnSidecar, gossipSubnet: SubnetID, metrics: Metrics | null): Promise<void>;
6
+ export declare function validateDataColumnsSidecars(blockSlot: Slot, blockRoot: Root, blockKzgCommitments: deneb.BlobKzgCommitments, dataColumnSidecars: fulu.DataColumnSidecars, metrics: Metrics | null, opts?: {
7
+ skipProofsCheck: boolean;
8
+ }): Promise<void>;
9
+ /**
10
+ * SPEC FUNCTION
11
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar
12
+ */
13
+ export declare function verifyDataColumnSidecar(dataColumnSidecar: fulu.DataColumnSidecar): void;
14
+ /**
15
+ * SPEC FUNCTION
16
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar_kzg_proofs
17
+ */
18
+ export declare function verifyDataColumnSidecarKzgProofs(commitments: Uint8Array[], cellIndices: number[], cells: Uint8Array[], proofs: Uint8Array[]): Promise<void>;
19
+ /**
20
+ * SPEC FUNCTION
21
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar_inclusion_proof
22
+ */
23
+ export declare function verifyDataColumnSidecarInclusionProof(dataColumnSidecar: fulu.DataColumnSidecar): boolean;
24
+ /**
25
+ * SPEC FUNCTION
26
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#compute_subnet_for_data_column_sidecar
27
+ */
28
+ export declare function computeSubnetForDataColumnSidecar(config: ChainConfig, columnSidecar: fulu.DataColumnSidecar): SubnetID;
29
+ //# sourceMappingURL=dataColumnSidecar.d.ts.map
@@ -0,0 +1,257 @@
1
+ import { KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH, KZG_COMMITMENTS_SUBTREE_INDEX, NUMBER_OF_COLUMNS, } from "@lodestar/params";
2
+ import { ssz } from "@lodestar/types";
3
+ import { toRootHex, verifyMerkleBranch } from "@lodestar/utils";
4
+ import { computeStartSlotAtEpoch, getBlockHeaderProposerSignatureSet } from "@lodestar/state-transition";
5
+ import { byteArrayEquals } from "../../util/bytes.js";
6
+ import { kzg } from "../../util/kzg.js";
7
+ import { DataColumnSidecarErrorCode, DataColumnSidecarGossipError } from "../errors/dataColumnSidecarError.js";
8
+ import { GossipAction } from "../errors/gossipValidation.js";
9
+ import { RegenCaller } from "../regen/interface.js";
10
+ // SPEC FUNCTION
11
+ // https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#data_column_sidecar_subnet_id
12
+ export async function validateGossipDataColumnSidecar(chain, dataColumnSidecar, gossipSubnet, metrics) {
13
+ const blockHeader = dataColumnSidecar.signedBlockHeader.message;
14
+ // 1) [REJECT] The sidecar is valid as verified by verify_data_column_sidecar
15
+ verifyDataColumnSidecar(dataColumnSidecar);
16
+ // 2) [REJECT] The sidecar is for the correct subnet -- i.e. compute_subnet_for_data_column_sidecar(sidecar.index) == subnet_id
17
+ if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
18
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
19
+ code: DataColumnSidecarErrorCode.INVALID_SUBNET,
20
+ columnIdx: dataColumnSidecar.index,
21
+ gossipSubnet: gossipSubnet,
22
+ });
23
+ }
24
+ // 3) [IGNORE] The sidecar is not from a future slot (with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance)
25
+ // -- i.e. validate that sidecar.slot <= current_slot (a client MAY queue future blocks
26
+ // for processing at the appropriate slot).
27
+ const currentSlotWithGossipDisparity = chain.clock.currentSlotWithGossipDisparity;
28
+ if (currentSlotWithGossipDisparity < blockHeader.slot) {
29
+ throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
30
+ code: DataColumnSidecarErrorCode.FUTURE_SLOT,
31
+ currentSlot: currentSlotWithGossipDisparity,
32
+ blockSlot: blockHeader.slot,
33
+ });
34
+ }
35
+ // 4) [IGNORE] The sidecar is from a slot greater than the latest finalized slot -- i.e. validate that
36
+ // sidecar.slot > compute_start_slot_at_epoch(state.finalized_checkpoint.epoch)
37
+ const finalizedCheckpoint = chain.forkChoice.getFinalizedCheckpoint();
38
+ const finalizedSlot = computeStartSlotAtEpoch(finalizedCheckpoint.epoch);
39
+ if (blockHeader.slot <= finalizedSlot) {
40
+ throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
41
+ code: DataColumnSidecarErrorCode.WOULD_REVERT_FINALIZED_SLOT,
42
+ blockSlot: blockHeader.slot,
43
+ finalizedSlot,
44
+ });
45
+ }
46
+ // 6) [IGNORE] The sidecar's block's parent (defined by block_header.parent_root) has been seen (via gossip
47
+ // or non-gossip sources)
48
+ const parentRoot = toRootHex(blockHeader.parentRoot);
49
+ const parentBlock = chain.forkChoice.getBlockHex(parentRoot);
50
+ if (parentBlock === null) {
51
+ // If fork choice does *not* consider the parent to be a descendant of the finalized block,
52
+ // then there are two more cases:
53
+ //
54
+ // 1. We have the parent stored in our database. Because fork-choice has confirmed the
55
+ // parent is *not* in our post-finalization DAG, all other blocks must be either
56
+ // pre-finalization or conflicting with finalization.
57
+ // 2. The parent is unknown to us, we probably want to download it since it might actually
58
+ // descend from the finalized root.
59
+ // (Non-Lighthouse): Since we prune all blocks non-descendant from finalized checking the `db.block` database won't be useful to guard
60
+ // against known bad fork blocks, so we throw PARENT_UNKNOWN for cases (1) and (2)
61
+ throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
62
+ code: DataColumnSidecarErrorCode.PARENT_UNKNOWN,
63
+ parentRoot,
64
+ });
65
+ }
66
+ // 8) [REJECT] The sidecar is from a higher slot than the sidecar's block's parent
67
+ if (parentBlock.slot >= blockHeader.slot) {
68
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
69
+ code: DataColumnSidecarErrorCode.NOT_LATER_THAN_PARENT,
70
+ parentSlot: parentBlock.slot,
71
+ slot: blockHeader.slot,
72
+ });
73
+ }
74
+ // getBlockSlotState also checks for whether the current finalized checkpoint is an ancestor of the block.
75
+ // As a result, we throw an IGNORE (whereas the spec says we should REJECT for this scenario).
76
+ // this is something we should change this in the future to make the code airtight to the spec.
77
+ // 7) [REJECT] The sidecar's block's parent passes validation.
78
+ const blockState = await chain.regen
79
+ .getBlockSlotState(parentRoot, blockHeader.slot, { dontTransferCache: true }, RegenCaller.validateGossipBlock)
80
+ .catch(() => {
81
+ throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
82
+ code: DataColumnSidecarErrorCode.PARENT_UNKNOWN,
83
+ parentRoot,
84
+ });
85
+ });
86
+ // 13) [REJECT] The sidecar is proposed by the expected proposer_index for the block's slot in the context of the current
87
+ // shuffling (defined by block_header.parent_root/block_header.slot). If the proposer_index cannot
88
+ // immediately be verified against the expected shuffling, the sidecar MAY be queued for later processing
89
+ // while proposers for the block's branch are calculated -- in such a case do not REJECT, instead IGNORE
90
+ // this message.
91
+ const proposerIndex = blockHeader.proposerIndex;
92
+ const expectedProposerIndex = blockState.epochCtx.getBeaconProposer(blockHeader.slot);
93
+ if (proposerIndex !== expectedProposerIndex) {
94
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
95
+ code: DataColumnSidecarErrorCode.INCORRECT_PROPOSER,
96
+ actualProposerIndex: proposerIndex,
97
+ expectedProposerIndex,
98
+ });
99
+ }
100
+ // 5) [REJECT] The proposer signature of sidecar.signed_block_header, is valid with respect to the block_header.proposer_index pubkey.
101
+ const signatureSet = getBlockHeaderProposerSignatureSet(blockState, dataColumnSidecar.signedBlockHeader);
102
+ // Don't batch so verification is not delayed
103
+ if (!(await chain.bls.verifySignatureSets([signatureSet], {
104
+ verifyOnMainThread: blockHeader.slot > chain.forkChoice.getHead().slot,
105
+ }))) {
106
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
107
+ code: DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID,
108
+ });
109
+ }
110
+ // 9) [REJECT] The current finalized_checkpoint is an ancestor of the sidecar's block
111
+ // -- i.e. get_checkpoint_block(store, block_header.parent_root, store.finalized_checkpoint.epoch)
112
+ // == store.finalized_checkpoint.root
113
+ // Handled by 7)
114
+ // 10) [REJECT] The sidecar's kzg_commitments field inclusion proof is valid as verified by
115
+ // verify_data_column_sidecar_inclusion_proof
116
+ // TODO: Can cache result on (commitments, proof, header) in the future
117
+ const timer = metrics?.peerDas.dataColumnSidecarInclusionProofVerificationTime.startTimer();
118
+ const valid = verifyDataColumnSidecarInclusionProof(dataColumnSidecar);
119
+ timer?.();
120
+ if (!valid) {
121
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
122
+ code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
123
+ slot: dataColumnSidecar.signedBlockHeader.message.slot,
124
+ columnIdx: dataColumnSidecar.index,
125
+ });
126
+ }
127
+ const kzgProofTimer = metrics?.peerDas.dataColumnSidecarKzgProofsVerificationTime.startTimer();
128
+ // 11) [REJECT] The sidecar's column data is valid as verified by verify_data_column_sidecar_kzg_proofs
129
+ try {
130
+ await verifyDataColumnSidecarKzgProofs(dataColumnSidecar.kzgCommitments, Array.from({ length: dataColumnSidecar.column.length }, () => dataColumnSidecar.index), dataColumnSidecar.column, dataColumnSidecar.kzgProofs);
131
+ }
132
+ catch {
133
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
134
+ code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
135
+ slot: blockHeader.slot,
136
+ columnIdx: dataColumnSidecar.index,
137
+ });
138
+ }
139
+ finally {
140
+ kzgProofTimer?.();
141
+ }
142
+ // 12) [IGNORE] The sidecar is the first sidecar for the tuple (block_header.slot, block_header.proposer_index,
143
+ // sidecar.index) with valid header signature, sidecar inclusion proof, and kzg proof
144
+ // -- Handled in seenGossipBlockInput
145
+ }
146
+ export async function validateDataColumnsSidecars(blockSlot, blockRoot, blockKzgCommitments, dataColumnSidecars, metrics, opts = { skipProofsCheck: false }) {
147
+ // Skip verification if there are no data columns
148
+ if (dataColumnSidecars.length === 0) {
149
+ return;
150
+ }
151
+ const commitmentBytes = [];
152
+ const cellIndices = [];
153
+ const cells = [];
154
+ const proofBytes = [];
155
+ for (let sidecarsIndex = 0; sidecarsIndex < dataColumnSidecars.length; sidecarsIndex++) {
156
+ const columnSidecar = dataColumnSidecars[sidecarsIndex];
157
+ const { index: columnIndex, column, kzgCommitments, kzgProofs } = columnSidecar;
158
+ const columnBlockHeader = columnSidecar.signedBlockHeader.message;
159
+ const columnBlockRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(columnBlockHeader);
160
+ if (columnBlockHeader.slot !== blockSlot ||
161
+ !byteArrayEquals(columnBlockRoot, blockRoot) ||
162
+ kzgCommitments.length === 0 ||
163
+ blockKzgCommitments.length === 0 ||
164
+ blockKzgCommitments.length !== kzgCommitments.length ||
165
+ blockKzgCommitments
166
+ .map((commitment, i) => byteArrayEquals(commitment, kzgCommitments[i]))
167
+ .filter((result) => result === false).length) {
168
+ throw new Error(`Invalid data column sidecar slot=${columnBlockHeader.slot} columnBlockRoot=${toRootHex(columnBlockRoot)} columnIndex=${columnIndex} for the block blockRoot=${toRootHex(blockRoot)} slot=${blockSlot} sidecarsIndex=${sidecarsIndex} kzgCommitments=${kzgCommitments.length} blockKzgCommitments=${blockKzgCommitments.length}`);
169
+ }
170
+ if (columnIndex >= NUMBER_OF_COLUMNS) {
171
+ throw new Error(`Invalid data sidecar columnIndex=${columnIndex} in slot=${blockSlot} blockRoot=${toRootHex(blockRoot)} sidecarsIndex=${sidecarsIndex}`);
172
+ }
173
+ if (column.length !== kzgCommitments.length || column.length !== kzgProofs.length) {
174
+ throw new Error(`Invalid data sidecar array lengths for columnIndex=${columnIndex} in slot=${blockSlot} blockRoot=${toRootHex(blockRoot)}`);
175
+ }
176
+ commitmentBytes.push(...kzgCommitments);
177
+ cellIndices.push(...Array.from({ length: column.length }, () => columnIndex));
178
+ cells.push(...column);
179
+ proofBytes.push(...kzgProofs);
180
+ }
181
+ if (opts.skipProofsCheck) {
182
+ return;
183
+ }
184
+ let valid;
185
+ try {
186
+ const timer = metrics?.peerDas.kzgVerificationDataColumnBatchTime.startTimer();
187
+ valid = await kzg.asyncVerifyCellKzgProofBatch(commitmentBytes, cellIndices, cells, proofBytes);
188
+ timer?.();
189
+ }
190
+ catch (err) {
191
+ err.message =
192
+ `Error in verifyCellKzgProofBatch for slot=${blockSlot} blockRoot=${toRootHex(blockRoot)} commitmentBytes=${commitmentBytes.length} cellIndices=${cellIndices.length} cells=${cells.length} proofBytes=${proofBytes.length}`;
193
+ throw err;
194
+ }
195
+ if (!valid) {
196
+ throw new Error(`Invalid data column sidecars in slot=${blockSlot} blockRoot=${toRootHex(blockRoot)}`);
197
+ }
198
+ }
199
+ /**
200
+ * SPEC FUNCTION
201
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar
202
+ */
203
+ export function verifyDataColumnSidecar(dataColumnSidecar) {
204
+ if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
205
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
206
+ code: DataColumnSidecarErrorCode.INVALID_INDEX,
207
+ columnIdx: dataColumnSidecar.index,
208
+ });
209
+ }
210
+ if (dataColumnSidecar.kzgCommitments.length === 0) {
211
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
212
+ code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
213
+ columnIdx: dataColumnSidecar.index,
214
+ });
215
+ }
216
+ if (dataColumnSidecar.column.length !== dataColumnSidecar.kzgCommitments.length ||
217
+ dataColumnSidecar.column.length !== dataColumnSidecar.kzgProofs.length) {
218
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
219
+ code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS,
220
+ columnLength: dataColumnSidecar.column.length,
221
+ commitmentsLength: dataColumnSidecar.kzgCommitments.length,
222
+ proofsLength: dataColumnSidecar.kzgProofs.length,
223
+ });
224
+ }
225
+ }
226
+ /**
227
+ * SPEC FUNCTION
228
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar_kzg_proofs
229
+ */
230
+ export async function verifyDataColumnSidecarKzgProofs(commitments, cellIndices, cells, proofs) {
231
+ let valid;
232
+ try {
233
+ valid = await kzg.asyncVerifyCellKzgProofBatch(commitments, cellIndices, cells, proofs);
234
+ }
235
+ catch (e) {
236
+ e.message = `Error on asyncVerifyCellKzgProofBatch: ${e.message}`;
237
+ throw e;
238
+ }
239
+ if (!valid) {
240
+ throw Error("Invalid verifyCellKzgProofBatch");
241
+ }
242
+ }
243
+ /**
244
+ * SPEC FUNCTION
245
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar_inclusion_proof
246
+ */
247
+ export function verifyDataColumnSidecarInclusionProof(dataColumnSidecar) {
248
+ return verifyMerkleBranch(ssz.deneb.BlobKzgCommitments.hashTreeRoot(dataColumnSidecar.kzgCommitments), dataColumnSidecar.kzgCommitmentsInclusionProof, KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH, KZG_COMMITMENTS_SUBTREE_INDEX, dataColumnSidecar.signedBlockHeader.message.bodyRoot);
249
+ }
250
+ /**
251
+ * SPEC FUNCTION
252
+ * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#compute_subnet_for_data_column_sidecar
253
+ */
254
+ export function computeSubnetForDataColumnSidecar(config, columnSidecar) {
255
+ return columnSidecar.index % config.DATA_COLUMN_SIDECAR_SUBNET_COUNT;
256
+ }
257
+ //# sourceMappingURL=dataColumnSidecar.js.map