@lodestar/beacon-node 1.50.1 → 1.51.0-dev.0586e6e617

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 (503) hide show
  1. package/lib/api/impl/api.js +1 -1
  2. package/lib/api/impl/api.js.map +1 -1
  3. package/lib/api/impl/beacon/blocks/index.d.ts +2 -1
  4. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/blocks/index.js +36 -36
  6. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  7. package/lib/api/impl/beacon/index.d.ts +2 -1
  8. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  9. package/lib/api/impl/beacon/index.js +2 -2
  10. package/lib/api/impl/beacon/index.js.map +1 -1
  11. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/pool/index.js +5 -2
  13. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  14. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  15. package/lib/api/impl/beacon/state/index.js +8 -2
  16. package/lib/api/impl/beacon/state/index.js.map +1 -1
  17. package/lib/api/impl/beacon/state/utils.d.ts +3 -2
  18. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  19. package/lib/api/impl/beacon/state/utils.js +17 -9
  20. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  21. package/lib/api/impl/debug/index.d.ts.map +1 -1
  22. package/lib/api/impl/debug/index.js +3 -0
  23. package/lib/api/impl/debug/index.js.map +1 -1
  24. package/lib/api/impl/validator/index.d.ts.map +1 -1
  25. package/lib/api/impl/validator/index.js +136 -27
  26. package/lib/api/impl/validator/index.js.map +1 -1
  27. package/lib/api/options.d.ts +2 -0
  28. package/lib/api/options.d.ts.map +1 -1
  29. package/lib/api/options.js +1 -0
  30. package/lib/api/options.js.map +1 -1
  31. package/lib/chain/ColumnReconstructionTracker.d.ts +11 -13
  32. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  33. package/lib/chain/ColumnReconstructionTracker.js +49 -44
  34. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  35. package/lib/chain/GetBlobsTracker.d.ts +11 -0
  36. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  37. package/lib/chain/GetBlobsTracker.js +85 -27
  38. package/lib/chain/GetBlobsTracker.js.map +1 -1
  39. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  40. package/lib/chain/archiveStore/archiveStore.js +1 -0
  41. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  42. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +4 -0
  43. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  44. package/lib/chain/archiveStore/utils/archiveBlocks.js +63 -100
  45. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  46. package/lib/chain/blocks/blockInput/blockInput.d.ts +1 -1
  47. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  48. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  49. package/lib/chain/blocks/blockInput/utils.js +2 -2
  50. package/lib/chain/blocks/blockInput/utils.js.map +1 -1
  51. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  52. package/lib/chain/blocks/importBlock.js +16 -11
  53. package/lib/chain/blocks/importBlock.js.map +1 -1
  54. package/lib/chain/blocks/importExecutionPayload.d.ts +6 -11
  55. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  56. package/lib/chain/blocks/importExecutionPayload.js +58 -17
  57. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  58. package/lib/chain/blocks/index.js +2 -2
  59. package/lib/chain/blocks/index.js.map +1 -1
  60. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +12 -9
  61. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  62. package/lib/chain/blocks/payloadEnvelopeProcessor.js +24 -19
  63. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  64. package/lib/chain/blocks/types.d.ts +4 -0
  65. package/lib/chain/blocks/types.d.ts.map +1 -1
  66. package/lib/chain/blocks/types.js +5 -0
  67. package/lib/chain/blocks/types.js.map +1 -1
  68. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  69. package/lib/chain/blocks/verifyBlock.js +1 -1
  70. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  71. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  72. package/lib/chain/blocks/verifyBlocksDataAvailability.js +8 -1
  73. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  74. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts +3 -3
  75. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  76. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +11 -6
  77. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  78. package/lib/chain/bls/multithread/index.js +5 -5
  79. package/lib/chain/bls/multithread/index.js.map +1 -1
  80. package/lib/chain/bls/multithread/types.d.ts +1 -1
  81. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  82. package/lib/chain/bls/multithread/worker.js +1 -1
  83. package/lib/chain/bls/multithread/worker.js.map +1 -1
  84. package/lib/chain/bls/singleThread.js +1 -1
  85. package/lib/chain/bls/singleThread.js.map +1 -1
  86. package/lib/chain/bls/utils.js +1 -1
  87. package/lib/chain/bls/utils.js.map +1 -1
  88. package/lib/chain/chain.d.ts +3 -2
  89. package/lib/chain/chain.d.ts.map +1 -1
  90. package/lib/chain/chain.js +12 -7
  91. package/lib/chain/chain.js.map +1 -1
  92. package/lib/chain/errors/blockError.d.ts +1 -1
  93. package/lib/chain/errors/blockError.d.ts.map +1 -1
  94. package/lib/chain/errors/blockError.js +1 -1
  95. package/lib/chain/errors/blockError.js.map +1 -1
  96. package/lib/chain/errors/executionPayloadBid.d.ts +11 -1
  97. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  98. package/lib/chain/errors/executionPayloadBid.js +2 -0
  99. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  100. package/lib/chain/errors/inclusionList.d.ts +60 -0
  101. package/lib/chain/errors/inclusionList.d.ts.map +1 -0
  102. package/lib/chain/errors/inclusionList.js +19 -0
  103. package/lib/chain/errors/inclusionList.js.map +1 -0
  104. package/lib/chain/errors/index.d.ts +1 -0
  105. package/lib/chain/errors/index.d.ts.map +1 -1
  106. package/lib/chain/errors/index.js +1 -0
  107. package/lib/chain/errors/index.js.map +1 -1
  108. package/lib/chain/interface.d.ts +5 -5
  109. package/lib/chain/interface.d.ts.map +1 -1
  110. package/lib/chain/interface.js.map +1 -1
  111. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  112. package/lib/chain/opPools/aggregatedAttestationPool.js +23 -10
  113. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  114. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  115. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  116. package/lib/chain/opPools/attestationPool.js +15 -4
  117. package/lib/chain/opPools/attestationPool.js.map +1 -1
  118. package/lib/chain/opPools/inclusionListStore.d.ts +63 -0
  119. package/lib/chain/opPools/inclusionListStore.d.ts.map +1 -0
  120. package/lib/chain/opPools/inclusionListStore.js +171 -0
  121. package/lib/chain/opPools/inclusionListStore.js.map +1 -0
  122. package/lib/chain/opPools/index.d.ts +1 -0
  123. package/lib/chain/opPools/index.d.ts.map +1 -1
  124. package/lib/chain/opPools/index.js +1 -0
  125. package/lib/chain/opPools/index.js.map +1 -1
  126. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  127. package/lib/chain/opPools/payloadAttestationPool.js +17 -7
  128. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  129. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  130. package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -3
  131. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  132. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  133. package/lib/chain/opPools/syncContributionAndProofPool.js +11 -3
  134. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  135. package/lib/chain/opPools/utils.d.ts +1 -1
  136. package/lib/chain/opPools/utils.d.ts.map +1 -1
  137. package/lib/chain/opPools/utils.js +1 -1
  138. package/lib/chain/opPools/utils.js.map +1 -1
  139. package/lib/chain/options.d.ts +0 -1
  140. package/lib/chain/options.d.ts.map +1 -1
  141. package/lib/chain/options.js +0 -1
  142. package/lib/chain/options.js.map +1 -1
  143. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  144. package/lib/chain/prepareNextSlot.js +4 -3
  145. package/lib/chain/prepareNextSlot.js.map +1 -1
  146. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  147. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  148. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -1
  149. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  150. package/lib/chain/produceBlock/produceBlockBody.js +37 -15
  151. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  152. package/lib/chain/regen/interface.d.ts +1 -1
  153. package/lib/chain/regen/interface.d.ts.map +1 -1
  154. package/lib/chain/regen/interface.js +1 -1
  155. package/lib/chain/regen/interface.js.map +1 -1
  156. package/lib/chain/reprocess.d.ts +2 -1
  157. package/lib/chain/reprocess.d.ts.map +1 -1
  158. package/lib/chain/reprocess.js +2 -1
  159. package/lib/chain/reprocess.js.map +1 -1
  160. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  161. package/lib/chain/seenCache/seenGossipBlockInput.js +1 -1
  162. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  163. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  164. package/lib/chain/stateCache/persistentCheckpointsCache.js +1 -1
  165. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  166. package/lib/chain/validation/executionPayloadBid.d.ts +0 -15
  167. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  168. package/lib/chain/validation/executionPayloadBid.js +37 -158
  169. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  170. package/lib/chain/validation/inclusionList.d.ts +14 -0
  171. package/lib/chain/validation/inclusionList.d.ts.map +1 -0
  172. package/lib/chain/validation/inclusionList.js +150 -0
  173. package/lib/chain/validation/inclusionList.js.map +1 -0
  174. package/lib/chain/validation/index.d.ts +1 -0
  175. package/lib/chain/validation/index.d.ts.map +1 -1
  176. package/lib/chain/validation/index.js +1 -0
  177. package/lib/chain/validation/index.js.map +1 -1
  178. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  179. package/lib/chain/validatorMonitor.js +6 -4
  180. package/lib/chain/validatorMonitor.js.map +1 -1
  181. package/lib/constants/constants.d.ts +1 -0
  182. package/lib/constants/constants.d.ts.map +1 -1
  183. package/lib/constants/constants.js +1 -0
  184. package/lib/constants/constants.js.map +1 -1
  185. package/lib/db/beacon.d.ts +7 -0
  186. package/lib/db/beacon.d.ts.map +1 -1
  187. package/lib/db/beacon.js +34 -0
  188. package/lib/db/beacon.js.map +1 -1
  189. package/lib/db/dataColumnStore.d.ts +1 -1
  190. package/lib/db/dataColumnStore.d.ts.map +1 -1
  191. package/lib/db/dataColumnStore.js +1 -4
  192. package/lib/db/dataColumnStore.js.map +1 -1
  193. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  194. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  195. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  196. package/lib/db/flatFileStore/slotIndex.js +2 -2
  197. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  198. package/lib/db/interface.d.ts +1 -0
  199. package/lib/db/interface.d.ts.map +1 -1
  200. package/lib/db/repositories/blockArchive.js +2 -2
  201. package/lib/db/repositories/blockArchive.js.map +1 -1
  202. package/lib/db/repositories/blockArchiveIndex.d.ts +1 -1
  203. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  204. package/lib/db/repositories/blockArchiveIndex.js +1 -2
  205. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  206. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +6 -0
  207. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  208. package/lib/db/repositories/dataColumnSidecarArchive.js +19 -0
  209. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  210. package/lib/execution/builder/validateBid.d.ts.map +1 -1
  211. package/lib/execution/builder/validateBid.js +14 -1
  212. package/lib/execution/builder/validateBid.js.map +1 -1
  213. package/lib/execution/engine/blobVersionedHashes.d.ts +1 -1
  214. package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -1
  215. package/lib/execution/engine/blobVersionedHashes.js.map +1 -1
  216. package/lib/execution/engine/disabled.d.ts +1 -0
  217. package/lib/execution/engine/disabled.d.ts.map +1 -1
  218. package/lib/execution/engine/disabled.js +3 -0
  219. package/lib/execution/engine/disabled.js.map +1 -1
  220. package/lib/execution/engine/http.d.ts +8 -2
  221. package/lib/execution/engine/http.d.ts.map +1 -1
  222. package/lib/execution/engine/http.js +27 -4
  223. package/lib/execution/engine/http.js.map +1 -1
  224. package/lib/execution/engine/index.d.ts +1 -1
  225. package/lib/execution/engine/index.d.ts.map +1 -1
  226. package/lib/execution/engine/index.js +2 -2
  227. package/lib/execution/engine/index.js.map +1 -1
  228. package/lib/execution/engine/interface.d.ts +12 -3
  229. package/lib/execution/engine/interface.d.ts.map +1 -1
  230. package/lib/execution/engine/interface.js.map +1 -1
  231. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -1
  232. package/lib/execution/engine/jsonRpcHttpClient.js +14 -4
  233. package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -1
  234. package/lib/execution/engine/jsonRpcTransport.d.ts +3 -2
  235. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  236. package/lib/execution/engine/jsonRpcTransport.js +33 -9
  237. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  238. package/lib/execution/engine/mock.d.ts +1 -0
  239. package/lib/execution/engine/mock.d.ts.map +1 -1
  240. package/lib/execution/engine/mock.js +31 -7
  241. package/lib/execution/engine/mock.js.map +1 -1
  242. package/lib/execution/engine/payloadIdCache.d.ts +5 -3
  243. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  244. package/lib/execution/engine/payloadIdCache.js +15 -4
  245. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  246. package/lib/execution/engine/restTransport.d.ts +5 -2
  247. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  248. package/lib/execution/engine/restTransport.js +36 -21
  249. package/lib/execution/engine/restTransport.js.map +1 -1
  250. package/lib/execution/engine/sszTypes.d.ts +38 -38
  251. package/lib/execution/engine/transport.d.ts +5 -2
  252. package/lib/execution/engine/transport.d.ts.map +1 -1
  253. package/lib/execution/engine/transportMetrics.d.ts +5 -1
  254. package/lib/execution/engine/transportMetrics.d.ts.map +1 -1
  255. package/lib/execution/engine/types.d.ts +25 -1
  256. package/lib/execution/engine/types.d.ts.map +1 -1
  257. package/lib/execution/engine/types.js +31 -17
  258. package/lib/execution/engine/types.js.map +1 -1
  259. package/lib/index.d.ts +1 -0
  260. package/lib/index.d.ts.map +1 -1
  261. package/lib/index.js +2 -0
  262. package/lib/index.js.map +1 -1
  263. package/lib/metrics/metrics/beacon.d.ts +16 -0
  264. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  265. package/lib/metrics/metrics/beacon.js +35 -0
  266. package/lib/metrics/metrics/beacon.js.map +1 -1
  267. package/lib/metrics/metrics/lodestar.d.ts +26 -0
  268. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  269. package/lib/metrics/metrics/lodestar.js +61 -1
  270. package/lib/metrics/metrics/lodestar.js.map +1 -1
  271. package/lib/monitoring/service.js +1 -1
  272. package/lib/monitoring/service.js.map +1 -1
  273. package/lib/network/core/networkCore.d.ts +2 -0
  274. package/lib/network/core/networkCore.d.ts.map +1 -1
  275. package/lib/network/core/networkCore.js +3 -0
  276. package/lib/network/core/networkCore.js.map +1 -1
  277. package/lib/network/core/networkCoreWorker.js +1 -0
  278. package/lib/network/core/networkCoreWorker.js.map +1 -1
  279. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -0
  280. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  281. package/lib/network/core/networkCoreWorkerHandler.js +3 -0
  282. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  283. package/lib/network/core/types.d.ts +2 -0
  284. package/lib/network/core/types.d.ts.map +1 -1
  285. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  286. package/lib/network/gossip/gossipsub.js +3 -1
  287. package/lib/network/gossip/gossipsub.js.map +1 -1
  288. package/lib/network/gossip/interface.d.ts +8 -2
  289. package/lib/network/gossip/interface.d.ts.map +1 -1
  290. package/lib/network/gossip/interface.js +1 -0
  291. package/lib/network/gossip/interface.js.map +1 -1
  292. package/lib/network/gossip/topic.d.ts +13 -19
  293. package/lib/network/gossip/topic.d.ts.map +1 -1
  294. package/lib/network/gossip/topic.js +13 -1
  295. package/lib/network/gossip/topic.js.map +1 -1
  296. package/lib/network/interface.d.ts +4 -1
  297. package/lib/network/interface.d.ts.map +1 -1
  298. package/lib/network/network.d.ts +4 -1
  299. package/lib/network/network.d.ts.map +1 -1
  300. package/lib/network/network.js +11 -1
  301. package/lib/network/network.js.map +1 -1
  302. package/lib/network/peers/peerManager.d.ts +2 -1
  303. package/lib/network/peers/peerManager.d.ts.map +1 -1
  304. package/lib/network/peers/peerManager.js.map +1 -1
  305. package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
  306. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
  307. package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
  308. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  309. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +1 -1
  310. package/lib/network/peers/utils/enrSubnetsDeserialize.js +5 -2
  311. package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
  312. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  313. package/lib/network/processor/gossipHandlers.js +76 -27
  314. package/lib/network/processor/gossipHandlers.js.map +1 -1
  315. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  316. package/lib/network/processor/gossipQueues/index.js +6 -0
  317. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  318. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  319. package/lib/network/processor/gossipValidatorFn.js +5 -1
  320. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  321. package/lib/network/processor/index.d.ts +5 -0
  322. package/lib/network/processor/index.d.ts.map +1 -1
  323. package/lib/network/processor/index.js +40 -29
  324. package/lib/network/processor/index.js.map +1 -1
  325. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  326. package/lib/network/reqresp/ReqRespBeaconNode.js +6 -0
  327. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  328. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  329. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +4 -4
  330. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  331. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +3 -3
  332. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  333. package/lib/network/reqresp/handlers/inclusionListsByIndices.d.ts +10 -0
  334. package/lib/network/reqresp/handlers/inclusionListsByIndices.d.ts.map +1 -0
  335. package/lib/network/reqresp/handlers/inclusionListsByIndices.js +30 -0
  336. package/lib/network/reqresp/handlers/inclusionListsByIndices.js.map +1 -0
  337. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  338. package/lib/network/reqresp/handlers/index.js +5 -0
  339. package/lib/network/reqresp/handlers/index.js.map +1 -1
  340. package/lib/network/reqresp/protocols.d.ts +1 -0
  341. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  342. package/lib/network/reqresp/protocols.js +5 -0
  343. package/lib/network/reqresp/protocols.js.map +1 -1
  344. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  345. package/lib/network/reqresp/rateLimit.js +6 -2
  346. package/lib/network/reqresp/rateLimit.js.map +1 -1
  347. package/lib/network/reqresp/types.d.ts +5 -2
  348. package/lib/network/reqresp/types.d.ts.map +1 -1
  349. package/lib/network/reqresp/types.js +3 -0
  350. package/lib/network/reqresp/types.js.map +1 -1
  351. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  352. package/lib/network/subnets/attnetsService.js +3 -1
  353. package/lib/network/subnets/attnetsService.js.map +1 -1
  354. package/lib/node/nodejs.d.ts +1 -1
  355. package/lib/node/nodejs.d.ts.map +1 -1
  356. package/lib/node/nodejs.js +10 -2
  357. package/lib/node/nodejs.js.map +1 -1
  358. package/lib/node/notifier.d.ts.map +1 -1
  359. package/lib/node/notifier.js +12 -13
  360. package/lib/node/notifier.js.map +1 -1
  361. package/lib/node/options.d.ts +1 -1
  362. package/lib/node/options.d.ts.map +1 -1
  363. package/lib/node/options.js +1 -1
  364. package/lib/node/options.js.map +1 -1
  365. package/lib/sync/interface.d.ts.map +1 -1
  366. package/lib/sync/interface.js.map +1 -1
  367. package/lib/sync/sync.d.ts +7 -0
  368. package/lib/sync/sync.d.ts.map +1 -1
  369. package/lib/sync/sync.js +61 -3
  370. package/lib/sync/sync.js.map +1 -1
  371. package/lib/sync/unknownBlock.d.ts.map +1 -1
  372. package/lib/sync/unknownBlock.js +45 -20
  373. package/lib/sync/unknownBlock.js.map +1 -1
  374. package/lib/util/clock.d.ts.map +1 -1
  375. package/lib/util/clock.js +3 -4
  376. package/lib/util/clock.js.map +1 -1
  377. package/lib/util/file.d.ts.map +1 -1
  378. package/lib/util/file.js +8 -9
  379. package/lib/util/file.js.map +1 -1
  380. package/lib/util/queue/itemQueue.js +1 -1
  381. package/lib/util/queue/itemQueue.js.map +1 -1
  382. package/lib/util/sszBytes.d.ts +2 -2
  383. package/lib/util/sszBytes.d.ts.map +1 -1
  384. package/lib/util/sszBytes.js +24 -16
  385. package/lib/util/sszBytes.js.map +1 -1
  386. package/package.json +31 -32
  387. package/src/api/impl/api.ts +1 -1
  388. package/src/api/impl/beacon/blocks/index.ts +67 -65
  389. package/src/api/impl/beacon/index.ts +3 -1
  390. package/src/api/impl/beacon/pool/index.ts +5 -1
  391. package/src/api/impl/beacon/state/index.ts +10 -1
  392. package/src/api/impl/beacon/state/utils.ts +20 -10
  393. package/src/api/impl/debug/index.ts +4 -0
  394. package/src/api/impl/validator/index.ts +176 -29
  395. package/src/api/options.ts +3 -0
  396. package/src/chain/ColumnReconstructionTracker.ts +63 -46
  397. package/src/chain/GetBlobsTracker.ts +97 -38
  398. package/src/chain/archiveStore/archiveStore.ts +1 -0
  399. package/src/chain/archiveStore/utils/archiveBlocks.ts +78 -133
  400. package/src/chain/blocks/blockInput/blockInput.ts +1 -1
  401. package/src/chain/blocks/blockInput/utils.ts +2 -2
  402. package/src/chain/blocks/importBlock.ts +19 -18
  403. package/src/chain/blocks/importExecutionPayload.ts +81 -23
  404. package/src/chain/blocks/index.ts +6 -2
  405. package/src/chain/blocks/payloadEnvelopeProcessor.ts +35 -24
  406. package/src/chain/blocks/types.ts +5 -0
  407. package/src/chain/blocks/verifyBlock.ts +1 -0
  408. package/src/chain/blocks/verifyBlocksDataAvailability.ts +10 -1
  409. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +14 -6
  410. package/src/chain/bls/multithread/index.ts +5 -5
  411. package/src/chain/bls/multithread/types.ts +1 -1
  412. package/src/chain/bls/multithread/worker.ts +1 -5
  413. package/src/chain/bls/singleThread.ts +1 -1
  414. package/src/chain/bls/utils.ts +1 -1
  415. package/src/chain/chain.ts +13 -7
  416. package/src/chain/errors/blockError.ts +1 -1
  417. package/src/chain/errors/executionPayloadBid.ts +12 -0
  418. package/src/chain/errors/inclusionList.ts +38 -0
  419. package/src/chain/errors/index.ts +1 -0
  420. package/src/chain/interface.ts +6 -4
  421. package/src/chain/opPools/aggregatedAttestationPool.ts +25 -9
  422. package/src/chain/opPools/attestationPool.ts +16 -4
  423. package/src/chain/opPools/inclusionListStore.ts +208 -0
  424. package/src/chain/opPools/index.ts +1 -0
  425. package/src/chain/opPools/payloadAttestationPool.ts +18 -7
  426. package/src/chain/opPools/syncCommitteeMessagePool.ts +10 -3
  427. package/src/chain/opPools/syncContributionAndProofPool.ts +13 -3
  428. package/src/chain/opPools/utils.ts +1 -1
  429. package/src/chain/options.ts +0 -2
  430. package/src/chain/prepareNextSlot.ts +7 -3
  431. package/src/chain/produceBlock/computeNewStateRoot.ts +9 -2
  432. package/src/chain/produceBlock/produceBlockBody.ts +70 -24
  433. package/src/chain/regen/interface.ts +1 -1
  434. package/src/chain/reprocess.ts +2 -1
  435. package/src/chain/seenCache/seenGossipBlockInput.ts +2 -1
  436. package/src/chain/stateCache/persistentCheckpointsCache.ts +4 -1
  437. package/src/chain/validation/executionPayloadBid.ts +54 -183
  438. package/src/chain/validation/inclusionList.ts +192 -0
  439. package/src/chain/validation/index.ts +1 -0
  440. package/src/chain/validatorMonitor.ts +7 -4
  441. package/src/constants/constants.ts +1 -0
  442. package/src/db/beacon.ts +44 -0
  443. package/src/db/dataColumnStore.ts +2 -4
  444. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  445. package/src/db/flatFileStore/slotIndex.ts +4 -3
  446. package/src/db/interface.ts +2 -0
  447. package/src/db/repositories/blockArchive.ts +2 -2
  448. package/src/db/repositories/blockArchiveIndex.ts +2 -3
  449. package/src/db/repositories/dataColumnSidecarArchive.ts +20 -0
  450. package/src/execution/builder/validateBid.ts +23 -2
  451. package/src/execution/engine/blobVersionedHashes.ts +1 -1
  452. package/src/execution/engine/disabled.ts +4 -0
  453. package/src/execution/engine/http.ts +40 -5
  454. package/src/execution/engine/index.ts +3 -2
  455. package/src/execution/engine/interface.ts +28 -4
  456. package/src/execution/engine/jsonRpcHttpClient.ts +12 -5
  457. package/src/execution/engine/jsonRpcTransport.ts +46 -9
  458. package/src/execution/engine/mock.ts +32 -7
  459. package/src/execution/engine/payloadIdCache.ts +24 -6
  460. package/src/execution/engine/restTransport.ts +68 -23
  461. package/src/execution/engine/transport.ts +7 -2
  462. package/src/execution/engine/transportMetrics.ts +2 -1
  463. package/src/execution/engine/types.ts +56 -17
  464. package/src/index.ts +2 -0
  465. package/src/metrics/metrics/beacon.ts +37 -0
  466. package/src/metrics/metrics/lodestar.ts +63 -1
  467. package/src/monitoring/service.ts +1 -1
  468. package/src/network/core/networkCore.ts +5 -0
  469. package/src/network/core/networkCoreWorker.ts +1 -0
  470. package/src/network/core/networkCoreWorkerHandler.ts +4 -0
  471. package/src/network/core/types.ts +2 -0
  472. package/src/network/gossip/gossipsub.ts +3 -1
  473. package/src/network/gossip/interface.ts +5 -0
  474. package/src/network/gossip/topic.ts +14 -0
  475. package/src/network/interface.ts +4 -0
  476. package/src/network/network.ts +19 -1
  477. package/src/network/peers/peerManager.ts +1 -1
  478. package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
  479. package/src/network/peers/utils/enrSubnetsDeserialize.ts +5 -2
  480. package/src/network/processor/gossipHandlers.ts +96 -29
  481. package/src/network/processor/gossipQueues/index.ts +6 -0
  482. package/src/network/processor/gossipValidatorFn.ts +5 -0
  483. package/src/network/processor/index.ts +36 -27
  484. package/src/network/processor/types.ts +1 -1
  485. package/src/network/reqresp/ReqRespBeaconNode.ts +7 -0
  486. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +4 -10
  487. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +3 -3
  488. package/src/network/reqresp/handlers/inclusionListsByIndices.ts +44 -0
  489. package/src/network/reqresp/handlers/index.ts +5 -0
  490. package/src/network/reqresp/protocols.ts +6 -0
  491. package/src/network/reqresp/rateLimit.ts +6 -2
  492. package/src/network/reqresp/types.ts +6 -0
  493. package/src/network/subnets/attnetsService.ts +8 -3
  494. package/src/node/nodejs.ts +24 -7
  495. package/src/node/notifier.ts +14 -13
  496. package/src/node/options.ts +4 -5
  497. package/src/sync/interface.ts +1 -0
  498. package/src/sync/sync.ts +65 -4
  499. package/src/sync/unknownBlock.ts +50 -30
  500. package/src/util/clock.ts +3 -4
  501. package/src/util/file.ts +8 -9
  502. package/src/util/queue/itemQueue.ts +1 -1
  503. package/src/util/sszBytes.ts +27 -14
