@lodestar/beacon-node 1.38.0 → 1.39.0-dev.2fe8de2346

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 (365) hide show
  1. package/lib/api/impl/beacon/blocks/utils.js +1 -1
  2. package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
  3. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  4. package/lib/api/impl/beacon/state/index.js +4 -5
  5. package/lib/api/impl/beacon/state/index.js.map +1 -1
  6. package/lib/api/impl/validator/index.js +1 -1
  7. package/lib/api/impl/validator/index.js.map +1 -1
  8. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  9. package/lib/chain/blocks/verifyBlock.js +1 -21
  10. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  11. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -6
  12. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  13. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +10 -131
  14. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  15. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
  16. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  17. package/lib/chain/blocks/verifyBlocksSignatures.js +2 -2
  18. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  19. package/lib/chain/chain.d.ts +1 -4
  20. package/lib/chain/chain.d.ts.map +1 -1
  21. package/lib/chain/chain.js +6 -26
  22. package/lib/chain/chain.js.map +1 -1
  23. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  24. package/lib/chain/forkChoice/index.js +3 -3
  25. package/lib/chain/forkChoice/index.js.map +1 -1
  26. package/lib/chain/initState.d.ts +1 -14
  27. package/lib/chain/initState.d.ts.map +1 -1
  28. package/lib/chain/initState.js +1 -62
  29. package/lib/chain/initState.js.map +1 -1
  30. package/lib/chain/interface.d.ts +0 -2
  31. package/lib/chain/interface.d.ts.map +1 -1
  32. package/lib/chain/interface.js.map +1 -1
  33. package/lib/chain/options.d.ts +0 -4
  34. package/lib/chain/options.d.ts.map +1 -1
  35. package/lib/chain/options.js +0 -2
  36. package/lib/chain/options.js.map +1 -1
  37. package/lib/chain/prepareNextSlot.d.ts +0 -4
  38. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  39. package/lib/chain/prepareNextSlot.js +2 -22
  40. package/lib/chain/prepareNextSlot.js.map +1 -1
  41. package/lib/chain/produceBlock/produceBlockBody.d.ts +2 -22
  42. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  43. package/lib/chain/produceBlock/produceBlockBody.js +30 -96
  44. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  45. package/lib/chain/rewards/attestationsRewards.d.ts +3 -3
  46. package/lib/chain/rewards/attestationsRewards.d.ts.map +1 -1
  47. package/lib/chain/rewards/attestationsRewards.js +4 -4
  48. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  49. package/lib/chain/rewards/syncCommitteeRewards.d.ts +2 -2
  50. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +1 -1
  51. package/lib/chain/rewards/syncCommitteeRewards.js +1 -2
  52. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  53. package/lib/chain/validation/attesterSlashing.js +2 -2
  54. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  55. package/lib/chain/validation/blobSidecar.d.ts.map +1 -1
  56. package/lib/chain/validation/blobSidecar.js +2 -2
  57. package/lib/chain/validation/blobSidecar.js.map +1 -1
  58. package/lib/chain/validation/block.d.ts.map +1 -1
  59. package/lib/chain/validation/block.js +3 -3
  60. package/lib/chain/validation/block.js.map +1 -1
  61. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  62. package/lib/chain/validation/dataColumnSidecar.js +2 -2
  63. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  64. package/lib/chain/validation/proposerSlashing.js +1 -1
  65. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  66. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -2
  67. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  68. package/lib/chain/validation/signatureSets/contributionAndProof.js +2 -3
  69. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  70. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -2
  71. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  72. package/lib/chain/validation/signatureSets/syncCommittee.js +2 -2
  73. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  74. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -2
  75. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  76. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +3 -3
  77. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  78. package/lib/chain/validation/syncCommittee.js +1 -1
  79. package/lib/chain/validation/syncCommittee.js.map +1 -1
  80. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  81. package/lib/chain/validation/syncCommitteeContributionAndProof.js +4 -3
  82. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  83. package/lib/chain/validation/voluntaryExit.js +1 -1
  84. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  85. package/lib/db/beacon.d.ts +1 -7
  86. package/lib/db/beacon.d.ts.map +1 -1
  87. package/lib/db/beacon.js +1 -12
  88. package/lib/db/beacon.js.map +1 -1
  89. package/lib/db/buckets.d.ts +0 -6
  90. package/lib/db/buckets.d.ts.map +1 -1
  91. package/lib/db/buckets.js +6 -7
  92. package/lib/db/buckets.js.map +1 -1
  93. package/lib/db/interface.d.ts +1 -7
  94. package/lib/db/interface.d.ts.map +1 -1
  95. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  96. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  97. package/lib/db/repositories/index.d.ts +0 -3
  98. package/lib/db/repositories/index.d.ts.map +1 -1
  99. package/lib/db/repositories/index.js +0 -3
  100. package/lib/db/repositories/index.js.map +1 -1
  101. package/lib/execution/engine/http.d.ts +5 -13
  102. package/lib/execution/engine/http.d.ts.map +1 -1
  103. package/lib/execution/engine/http.js +6 -15
  104. package/lib/execution/engine/http.js.map +1 -1
  105. package/lib/execution/engine/index.d.ts.map +1 -1
  106. package/lib/execution/engine/index.js +1 -1
  107. package/lib/execution/engine/index.js.map +1 -1
  108. package/lib/execution/engine/interface.d.ts +1 -1
  109. package/lib/execution/engine/interface.d.ts.map +1 -1
  110. package/lib/execution/engine/interface.js.map +1 -1
  111. package/lib/{eth1/provider → execution/engine}/jsonRpcHttpClient.d.ts +1 -1
  112. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -0
  113. package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -0
  114. package/lib/execution/engine/jwt.d.ts.map +1 -0
  115. package/lib/execution/engine/jwt.js.map +1 -0
  116. package/lib/execution/engine/mock.d.ts +2 -6
  117. package/lib/execution/engine/mock.d.ts.map +1 -1
  118. package/lib/execution/engine/mock.js +4 -15
  119. package/lib/execution/engine/mock.js.map +1 -1
  120. package/lib/execution/engine/payloadIdCache.d.ts +1 -1
  121. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  122. package/lib/execution/engine/types.d.ts +1 -1
  123. package/lib/execution/engine/types.d.ts.map +1 -1
  124. package/lib/execution/engine/types.js +1 -1
  125. package/lib/execution/engine/types.js.map +1 -1
  126. package/lib/execution/engine/utils.d.ts +64 -2
  127. package/lib/execution/engine/utils.d.ts.map +1 -1
  128. package/lib/execution/engine/utils.js +91 -2
  129. package/lib/execution/engine/utils.js.map +1 -1
  130. package/lib/index.d.ts +1 -2
  131. package/lib/index.d.ts.map +1 -1
  132. package/lib/index.js +1 -2
  133. package/lib/index.js.map +1 -1
  134. package/lib/metrics/metrics/lodestar.d.ts +0 -49
  135. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  136. package/lib/metrics/metrics/lodestar.js +0 -134
  137. package/lib/metrics/metrics/lodestar.js.map +1 -1
  138. package/lib/network/core/events.d.ts +1 -1
  139. package/lib/network/core/events.d.ts.map +1 -1
  140. package/lib/network/core/events.js +1 -1
  141. package/lib/network/core/events.js.map +1 -1
  142. package/lib/network/events.d.ts +6 -1
  143. package/lib/network/events.d.ts.map +1 -1
  144. package/lib/network/events.js +7 -1
  145. package/lib/network/events.js.map +1 -1
  146. package/lib/node/nodejs.d.ts.map +1 -1
  147. package/lib/node/nodejs.js +0 -9
  148. package/lib/node/nodejs.js.map +1 -1
  149. package/lib/node/notifier.d.ts.map +1 -1
  150. package/lib/node/notifier.js +6 -22
  151. package/lib/node/notifier.js.map +1 -1
  152. package/lib/node/options.d.ts +0 -2
  153. package/lib/node/options.d.ts.map +1 -1
  154. package/lib/node/options.js +0 -2
  155. package/lib/node/options.js.map +1 -1
  156. package/lib/node/utils/interop/deposits.d.ts +2 -1
  157. package/lib/node/utils/interop/deposits.d.ts.map +1 -1
  158. package/lib/node/utils/interop/deposits.js.map +1 -1
  159. package/lib/node/utils/interop/state.d.ts +1 -1
  160. package/lib/node/utils/interop/state.d.ts.map +1 -1
  161. package/lib/node/utils/state.d.ts +1 -7
  162. package/lib/node/utils/state.d.ts.map +1 -1
  163. package/lib/node/utils/state.js +1 -14
  164. package/lib/node/utils/state.js.map +1 -1
  165. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  166. package/lib/sync/backfill/backfill.js +4 -2
  167. package/lib/sync/backfill/backfill.js.map +1 -1
  168. package/lib/sync/backfill/verify.d.ts +2 -2
  169. package/lib/sync/backfill/verify.d.ts.map +1 -1
  170. package/lib/sync/backfill/verify.js +3 -3
  171. package/lib/sync/backfill/verify.js.map +1 -1
  172. package/lib/util/workerEvents.d.ts +1 -6
  173. package/lib/util/workerEvents.d.ts.map +1 -1
  174. package/lib/util/workerEvents.js +8 -8
  175. package/lib/util/workerEvents.js.map +1 -1
  176. package/package.json +14 -21
  177. package/src/api/impl/beacon/blocks/utils.ts +1 -1
  178. package/src/api/impl/beacon/state/index.ts +4 -5
  179. package/src/api/impl/validator/index.ts +1 -1
  180. package/src/chain/blocks/verifyBlock.ts +2 -24
  181. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +11 -170
  182. package/src/chain/blocks/verifyBlocksSignatures.ts +3 -2
  183. package/src/chain/chain.ts +5 -30
  184. package/src/chain/forkChoice/index.ts +2 -3
  185. package/src/chain/initState.ts +1 -97
  186. package/src/chain/interface.ts +0 -2
  187. package/src/chain/options.ts +0 -6
  188. package/src/chain/prepareNextSlot.ts +2 -29
  189. package/src/chain/produceBlock/produceBlockBody.ts +31 -130
  190. package/src/chain/rewards/attestationsRewards.ts +6 -5
  191. package/src/chain/rewards/syncCommitteeRewards.ts +2 -2
  192. package/src/chain/validation/attesterSlashing.ts +2 -2
  193. package/src/chain/validation/blobSidecar.ts +10 -2
  194. package/src/chain/validation/block.ts +2 -3
  195. package/src/chain/validation/dataColumnSidecar.ts +6 -1
  196. package/src/chain/validation/proposerSlashing.ts +1 -1
  197. package/src/chain/validation/signatureSets/contributionAndProof.ts +3 -2
  198. package/src/chain/validation/signatureSets/syncCommittee.ts +3 -1
  199. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +4 -2
  200. package/src/chain/validation/syncCommittee.ts +1 -1
  201. package/src/chain/validation/syncCommitteeContributionAndProof.ts +4 -5
  202. package/src/chain/validation/voluntaryExit.ts +1 -1
  203. package/src/db/beacon.ts +0 -15
  204. package/src/db/buckets.ts +6 -7
  205. package/src/db/interface.ts +0 -13
  206. package/src/db/repositories/index.ts +0 -3
  207. package/src/execution/engine/http.ts +12 -21
  208. package/src/execution/engine/index.ts +1 -1
  209. package/src/execution/engine/interface.ts +1 -1
  210. package/src/{eth1/provider → execution/engine}/jsonRpcHttpClient.ts +1 -1
  211. package/src/execution/engine/mock.ts +4 -17
  212. package/src/execution/engine/payloadIdCache.ts +1 -1
  213. package/src/execution/engine/types.ts +9 -9
  214. package/src/execution/engine/utils.ts +111 -5
  215. package/src/index.ts +1 -2
  216. package/src/metrics/metrics/lodestar.ts +0 -144
  217. package/src/network/core/events.ts +1 -1
  218. package/src/network/events.ts +7 -1
  219. package/src/node/nodejs.ts +0 -9
  220. package/src/node/notifier.ts +7 -29
  221. package/src/node/options.ts +0 -3
  222. package/src/node/utils/interop/deposits.ts +3 -1
  223. package/src/node/utils/interop/state.ts +1 -1
  224. package/src/node/utils/state.ts +3 -18
  225. package/src/sync/backfill/backfill.ts +9 -2
  226. package/src/sync/backfill/verify.ts +8 -2
  227. package/src/util/workerEvents.ts +9 -8
  228. package/lib/chain/genesis/genesis.d.ts +0 -51
  229. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  230. package/lib/chain/genesis/genesis.js +0 -123
  231. package/lib/chain/genesis/genesis.js.map +0 -1
  232. package/lib/chain/genesis/interface.d.ts +0 -13
  233. package/lib/chain/genesis/interface.d.ts.map +0 -1
  234. package/lib/chain/genesis/interface.js +0 -2
  235. package/lib/chain/genesis/interface.js.map +0 -1
  236. package/lib/db/repositories/depositDataRoot.d.ts +0 -22
  237. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  238. package/lib/db/repositories/depositDataRoot.js +0 -62
  239. package/lib/db/repositories/depositDataRoot.js.map +0 -1
  240. package/lib/db/repositories/depositEvent.d.ts +0 -13
  241. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  242. package/lib/db/repositories/depositEvent.js +0 -27
  243. package/lib/db/repositories/depositEvent.js.map +0 -1
  244. package/lib/db/repositories/eth1Data.d.ts +0 -13
  245. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  246. package/lib/db/repositories/eth1Data.js +0 -26
  247. package/lib/db/repositories/eth1Data.js.map +0 -1
  248. package/lib/db/single/index.d.ts +0 -3
  249. package/lib/db/single/index.d.ts.map +0 -1
  250. package/lib/db/single/index.js +0 -3
  251. package/lib/db/single/index.js.map +0 -1
  252. package/lib/db/single/preGenesisState.d.ts +0 -16
  253. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  254. package/lib/db/single/preGenesisState.js +0 -29
  255. package/lib/db/single/preGenesisState.js.map +0 -1
  256. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +0 -14
  257. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  258. package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -27
  259. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +0 -1
  260. package/lib/eth1/errors.d.ts +0 -66
  261. package/lib/eth1/errors.d.ts.map +0 -1
  262. package/lib/eth1/errors.js +0 -27
  263. package/lib/eth1/errors.js.map +0 -1
  264. package/lib/eth1/eth1DataCache.d.ts +0 -19
  265. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  266. package/lib/eth1/eth1DataCache.js +0 -19
  267. package/lib/eth1/eth1DataCache.js.map +0 -1
  268. package/lib/eth1/eth1DepositDataTracker.d.ts +0 -80
  269. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  270. package/lib/eth1/eth1DepositDataTracker.js +0 -317
  271. package/lib/eth1/eth1DepositDataTracker.js.map +0 -1
  272. package/lib/eth1/eth1DepositsCache.d.ts +0 -42
  273. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  274. package/lib/eth1/eth1DepositsCache.js +0 -119
  275. package/lib/eth1/eth1DepositsCache.js.map +0 -1
  276. package/lib/eth1/eth1MergeBlockTracker.d.ts +0 -65
  277. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  278. package/lib/eth1/eth1MergeBlockTracker.js +0 -262
  279. package/lib/eth1/eth1MergeBlockTracker.js.map +0 -1
  280. package/lib/eth1/index.d.ts +0 -46
  281. package/lib/eth1/index.d.ts.map +0 -1
  282. package/lib/eth1/index.js +0 -121
  283. package/lib/eth1/index.js.map +0 -1
  284. package/lib/eth1/interface.d.ts +0 -112
  285. package/lib/eth1/interface.d.ts.map +0 -1
  286. package/lib/eth1/interface.js +0 -8
  287. package/lib/eth1/interface.js.map +0 -1
  288. package/lib/eth1/options.d.ts +0 -22
  289. package/lib/eth1/options.d.ts.map +0 -1
  290. package/lib/eth1/options.js +0 -8
  291. package/lib/eth1/options.js.map +0 -1
  292. package/lib/eth1/provider/eth1Provider.d.ts +0 -39
  293. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  294. package/lib/eth1/provider/eth1Provider.js +0 -147
  295. package/lib/eth1/provider/eth1Provider.js.map +0 -1
  296. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  297. package/lib/eth1/provider/jsonRpcHttpClient.js.map +0 -1
  298. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  299. package/lib/eth1/provider/jwt.js.map +0 -1
  300. package/lib/eth1/provider/utils.d.ts +0 -65
  301. package/lib/eth1/provider/utils.d.ts.map +0 -1
  302. package/lib/eth1/provider/utils.js +0 -120
  303. package/lib/eth1/provider/utils.js.map +0 -1
  304. package/lib/eth1/stream.d.ts +0 -15
  305. package/lib/eth1/stream.d.ts.map +0 -1
  306. package/lib/eth1/stream.js +0 -54
  307. package/lib/eth1/stream.js.map +0 -1
  308. package/lib/eth1/utils/depositContract.d.ts +0 -14
  309. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  310. package/lib/eth1/utils/depositContract.js +0 -33
  311. package/lib/eth1/utils/depositContract.js.map +0 -1
  312. package/lib/eth1/utils/deposits.d.ts +0 -8
  313. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  314. package/lib/eth1/utils/deposits.js +0 -47
  315. package/lib/eth1/utils/deposits.js.map +0 -1
  316. package/lib/eth1/utils/eth1Data.d.ts +0 -22
  317. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  318. package/lib/eth1/utils/eth1Data.js +0 -77
  319. package/lib/eth1/utils/eth1Data.js.map +0 -1
  320. package/lib/eth1/utils/eth1DepositEvent.d.ts +0 -7
  321. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  322. package/lib/eth1/utils/eth1DepositEvent.js +0 -13
  323. package/lib/eth1/utils/eth1DepositEvent.js.map +0 -1
  324. package/lib/eth1/utils/eth1Vote.d.ts +0 -17
  325. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  326. package/lib/eth1/utils/eth1Vote.js +0 -111
  327. package/lib/eth1/utils/eth1Vote.js.map +0 -1
  328. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts +0 -9
  329. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  330. package/lib/eth1/utils/groupDepositEventsByBlock.js +0 -17
  331. package/lib/eth1/utils/groupDepositEventsByBlock.js.map +0 -1
  332. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts +0 -10
  333. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  334. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +0 -14
  335. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +0 -1
  336. package/src/chain/genesis/genesis.ts +0 -190
  337. package/src/chain/genesis/interface.ts +0 -14
  338. package/src/db/repositories/depositDataRoot.ts +0 -80
  339. package/src/db/repositories/depositEvent.ts +0 -32
  340. package/src/db/repositories/eth1Data.ts +0 -33
  341. package/src/db/single/index.ts +0 -2
  342. package/src/db/single/preGenesisState.ts +0 -37
  343. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  344. package/src/eth1/errors.ts +0 -40
  345. package/src/eth1/eth1DataCache.ts +0 -26
  346. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  347. package/src/eth1/eth1DepositsCache.ts +0 -141
  348. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  349. package/src/eth1/index.ts +0 -157
  350. package/src/eth1/interface.ts +0 -131
  351. package/src/eth1/options.ts +0 -28
  352. package/src/eth1/provider/eth1Provider.ts +0 -229
  353. package/src/eth1/provider/utils.ts +0 -136
  354. package/src/eth1/stream.ts +0 -75
  355. package/src/eth1/utils/depositContract.ts +0 -37
  356. package/src/eth1/utils/deposits.ts +0 -70
  357. package/src/eth1/utils/eth1Data.ts +0 -100
  358. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  359. package/src/eth1/utils/eth1Vote.ts +0 -142
  360. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  361. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  362. /package/lib/{eth1/provider → execution/engine}/jsonRpcHttpClient.js +0 -0
  363. /package/lib/{eth1/provider → execution/engine}/jwt.d.ts +0 -0
  364. /package/lib/{eth1/provider → execution/engine}/jwt.js +0 -0
  365. /package/src/{eth1/provider → execution/engine}/jwt.ts +0 -0
