@lodestar/beacon-node 1.39.0-dev.882891d89c → 1.39.0-dev.b37f2bd1bd

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 (338) 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/chain/blocks/verifyBlock.d.ts.map +1 -1
  4. package/lib/chain/blocks/verifyBlock.js +1 -1
  5. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  6. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +1 -2
  7. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  8. package/lib/chain/blocks/verifyBlocksSignatures.js +2 -2
  9. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  10. package/lib/chain/chain.d.ts +4 -1
  11. package/lib/chain/chain.d.ts.map +1 -1
  12. package/lib/chain/chain.js +16 -8
  13. package/lib/chain/chain.js.map +1 -1
  14. package/lib/chain/genesis/genesis.d.ts +51 -0
  15. package/lib/chain/genesis/genesis.d.ts.map +1 -0
  16. package/lib/chain/genesis/genesis.js +123 -0
  17. package/lib/chain/genesis/genesis.js.map +1 -0
  18. package/lib/chain/genesis/interface.d.ts +13 -0
  19. package/lib/chain/genesis/interface.d.ts.map +1 -0
  20. package/lib/chain/genesis/interface.js +2 -0
  21. package/lib/chain/genesis/interface.js.map +1 -0
  22. package/lib/chain/initState.d.ts +14 -1
  23. package/lib/chain/initState.d.ts.map +1 -1
  24. package/lib/chain/initState.js +62 -1
  25. package/lib/chain/initState.js.map +1 -1
  26. package/lib/chain/interface.d.ts +2 -0
  27. package/lib/chain/interface.d.ts.map +1 -1
  28. package/lib/chain/interface.js.map +1 -1
  29. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +4 -4
  30. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  31. package/lib/chain/opPools/aggregatedAttestationPool.js +4 -4
  32. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  33. package/lib/chain/opPools/opPool.d.ts +0 -3
  34. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  35. package/lib/chain/opPools/opPool.js +8 -9
  36. package/lib/chain/opPools/opPool.js.map +1 -1
  37. package/lib/chain/prepareNextSlot.d.ts +4 -0
  38. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  39. package/lib/chain/prepareNextSlot.js +21 -1
  40. package/lib/chain/prepareNextSlot.js.map +1 -1
  41. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -0
  42. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  43. package/lib/chain/produceBlock/produceBlockBody.js +11 -8
  44. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  45. package/lib/chain/rewards/attestationsRewards.d.ts +1 -2
  46. package/lib/chain/rewards/attestationsRewards.d.ts.map +1 -1
  47. package/lib/chain/rewards/attestationsRewards.js +8 -8
  48. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  49. package/lib/chain/rewards/blockRewards.d.ts +1 -2
  50. package/lib/chain/rewards/blockRewards.d.ts.map +1 -1
  51. package/lib/chain/rewards/blockRewards.js +5 -5
  52. package/lib/chain/rewards/blockRewards.js.map +1 -1
  53. package/lib/chain/rewards/syncCommitteeRewards.d.ts +1 -2
  54. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +1 -1
  55. package/lib/chain/rewards/syncCommitteeRewards.js +2 -2
  56. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  57. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +1 -4
  58. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  59. package/lib/chain/stateCache/persistentCheckpointsCache.js +2 -4
  60. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  61. package/lib/chain/validation/attesterSlashing.js +1 -1
  62. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  63. package/lib/chain/validation/block.js +1 -1
  64. package/lib/chain/validation/block.js.map +1 -1
  65. package/lib/chain/validation/blsToExecutionChange.js +1 -1
  66. package/lib/chain/validation/proposerSlashing.js +1 -1
  67. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  68. package/lib/chain/validation/signatureSets/aggregateAndProof.js +1 -1
  69. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  70. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +1 -2
  71. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  72. package/lib/chain/validation/signatureSets/contributionAndProof.js +2 -2
  73. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  74. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +1 -2
  75. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  76. package/lib/chain/validation/signatureSets/syncCommittee.js +2 -2
  77. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  78. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -2
  79. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
  80. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
  81. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  82. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +1 -2
  83. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  84. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +2 -1
  85. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  86. package/lib/chain/validation/syncCommittee.js +1 -1
  87. package/lib/chain/validation/syncCommittee.js.map +1 -1
  88. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  89. package/lib/chain/validation/syncCommitteeContributionAndProof.js +3 -3
  90. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  91. package/lib/chain/validation/voluntaryExit.js +1 -1
  92. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  93. package/lib/db/beacon.d.ts +7 -3
  94. package/lib/db/beacon.d.ts.map +1 -1
  95. package/lib/db/beacon.js +12 -33
  96. package/lib/db/beacon.js.map +1 -1
  97. package/lib/db/buckets.d.ts +6 -12
  98. package/lib/db/buckets.d.ts.map +1 -1
  99. package/lib/db/buckets.js +1 -6
  100. package/lib/db/buckets.js.map +1 -1
  101. package/lib/db/interface.d.ts +7 -2
  102. package/lib/db/interface.d.ts.map +1 -1
  103. package/lib/db/repositories/depositDataRoot.d.ts +22 -0
  104. package/lib/db/repositories/depositDataRoot.d.ts.map +1 -0
  105. package/lib/db/repositories/depositDataRoot.js +62 -0
  106. package/lib/db/repositories/depositDataRoot.js.map +1 -0
  107. package/lib/db/repositories/depositEvent.d.ts +13 -0
  108. package/lib/db/repositories/depositEvent.d.ts.map +1 -0
  109. package/lib/db/repositories/depositEvent.js +27 -0
  110. package/lib/db/repositories/depositEvent.js.map +1 -0
  111. package/lib/db/repositories/eth1Data.d.ts +13 -0
  112. package/lib/db/repositories/eth1Data.d.ts.map +1 -0
  113. package/lib/db/repositories/eth1Data.js +26 -0
  114. package/lib/db/repositories/eth1Data.js.map +1 -0
  115. package/lib/db/repositories/index.d.ts +3 -0
  116. package/lib/db/repositories/index.d.ts.map +1 -1
  117. package/lib/db/repositories/index.js +3 -0
  118. package/lib/db/repositories/index.js.map +1 -1
  119. package/lib/db/single/index.d.ts +3 -0
  120. package/lib/db/single/index.d.ts.map +1 -0
  121. package/lib/db/single/index.js +3 -0
  122. package/lib/db/single/index.js.map +1 -0
  123. package/lib/db/single/preGenesisState.d.ts +16 -0
  124. package/lib/db/single/preGenesisState.d.ts.map +1 -0
  125. package/lib/db/single/preGenesisState.js +29 -0
  126. package/lib/db/single/preGenesisState.js.map +1 -0
  127. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +14 -0
  128. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +1 -0
  129. package/lib/db/single/preGenesisStateLastProcessedBlock.js +27 -0
  130. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -0
  131. package/lib/eth1/errors.d.ts +66 -0
  132. package/lib/eth1/errors.d.ts.map +1 -0
  133. package/lib/eth1/errors.js +27 -0
  134. package/lib/eth1/errors.js.map +1 -0
  135. package/lib/eth1/eth1DataCache.d.ts +19 -0
  136. package/lib/eth1/eth1DataCache.d.ts.map +1 -0
  137. package/lib/eth1/eth1DataCache.js +19 -0
  138. package/lib/eth1/eth1DataCache.js.map +1 -0
  139. package/lib/eth1/eth1DepositDataTracker.d.ts +80 -0
  140. package/lib/eth1/eth1DepositDataTracker.d.ts.map +1 -0
  141. package/lib/eth1/eth1DepositDataTracker.js +317 -0
  142. package/lib/eth1/eth1DepositDataTracker.js.map +1 -0
  143. package/lib/eth1/eth1DepositsCache.d.ts +42 -0
  144. package/lib/eth1/eth1DepositsCache.d.ts.map +1 -0
  145. package/lib/eth1/eth1DepositsCache.js +119 -0
  146. package/lib/eth1/eth1DepositsCache.js.map +1 -0
  147. package/lib/eth1/index.d.ts +31 -0
  148. package/lib/eth1/index.d.ts.map +1 -0
  149. package/lib/eth1/index.js +71 -0
  150. package/lib/eth1/index.js.map +1 -0
  151. package/lib/eth1/interface.d.ts +74 -0
  152. package/lib/eth1/interface.d.ts.map +1 -0
  153. package/lib/eth1/interface.js +8 -0
  154. package/lib/eth1/interface.js.map +1 -0
  155. package/lib/eth1/options.d.ts +22 -0
  156. package/lib/eth1/options.d.ts.map +1 -0
  157. package/lib/eth1/options.js +8 -0
  158. package/lib/eth1/options.js.map +1 -0
  159. package/lib/eth1/provider/eth1Provider.d.ts +39 -0
  160. package/lib/eth1/provider/eth1Provider.d.ts.map +1 -0
  161. package/lib/eth1/provider/eth1Provider.js +147 -0
  162. package/lib/eth1/provider/eth1Provider.js.map +1 -0
  163. package/lib/{execution/engine → eth1/provider}/jsonRpcHttpClient.d.ts +1 -1
  164. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +1 -0
  165. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -0
  166. package/lib/eth1/provider/jwt.d.ts.map +1 -0
  167. package/lib/eth1/provider/jwt.js.map +1 -0
  168. package/lib/eth1/provider/utils.d.ts +65 -0
  169. package/lib/eth1/provider/utils.d.ts.map +1 -0
  170. package/lib/eth1/provider/utils.js +120 -0
  171. package/lib/eth1/provider/utils.js.map +1 -0
  172. package/lib/eth1/stream.d.ts +15 -0
  173. package/lib/eth1/stream.d.ts.map +1 -0
  174. package/lib/eth1/stream.js +54 -0
  175. package/lib/eth1/stream.js.map +1 -0
  176. package/lib/eth1/utils/depositContract.d.ts +14 -0
  177. package/lib/eth1/utils/depositContract.d.ts.map +1 -0
  178. package/lib/eth1/utils/depositContract.js +33 -0
  179. package/lib/eth1/utils/depositContract.js.map +1 -0
  180. package/lib/eth1/utils/deposits.d.ts +8 -0
  181. package/lib/eth1/utils/deposits.d.ts.map +1 -0
  182. package/lib/eth1/utils/deposits.js +47 -0
  183. package/lib/eth1/utils/deposits.js.map +1 -0
  184. package/lib/eth1/utils/eth1Data.d.ts +22 -0
  185. package/lib/eth1/utils/eth1Data.d.ts.map +1 -0
  186. package/lib/eth1/utils/eth1Data.js +77 -0
  187. package/lib/eth1/utils/eth1Data.js.map +1 -0
  188. package/lib/eth1/utils/eth1DepositEvent.d.ts +7 -0
  189. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +1 -0
  190. package/lib/eth1/utils/eth1DepositEvent.js +13 -0
  191. package/lib/eth1/utils/eth1DepositEvent.js.map +1 -0
  192. package/lib/eth1/utils/eth1Vote.d.ts +17 -0
  193. package/lib/eth1/utils/eth1Vote.d.ts.map +1 -0
  194. package/lib/eth1/utils/eth1Vote.js +111 -0
  195. package/lib/eth1/utils/eth1Vote.js.map +1 -0
  196. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts +9 -0
  197. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +1 -0
  198. package/lib/eth1/utils/groupDepositEventsByBlock.js +17 -0
  199. package/lib/eth1/utils/groupDepositEventsByBlock.js.map +1 -0
  200. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts +10 -0
  201. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +1 -0
  202. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +14 -0
  203. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +1 -0
  204. package/lib/execution/engine/http.d.ts +1 -1
  205. package/lib/execution/engine/http.d.ts.map +1 -1
  206. package/lib/execution/engine/http.js +3 -2
  207. package/lib/execution/engine/http.js.map +1 -1
  208. package/lib/execution/engine/index.d.ts.map +1 -1
  209. package/lib/execution/engine/index.js +1 -1
  210. package/lib/execution/engine/index.js.map +1 -1
  211. package/lib/execution/engine/interface.d.ts +1 -1
  212. package/lib/execution/engine/interface.d.ts.map +1 -1
  213. package/lib/execution/engine/interface.js.map +1 -1
  214. package/lib/execution/engine/mock.d.ts.map +1 -1
  215. package/lib/execution/engine/mock.js +1 -1
  216. package/lib/execution/engine/mock.js.map +1 -1
  217. package/lib/execution/engine/payloadIdCache.d.ts +1 -1
  218. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  219. package/lib/execution/engine/types.d.ts +1 -1
  220. package/lib/execution/engine/types.d.ts.map +1 -1
  221. package/lib/execution/engine/types.js +1 -1
  222. package/lib/execution/engine/types.js.map +1 -1
  223. package/lib/execution/engine/utils.d.ts +2 -64
  224. package/lib/execution/engine/utils.d.ts.map +1 -1
  225. package/lib/execution/engine/utils.js +2 -91
  226. package/lib/execution/engine/utils.js.map +1 -1
  227. package/lib/index.d.ts +2 -1
  228. package/lib/index.d.ts.map +1 -1
  229. package/lib/index.js +2 -1
  230. package/lib/index.js.map +1 -1
  231. package/lib/metrics/metrics/lodestar.d.ts +35 -0
  232. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  233. package/lib/metrics/metrics/lodestar.js +90 -0
  234. package/lib/metrics/metrics/lodestar.js.map +1 -1
  235. package/lib/node/nodejs.d.ts.map +1 -1
  236. package/lib/node/nodejs.js +9 -10
  237. package/lib/node/nodejs.js.map +1 -1
  238. package/lib/node/options.d.ts +2 -0
  239. package/lib/node/options.d.ts.map +1 -1
  240. package/lib/node/options.js +2 -0
  241. package/lib/node/options.js.map +1 -1
  242. package/lib/node/utils/interop/deposits.d.ts +1 -2
  243. package/lib/node/utils/interop/deposits.d.ts.map +1 -1
  244. package/lib/node/utils/interop/deposits.js.map +1 -1
  245. package/lib/node/utils/interop/state.d.ts +1 -1
  246. package/lib/node/utils/interop/state.d.ts.map +1 -1
  247. package/lib/node/utils/state.d.ts +7 -1
  248. package/lib/node/utils/state.d.ts.map +1 -1
  249. package/lib/node/utils/state.js +14 -1
  250. package/lib/node/utils/state.js.map +1 -1
  251. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  252. package/lib/sync/backfill/backfill.js +4 -2
  253. package/lib/sync/backfill/backfill.js.map +1 -1
  254. package/lib/sync/backfill/verify.d.ts +1 -1
  255. package/lib/sync/backfill/verify.d.ts.map +1 -1
  256. package/lib/sync/backfill/verify.js +2 -2
  257. package/lib/sync/backfill/verify.js.map +1 -1
  258. package/package.json +20 -14
  259. package/src/api/impl/beacon/blocks/utils.ts +1 -1
  260. package/src/chain/blocks/verifyBlock.ts +0 -1
  261. package/src/chain/blocks/verifyBlocksSignatures.ts +1 -3
  262. package/src/chain/chain.ts +19 -7
  263. package/src/chain/genesis/genesis.ts +190 -0
  264. package/src/chain/genesis/interface.ts +14 -0
  265. package/src/chain/initState.ts +97 -1
  266. package/src/chain/interface.ts +2 -0
  267. package/src/chain/opPools/aggregatedAttestationPool.ts +7 -7
  268. package/src/chain/opPools/opPool.ts +8 -8
  269. package/src/chain/prepareNextSlot.ts +28 -1
  270. package/src/chain/produceBlock/produceBlockBody.ts +12 -8
  271. package/src/chain/rewards/attestationsRewards.ts +4 -13
  272. package/src/chain/rewards/blockRewards.ts +3 -6
  273. package/src/chain/rewards/syncCommitteeRewards.ts +1 -3
  274. package/src/chain/stateCache/persistentCheckpointsCache.ts +2 -15
  275. package/src/chain/validation/attesterSlashing.ts +1 -1
  276. package/src/chain/validation/block.ts +1 -1
  277. package/src/chain/validation/blsToExecutionChange.ts +1 -1
  278. package/src/chain/validation/proposerSlashing.ts +1 -1
  279. package/src/chain/validation/signatureSets/aggregateAndProof.ts +1 -1
  280. package/src/chain/validation/signatureSets/contributionAndProof.ts +1 -3
  281. package/src/chain/validation/signatureSets/syncCommittee.ts +1 -3
  282. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +1 -3
  283. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +1 -2
  284. package/src/chain/validation/syncCommittee.ts +1 -1
  285. package/src/chain/validation/syncCommitteeContributionAndProof.ts +3 -8
  286. package/src/chain/validation/voluntaryExit.ts +1 -1
  287. package/src/db/beacon.ts +16 -38
  288. package/src/db/buckets.ts +7 -12
  289. package/src/db/interface.ts +13 -2
  290. package/src/db/repositories/depositDataRoot.ts +80 -0
  291. package/src/db/repositories/depositEvent.ts +32 -0
  292. package/src/db/repositories/eth1Data.ts +33 -0
  293. package/src/db/repositories/index.ts +3 -0
  294. package/src/db/single/index.ts +2 -0
  295. package/src/db/single/preGenesisState.ts +37 -0
  296. package/src/db/single/preGenesisStateLastProcessedBlock.ts +34 -0
  297. package/src/eth1/errors.ts +40 -0
  298. package/src/eth1/eth1DataCache.ts +26 -0
  299. package/src/eth1/eth1DepositDataTracker.ts +410 -0
  300. package/src/eth1/eth1DepositsCache.ts +141 -0
  301. package/src/eth1/index.ts +94 -0
  302. package/src/eth1/interface.ts +87 -0
  303. package/src/eth1/options.ts +28 -0
  304. package/src/eth1/provider/eth1Provider.ts +229 -0
  305. package/src/{execution/engine → eth1/provider}/jsonRpcHttpClient.ts +1 -1
  306. package/src/eth1/provider/utils.ts +136 -0
  307. package/src/eth1/stream.ts +75 -0
  308. package/src/eth1/utils/depositContract.ts +37 -0
  309. package/src/eth1/utils/deposits.ts +70 -0
  310. package/src/eth1/utils/eth1Data.ts +100 -0
  311. package/src/eth1/utils/eth1DepositEvent.ts +12 -0
  312. package/src/eth1/utils/eth1Vote.ts +142 -0
  313. package/src/eth1/utils/groupDepositEventsByBlock.ts +19 -0
  314. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +18 -0
  315. package/src/execution/engine/http.ts +9 -8
  316. package/src/execution/engine/index.ts +1 -1
  317. package/src/execution/engine/interface.ts +1 -1
  318. package/src/execution/engine/mock.ts +2 -1
  319. package/src/execution/engine/payloadIdCache.ts +1 -1
  320. package/src/execution/engine/types.ts +9 -9
  321. package/src/execution/engine/utils.ts +5 -111
  322. package/src/index.ts +2 -1
  323. package/src/metrics/metrics/lodestar.ts +92 -0
  324. package/src/node/nodejs.ts +9 -11
  325. package/src/node/options.ts +3 -0
  326. package/src/node/utils/interop/deposits.ts +1 -3
  327. package/src/node/utils/interop/state.ts +1 -1
  328. package/src/node/utils/state.ts +18 -3
  329. package/src/sync/backfill/backfill.ts +3 -8
  330. package/src/sync/backfill/verify.ts +1 -3
  331. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +0 -1
  332. package/lib/execution/engine/jsonRpcHttpClient.js.map +0 -1
  333. package/lib/execution/engine/jwt.d.ts.map +0 -1
  334. package/lib/execution/engine/jwt.js.map +0 -1
  335. /package/lib/{execution/engine → eth1/provider}/jsonRpcHttpClient.js +0 -0
  336. /package/lib/{execution/engine → eth1/provider}/jwt.d.ts +0 -0
  337. /package/lib/{execution/engine → eth1/provider}/jwt.js +0 -0
  338. /package/src/{execution/engine → eth1/provider}/jwt.ts +0 -0