@@ -1 +1 @@
1
- {"version":3,"file":"payloadIdCache.js","sourceRoot":"","sources":["../../../src/execution/engine/payloadIdCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAI9C,gEAAgE;AAChE,MAAM,eAAe,GAAG,eAAe,CAAC;AAexC,MAAM,OAAO,cAAc;IACR,wBAAwB,GAAG,IAAI,GAAG,EAAmD,CAAC;IAEvG,UAAU,CAAC,EAAC,aAAa,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAgB;QACzG,OAAO,GAAG,aAAa,IAAI,kBAAkB,IAAI,SAAS,IAAI,UAAU,IAAI,qBAAqB,EAAE,CAAC;IACtG,CAAC;IACD,MAAM,CAAC,EAAC,SAAS,EAAmC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,aAA+C;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IAC9D,CAAC;IAED,GAAG,CAAC,aAA4B,EAAE,SAAoB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK;QACH,2EAA2E;QAC3E,aAAa,CAAC,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;IAED,GAAG,CAAC,aAA4B;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"payloadIdCache.js","sourceRoot":"","sources":["../../../src/execution/engine/payloadIdCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAI9C,gEAAgE;AAChE,MAAM,eAAe,GAAG,eAAe,CAAC;AAiBxC,MAAM,OAAO,cAAc;IACR,wBAAwB,GAAG,IAAI,GAAG,EAGhD,CAAC;IAEJ,UAAU,CAAC,EAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAgB;QACrF,OAAO,GAAG,aAAa,IAAI,SAAS,IAAI,UAAU,IAAI,qBAAqB,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,CAAC,EAAC,SAAS,EAAmC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,aAA+C;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IAC9D,CAAC;IAED,GAAG,CAAC,aAA4B,EAAE,SAAoB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,EAAC,yBAAyB,EAAC,GAAG,aAAa,CAAC;QAClD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,OAAO,EAAE,yBAAyB,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK;QACH,2EAA2E;QAC3E,aAAa,CAAC,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;IAED,GAAG,CAAC,aAA4B;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,WAAW,EAAE,OAAO,KAAK,OAAO;YACrC,mBAAmB,CAAC,WAAW,CAAC,yBAAyB,EAAE,aAAa,CAAC,yBAAyB,CAAC;YACnG,CAAC,CAAC,WAAW,CAAC,SAAS;YACvB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,CAA0B,EAAE,CAA0B;IACjF,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ForkName } from "@lodestar/params";
2
- import { ExecutionPayload, ExecutionRequests, Root, RootHex } from "@lodestar/types";
2
+ import { ExecutionPayload, ExecutionRequests, Root, RootHex, bellatrix } from "@lodestar/types";
3
3
  import { BlobAndProof } from "@lodestar/types/deneb";
4
4
  import { BlobAndProofV2 } from "@lodestar/types/fulu";
5
5
  import { ClientVersion, PayloadAttributes, PayloadId, VersionedHashes } from "./interface.js";
@@ -7,6 +7,7 @@ import { JsonRpcHttpClientEventEmitter } from "./jsonRpcHttpClient.js";
7
7
  import { EngineRestHttpClient } from "./restHttpClient.js";
8
8
  import { ExecutionForkName } from "./sszTypes.js";
9
9
  import { ForkchoiceUpdatedResult, GetPayloadResult, IEngineTransport, PayloadStatusResult } from "./transport.js";
10
+ import { EngineTransportMetrics } from "./transportMetrics.js";
10
11
  import { ExecutionPayloadBodyV2 } from "./types.js";
11
12
  export type EngineCapabilities = {
12
13
  supportedForks: Set<string>;
@@ -26,8 +27,9 @@ export declare function formatClientVersionHeader(clientVersion: ClientVersion):
26
27
  */
27
28
  export declare class RestEngineTransport implements IEngineTransport {
28
29
  private readonly client;
30
+ private readonly metrics?;
29
31
  private limits;
30
- constructor(client: EngineRestHttpClient);
32
+ constructor(client: EngineRestHttpClient, metrics?: EngineTransportMetrics | null | undefined);
31
33
  get emitter(): JsonRpcHttpClientEventEmitter;
32
34
  /** Does not emit client events, a missing REST API must not be mistaken for an unhealthy engine */
33
35
  getCapabilities(): Promise<EngineCapabilities>;
@@ -42,5 +44,6 @@ export declare class RestEngineTransport implements IEngineTransport {
42
44
  */
43
45
  getBlobsV2(versionedHashes: VersionedHashes, _buffers?: Uint8Array[]): Promise<BlobAndProofV2[] | null>;
44
46
  getClientVersion(_clientVersion: ClientVersion): Promise<ClientVersion[]>;
47
+ getInclusionList(): Promise<bellatrix.Transactions>;
45
48
  }
46
49
  //# sourceMappingURL=restTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"restTransport.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/restTransport.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,QAAQ,EAA+B,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAiC,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAEL,aAAa,EAEb,iBAAiB,EACjB,SAAS,EACT,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,6BAA6B,EAAU,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAA0B,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAcL,iBAAiB,EAiBlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAChH,OAAO,EACL,sBAAsB,EAIvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,uBAAuB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAC,CAAC;CAC5F,CAAC;AAuBF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,CAMrE;AAED,4GAA4G;AAC5G,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAE9E;AAED;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAG9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,MAAM,CAAkB;IAEhC,YAA6B,MAAM,EAAE,oBAAoB,EAAI;IAE7D,IAAI,OAAO,IAAI,6BAA6B,CAE3C;IAED,mGAAmG;IAC7F,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA4CnD;IAEK,UAAU,CACd,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,CAAC,EAAE,eAAe,EACjC,qBAAqB,CAAC,EAAE,IAAI,EAC5B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,mBAAmB,CAAC,CA4D9B;IAEK,iBAAiB,CACrB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,uBAAuB,CAAC,CA4ClC;IAEK,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkEhF;IAEK,wBAAwB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,CAkBjG;IAEK,UAAU,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAgBnF;IAED;;;OAGG;IACG,UAAU,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CA0B5G;IAEK,gBAAgB,CAAC,cAAc,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA2B9E;CACF"}
1
+ {"version":3,"file":"restTransport.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/restTransport.ts"],"names":[],"mappings":"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"}
@@ -39,9 +39,11 @@ export function formatClientVersionHeader(clientVersion) {
39
39
  */
40
40
  export class RestEngineTransport {
41
41
  client;
42
+ metrics;
42
43
  limits = DEFAULT_LIMITS;
43
- constructor(client) {
44
+ constructor(client, metrics) {
44
45
  this.client = client;
46
+ this.metrics = metrics;
45
47
  }
46
48
  get emitter() {
47
49
  return this.client.emitter;
@@ -49,7 +51,7 @@ export class RestEngineTransport {
49
51
  /** Does not emit client events, a missing REST API must not be mistaken for an unhealthy engine */
50
52
  async getCapabilities() {
51
53
  const { body } = await this.client.requestWithRetries({ method: "GET", path: "/capabilities", responseType: "json" }, getCapabilitiesOpts);
52
- const capabilities = parseJson(body, "getCapabilities");
54
+ const capabilities = parseJson(body, "getCapabilities", this.metrics);
53
55
  if (!isRecord(capabilities) ||
54
56
  !Array.isArray(capabilities.supported_forks) ||
55
57
  !capabilities.supported_forks.every(isString)) {
@@ -144,7 +146,7 @@ export class RestEngineTransport {
144
146
  });
145
147
  }
146
148
  const res = await this.client.request({ method: "POST", path: "/payloads", executionFork: toExecutionForkName(fork), body, responseType: "ssz" }, notifyNewPayloadOpts);
147
- return toPayloadStatusResult(deserializeResponse(PayloadStatus, res.body, "notifyNewPayload"));
149
+ return toPayloadStatusResult(deserializeResponse(PayloadStatus, res.body, "notifyNewPayload", this.metrics));
148
150
  }
149
151
  async forkchoiceUpdated(fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes) {
150
152
  const forkchoiceState = {
@@ -182,7 +184,7 @@ export class RestEngineTransport {
182
184
  // and we can move on, as the next fcU will be issued soon on the new slot
183
185
  const fcUReqOpts = payloadAttributes !== undefined ? forkchoiceUpdatedOpts : { ...forkchoiceUpdatedOpts, retries: 0 };
184
186
  const res = await this.client.request({ method: "POST", path: "/forkchoice", executionFork: toExecutionForkName(fork), body, responseType: "ssz" }, fcUReqOpts);
185
- const { payloadStatus, payloadId } = deserializeResponse(ForkchoiceUpdateResponse, res.body, "forkchoiceUpdated");
187
+ const { payloadStatus, payloadId } = deserializeResponse(ForkchoiceUpdateResponse, res.body, "forkchoiceUpdated", this.metrics);
186
188
  return {
187
189
  payloadStatus: toPayloadStatusResult(payloadStatus),
188
190
  payloadId: payloadId.length > 0 ? toHex(payloadId[0]) : null,
@@ -194,7 +196,7 @@ export class RestEngineTransport {
194
196
  }
195
197
  const res = await this.client.request({ method: "GET", path: `/payloads/${payloadId}`, executionFork: toExecutionForkName(fork), responseType: "ssz" }, getPayloadOpts);
196
198
  if (ForkSeq[fork] >= ForkSeq.gloas) {
197
- const { payload, blockValue, blobsBundle, executionRequests, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadGloas, res.body, "getPayload");
199
+ const { payload, blockValue, blobsBundle, executionRequests, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadGloas, res.body, "getPayload", this.metrics);
198
200
  return {
199
201
  executionPayload: payload,
200
202
  executionPayloadValue: blockValue,
@@ -204,7 +206,7 @@ export class RestEngineTransport {
204
206
  };
205
207
  }
206
208
  if (ForkSeq[fork] >= ForkSeq.fulu) {
207
- const { payload, blockValue, blobsBundle, executionRequests, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadFulu, res.body, "getPayload");
209
+ const { payload, blockValue, blobsBundle, executionRequests, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadFulu, res.body, "getPayload", this.metrics);
208
210
  return {
209
211
  executionPayload: payload,
210
212
  executionPayloadValue: blockValue,
@@ -214,7 +216,7 @@ export class RestEngineTransport {
214
216
  };
215
217
  }
216
218
  if (ForkSeq[fork] >= ForkSeq.electra) {
217
- const { payload, blockValue, blobsBundle, executionRequests, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadElectra, res.body, "getPayload");
219
+ const { payload, blockValue, blobsBundle, executionRequests, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadElectra, res.body, "getPayload", this.metrics);
218
220
  return {
219
221
  executionPayload: payload,
220
222
  executionPayloadValue: blockValue,
@@ -224,14 +226,14 @@ export class RestEngineTransport {
224
226
  };
225
227
  }
226
228
  if (ForkSeq[fork] >= ForkSeq.deneb) {
227
- const { payload, blockValue, blobsBundle, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadDeneb, res.body, "getPayload");
229
+ const { payload, blockValue, blobsBundle, shouldOverrideBuilder } = deserializeResponse(BuiltPayloadDeneb, res.body, "getPayload", this.metrics);
228
230
  return { executionPayload: payload, executionPayloadValue: blockValue, blobsBundle, shouldOverrideBuilder };
229
231
  }
230
232
  if (ForkSeq[fork] >= ForkSeq.capella) {
231
- const { payload, blockValue } = deserializeResponse(BuiltPayloadCapella, res.body, "getPayload");
233
+ const { payload, blockValue } = deserializeResponse(BuiltPayloadCapella, res.body, "getPayload", this.metrics);
232
234
  return { executionPayload: payload, executionPayloadValue: blockValue, shouldOverrideBuilder: false };
233
235
  }
234
- const { payload, blockValue } = deserializeResponse(BuiltPayloadBellatrix, res.body, "getPayload");
236
+ const { payload, blockValue } = deserializeResponse(BuiltPayloadBellatrix, res.body, "getPayload", this.metrics);
235
237
  return { executionPayload: payload, executionPayloadValue: blockValue, shouldOverrideBuilder: false };
236
238
  }
237
239
  async getPayloadBodiesByHashV2(blockHashes) {
@@ -244,7 +246,7 @@ export class RestEngineTransport {
244
246
  body,
245
247
  responseType: "ssz",
246
248
  }, getPayloadBodiesByHashOpts);
247
- const bodies = deserializeBodiesResponse(ForkName.gloas, res.body);
249
+ const bodies = deserializeBodiesResponse(ForkName.gloas, res.body, this.metrics);
248
250
  if (bodies.length !== blockHashes.length) {
249
251
  throw Error(`Invalid bodies response length=${bodies.length} blockHashes=${blockHashes.length}`);
250
252
  }
@@ -257,7 +259,7 @@ export class RestEngineTransport {
257
259
  if (res.status === 204) {
258
260
  return versionedHashes.map(() => null);
259
261
  }
260
- const { entries } = deserializeResponse(BlobsV1Response, res.body, "getBlobsV1");
262
+ const { entries } = deserializeResponse(BlobsV1Response, res.body, "getBlobsV1", this.metrics);
261
263
  if (entries.length !== versionedHashes.length) {
262
264
  throw Error(`Invalid blobs/v1 response length=${entries.length} versionedHashes=${versionedHashes.length}`);
263
265
  }
@@ -274,7 +276,7 @@ export class RestEngineTransport {
274
276
  if (res.status === 204) {
275
277
  return null;
276
278
  }
277
- const { entries } = deserializeResponse(BlobsV2Response, res.body, "getBlobsV2", { reuseBytes: true });
279
+ const { entries } = deserializeResponse(BlobsV2Response, res.body, "getBlobsV2", this.metrics, { reuseBytes: true });
278
280
  if (entries.length !== versionedHashes.length) {
279
281
  throw Error(`Invalid blobs/v2 response length=${entries.length} versionedHashes=${versionedHashes.length}`);
280
282
  }
@@ -290,7 +292,7 @@ export class RestEngineTransport {
290
292
  }
291
293
  async getClientVersion(_clientVersion) {
292
294
  const { body } = await this.client.request({ method: "GET", path: "/identity", responseType: "json" }, getClientVersionOpts);
293
- const versions = parseJson(body, "getClientVersion");
295
+ const versions = parseJson(body, "getClientVersion", this.metrics);
294
296
  if (!Array.isArray(versions)) {
295
297
  throw new EngineRestResponseError("getClientVersion", "Expected an array of client versions");
296
298
  }
@@ -311,6 +313,9 @@ export class RestEngineTransport {
311
313
  };
312
314
  });
313
315
  }
316
+ getInclusionList() {
317
+ throw Error("engine_getInclusionListV1 is not available over the REST engine API");
318
+ }
314
319
  }
315
320
  function toPayloadAttributesBellatrix(attributes) {
316
321
  return {
@@ -364,31 +369,41 @@ function toPayloadStatusResult(payloadStatus) {
364
369
  };
365
370
  }
366
371
  }
367
- function deserializeBodiesResponse(fork, data) {
372
+ function deserializeBodiesResponse(fork, data, metrics) {
368
373
  if (ForkSeq[fork] >= ForkSeq.gloas) {
369
- return deserializeResponse(BodiesResponseGloas, data, "getPayloadBodiesByHash").entries.map((entry) => entry.available ? entry.body : null);
374
+ return deserializeResponse(BodiesResponseGloas, data, "getPayloadBodiesByHash", metrics).entries.map((entry) => entry.available ? entry.body : null);
370
375
  }
371
376
  if (ForkSeq[fork] >= ForkSeq.capella) {
372
- return deserializeResponse(BodiesResponseCapella, data, "getPayloadBodiesByHash").entries.map((entry) => entry.available ? { ...entry.body, blockAccessList: null } : null);
377
+ return deserializeResponse(BodiesResponseCapella, data, "getPayloadBodiesByHash", metrics).entries.map((entry) => entry.available ? { ...entry.body, blockAccessList: null } : null);
373
378
  }
374
- return deserializeResponse(BodiesResponseBellatrix, data, "getPayloadBodiesByHash").entries.map((entry) => entry.available ? { transactions: entry.body.transactions, withdrawals: null, blockAccessList: null } : null);
379
+ return deserializeResponse(BodiesResponseBellatrix, data, "getPayloadBodiesByHash", metrics).entries.map((entry) => entry.available ? { transactions: entry.body.transactions, withdrawals: null, blockAccessList: null } : null);
375
380
  }
376
381
  /** A 2xx response that does not decode is an execution client error, not an unreachable client */
377
- function deserializeResponse(type, body, routeId, opts) {
382
+ function deserializeResponse(type, body, routeId, metrics, opts) {
383
+ const timer = metrics?.responseParseTime.startTimer({ routeId, encoding: "ssz" });
378
384
  try {
379
385
  return type.deserialize(body, opts);
380
386
  }
381
387
  catch (e) {
382
388
  throw new EngineRestResponseError(routeId, `Invalid SSZ: ${e.message}`);
383
389
  }
390
+ finally {
391
+ timer?.();
392
+ }
384
393
  }
385
- function parseJson(body, routeId) {
394
+ function parseJson(body, routeId, metrics) {
395
+ let timer;
386
396
  try {
387
- return JSON.parse(textDecoder.decode(body));
397
+ const text = textDecoder.decode(body);
398
+ timer = metrics?.responseParseTime.startTimer({ routeId, encoding: "json" });
399
+ return JSON.parse(text);
388
400
  }
389
401
  catch (e) {
390
402
  throw new EngineRestResponseError(routeId, `Invalid JSON: ${e.message}`);
391
403
  }
404
+ finally {
405
+ timer?.();
406
+ }
392
407
  }
393
408
  function isString(value) {
394
409
  return typeof value === "string";
@@ -1 +1 @@
1
- {"version":3,"file":"restTransport.js","sourceRoot":"","sources":["../../../src/execution/engine/restTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restTransport.js","sourceRoot":"","sources":["../../../src/execution/engine/restTransport.ts"],"names":[],"mappings":"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"}