@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 +0,0 @@
1
- {"version":3,"file":"depositEvent.js","sourceRoot":"","sources":["../../../src/db/repositories/depositEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAuC;IACjF,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAC1C,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAAoB;QAClC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,aAAoC;QACvD,MAAM,IAAI,CAAC,QAAQ,CACjB,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,EAAE,YAAY,CAAC,KAAK;YACvB,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- import { ChainForkConfig } from "@lodestar/config";
2
- import { Db, Repository } from "@lodestar/db";
3
- import { phase0 } from "@lodestar/types";
4
- export declare class Eth1DataRepository extends Repository<number, phase0.Eth1DataOrdered> {
5
- constructor(config: ChainForkConfig, db: Db);
6
- decodeKey(data: Buffer): number;
7
- getId(_value: phase0.Eth1Data): number;
8
- batchPutValues(eth1Datas: (phase0.Eth1DataOrdered & {
9
- timestamp: number;
10
- })[]): Promise<void>;
11
- deleteOld(timestamp: number): Promise<void>;
12
- }
13
- //# sourceMappingURL=eth1Data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eth1Data.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/eth1Data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAI5C,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;gBACpE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAK3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM;IAIhC,cAAc,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1F,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD"}
@@ -1,26 +0,0 @@
1
- import { Repository } from "@lodestar/db";
2
- import { ssz } from "@lodestar/types";
3
- import { bytesToInt } from "@lodestar/utils";
4
- import { Bucket, getBucketNameByValue } from "../buckets.js";
5
- export class Eth1DataRepository extends Repository {
6
- constructor(config, db) {
7
- const bucket = Bucket.phase0_eth1Data;
8
- super(config, db, bucket, ssz.phase0.Eth1DataOrdered, getBucketNameByValue(bucket));
9
- }
10
- decodeKey(data) {
11
- return bytesToInt(super.decodeKey(data), "be");
12
- }
13
- getId(_value) {
14
- throw new Error("Unable to create timestamp from block hash");
15
- }
16
- async batchPutValues(eth1Datas) {
17
- await this.batchPut(eth1Datas.map((eth1Data) => ({
18
- key: eth1Data.timestamp,
19
- value: eth1Data,
20
- })));
21
- }
22
- async deleteOld(timestamp) {
23
- await this.batchDelete(await this.keys({ lt: timestamp }));
24
- }
25
- }
26
- //# sourceMappingURL=eth1Data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eth1Data.js","sourceRoot":"","sources":["../../../src/db/repositories/eth1Data.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,kBAAmB,SAAQ,UAA0C;IAChF,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QACtC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAuB;QAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAA2D;QAC9E,MAAM,IAAI,CAAC,QAAQ,CACjB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,EAAE,QAAQ,CAAC,SAAS;YACvB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export { PreGenesisState } from "./preGenesisState.js";
2
- export { PreGenesisStateLastProcessedBlock } from "./preGenesisStateLastProcessedBlock.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/single/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,iCAAiC,EAAC,MAAM,wCAAwC,CAAC"}
@@ -1,3 +0,0 @@
1
- export { PreGenesisState } from "./preGenesisState.js";
2
- export { PreGenesisStateLastProcessedBlock } from "./preGenesisStateLastProcessedBlock.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/single/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,iCAAiC,EAAC,MAAM,wCAAwC,CAAC"}
@@ -1,16 +0,0 @@
1
- import { ChainForkConfig } from "@lodestar/config";
2
- import { Db } from "@lodestar/db";
3
- import { BeaconStateAllForks } from "@lodestar/state-transition";
4
- export declare class PreGenesisState {
5
- private readonly config;
6
- private readonly bucket;
7
- private readonly db;
8
- private readonly key;
9
- private readonly type;
10
- private readonly dbReqOpts;
11
- constructor(config: ChainForkConfig, db: Db);
12
- put(value: BeaconStateAllForks): Promise<void>;
13
- get(): Promise<BeaconStateAllForks | null>;
14
- delete(): Promise<void>;
15
- }
16
- //# sourceMappingURL=preGenesisState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preGenesisState.d.ts","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAI/D,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IASrC,GAAG,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,GAAG,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAK1C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -1,29 +0,0 @@
1
- import { GENESIS_SLOT } from "@lodestar/params";
2
- import { Bucket, getBucketNameByValue } from "../buckets.js";
3
- export class PreGenesisState {
4
- config;
5
- bucket;
6
- db;
7
- key;
8
- type;
9
- dbReqOpts;
10
- constructor(config, db) {
11
- this.config = config;
12
- this.db = db;
13
- this.bucket = Bucket.phase0_preGenesisState;
14
- this.key = new Uint8Array([this.bucket]);
15
- this.type = this.config.getForkTypes(GENESIS_SLOT).BeaconState;
16
- this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
17
- }
18
- async put(value) {
19
- await this.db.put(this.key, value.serialize(), this.dbReqOpts);
20
- }
21
- async get() {
22
- const value = await this.db.get(this.key, this.dbReqOpts);
23
- return value ? this.type.deserializeToViewDU(value) : null;
24
- }
25
- async delete() {
26
- await this.db.delete(this.key, this.dbReqOpts);
27
- }
28
- }
29
- //# sourceMappingURL=preGenesisState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preGenesisState.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,eAAe;IACT,MAAM,CAAkB;IACxB,MAAM,CAAS;IACf,EAAE,CAAK;IACP,GAAG,CAAa;IAChB,IAAI,CAAsC;IAC1C,SAAS,CAAY;IAEtC,YAAY,MAAuB,EAAE,EAAM;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAA0B;QAClC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- import { ChainForkConfig } from "@lodestar/config";
2
- import { Db } from "@lodestar/db";
3
- export declare class PreGenesisStateLastProcessedBlock {
4
- private readonly bucket;
5
- private readonly type;
6
- private readonly db;
7
- private readonly key;
8
- private readonly dbReqOpts;
9
- constructor(_config: ChainForkConfig, db: Db);
10
- put(value: number): Promise<void>;
11
- get(): Promise<number | null>;
12
- delete(): Promise<void>;
13
- }
14
- //# sourceMappingURL=preGenesisStateLastProcessedBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preGenesisStateLastProcessedBlock.d.ts","sourceRoot":"","sources":["../../../src/db/single/preGenesisStateLastProcessedBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAI3C,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAQtC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -1,27 +0,0 @@
1
- import { ssz } from "@lodestar/types";
2
- import { Bucket, getBucketNameByValue } from "../buckets.js";
3
- export class PreGenesisStateLastProcessedBlock {
4
- bucket;
5
- type;
6
- db;
7
- key;
8
- dbReqOpts;
9
- constructor(_config, db) {
10
- this.db = db;
11
- this.type = ssz.UintNum64;
12
- this.bucket = Bucket.phase0_preGenesisStateLastProcessedBlock;
13
- this.key = new Uint8Array([this.bucket]);
14
- this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
15
- }
16
- async put(value) {
17
- await this.db.put(this.key, this.type.serialize(value), this.dbReqOpts);
18
- }
19
- async get() {
20
- const value = await this.db.get(this.key, this.dbReqOpts);
21
- return value ? this.type.deserialize(value) : null;
22
- }
23
- async delete() {
24
- await this.db.delete(this.key, this.dbReqOpts);
25
- }
26
- }
27
- //# sourceMappingURL=preGenesisStateLastProcessedBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preGenesisStateLastProcessedBlock.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisStateLastProcessedBlock.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,iCAAiC;IAC3B,MAAM,CAAS;IACf,IAAI,CAAiB;IACrB,EAAE,CAAK;IACP,GAAG,CAAa;IAChB,SAAS,CAAY;IAEtC,YAAY,OAAwB,EAAE,EAAM;QAC1C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,wCAAwC,CAAC;QAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
@@ -1,66 +0,0 @@
1
- import { LodestarError } from "@lodestar/utils";
2
- export declare enum Eth1ErrorCode {
3
- /** Deposit index too high */
4
- DEPOSIT_INDEX_TOO_HIGH = "ETH1_ERROR_DEPOSIT_INDEX_TOO_HIGH",
5
- /** Not enough deposits in DB */
6
- NOT_ENOUGH_DEPOSITS = "ETH1_ERROR_NOT_ENOUGH_DEPOSITS",
7
- /** Too many deposits returned by DB */
8
- TOO_MANY_DEPOSITS = "ETH1_ERROR_TOO_MANY_DEPOSITS",
9
- /** Deposit root tree does not match current eth1Data */
10
- WRONG_DEPOSIT_ROOT = "ETH1_ERROR_WRONG_DEPOSIT_ROOT",
11
- /** No deposits found for block range */
12
- NO_DEPOSITS_FOR_BLOCK_RANGE = "ETH1_ERROR_NO_DEPOSITS_FOR_BLOCK_RANGE",
13
- /** No depositRoot for depositCount */
14
- NO_DEPOSIT_ROOT = "ETH1_ERROR_NO_DEPOSIT_ROOT",
15
- /** Not enough deposit roots for index */
16
- NOT_ENOUGH_DEPOSIT_ROOTS = "ETH1_ERROR_NOT_ENOUGH_DEPOSIT_ROOTS",
17
- /** Attempted to insert a duplicate log for same index into the Eth1DepositsCache */
18
- DUPLICATE_DISTINCT_LOG = "ETH1_ERROR_DUPLICATE_DISTINCT_LOG",
19
- /** Attempted to insert a log with index != prev + 1 into the Eth1DepositsCache */
20
- NON_CONSECUTIVE_LOGS = "ETH1_ERROR_NON_CONSECUTIVE_LOGS",
21
- /** Expected a deposit log in the db for the index, missing log implies a corrupted db */
22
- MISSING_DEPOSIT_LOG = "ETH1_ERROR_MISSING_DEPOSIT_LOG"
23
- }
24
- export type Eth1ErrorType = {
25
- code: Eth1ErrorCode.DEPOSIT_INDEX_TOO_HIGH;
26
- depositIndex: number;
27
- depositCount: number;
28
- } | {
29
- code: Eth1ErrorCode.NOT_ENOUGH_DEPOSITS;
30
- len: number;
31
- expectedLen: number;
32
- } | {
33
- code: Eth1ErrorCode.TOO_MANY_DEPOSITS;
34
- len: number;
35
- expectedLen: number;
36
- } | {
37
- code: Eth1ErrorCode.WRONG_DEPOSIT_ROOT;
38
- root: string;
39
- expectedRoot: string;
40
- } | {
41
- code: Eth1ErrorCode.NO_DEPOSITS_FOR_BLOCK_RANGE;
42
- fromBlock: number;
43
- toBlock: number;
44
- } | {
45
- code: Eth1ErrorCode.NO_DEPOSIT_ROOT;
46
- depositCount: number;
47
- } | {
48
- code: Eth1ErrorCode.NOT_ENOUGH_DEPOSIT_ROOTS;
49
- index: number;
50
- treeLength: number;
51
- } | {
52
- code: Eth1ErrorCode.DUPLICATE_DISTINCT_LOG;
53
- newIndex: number;
54
- lastLogIndex: number;
55
- } | {
56
- code: Eth1ErrorCode.NON_CONSECUTIVE_LOGS;
57
- newIndex: number;
58
- lastLogIndex: number;
59
- } | {
60
- code: Eth1ErrorCode.MISSING_DEPOSIT_LOG;
61
- newIndex: number;
62
- lastLogIndex: number;
63
- };
64
- export declare class Eth1Error extends LodestarError<Eth1ErrorType> {
65
- }
66
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/eth1/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,oBAAY,aAAa;IACvB,6BAA6B;IAC7B,sBAAsB,sCAAsC;IAC5D,gCAAgC;IAChC,mBAAmB,mCAAmC;IACtD,uCAAuC;IACvC,iBAAiB,iCAAiC;IAClD,wDAAwD;IACxD,kBAAkB,kCAAkC;IAEpD,wCAAwC;IACxC,2BAA2B,2CAA2C;IACtE,sCAAsC;IACtC,eAAe,+BAA+B;IAC9C,yCAAyC;IACzC,wBAAwB,wCAAwC;IAEhE,oFAAoF;IACpF,sBAAsB,sCAAsC;IAC5D,kFAAkF;IAClF,oBAAoB,oCAAoC;IACxD,yFAAyF;IACzF,mBAAmB,mCAAmC;CACvD;AAED,MAAM,MAAM,aAAa,GACrB;IAAC,IAAI,EAAE,aAAa,CAAC,sBAAsB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GACxF;IAAC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAC3E;IAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GACzE;IAAC,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC5E;IAAC,IAAI,EAAE,aAAa,CAAC,2BAA2B,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACrF;IAAC,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC3D;IAAC,IAAI,EAAE,aAAa,CAAC,wBAAwB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GACjF;IAAC,IAAI,EAAE,aAAa,CAAC,sBAAsB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GACpF;IAAC,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAClF;IAAC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,CAAC;AAEtF,qBAAa,SAAU,SAAQ,aAAa,CAAC,aAAa,CAAC;CAAG"}
@@ -1,27 +0,0 @@
1
- import { LodestarError } from "@lodestar/utils";
2
- export var Eth1ErrorCode;
3
- (function (Eth1ErrorCode) {
4
- /** Deposit index too high */
5
- Eth1ErrorCode["DEPOSIT_INDEX_TOO_HIGH"] = "ETH1_ERROR_DEPOSIT_INDEX_TOO_HIGH";
6
- /** Not enough deposits in DB */
7
- Eth1ErrorCode["NOT_ENOUGH_DEPOSITS"] = "ETH1_ERROR_NOT_ENOUGH_DEPOSITS";
8
- /** Too many deposits returned by DB */
9
- Eth1ErrorCode["TOO_MANY_DEPOSITS"] = "ETH1_ERROR_TOO_MANY_DEPOSITS";
10
- /** Deposit root tree does not match current eth1Data */
11
- Eth1ErrorCode["WRONG_DEPOSIT_ROOT"] = "ETH1_ERROR_WRONG_DEPOSIT_ROOT";
12
- /** No deposits found for block range */
13
- Eth1ErrorCode["NO_DEPOSITS_FOR_BLOCK_RANGE"] = "ETH1_ERROR_NO_DEPOSITS_FOR_BLOCK_RANGE";
14
- /** No depositRoot for depositCount */
15
- Eth1ErrorCode["NO_DEPOSIT_ROOT"] = "ETH1_ERROR_NO_DEPOSIT_ROOT";
16
- /** Not enough deposit roots for index */
17
- Eth1ErrorCode["NOT_ENOUGH_DEPOSIT_ROOTS"] = "ETH1_ERROR_NOT_ENOUGH_DEPOSIT_ROOTS";
18
- /** Attempted to insert a duplicate log for same index into the Eth1DepositsCache */
19
- Eth1ErrorCode["DUPLICATE_DISTINCT_LOG"] = "ETH1_ERROR_DUPLICATE_DISTINCT_LOG";
20
- /** Attempted to insert a log with index != prev + 1 into the Eth1DepositsCache */
21
- Eth1ErrorCode["NON_CONSECUTIVE_LOGS"] = "ETH1_ERROR_NON_CONSECUTIVE_LOGS";
22
- /** Expected a deposit log in the db for the index, missing log implies a corrupted db */
23
- Eth1ErrorCode["MISSING_DEPOSIT_LOG"] = "ETH1_ERROR_MISSING_DEPOSIT_LOG";
24
- })(Eth1ErrorCode || (Eth1ErrorCode = {}));
25
- export class Eth1Error extends LodestarError {
26
- }
27
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/eth1/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAN,IAAY,aAuBX;AAvBD,WAAY,aAAa;IACvB,6BAA6B;IAC7B,6EAA4D,CAAA;IAC5D,gCAAgC;IAChC,uEAAsD,CAAA;IACtD,uCAAuC;IACvC,mEAAkD,CAAA;IAClD,wDAAwD;IACxD,qEAAoD,CAAA;IAEpD,wCAAwC;IACxC,uFAAsE,CAAA;IACtE,sCAAsC;IACtC,+DAA8C,CAAA;IAC9C,yCAAyC;IACzC,iFAAgE,CAAA;IAEhE,oFAAoF;IACpF,6EAA4D,CAAA;IAC5D,kFAAkF;IAClF,yEAAwD,CAAA;IACxD,yFAAyF;IACzF,uEAAsD,CAAA;AACxD,CAAC,EAvBW,aAAa,KAAb,aAAa,QAuBxB;AAcD,MAAM,OAAO,SAAU,SAAQ,aAA4B;CAAG"}
@@ -1,19 +0,0 @@
1
- import { ChainForkConfig } from "@lodestar/config";
2
- import { phase0 } from "@lodestar/types";
3
- import { IBeaconDb } from "../db/index.js";
4
- export declare class Eth1DataCache {
5
- db: IBeaconDb;
6
- config: ChainForkConfig;
7
- constructor(config: ChainForkConfig, db: IBeaconDb);
8
- get({ timestampRange }: {
9
- timestampRange: {
10
- gte: number;
11
- lte: number;
12
- };
13
- }): Promise<phase0.Eth1DataOrdered[]>;
14
- add(eth1Datas: (phase0.Eth1DataOrdered & {
15
- timestamp: number;
16
- })[]): Promise<void>;
17
- getHighestCachedBlockNumber(): Promise<number | null>;
18
- }
19
- //# sourceMappingURL=eth1DataCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eth1DataCache.d.ts","sourceRoot":"","sources":["../../src/eth1/eth1DataCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,qBAAa,aAAa;IACxB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;gBAEZ,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS;IAK5C,GAAG,CAAC,EAAC,cAAc,EAAC,EAAE;QAAC,cAAc,EAAE;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAItG,GAAG,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,2BAA2B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAI5D"}
@@ -1,19 +0,0 @@
1
- export class Eth1DataCache {
2
- db;
3
- config;
4
- constructor(config, db) {
5
- this.config = config;
6
- this.db = db;
7
- }
8
- async get({ timestampRange }) {
9
- return this.db.eth1Data.values(timestampRange);
10
- }
11
- async add(eth1Datas) {
12
- await this.db.eth1Data.batchPutValues(eth1Datas);
13
- }
14
- async getHighestCachedBlockNumber() {
15
- const highestEth1Data = await this.db.eth1Data.lastValue();
16
- return highestEth1Data?.blockNumber ?? null;
17
- }
18
- }
19
- //# sourceMappingURL=eth1DataCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eth1DataCache.js","sourceRoot":"","sources":["../../src/eth1/eth1DataCache.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,aAAa;IACxB,EAAE,CAAY;IACd,MAAM,CAAkB;IAExB,YAAY,MAAuB,EAAE,EAAa;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAC,cAAc,EAA+C;QACtE,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAA2D;QACnE,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC3D,OAAO,eAAe,EAAE,WAAW,IAAI,IAAI,CAAC;IAC9C,CAAC;CACF"}
@@ -1,80 +0,0 @@
1
- import { ChainForkConfig } from "@lodestar/config";
2
- import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
3
- import { Logger } from "@lodestar/utils";
4
- import { IBeaconDb } from "../db/index.js";
5
- import { Metrics } from "../metrics/index.js";
6
- import { Eth1DataAndDeposits, IEth1Provider } from "./interface.js";
7
- import { Eth1Options } from "./options.js";
8
- export type Eth1DepositDataTrackerModules = {
9
- config: ChainForkConfig;
10
- db: IBeaconDb;
11
- metrics: Metrics | null;
12
- logger: Logger;
13
- signal: AbortSignal;
14
- };
15
- /**
16
- * Main class handling eth1 data fetching, processing and storing
17
- * Upon instantiation, starts fetching deposits and blocks at regular intervals
18
- */
19
- export declare class Eth1DepositDataTracker {
20
- private readonly eth1Provider;
21
- private config;
22
- private logger;
23
- private signal;
24
- private readonly metrics;
25
- private depositsCache;
26
- private eth1DataCache;
27
- private lastProcessedDepositBlockNumber;
28
- /** Dynamically adjusted follow distance */
29
- private eth1FollowDistance;
30
- /** Dynamically adjusted batch size to fetch deposit logs */
31
- private eth1GetBlocksBatchSizeDynamic;
32
- /** Dynamically adjusted batch size to fetch deposit logs */
33
- private eth1GetLogsBatchSizeDynamic;
34
- private readonly forcedEth1DataVote;
35
- /** To stop `runAutoUpdate()` in addition to AbortSignal */
36
- private stopPolling;
37
- constructor(opts: Eth1Options, { config, db, metrics, logger, signal }: Eth1DepositDataTrackerModules, eth1Provider: IEth1Provider);
38
- isPollingEth1Data(): boolean;
39
- stopPollingEth1Data(): void;
40
- /**
41
- * Return eth1Data and deposits ready for block production for a given state
42
- */
43
- getEth1DataAndDeposits(state: CachedBeaconStateAllForks): Promise<Eth1DataAndDeposits>;
44
- /**
45
- * Returns an eth1Data vote for a given state.
46
- * Requires internal caches to be updated regularly to return good results
47
- */
48
- private getEth1Data;
49
- /**
50
- * Returns deposits to be included for a given state and eth1Data vote.
51
- * Requires internal caches to be updated regularly to return good results
52
- */
53
- private getDeposits;
54
- /**
55
- * Abortable async setInterval that runs its callback once at max between `ms` at minimum
56
- */
57
- private runAutoUpdate;
58
- /**
59
- * Update the deposit and block cache, returning an error if either fail
60
- * @returns true if it has catched up to the remote follow block
61
- */
62
- private update;
63
- /**
64
- * Fetch deposit events from remote eth1 node up to follow-distance block
65
- * @returns true if it has catched up to the remote follow block
66
- */
67
- private updateDepositCache;
68
- /**
69
- * Fetch block headers from a remote eth1 node up to follow-distance block
70
- *
71
- * depositRoot and depositCount are inferred from already fetched deposits.
72
- * Calling get_deposit_root() and the smart contract for a non-latest block requires an
73
- * archive node, something most users don't have access too.
74
- * @returns true if it has catched up to the remote follow timestamp
75
- */
76
- private updateBlockCache;
77
- private getFromBlockToFetch;
78
- private getLastProcessedDepositBlockNumber;
79
- }
80
- //# sourceMappingURL=eth1DepositDataTracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eth1DepositDataTracker.d.ts","sourceRoot":"","sources":["../../src/eth1/eth1DepositDataTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,yBAAyB,EAG1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAe,MAAM,EAA+C,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAC,mBAAmB,EAAsB,aAAa,EAAC,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AA6BzC,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,eAAe,CAAC;IACxB,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,qBAAa,sBAAsB;IAwB/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAvB/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAGzC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,+BAA+B,CAAuB;IAE9D,2CAA2C;IAC3C,OAAO,CAAC,kBAAkB,CAAS;IACnC,4DAA4D;IAC5D,OAAO,CAAC,6BAA6B,CAA8B;IACnE,4DAA4D;IAC5D,OAAO,CAAC,2BAA2B,CAA4B;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAC5D,2DAA2D;IAC3D,OAAO,CAAC,WAAW,CAAU;gBAG3B,IAAI,EAAE,WAAW,EACjB,EAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,6BAA6B,EACnD,YAAY,EAAE,aAAa;IAuC9C,iBAAiB,IAAI,OAAO;IAI5B,mBAAmB,IAAI,IAAI;IAI3B;;OAEG;IACG,sBAAsB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAa5F;;;OAGG;YACW,WAAW;IAezB;;;OAGG;YACW,WAAW;IAkBzB;;OAEG;YACW,aAAa;IA8B3B;;;OAGG;YACW,MAAM;IAepB;;;OAGG;YACW,kBAAkB;IAoChC;;;;;;;OAOG;YACW,gBAAgB;IAiH9B,OAAO,CAAC,mBAAmB;YAOb,kCAAkC;CAMjD"}