package/lib/db/beacon.js CHANGED
@@ -1,7 +1,6 @@
1
- import { encodeKey } from "@lodestar/db";
2
- import { Bucket } from "./buckets.js";
3
1
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
4
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
2
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
3
+ import { PreGenesisState, PreGenesisStateLastProcessedBlock } from "./single/index.js";
5
4
  export class BeaconDb {
6
5
  db;
7
6
  block;
@@ -15,7 +14,12 @@ export class BeaconDb {
15
14
  voluntaryExit;
16
15
  proposerSlashing;
17
16
  attesterSlashing;
17
+ depositEvent;
18
18
  blsToExecutionChange;
19
+ depositDataRoot;
20
+ eth1Data;
21
+ preGenesisState;
22
+ preGenesisStateLastProcessedBlock;
19
23
  // lightclient
20
24
  bestLightClientUpdate;
21
25
  checkpointHeader;
@@ -37,6 +41,11 @@ export class BeaconDb {
37
41
  this.blsToExecutionChange = new BLSToExecutionChangeRepository(config, db);
38
42
  this.proposerSlashing = new ProposerSlashingRepository(config, db);
39
43
  this.attesterSlashing = new AttesterSlashingRepository(config, db);
44
+ this.depositEvent = new DepositEventRepository(config, db);
45
+ this.depositDataRoot = new DepositDataRootRepository(config, db);
46
+ this.eth1Data = new Eth1DataRepository(config, db);
47
+ this.preGenesisState = new PreGenesisState(config, db);
48
+ this.preGenesisStateLastProcessedBlock = new PreGenesisStateLastProcessedBlock(config, db);
40
49
  // lightclient
41
50
  this.bestLightClientUpdate = new BestLightClientUpdateRepository(config, db);
42
51
  this.checkpointHeader = new CheckpointHeaderRepository(config, db);
@@ -57,35 +66,5 @@ export class BeaconDb {
57
66
  // TODO: Enable once it's deemed safe
58
67
  // await this.block.batchDelete(await this.block.keys());
59
68
  }
60
- async deleteDeprecatedEth1Data() {
61
- const deprecatedBuckets = [
62
- Bucket.phase0_eth1Data,
63
- Bucket.index_depositDataRoot,
64
- Bucket.phase0_depositData,
65
- Bucket.phase0_depositEvent,
66
- Bucket.phase0_preGenesisState,
67
- Bucket.phase0_preGenesisStateLastProcessedBlock,
68
- ];
69
- for (const bucket of deprecatedBuckets) {
70
- await this.deleteBucketData(bucket);
71
- }
72
- }
73
- async deleteBucketData(bucket) {
74
- const minKey = encodeKey(bucket, Buffer.alloc(0));
75
- const maxKey = encodeKey(bucket + 1, Buffer.alloc(0));
76
- // Batch delete to avoid loading all keys into memory at once
77
- const BATCH_DELETE_SIZE = 1000;
78
- let keysBatch = [];
79
- for await (const key of this.db.keysStream({ gte: minKey, lt: maxKey })) {
80
- keysBatch.push(key);
81
- if (keysBatch.length >= BATCH_DELETE_SIZE) {
82
- await this.db.batchDelete(keysBatch);
83
- keysBatch = [];
84
- }
85
- }
86
- if (keysBatch.length > 0) {
87
- await this.db.batchDelete(keysBatch);
88
- }
89
- }
90
69
  }
91
70
  //# sourceMappingURL=beacon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
@@ -6,26 +6,20 @@ export declare enum Bucket {
6
6
  index_blockArchiveRootIndex = 4,// Root -> Slot
7
7
  index_mainChain = 6,// Slot -> Root<BeaconBlock>
8
8
  index_chainInfo = 7,// Key -> Number64 | stateHash | blockHash
9
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
10
- phase0_eth1Data = 8,
11
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
12
- index_depositDataRoot = 9,
13
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
14
- phase0_depositData = 12,
9
+ phase0_eth1Data = 8,// timestamp -> Eth1Data
10
+ index_depositDataRoot = 9,// depositIndex -> Root<DepositData>
11
+ phase0_depositData = 12,// [DEPRECATED] index -> DepositData
15
12
  phase0_exit = 13,// ValidatorIndex -> VoluntaryExit
16
13
  phase0_proposerSlashing = 14,// ValidatorIndex -> ProposerSlashing
17
14
  allForks_attesterSlashing = 15,// Root -> AttesterSlashing
18
15
  capella_blsToExecutionChange = 16,// ValidatorIndex -> SignedBLSToExecutionChange
19
16
  allForks_checkpointState = 17,// Root -> BeaconState
20
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
21
- phase0_depositEvent = 19,
17
+ phase0_depositEvent = 19,// depositIndex -> DepositEvent
22
18
  index_stateArchiveRootIndex = 26,// State Root -> slot
23
19
  deneb_blobSidecars = 27,// DENEB BeaconBlockRoot -> BlobSidecars
24
20
  deneb_blobSidecarsArchive = 28,// DENEB BeaconBlockSlot -> BlobSidecars
25
- /** @deprecated Genesis from eth1 is no longer supported, only kept around to delete data from existing databases */
26
- phase0_preGenesisState = 30,
27
- /** @deprecated Genesis from eth1 is no longer supported, only kept around to delete data from existing databases */
28
- phase0_preGenesisStateLastProcessedBlock = 31,
21
+ phase0_preGenesisState = 30,// Single = phase0.BeaconState
22
+ phase0_preGenesisStateLastProcessedBlock = 31,// Single = Uint8
29
23
  backfilled_ranges = 42,// Backfilled From to To, inclusive of both From, To
30
24
  lightClient_syncCommitteeWitness = 51,// BlockRoot -> SyncCommitteeWitness
31
25
  lightClient_syncCommittee = 52,// Root(altair.SyncCommittee) -> altair.SyncCommittee
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI,CAAE,6BAA6B;IAExD,cAAc,IAAI,CAAE,mCAAmC;IAEvD,qBAAqB,IAAI,CAAE,mCAAmC;IAE9D,iCAAiC,IAAI,CAAE,sBAAsB;IAC7D,2BAA2B,IAAI,CAAE,eAAe;IAIhD,eAAe,IAAI,CAAE,4BAA4B;IAEjD,eAAe,IAAI,CAAE,0CAA0C;IAC/D,+HAA+H;IAC/H,eAAe,IAAI;IACnB,+HAA+H;IAC/H,qBAAqB,IAAI;IAKzB,+HAA+H;IAC/H,kBAAkB,KAAK;IACvB,WAAW,KAAK,CAAE,kCAAkC;IACpD,uBAAuB,KAAK,CAAE,qCAAqC;IACnE,yBAAyB,KAAK,CAAE,2BAA2B;IAC3D,4BAA4B,KAAK,CAAE,+CAA+C;IAElF,wBAAwB,KAAK,CAAE,sBAAsB;IAGrD,+HAA+H;IAC/H,mBAAmB,KAAK;IAExB,2BAA2B,KAAK,CAAE,qBAAqB;IAEvD,kBAAkB,KAAK,CAAE,wCAAwC;IACjE,yBAAyB,KAAK,CAAE,wCAAwC;IAExE,oHAAoH;IACpH,sBAAsB,KAAK;IAC3B,oHAAoH;IACpH,wCAAwC,KAAK;IAW7C,iBAAiB,KAAK,CAAE,oDAAoD;IAG5E,gCAAgC,KAAK,CAAE,oCAAoC;IAC3E,yBAAyB,KAAK,CAAE,qDAAqD;IAErF,4BAA4B,KAAK,CAAE,wCAAwC;IAG3E,iCAAiC,KAAK,CAAE,0CAA0C;IAElF,uBAAuB,KAAK,CAAE,6CAA6C;IAC3E,8BAA8B,KAAK;CACpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}
1
+ {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI,CAAE,6BAA6B;IAExD,cAAc,IAAI,CAAE,mCAAmC;IAEvD,qBAAqB,IAAI,CAAE,mCAAmC;IAE9D,iCAAiC,IAAI,CAAE,sBAAsB;IAC7D,2BAA2B,IAAI,CAAE,eAAe;IAIhD,eAAe,IAAI,CAAE,4BAA4B;IAEjD,eAAe,IAAI,CAAE,0CAA0C;IAE/D,eAAe,IAAI,CAAE,wBAAwB;IAC7C,qBAAqB,IAAI,CAAE,oCAAoC;IAK/D,kBAAkB,KAAK,CAAE,oCAAoC;IAC7D,WAAW,KAAK,CAAE,kCAAkC;IACpD,uBAAuB,KAAK,CAAE,qCAAqC;IACnE,yBAAyB,KAAK,CAAE,2BAA2B;IAC3D,4BAA4B,KAAK,CAAE,+CAA+C;IAElF,wBAAwB,KAAK,CAAE,sBAAsB;IAGrD,mBAAmB,KAAK,CAAE,+BAA+B;IAEzD,2BAA2B,KAAK,CAAE,qBAAqB;IAEvD,kBAAkB,KAAK,CAAE,wCAAwC;IACjE,yBAAyB,KAAK,CAAE,wCAAwC;IAExE,sBAAsB,KAAK,CAAE,8BAA8B;IAC3D,wCAAwC,KAAK,CAAE,iBAAiB;IAWhE,iBAAiB,KAAK,CAAE,oDAAoD;IAG5E,gCAAgC,KAAK,CAAE,oCAAoC;IAC3E,yBAAyB,KAAK,CAAE,qDAAqD;IAErF,4BAA4B,KAAK,CAAE,wCAAwC;IAG3E,iCAAiC,KAAK,CAAE,0CAA0C;IAElF,uBAAuB,KAAK,CAAE,6CAA6C;IAC3E,8BAA8B,KAAK;CACpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}
package/lib/db/buckets.js CHANGED
@@ -17,14 +17,12 @@ export var Bucket;
17
17
  Bucket[Bucket["index_mainChain"] = 6] = "index_mainChain";
18
18
  // justified, finalized state and block hashes
19
19
  Bucket[Bucket["index_chainInfo"] = 7] = "index_chainInfo";
20
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
20
+ // eth1 processing
21
21
  Bucket[Bucket["phase0_eth1Data"] = 8] = "phase0_eth1Data";
22
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
23
22
  Bucket[Bucket["index_depositDataRoot"] = 9] = "index_depositDataRoot";
24
23
  // op pool
25
24
  // phase0_attestation = 10, // DEPRECATED on v0.25.0
26
25
  // phase0_aggregateAndProof = 11, // Root -> AggregateAndProof, DEPRECATED on v.27.0
27
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
28
26
  Bucket[Bucket["phase0_depositData"] = 12] = "phase0_depositData";
29
27
  Bucket[Bucket["phase0_exit"] = 13] = "phase0_exit";
30
28
  Bucket[Bucket["phase0_proposerSlashing"] = 14] = "phase0_proposerSlashing";
@@ -33,14 +31,11 @@ export var Bucket;
33
31
  // checkpoint states
34
32
  Bucket[Bucket["allForks_checkpointState"] = 17] = "allForks_checkpointState";
35
33
  // allForks_pendingBlock = 25, // Root -> SignedBeaconBlock // DEPRECATED on v0.30.0
36
- /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
37
34
  Bucket[Bucket["phase0_depositEvent"] = 19] = "phase0_depositEvent";
38
35
  Bucket[Bucket["index_stateArchiveRootIndex"] = 26] = "index_stateArchiveRootIndex";
39
36
  Bucket[Bucket["deneb_blobSidecars"] = 27] = "deneb_blobSidecars";
40
37
  Bucket[Bucket["deneb_blobSidecarsArchive"] = 28] = "deneb_blobSidecarsArchive";
41
- /** @deprecated Genesis from eth1 is no longer supported, only kept around to delete data from existing databases */
42
38
  Bucket[Bucket["phase0_preGenesisState"] = 30] = "phase0_preGenesisState";
43
- /** @deprecated Genesis from eth1 is no longer supported, only kept around to delete data from existing databases */
44
39
  Bucket[Bucket["phase0_preGenesisStateLastProcessedBlock"] = 31] = "phase0_preGenesisStateLastProcessedBlock";
45
40
  // Lightclient server
46
41
  // altair_bestUpdatePerCommitteePeriod = 30, // DEPRECATED on v0.32.0
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,CAAN,IAAY,MAsEX;AAtED,WAAY,MAAM;IAChB,eAAe;IACf,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qBAAqB;IACrB,uDAAkB,CAAA;IAClB,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qCAAqC;IACrC,6FAAqC,CAAA;IACrC,iFAA+B,CAAA;IAC/B,kBAAkB;IAClB,mDAAmD;IACnD,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,8CAA8C;IAC9C,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,+HAA+H;IAC/H,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,+HAA+H;IAC/H,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,gEAAuB,CAAA;IACvB,8EAA8B,CAAA;IAE9B,oHAAoH;IACpH,wEAA2B,CAAA;IAC3B,oHAAoH;IACpH,4GAA6C,CAAA;IAE7C,qBAAqB;IACrB,qEAAqE;IACrE,8DAA8D;IAC9D,iEAAiE;IACjE,uEAAuE;IACvE,6DAA6D;IAC7D,sEAAsE;IACtE,4DAA4D;IAE5D,8DAAsB,CAAA;IAEtB,2CAA2C;IAC3C,4FAAqC,CAAA;IACrC,8EAA8B,CAAA;IAC9B,yCAAyC;IACzC,oFAAiC,CAAA;IACjC,gEAAgE;IAChE,qGAAqG;IACrG,8FAAsC,CAAA;IAEtC,0EAA4B,CAAA;IAC5B,wFAAmC,CAAA;AACrC,CAAC,EAtEW,MAAM,KAAN,MAAM,QAsEjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,CAAwB,CAAC,KAAK,SAAS,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAA4B,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,CAAN,IAAY,MAiEX;AAjED,WAAY,MAAM;IAChB,eAAe;IACf,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qBAAqB;IACrB,uDAAkB,CAAA;IAClB,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qCAAqC;IACrC,6FAAqC,CAAA;IACrC,iFAA+B,CAAA;IAC/B,kBAAkB;IAClB,mDAAmD;IACnD,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,8CAA8C;IAC9C,yDAAmB,CAAA;IACnB,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,gEAAuB,CAAA;IACvB,8EAA8B,CAAA;IAE9B,wEAA2B,CAAA;IAC3B,4GAA6C,CAAA;IAE7C,qBAAqB;IACrB,qEAAqE;IACrE,8DAA8D;IAC9D,iEAAiE;IACjE,uEAAuE;IACvE,6DAA6D;IAC7D,sEAAsE;IACtE,4DAA4D;IAE5D,8DAAsB,CAAA;IAEtB,2CAA2C;IAC3C,4FAAqC,CAAA;IACrC,8EAA8B,CAAA;IAC9B,yCAAyC;IACzC,oFAAiC,CAAA;IACjC,gEAAgE;IAChE,qGAAqG;IACrG,8FAAsC,CAAA;IAEtC,0EAA4B,CAAA;IAC5B,wFAAmC,CAAA;AACrC,CAAC,EAjEW,MAAM,KAAN,MAAM,QAiEjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,CAAwB,CAAC,KAAK,SAAS,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAA4B,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { LevelDbControllerMetrics } from "@lodestar/db";
2
2
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
3
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
3
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
4
+ import { PreGenesisState, PreGenesisStateLastProcessedBlock } from "./single/index.js";
4
5
  /**
5
6
  * The DB service manages the data layer of the beacon chain
6
7
  * The exposed methods do not refer to the underlying data engine,
@@ -18,14 +19,18 @@ export interface IBeaconDb {
18
19
  voluntaryExit: VoluntaryExitRepository;
19
20
  proposerSlashing: ProposerSlashingRepository;
20
21
  attesterSlashing: AttesterSlashingRepository;
22
+ depositEvent: DepositEventRepository;
21
23
  blsToExecutionChange: BLSToExecutionChangeRepository;
24
+ preGenesisState: PreGenesisState;
25
+ preGenesisStateLastProcessedBlock: PreGenesisStateLastProcessedBlock;
26
+ depositDataRoot: DepositDataRootRepository;
27
+ eth1Data: Eth1DataRepository;
22
28
  bestLightClientUpdate: BestLightClientUpdateRepository;
23
29
  checkpointHeader: CheckpointHeaderRepository;
24
30
  syncCommittee: SyncCommitteeRepository;
25
31
  syncCommitteeWitness: SyncCommitteeWitnessRepository;
26
32
  backfilledRanges: BackfilledRanges;
27
33
  pruneHotDb(): Promise<void>;
28
- deleteDeprecatedEth1Data(): Promise<void>;
29
34
  /** Close the connection to the db instance and close the db store. */
30
35
  close(): Promise<void>;
31
36
  /** To inject metrics after CLI initialization */
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IAExB,KAAK,EAAE,eAAe,CAAC;IAEvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAG7D,YAAY,EAAE,sBAAsB,CAAC;IAErC,eAAe,EAAE,yBAAyB,CAAC;IAG3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACrD"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,eAAe,EAAE,iCAAiC,EAAC,MAAM,mBAAmB,CAAC;AAErF;;;;GAIG;AACH,MAAM,WAAW,SAAS;IAExB,KAAK,EAAE,eAAe,CAAC;IAEvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAG7D,YAAY,EAAE,sBAAsB,CAAC;IAErC,eAAe,EAAE,yBAAyB,CAAC;IAG3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,YAAY,EAAE,sBAAsB,CAAC;IACrC,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,eAAe,EAAE,eAAe,CAAC;IACjC,iCAAiC,EAAE,iCAAiC,CAAC;IAGrE,eAAe,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;IAG7B,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACrD"}
@@ -0,0 +1,22 @@
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 } from "@lodestar/types";
5
+ export type DepositTree = CompositeViewDU<ListCompositeType<ByteVectorType>>;
6
+ export declare class DepositDataRootRepository extends Repository<number, Root> {
7
+ private depositRootTree?;
8
+ constructor(config: ChainForkConfig, db: Db);
9
+ decodeKey(data: Buffer): number;
10
+ getId(_value: Root): number;
11
+ put(index: number, value: Root): Promise<void>;
12
+ batchPut(items: KeyValue<number, Root>[]): Promise<void>;
13
+ putList(roots: Root[]): Promise<void>;
14
+ batchPutValues(values: {
15
+ index: number;
16
+ root: Root;
17
+ }[]): Promise<void>;
18
+ getDepositRootTree(): Promise<DepositTree>;
19
+ getDepositRootTreeAtIndex(depositIndex: number): Promise<DepositTree>;
20
+ private depositRootTreeSet;
21
+ }
22
+ //# sourceMappingURL=depositDataRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositDataRoot.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/depositDataRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAK1C,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;AAE7E,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;IACrE,OAAO,CAAC,eAAe,CAAC,CAAc;gBAE1B,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAK3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK/B,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAIrB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,cAAc,CAAC,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQ1C,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YAK7D,kBAAkB;CAcjC"}
@@ -0,0 +1,62 @@
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 DepositDataRootRepository extends Repository {
6
+ depositRootTree;
7
+ constructor(config, db) {
8
+ const bucket = Bucket.index_depositDataRoot;
9
+ super(config, db, bucket, ssz.Root, getBucketNameByValue(bucket));
10
+ }
11
+ decodeKey(data) {
12
+ return bytesToInt(super.decodeKey(data), "be");
13
+ }
14
+ // depositDataRoots stored by depositData index
15
+ getId(_value) {
16
+ throw new Error("Unable to create depositIndex from root");
17
+ }
18
+ async put(index, value) {
19
+ await super.put(index, value);
20
+ await this.depositRootTreeSet(index, value);
21
+ }
22
+ async batchPut(items) {
23
+ await super.batchPut(items);
24
+ for (const { key, value } of items) {
25
+ await this.depositRootTreeSet(key, value);
26
+ }
27
+ }
28
+ async putList(roots) {
29
+ await this.batchPut(roots.map((root, index) => ({ key: index, value: root })));
30
+ }
31
+ async batchPutValues(values) {
32
+ await this.batchPut(values.map(({ index, root }) => ({
33
+ key: index,
34
+ value: root,
35
+ })));
36
+ }
37
+ async getDepositRootTree() {
38
+ if (!this.depositRootTree) {
39
+ const values = await this.values();
40
+ this.depositRootTree = ssz.phase0.DepositDataRootList.toViewDU(values);
41
+ }
42
+ return this.depositRootTree;
43
+ }
44
+ async getDepositRootTreeAtIndex(depositIndex) {
45
+ const depositRootTree = await this.getDepositRootTree();
46
+ return depositRootTree.sliceTo(depositIndex);
47
+ }
48
+ async depositRootTreeSet(index, value) {
49
+ const depositRootTree = await this.getDepositRootTree();
50
+ // TODO: Review and fix properly
51
+ if (index > depositRootTree.length) {
52
+ throw Error(`Error setting depositRootTree index ${index} > length ${depositRootTree.length}`);
53
+ }
54
+ if (index === depositRootTree.length) {
55
+ depositRootTree.push(value);
56
+ }
57
+ else {
58
+ depositRootTree.set(index, value);
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=depositDataRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositDataRoot.js","sourceRoot":"","sources":["../../../src/db/repositories/depositDataRoot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { ChainForkConfig } from "@lodestar/config";
2
+ import { Db, Repository } from "@lodestar/db";
3
+ import { phase0 } from "@lodestar/types";
4
+ /**
5
+ * DepositData indexed by deposit index
6
+ * Removed when included on chain or old
7
+ */
8
+ export declare class DepositEventRepository extends Repository<number, phase0.DepositEvent> {
9
+ constructor(config: ChainForkConfig, db: Db);
10
+ deleteOld(depositCount: number): Promise<void>;
11
+ batchPutValues(depositEvents: phase0.DepositEvent[]): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=depositEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositEvent.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/depositEvent.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;AAG5C;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC;gBACrE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAKrC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ1E"}
@@ -0,0 +1,27 @@
1
+ import { Repository } from "@lodestar/db";
2
+ import { ssz } from "@lodestar/types";
3
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
4
+ /**
5
+ * DepositData indexed by deposit index
6
+ * Removed when included on chain or old
7
+ */
8
+ export class DepositEventRepository extends Repository {
9
+ constructor(config, db) {
10
+ const bucket = Bucket.phase0_depositEvent;
11
+ super(config, db, bucket, ssz.phase0.DepositEvent, getBucketNameByValue(bucket));
12
+ }
13
+ async deleteOld(depositCount) {
14
+ const firstDepositIndex = await this.firstKey();
15
+ if (firstDepositIndex === null) {
16
+ return;
17
+ }
18
+ await this.batchDelete(Array.from({ length: depositCount - firstDepositIndex }, (_, i) => i + firstDepositIndex));
19
+ }
20
+ async batchPutValues(depositEvents) {
21
+ await this.batchPut(depositEvents.map((depositEvent) => ({
22
+ key: depositEvent.index,
23
+ value: depositEvent,
24
+ })));
25
+ }
26
+ }
27
+ //# sourceMappingURL=depositEvent.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,13 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,26 @@
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
@@ -0,0 +1 @@
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"}
@@ -8,6 +8,9 @@ export { BlockArchiveRepository } from "./blockArchive.js";
8
8
  export { BLSToExecutionChangeRepository } from "./blsToExecutionChange.js";
9
9
  export { DataColumnSidecarRepository } from "./dataColumnSidecar.js";
10
10
  export { DataColumnSidecarArchiveRepository } from "./dataColumnSidecarArchive.js";
11
+ export { DepositDataRootRepository } from "./depositDataRoot.js";
12
+ export { DepositEventRepository } from "./depositEvent.js";
13
+ export { Eth1DataRepository } from "./eth1Data.js";
11
14
  export { BestLightClientUpdateRepository } from "./lightclientBestUpdate.js";
12
15
  export { CheckpointHeaderRepository } from "./lightclientCheckpointHeader.js";
13
16
  export { SyncCommitteeRepository } from "./lightclientSyncCommittee.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAC,8BAA8B,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAC,8BAA8B,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
@@ -7,6 +7,9 @@ export { BlockArchiveRepository } from "./blockArchive.js";
7
7
  export { BLSToExecutionChangeRepository } from "./blsToExecutionChange.js";
8
8
  export { DataColumnSidecarRepository } from "./dataColumnSidecar.js";
9
9
  export { DataColumnSidecarArchiveRepository } from "./dataColumnSidecarArchive.js";
10
+ export { DepositDataRootRepository } from "./depositDataRoot.js";
11
+ export { DepositEventRepository } from "./depositEvent.js";
12
+ export { Eth1DataRepository } from "./eth1Data.js";
10
13
  export { BestLightClientUpdateRepository } from "./lightclientBestUpdate.js";
11
14
  export { CheckpointHeaderRepository } from "./lightclientCheckpointHeader.js";
12
15
  export { SyncCommitteeRepository } from "./lightclientSyncCommittee.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { PreGenesisState } from "./preGenesisState.js";
2
+ export { PreGenesisStateLastProcessedBlock } from "./preGenesisStateLastProcessedBlock.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export { PreGenesisState } from "./preGenesisState.js";
2
+ export { PreGenesisStateLastProcessedBlock } from "./preGenesisStateLastProcessedBlock.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,16 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,29 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,27 @@
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
@@ -0,0 +1 @@
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"}