@@ -1,80 +0,0 @@
1
- import {ByteVectorType, CompositeViewDU, ListCompositeType} from "@chainsafe/ssz";
2
- import {ChainForkConfig} from "@lodestar/config";
3
- import {Db, KeyValue, Repository} from "@lodestar/db";
4
- import {Root, ssz} from "@lodestar/types";
5
- import {bytesToInt} from "@lodestar/utils";
6
- import {Bucket, getBucketNameByValue} from "../buckets.js";
7
-
8
- // TODO: Review where is best to put this type
9
- export type DepositTree = CompositeViewDU<ListCompositeType<ByteVectorType>>;
10
-
11
- export class DepositDataRootRepository extends Repository<number, Root> {
12
- private depositRootTree?: DepositTree;
13
-
14
- constructor(config: ChainForkConfig, db: Db) {
15
- const bucket = Bucket.index_depositDataRoot;
16
- super(config, db, bucket, ssz.Root, getBucketNameByValue(bucket));
17
- }
18
-
19
- decodeKey(data: Buffer): number {
20
- return bytesToInt(super.decodeKey(data) as unknown as Uint8Array, "be");
21
- }
22
-
23
- // depositDataRoots stored by depositData index
24
- getId(_value: Root): number {
25
- throw new Error("Unable to create depositIndex from root");
26
- }
27
-
28
- async put(index: number, value: Root): Promise<void> {
29
- await super.put(index, value);
30
- await this.depositRootTreeSet(index, value);
31
- }
32
-
33
- async batchPut(items: KeyValue<number, Root>[]): Promise<void> {
34
- await super.batchPut(items);
35
- for (const {key, value} of items) {
36
- await this.depositRootTreeSet(key, value);
37
- }
38
- }
39
-
40
- async putList(roots: Root[]): Promise<void> {
41
- await this.batchPut(roots.map((root, index) => ({key: index, value: root})));
42
- }
43
-
44
- async batchPutValues(values: {index: number; root: Root}[]): Promise<void> {
45
- await this.batchPut(
46
- values.map(({index, root}) => ({
47
- key: index,
48
- value: root,
49
- }))
50
- );
51
- }
52
-
53
- async getDepositRootTree(): Promise<DepositTree> {
54
- if (!this.depositRootTree) {
55
- const values = await this.values();
56
- this.depositRootTree = ssz.phase0.DepositDataRootList.toViewDU(values);
57
- }
58
- return this.depositRootTree;
59
- }
60
-
61
- async getDepositRootTreeAtIndex(depositIndex: number): Promise<DepositTree> {
62
- const depositRootTree = await this.getDepositRootTree();
63
- return depositRootTree.sliceTo(depositIndex);
64
- }
65
-
66
- private async depositRootTreeSet(index: number, value: Uint8Array): Promise<void> {
67
- const depositRootTree = await this.getDepositRootTree();
68
-
69
- // TODO: Review and fix properly
70
- if (index > depositRootTree.length) {
71
- throw Error(`Error setting depositRootTree index ${index} > length ${depositRootTree.length}`);
72
- }
73
-
74
- if (index === depositRootTree.length) {
75
- depositRootTree.push(value);
76
- } else {
77
- depositRootTree.set(index, value);
78
- }
79
- }
80
- }
@@ -1,32 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {Db, Repository} from "@lodestar/db";
3
- import {phase0, ssz} from "@lodestar/types";
4
- import {Bucket, getBucketNameByValue} from "../buckets.js";
5
-
6
- /**
7
- * DepositData indexed by deposit index
8
- * Removed when included on chain or old
9
- */
10
- export class DepositEventRepository extends Repository<number, phase0.DepositEvent> {
11
- constructor(config: ChainForkConfig, db: Db) {
12
- const bucket = Bucket.phase0_depositEvent;
13
- super(config, db, bucket, ssz.phase0.DepositEvent, getBucketNameByValue(bucket));
14
- }
15
-
16
- async deleteOld(depositCount: number): Promise<void> {
17
- const firstDepositIndex = await this.firstKey();
18
- if (firstDepositIndex === null) {
19
- return;
20
- }
21
- await this.batchDelete(Array.from({length: depositCount - firstDepositIndex}, (_, i) => i + firstDepositIndex));
22
- }
23
-
24
- async batchPutValues(depositEvents: phase0.DepositEvent[]): Promise<void> {
25
- await this.batchPut(
26
- depositEvents.map((depositEvent) => ({
27
- key: depositEvent.index,
28
- value: depositEvent,
29
- }))
30
- );
31
- }
32
- }
@@ -1,33 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {Db, Repository} from "@lodestar/db";
3
- import {phase0, ssz} from "@lodestar/types";
4
- import {bytesToInt} from "@lodestar/utils";
5
- import {Bucket, getBucketNameByValue} from "../buckets.js";
6
-
7
- export class Eth1DataRepository extends Repository<number, phase0.Eth1DataOrdered> {
8
- constructor(config: ChainForkConfig, db: Db) {
9
- const bucket = Bucket.phase0_eth1Data;
10
- super(config, db, bucket, ssz.phase0.Eth1DataOrdered, getBucketNameByValue(bucket));
11
- }
12
-
13
- decodeKey(data: Buffer): number {
14
- return bytesToInt(super.decodeKey(data) as unknown as Uint8Array, "be");
15
- }
16
-
17
- getId(_value: phase0.Eth1Data): number {
18
- throw new Error("Unable to create timestamp from block hash");
19
- }
20
-
21
- async batchPutValues(eth1Datas: (phase0.Eth1DataOrdered & {timestamp: number})[]): Promise<void> {
22
- await this.batchPut(
23
- eth1Datas.map((eth1Data) => ({
24
- key: eth1Data.timestamp,
25
- value: eth1Data,
26
- }))
27
- );
28
- }
29
-
30
- async deleteOld(timestamp: number): Promise<void> {
31
- await this.batchDelete(await this.keys({lt: timestamp}));
32
- }
33
- }
@@ -1,2 +0,0 @@
1
- export {PreGenesisState} from "./preGenesisState.js";
2
- export {PreGenesisStateLastProcessedBlock} from "./preGenesisStateLastProcessedBlock.js";
@@ -1,37 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {Db, DbReqOpts} from "@lodestar/db";
3
- import {ForkAll, GENESIS_SLOT} from "@lodestar/params";
4
- import {BeaconStateAllForks} from "@lodestar/state-transition";
5
- import {SSZTypesFor} from "@lodestar/types";
6
- import {Bucket, getBucketNameByValue} from "../buckets.js";
7
-
8
- export class PreGenesisState {
9
- private readonly config: ChainForkConfig;
10
- private readonly bucket: Bucket;
11
- private readonly db: Db;
12
- private readonly key: Uint8Array;
13
- private readonly type: SSZTypesFor<ForkAll, "BeaconState">;
14
- private readonly dbReqOpts: DbReqOpts;
15
-
16
- constructor(config: ChainForkConfig, db: Db) {
17
- this.config = config;
18
- this.db = db;
19
- this.bucket = Bucket.phase0_preGenesisState;
20
- this.key = new Uint8Array([this.bucket]);
21
- this.type = this.config.getForkTypes(GENESIS_SLOT).BeaconState;
22
- this.dbReqOpts = {bucketId: getBucketNameByValue(this.bucket)};
23
- }
24
-
25
- async put(value: BeaconStateAllForks): Promise<void> {
26
- await this.db.put(this.key, value.serialize(), this.dbReqOpts);
27
- }
28
-
29
- async get(): Promise<BeaconStateAllForks | null> {
30
- const value = await this.db.get(this.key, this.dbReqOpts);
31
- return value ? this.type.deserializeToViewDU(value) : null;
32
- }
33
-
34
- async delete(): Promise<void> {
35
- await this.db.delete(this.key, this.dbReqOpts);
36
- }
37
- }
@@ -1,34 +0,0 @@
1
- import {UintNumberType} from "@chainsafe/ssz";
2
- import {ChainForkConfig} from "@lodestar/config";
3
- import {Db, DbReqOpts} from "@lodestar/db";
4
- import {ssz} from "@lodestar/types";
5
- import {Bucket, getBucketNameByValue} from "../buckets.js";
6
-
7
- export class PreGenesisStateLastProcessedBlock {
8
- private readonly bucket: Bucket;
9
- private readonly type: UintNumberType;
10
- private readonly db: Db;
11
- private readonly key: Uint8Array;
12
- private readonly dbReqOpts: DbReqOpts;
13
-
14
- constructor(_config: ChainForkConfig, db: Db) {
15
- this.db = db;
16
- this.type = ssz.UintNum64;
17
- this.bucket = Bucket.phase0_preGenesisStateLastProcessedBlock;
18
- this.key = new Uint8Array([this.bucket]);
19
- this.dbReqOpts = {bucketId: getBucketNameByValue(this.bucket)};
20
- }
21
-
22
- async put(value: number): Promise<void> {
23
- await this.db.put(this.key, this.type.serialize(value), this.dbReqOpts);
24
- }
25
-
26
- async get(): Promise<number | null> {
27
- const value = await this.db.get(this.key, this.dbReqOpts);
28
- return value ? this.type.deserialize(value) : null;
29
- }
30
-
31
- async delete(): Promise<void> {
32
- await this.db.delete(this.key, this.dbReqOpts);
33
- }
34
- }
@@ -1,40 +0,0 @@
1
- import {LodestarError} from "@lodestar/utils";
2
-
3
- export enum Eth1ErrorCode {
4
- /** Deposit index too high */
5
- DEPOSIT_INDEX_TOO_HIGH = "ETH1_ERROR_DEPOSIT_INDEX_TOO_HIGH",
6
- /** Not enough deposits in DB */
7
- NOT_ENOUGH_DEPOSITS = "ETH1_ERROR_NOT_ENOUGH_DEPOSITS",
8
- /** Too many deposits returned by DB */
9
- TOO_MANY_DEPOSITS = "ETH1_ERROR_TOO_MANY_DEPOSITS",
10
- /** Deposit root tree does not match current eth1Data */
11
- WRONG_DEPOSIT_ROOT = "ETH1_ERROR_WRONG_DEPOSIT_ROOT",
12
-
13
- /** No deposits found for block range */
14
- NO_DEPOSITS_FOR_BLOCK_RANGE = "ETH1_ERROR_NO_DEPOSITS_FOR_BLOCK_RANGE",
15
- /** No depositRoot for depositCount */
16
- NO_DEPOSIT_ROOT = "ETH1_ERROR_NO_DEPOSIT_ROOT",
17
- /** Not enough deposit roots for index */
18
- NOT_ENOUGH_DEPOSIT_ROOTS = "ETH1_ERROR_NOT_ENOUGH_DEPOSIT_ROOTS",
19
-
20
- /** Attempted to insert a duplicate log for same index into the Eth1DepositsCache */
21
- DUPLICATE_DISTINCT_LOG = "ETH1_ERROR_DUPLICATE_DISTINCT_LOG",
22
- /** Attempted to insert a log with index != prev + 1 into the Eth1DepositsCache */
23
- NON_CONSECUTIVE_LOGS = "ETH1_ERROR_NON_CONSECUTIVE_LOGS",
24
- /** Expected a deposit log in the db for the index, missing log implies a corrupted db */
25
- MISSING_DEPOSIT_LOG = "ETH1_ERROR_MISSING_DEPOSIT_LOG",
26
- }
27
-
28
- export type Eth1ErrorType =
29
- | {code: Eth1ErrorCode.DEPOSIT_INDEX_TOO_HIGH; depositIndex: number; depositCount: number}
30
- | {code: Eth1ErrorCode.NOT_ENOUGH_DEPOSITS; len: number; expectedLen: number}
31
- | {code: Eth1ErrorCode.TOO_MANY_DEPOSITS; len: number; expectedLen: number}
32
- | {code: Eth1ErrorCode.WRONG_DEPOSIT_ROOT; root: string; expectedRoot: string}
33
- | {code: Eth1ErrorCode.NO_DEPOSITS_FOR_BLOCK_RANGE; fromBlock: number; toBlock: number}
34
- | {code: Eth1ErrorCode.NO_DEPOSIT_ROOT; depositCount: number}
35
- | {code: Eth1ErrorCode.NOT_ENOUGH_DEPOSIT_ROOTS; index: number; treeLength: number}
36
- | {code: Eth1ErrorCode.DUPLICATE_DISTINCT_LOG; newIndex: number; lastLogIndex: number}
37
- | {code: Eth1ErrorCode.NON_CONSECUTIVE_LOGS; newIndex: number; lastLogIndex: number}
38
- | {code: Eth1ErrorCode.MISSING_DEPOSIT_LOG; newIndex: number; lastLogIndex: number};
39
-
40
- export class Eth1Error extends LodestarError<Eth1ErrorType> {}
@@ -1,26 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {phase0} from "@lodestar/types";
3
- import {IBeaconDb} from "../db/index.js";
4
-
5
- export class Eth1DataCache {
6
- db: IBeaconDb;
7
- config: ChainForkConfig;
8
-
9
- constructor(config: ChainForkConfig, db: IBeaconDb) {
10
- this.config = config;
11
- this.db = db;
12
- }
13
-
14
- async get({timestampRange}: {timestampRange: {gte: number; lte: number}}): Promise<phase0.Eth1DataOrdered[]> {
15
- return this.db.eth1Data.values(timestampRange);
16
- }
17
-
18
- async add(eth1Datas: (phase0.Eth1DataOrdered & {timestamp: number})[]): Promise<void> {
19
- await this.db.eth1Data.batchPutValues(eth1Datas);
20
- }
21
-
22
- async getHighestCachedBlockNumber(): Promise<number | null> {
23
- const highestEth1Data = await this.db.eth1Data.lastValue();
24
- return highestEth1Data?.blockNumber ?? null;
25
- }
26
- }