@lodestar/beacon-node 1.39.0-dev.d4a47659a5 → 1.39.0-dev.f4236afdba

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 (246) 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/chain.d.ts +1 -4
  4. package/lib/chain/chain.d.ts.map +1 -1
  5. package/lib/chain/chain.js +2 -12
  6. package/lib/chain/chain.js.map +1 -1
  7. package/lib/chain/initState.d.ts +1 -14
  8. package/lib/chain/initState.d.ts.map +1 -1
  9. package/lib/chain/initState.js +1 -62
  10. package/lib/chain/initState.js.map +1 -1
  11. package/lib/chain/interface.d.ts +0 -2
  12. package/lib/chain/interface.d.ts.map +1 -1
  13. package/lib/chain/interface.js.map +1 -1
  14. package/lib/chain/prepareNextSlot.d.ts +0 -4
  15. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  16. package/lib/chain/prepareNextSlot.js +1 -21
  17. package/lib/chain/prepareNextSlot.js.map +1 -1
  18. package/lib/chain/produceBlock/produceBlockBody.d.ts +0 -1
  19. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  20. package/lib/chain/produceBlock/produceBlockBody.js +6 -9
  21. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  22. package/lib/db/beacon.d.ts +3 -7
  23. package/lib/db/beacon.d.ts.map +1 -1
  24. package/lib/db/beacon.js +33 -12
  25. package/lib/db/beacon.js.map +1 -1
  26. package/lib/db/buckets.d.ts +12 -6
  27. package/lib/db/buckets.d.ts.map +1 -1
  28. package/lib/db/buckets.js +6 -1
  29. package/lib/db/buckets.js.map +1 -1
  30. package/lib/db/interface.d.ts +2 -7
  31. package/lib/db/interface.d.ts.map +1 -1
  32. package/lib/db/repositories/index.d.ts +0 -3
  33. package/lib/db/repositories/index.d.ts.map +1 -1
  34. package/lib/db/repositories/index.js +0 -3
  35. package/lib/db/repositories/index.js.map +1 -1
  36. package/lib/execution/engine/http.d.ts +1 -1
  37. package/lib/execution/engine/http.d.ts.map +1 -1
  38. package/lib/execution/engine/http.js +2 -3
  39. package/lib/execution/engine/http.js.map +1 -1
  40. package/lib/execution/engine/index.d.ts.map +1 -1
  41. package/lib/execution/engine/index.js +1 -1
  42. package/lib/execution/engine/index.js.map +1 -1
  43. package/lib/execution/engine/interface.d.ts +1 -1
  44. package/lib/execution/engine/interface.d.ts.map +1 -1
  45. package/lib/execution/engine/interface.js.map +1 -1
  46. package/lib/{eth1/provider → execution/engine}/jsonRpcHttpClient.d.ts +1 -1
  47. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -0
  48. package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -0
  49. package/lib/execution/engine/jwt.d.ts.map +1 -0
  50. package/lib/execution/engine/jwt.js.map +1 -0
  51. package/lib/execution/engine/mock.d.ts.map +1 -1
  52. package/lib/execution/engine/mock.js +1 -1
  53. package/lib/execution/engine/mock.js.map +1 -1
  54. package/lib/execution/engine/payloadIdCache.d.ts +1 -1
  55. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  56. package/lib/execution/engine/types.d.ts +1 -1
  57. package/lib/execution/engine/types.d.ts.map +1 -1
  58. package/lib/execution/engine/types.js +1 -1
  59. package/lib/execution/engine/types.js.map +1 -1
  60. package/lib/execution/engine/utils.d.ts +64 -2
  61. package/lib/execution/engine/utils.d.ts.map +1 -1
  62. package/lib/execution/engine/utils.js +91 -2
  63. package/lib/execution/engine/utils.js.map +1 -1
  64. package/lib/index.d.ts +1 -2
  65. package/lib/index.d.ts.map +1 -1
  66. package/lib/index.js +1 -2
  67. package/lib/index.js.map +1 -1
  68. package/lib/metrics/metrics/lodestar.d.ts +0 -35
  69. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  70. package/lib/metrics/metrics/lodestar.js +0 -90
  71. package/lib/metrics/metrics/lodestar.js.map +1 -1
  72. package/lib/node/nodejs.d.ts.map +1 -1
  73. package/lib/node/nodejs.js +10 -9
  74. package/lib/node/nodejs.js.map +1 -1
  75. package/lib/node/options.d.ts +0 -2
  76. package/lib/node/options.d.ts.map +1 -1
  77. package/lib/node/options.js +0 -2
  78. package/lib/node/options.js.map +1 -1
  79. package/lib/node/utils/interop/deposits.d.ts +2 -1
  80. package/lib/node/utils/interop/deposits.d.ts.map +1 -1
  81. package/lib/node/utils/interop/deposits.js.map +1 -1
  82. package/lib/node/utils/interop/state.d.ts +1 -1
  83. package/lib/node/utils/interop/state.d.ts.map +1 -1
  84. package/lib/node/utils/state.d.ts +1 -7
  85. package/lib/node/utils/state.d.ts.map +1 -1
  86. package/lib/node/utils/state.js +1 -14
  87. package/lib/node/utils/state.js.map +1 -1
  88. package/package.json +14 -20
  89. package/src/api/impl/beacon/blocks/utils.ts +1 -1
  90. package/src/chain/chain.ts +1 -15
  91. package/src/chain/initState.ts +1 -97
  92. package/src/chain/interface.ts +0 -2
  93. package/src/chain/prepareNextSlot.ts +1 -28
  94. package/src/chain/produceBlock/produceBlockBody.ts +6 -10
  95. package/src/db/beacon.ts +38 -16
  96. package/src/db/buckets.ts +12 -7
  97. package/src/db/interface.ts +2 -13
  98. package/src/db/repositories/index.ts +0 -3
  99. package/src/execution/engine/http.ts +8 -9
  100. package/src/execution/engine/index.ts +1 -1
  101. package/src/execution/engine/interface.ts +1 -1
  102. package/src/{eth1/provider → execution/engine}/jsonRpcHttpClient.ts +1 -1
  103. package/src/execution/engine/mock.ts +1 -2
  104. package/src/execution/engine/payloadIdCache.ts +1 -1
  105. package/src/execution/engine/types.ts +9 -9
  106. package/src/execution/engine/utils.ts +111 -5
  107. package/src/index.ts +1 -2
  108. package/src/metrics/metrics/lodestar.ts +0 -92
  109. package/src/node/nodejs.ts +11 -9
  110. package/src/node/options.ts +0 -3
  111. package/src/node/utils/interop/deposits.ts +3 -1
  112. package/src/node/utils/interop/state.ts +1 -1
  113. package/src/node/utils/state.ts +3 -18
  114. package/lib/chain/genesis/genesis.d.ts +0 -51
  115. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  116. package/lib/chain/genesis/genesis.js +0 -123
  117. package/lib/chain/genesis/genesis.js.map +0 -1
  118. package/lib/chain/genesis/interface.d.ts +0 -13
  119. package/lib/chain/genesis/interface.d.ts.map +0 -1
  120. package/lib/chain/genesis/interface.js +0 -2
  121. package/lib/chain/genesis/interface.js.map +0 -1
  122. package/lib/db/repositories/depositDataRoot.d.ts +0 -22
  123. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  124. package/lib/db/repositories/depositDataRoot.js +0 -62
  125. package/lib/db/repositories/depositDataRoot.js.map +0 -1
  126. package/lib/db/repositories/depositEvent.d.ts +0 -13
  127. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  128. package/lib/db/repositories/depositEvent.js +0 -27
  129. package/lib/db/repositories/depositEvent.js.map +0 -1
  130. package/lib/db/repositories/eth1Data.d.ts +0 -13
  131. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  132. package/lib/db/repositories/eth1Data.js +0 -26
  133. package/lib/db/repositories/eth1Data.js.map +0 -1
  134. package/lib/db/single/index.d.ts +0 -3
  135. package/lib/db/single/index.d.ts.map +0 -1
  136. package/lib/db/single/index.js +0 -3
  137. package/lib/db/single/index.js.map +0 -1
  138. package/lib/db/single/preGenesisState.d.ts +0 -16
  139. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  140. package/lib/db/single/preGenesisState.js +0 -29
  141. package/lib/db/single/preGenesisState.js.map +0 -1
  142. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +0 -14
  143. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  144. package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -27
  145. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +0 -1
  146. package/lib/eth1/errors.d.ts +0 -66
  147. package/lib/eth1/errors.d.ts.map +0 -1
  148. package/lib/eth1/errors.js +0 -27
  149. package/lib/eth1/errors.js.map +0 -1
  150. package/lib/eth1/eth1DataCache.d.ts +0 -19
  151. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  152. package/lib/eth1/eth1DataCache.js +0 -19
  153. package/lib/eth1/eth1DataCache.js.map +0 -1
  154. package/lib/eth1/eth1DepositDataTracker.d.ts +0 -80
  155. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  156. package/lib/eth1/eth1DepositDataTracker.js +0 -317
  157. package/lib/eth1/eth1DepositDataTracker.js.map +0 -1
  158. package/lib/eth1/eth1DepositsCache.d.ts +0 -42
  159. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  160. package/lib/eth1/eth1DepositsCache.js +0 -119
  161. package/lib/eth1/eth1DepositsCache.js.map +0 -1
  162. package/lib/eth1/index.d.ts +0 -31
  163. package/lib/eth1/index.d.ts.map +0 -1
  164. package/lib/eth1/index.js +0 -71
  165. package/lib/eth1/index.js.map +0 -1
  166. package/lib/eth1/interface.d.ts +0 -74
  167. package/lib/eth1/interface.d.ts.map +0 -1
  168. package/lib/eth1/interface.js +0 -8
  169. package/lib/eth1/interface.js.map +0 -1
  170. package/lib/eth1/options.d.ts +0 -22
  171. package/lib/eth1/options.d.ts.map +0 -1
  172. package/lib/eth1/options.js +0 -8
  173. package/lib/eth1/options.js.map +0 -1
  174. package/lib/eth1/provider/eth1Provider.d.ts +0 -39
  175. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  176. package/lib/eth1/provider/eth1Provider.js +0 -147
  177. package/lib/eth1/provider/eth1Provider.js.map +0 -1
  178. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  179. package/lib/eth1/provider/jsonRpcHttpClient.js.map +0 -1
  180. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  181. package/lib/eth1/provider/jwt.js.map +0 -1
  182. package/lib/eth1/provider/utils.d.ts +0 -65
  183. package/lib/eth1/provider/utils.d.ts.map +0 -1
  184. package/lib/eth1/provider/utils.js +0 -120
  185. package/lib/eth1/provider/utils.js.map +0 -1
  186. package/lib/eth1/stream.d.ts +0 -15
  187. package/lib/eth1/stream.d.ts.map +0 -1
  188. package/lib/eth1/stream.js +0 -54
  189. package/lib/eth1/stream.js.map +0 -1
  190. package/lib/eth1/utils/depositContract.d.ts +0 -14
  191. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  192. package/lib/eth1/utils/depositContract.js +0 -33
  193. package/lib/eth1/utils/depositContract.js.map +0 -1
  194. package/lib/eth1/utils/deposits.d.ts +0 -8
  195. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  196. package/lib/eth1/utils/deposits.js +0 -47
  197. package/lib/eth1/utils/deposits.js.map +0 -1
  198. package/lib/eth1/utils/eth1Data.d.ts +0 -22
  199. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  200. package/lib/eth1/utils/eth1Data.js +0 -77
  201. package/lib/eth1/utils/eth1Data.js.map +0 -1
  202. package/lib/eth1/utils/eth1DepositEvent.d.ts +0 -7
  203. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  204. package/lib/eth1/utils/eth1DepositEvent.js +0 -13
  205. package/lib/eth1/utils/eth1DepositEvent.js.map +0 -1
  206. package/lib/eth1/utils/eth1Vote.d.ts +0 -17
  207. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  208. package/lib/eth1/utils/eth1Vote.js +0 -111
  209. package/lib/eth1/utils/eth1Vote.js.map +0 -1
  210. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts +0 -9
  211. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  212. package/lib/eth1/utils/groupDepositEventsByBlock.js +0 -17
  213. package/lib/eth1/utils/groupDepositEventsByBlock.js.map +0 -1
  214. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts +0 -10
  215. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  216. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +0 -14
  217. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +0 -1
  218. package/src/chain/genesis/genesis.ts +0 -190
  219. package/src/chain/genesis/interface.ts +0 -14
  220. package/src/db/repositories/depositDataRoot.ts +0 -80
  221. package/src/db/repositories/depositEvent.ts +0 -32
  222. package/src/db/repositories/eth1Data.ts +0 -33
  223. package/src/db/single/index.ts +0 -2
  224. package/src/db/single/preGenesisState.ts +0 -37
  225. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  226. package/src/eth1/errors.ts +0 -40
  227. package/src/eth1/eth1DataCache.ts +0 -26
  228. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  229. package/src/eth1/eth1DepositsCache.ts +0 -141
  230. package/src/eth1/index.ts +0 -94
  231. package/src/eth1/interface.ts +0 -87
  232. package/src/eth1/options.ts +0 -28
  233. package/src/eth1/provider/eth1Provider.ts +0 -229
  234. package/src/eth1/provider/utils.ts +0 -136
  235. package/src/eth1/stream.ts +0 -75
  236. package/src/eth1/utils/depositContract.ts +0 -37
  237. package/src/eth1/utils/deposits.ts +0 -70
  238. package/src/eth1/utils/eth1Data.ts +0 -100
  239. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  240. package/src/eth1/utils/eth1Vote.ts +0 -142
  241. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  242. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  243. /package/lib/{eth1/provider → execution/engine}/jsonRpcHttpClient.js +0 -0
  244. /package/lib/{eth1/provider → execution/engine}/jwt.d.ts +0 -0
  245. /package/lib/{eth1/provider → execution/engine}/jwt.js +0 -0
  246. /package/src/{eth1/provider → execution/engine}/jwt.ts +0 -0
@@ -6,19 +6,6 @@ import { getInteropState } from "./interop/state.js";
6
6
  */
7
7
  export function initDevState(config, validatorCount, interopStateOpts) {
8
8
  const deposits = interopDeposits(config, ssz.phase0.DepositDataRootList.defaultViewDU(), validatorCount, interopStateOpts);
9
- const state = getInteropState(config, interopStateOpts, deposits);
10
- return { deposits, state };
11
- }
12
- export async function writeDeposits(db, deposits) {
13
- for (let i = 0; i < deposits.length; i++) {
14
- await Promise.all([
15
- db.depositEvent.put(i, {
16
- blockNumber: i,
17
- index: i,
18
- depositData: deposits[i].data,
19
- }),
20
- db.depositDataRoot.put(i, ssz.phase0.DepositData.hashTreeRoot(deposits[i].data)),
21
- ]);
22
- }
9
+ return getInteropState(config, interopStateOpts, deposits);
23
10
  }
24
11
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/node/utils/state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAmB,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAErE;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAuB,EACvB,cAAsB,EACtB,gBAAkC;IAElC,MAAM,QAAQ,GAAG,eAAe,CAC9B,MAAM,EACN,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAC9C,cAAc,EACd,gBAAgB,CACjB,CAAC;IACF,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAClE,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAa,EAAE,QAA0B;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;gBACrB,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;aAC9B,CAAC;YACF,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/node/utils/state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAmB,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAErE;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAuB,EACvB,cAAsB,EACtB,gBAAkC;IAElC,MAAM,QAAQ,GAAG,eAAe,CAC9B,MAAM,EACN,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAC9C,cAAc,EACd,gBAAgB,CACjB,CAAC;IACF,OAAO,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.39.0-dev.d4a47659a5",
14
+ "version": "1.39.0-dev.f4236afdba",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -39,11 +39,6 @@
39
39
  "types": "./lib/db/index.d.ts",
40
40
  "import": "./lib/db/index.js"
41
41
  },
42
- "./eth1": {
43
- "bun": "./src/eth1/index.ts",
44
- "types": "./lib/eth1/index.d.ts",
45
- "import": "./lib/eth1/index.js"
46
- },
47
42
  "./metrics": {
48
43
  "bun": "./src/metrics/index.ts",
49
44
  "types": "./lib/metrics/index.d.ts",
@@ -126,7 +121,6 @@
126
121
  "@chainsafe/ssz": "^1.2.2",
127
122
  "@chainsafe/threads": "^1.11.3",
128
123
  "@crate-crypto/node-eth-kzg": "0.9.1",
129
- "@ethersproject/abi": "^5.7.0",
130
124
  "@fastify/bearer-auth": "^10.0.1",
131
125
  "@fastify/cors": "^10.0.1",
132
126
  "@fastify/swagger": "^9.0.0",
@@ -140,18 +134,18 @@
140
134
  "@libp2p/peer-id": "^5.1.0",
141
135
  "@libp2p/prometheus-metrics": "^4.3.15",
142
136
  "@libp2p/tcp": "^10.1.8",
143
- "@lodestar/api": "1.39.0-dev.d4a47659a5",
144
- "@lodestar/config": "1.39.0-dev.d4a47659a5",
145
- "@lodestar/db": "1.39.0-dev.d4a47659a5",
146
- "@lodestar/fork-choice": "1.39.0-dev.d4a47659a5",
147
- "@lodestar/light-client": "1.39.0-dev.d4a47659a5",
148
- "@lodestar/logger": "1.39.0-dev.d4a47659a5",
149
- "@lodestar/params": "1.39.0-dev.d4a47659a5",
150
- "@lodestar/reqresp": "1.39.0-dev.d4a47659a5",
151
- "@lodestar/state-transition": "1.39.0-dev.d4a47659a5",
152
- "@lodestar/types": "1.39.0-dev.d4a47659a5",
153
- "@lodestar/utils": "1.39.0-dev.d4a47659a5",
154
- "@lodestar/validator": "1.39.0-dev.d4a47659a5",
137
+ "@lodestar/api": "1.39.0-dev.f4236afdba",
138
+ "@lodestar/config": "1.39.0-dev.f4236afdba",
139
+ "@lodestar/db": "1.39.0-dev.f4236afdba",
140
+ "@lodestar/fork-choice": "1.39.0-dev.f4236afdba",
141
+ "@lodestar/light-client": "1.39.0-dev.f4236afdba",
142
+ "@lodestar/logger": "1.39.0-dev.f4236afdba",
143
+ "@lodestar/params": "1.39.0-dev.f4236afdba",
144
+ "@lodestar/reqresp": "1.39.0-dev.f4236afdba",
145
+ "@lodestar/state-transition": "1.39.0-dev.f4236afdba",
146
+ "@lodestar/types": "1.39.0-dev.f4236afdba",
147
+ "@lodestar/utils": "1.39.0-dev.f4236afdba",
148
+ "@lodestar/validator": "1.39.0-dev.f4236afdba",
155
149
  "@multiformats/multiaddr": "^12.1.3",
156
150
  "datastore-core": "^10.0.2",
157
151
  "datastore-fs": "^10.0.6",
@@ -186,5 +180,5 @@
186
180
  "beacon",
187
181
  "blockchain"
188
182
  ],
189
- "gitHead": "ece402e986e6babc414c33018cbe7337c68ffd67"
183
+ "gitHead": "f6448bba79d002172837f6c7723bd206bb294e1f"
190
184
  }
@@ -5,7 +5,7 @@ import {blockToHeader} from "@lodestar/state-transition";
5
5
  import {RootHex, SignedBeaconBlock, Slot} from "@lodestar/types";
6
6
  import {IBeaconChain} from "../../../../chain/interface.js";
7
7
  import {GENESIS_SLOT} from "../../../../constants/index.js";
8
- import {rootHexRegex} from "../../../../eth1/provider/utils.js";
8
+ import {rootHexRegex} from "../../../../execution/engine/utils.js";
9
9
  import {ApiError, ValidationError} from "../../errors.js";
10
10
 
11
11
  export function toBeaconHeaderResponse(
@@ -43,7 +43,6 @@ import {Logger, fromHex, gweiToWei, isErrorAborted, pruneSetToMax, sleep, toRoot
43
43
  import {ProcessShutdownCallback} from "@lodestar/validator";
44
44
  import {GENESIS_EPOCH, ZERO_HASH} from "../constants/index.js";
45
45
  import {IBeaconDb} from "../db/index.js";
46
- import {IEth1ForBlockProduction} from "../eth1/index.js";
47
46
  import {BuilderStatus} from "../execution/builder/http.js";
48
47
  import {IExecutionBuilder, IExecutionEngine} from "../execution/index.js";
49
48
  import {Metrics} from "../metrics/index.js";
@@ -117,7 +116,6 @@ const DEFAULT_MAX_CACHED_PRODUCED_RESULTS = 4;
117
116
  export class BeaconChain implements IBeaconChain {
118
117
  readonly genesisTime: UintNum64;
119
118
  readonly genesisValidatorsRoot: Root;
120
- readonly eth1: IEth1ForBlockProduction;
121
119
  readonly executionEngine: IExecutionEngine;
122
120
  readonly executionBuilder?: IExecutionBuilder;
123
121
  // Expose config for convenience in modularized functions
@@ -216,7 +214,6 @@ export class BeaconChain implements IBeaconChain {
216
214
  validatorMonitor,
217
215
  anchorState,
218
216
  isAnchorStateFinalized,
219
- eth1,
220
217
  executionEngine,
221
218
  executionBuilder,
222
219
  }: {
@@ -233,7 +230,6 @@ export class BeaconChain implements IBeaconChain {
233
230
  validatorMonitor: ValidatorMonitor | null;
234
231
  anchorState: BeaconStateAllForks;
235
232
  isAnchorStateFinalized: boolean;
236
- eth1: IEth1ForBlockProduction;
237
233
  executionEngine: IExecutionEngine;
238
234
  executionBuilder?: IExecutionBuilder;
239
235
  }
@@ -248,7 +244,6 @@ export class BeaconChain implements IBeaconChain {
248
244
  this.genesisTime = anchorState.genesisTime;
249
245
  this.anchorStateLatestBlockSlot = anchorState.latestBlockHeader.slot;
250
246
  this.genesisValidatorsRoot = anchorState.genesisValidatorsRoot;
251
- this.eth1 = eth1;
252
247
  this.executionEngine = executionEngine;
253
248
  this.executionBuilder = executionBuilder;
254
249
  const signal = this.abortController.signal;
@@ -294,7 +289,7 @@ export class BeaconChain implements IBeaconChain {
294
289
  // Restore state caches
295
290
  // anchorState may already by a CachedBeaconState. If so, don't create the cache again, since deserializing all
296
291
  // pubkeys takes ~30 seconds for 350k keys (mainnet 2022Q2).
297
- // When the BeaconStateCache is created in eth1 genesis builder it may be incorrect. Until we can ensure that
292
+ // When the BeaconStateCache is created in initializeBeaconStateFromEth1 it may be incorrect. Until we can ensure that
298
293
  // it's safe to re-use _ANY_ BeaconStateCache, this option is disabled by default and only used in tests.
299
294
  const cachedState =
300
295
  isCachedBeaconState(anchorState) && opts.skipCreateStateCacheIfAvailable
@@ -417,15 +412,6 @@ export class BeaconChain implements IBeaconChain {
417
412
  signal
418
413
  );
419
414
 
420
- // Stop polling eth1 data if anchor state is in Electra AND deposit_requests_start_index is reached
421
- const anchorStateFork = this.config.getForkName(anchorState.slot);
422
- if (isForkPostElectra(anchorStateFork)) {
423
- const {eth1DepositIndex, depositRequestsStartIndex} = anchorState as BeaconStateElectra;
424
- if (eth1DepositIndex === Number(depositRequestsStartIndex)) {
425
- this.eth1.stopPollingEth1Data();
426
- }
427
- }
428
-
429
415
  // always run PrepareNextSlotScheduler except for fork_choice spec tests
430
416
  if (!opts?.disablePrepareNextSlot) {
431
417
  new PrepareNextSlotScheduler(this, this.config, metrics, this.logger, signal);
@@ -1,37 +1,11 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
2
  import {ZERO_HASH} from "@lodestar/params";
3
- import {
4
- BeaconStateAllForks,
5
- CachedBeaconStateAllForks,
6
- computeEpochAtSlot,
7
- computeStartSlotAtEpoch,
8
- } from "@lodestar/state-transition";
3
+ import {BeaconStateAllForks, computeEpochAtSlot, computeStartSlotAtEpoch} from "@lodestar/state-transition";
9
4
  import {SignedBeaconBlock, ssz} from "@lodestar/types";
10
5
  import {Logger, toHex, toRootHex} from "@lodestar/utils";
11
6
  import {GENESIS_SLOT} from "../constants/index.js";
12
7
  import {IBeaconDb} from "../db/index.js";
13
- import {Eth1Provider} from "../eth1/index.js";
14
- import {Eth1Options} from "../eth1/options.js";
15
8
  import {Metrics} from "../metrics/index.js";
16
- import {GenesisBuilder} from "./genesis/genesis.js";
17
- import {GenesisResult} from "./genesis/interface.js";
18
-
19
- export async function persistGenesisResult(
20
- db: IBeaconDb,
21
- genesisResult: GenesisResult,
22
- genesisBlock: SignedBeaconBlock
23
- ): Promise<void> {
24
- await Promise.all([
25
- db.stateArchive.add(genesisResult.state),
26
- db.blockArchive.add(genesisBlock),
27
- db.depositDataRoot.putList(genesisResult.depositTree.getAllReadonlyValues()),
28
- db.eth1Data.put(genesisResult.block.timestamp, {
29
- ...genesisResult.block,
30
- depositCount: genesisResult.depositTree.length,
31
- depositRoot: genesisResult.depositTree.hashTreeRoot(),
32
- }),
33
- ]);
34
- }
35
9
 
36
10
  export async function persistAnchorState(
37
11
  config: ChainForkConfig,
@@ -75,76 +49,6 @@ export function createGenesisBlock(config: ChainForkConfig, genesisState: Beacon
75
49
  return genesisBlock;
76
50
  }
77
51
 
78
- /**
79
- * Initialize and persist a genesis state and related data
80
- */
81
- export async function initStateFromEth1({
82
- config,
83
- db,
84
- logger,
85
- opts,
86
- signal,
87
- }: {
88
- config: ChainForkConfig;
89
- db: IBeaconDb;
90
- logger: Logger;
91
- opts: Eth1Options;
92
- signal: AbortSignal;
93
- }): Promise<CachedBeaconStateAllForks> {
94
- logger.info("Listening to eth1 for genesis state");
95
-
96
- const statePreGenesis = await db.preGenesisState.get();
97
- const depositTree = await db.depositDataRoot.getDepositRootTree();
98
- const lastProcessedBlockNumber = await db.preGenesisStateLastProcessedBlock.get();
99
-
100
- const builder = new GenesisBuilder({
101
- config,
102
- eth1Provider: new Eth1Provider(config, {...opts, logger}, signal),
103
- logger,
104
- signal,
105
- pendingStatus:
106
- statePreGenesis && depositTree !== undefined && lastProcessedBlockNumber != null
107
- ? {state: statePreGenesis, depositTree, lastProcessedBlockNumber}
108
- : undefined,
109
- });
110
-
111
- try {
112
- const genesisResult = await builder.waitForGenesis();
113
-
114
- // Note: .hashTreeRoot() automatically commits()
115
- const genesisBlock = createGenesisBlock(config, genesisResult.state);
116
- const types = config.getForkTypes(GENESIS_SLOT);
117
- const stateRoot = genesisResult.state.hashTreeRoot();
118
- const blockRoot = types.BeaconBlock.hashTreeRoot(genesisBlock.message);
119
-
120
- logger.info("Initializing genesis state", {
121
- stateRoot: toRootHex(stateRoot),
122
- blockRoot: toRootHex(blockRoot),
123
- validatorCount: genesisResult.state.validators.length,
124
- });
125
-
126
- await persistGenesisResult(db, genesisResult, genesisBlock);
127
-
128
- logger.verbose("Clearing pending genesis state if any");
129
- await db.preGenesisState.delete();
130
- await db.preGenesisStateLastProcessedBlock.delete();
131
-
132
- return genesisResult.state;
133
- } catch (e) {
134
- if (builder.lastProcessedBlockNumber != null) {
135
- logger.info("Persisting genesis state", {block: builder.lastProcessedBlockNumber});
136
-
137
- // Commit changed before serializing
138
- builder.state.commit();
139
-
140
- await db.preGenesisState.put(builder.state);
141
- await db.depositDataRoot.putList(builder.depositTree.getAllReadonlyValues());
142
- await db.preGenesisStateLastProcessedBlock.put(builder.lastProcessedBlockNumber);
143
- }
144
- throw e;
145
- }
146
- }
147
-
148
52
  /**
149
53
  * Restore the latest beacon state from db
150
54
  */
@@ -25,7 +25,6 @@ import {
25
25
  phase0,
26
26
  } from "@lodestar/types";
27
27
  import {Logger} from "@lodestar/utils";
28
- import {IEth1ForBlockProduction} from "../eth1/index.js";
29
28
  import {IExecutionBuilder, IExecutionEngine} from "../execution/index.js";
30
29
  import {Metrics} from "../metrics/metrics.js";
31
30
  import {BufferPool} from "../util/bufferPool.js";
@@ -88,7 +87,6 @@ export interface IBeaconChain {
88
87
  readonly genesisTime: UintNum64;
89
88
  readonly genesisValidatorsRoot: Root;
90
89
  readonly earliestAvailableSlot: Slot;
91
- readonly eth1: IEth1ForBlockProduction;
92
90
  readonly executionEngine: IExecutionEngine;
93
91
  readonly executionBuilder?: IExecutionBuilder;
94
92
  // Expose config for convenience in modularized functions
@@ -1,9 +1,8 @@
1
1
  import {routes} from "@lodestar/api";
2
2
  import {ChainForkConfig} from "@lodestar/config";
3
3
  import {getSafeExecutionBlockHash} from "@lodestar/fork-choice";
4
- import {ForkPostBellatrix, ForkSeq, SLOTS_PER_EPOCH, isForkPostElectra} from "@lodestar/params";
4
+ import {ForkPostBellatrix, ForkSeq, SLOTS_PER_EPOCH} from "@lodestar/params";
5
5
  import {
6
- BeaconStateElectra,
7
6
  CachedBeaconStateAllForks,
8
7
  CachedBeaconStateExecutions,
9
8
  StateHashTreeRootSource,
@@ -222,9 +221,6 @@ export class PrepareNextSlotScheduler {
222
221
  }
223
222
  this.metrics?.precomputeNextEpochTransition.hits.set(previousHits ?? 0);
224
223
 
225
- // Check if we can stop polling eth1 data
226
- this.stopEth1Polling();
227
-
228
224
  this.logger.verbose("Completed PrepareNextSlotScheduler epoch transition", {
229
225
  nextEpoch,
230
226
  headSlot,
@@ -252,27 +248,4 @@ export class PrepareNextSlotScheduler {
252
248
  state.hashTreeRoot();
253
249
  hashTreeRootTimer?.();
254
250
  }
255
-
256
- /**
257
- * Stop eth1 data polling after eth1_deposit_index has reached deposit_requests_start_index in Electra as described in EIP-6110
258
- */
259
- stopEth1Polling(): void {
260
- // Only continue if eth1 is still polling and finalized checkpoint is in Electra. State regen is expensive
261
- if (this.chain.eth1.isPollingEth1Data()) {
262
- const finalizedCheckpoint = this.chain.forkChoice.getFinalizedCheckpoint();
263
- const checkpointFork = this.config.getForkInfoAtEpoch(finalizedCheckpoint.epoch).name;
264
-
265
- if (isForkPostElectra(checkpointFork)) {
266
- const finalizedState = this.chain.getStateByCheckpoint(finalizedCheckpoint)?.state;
267
-
268
- if (
269
- finalizedState !== undefined &&
270
- finalizedState.eth1DepositIndex === Number((finalizedState as BeaconStateElectra).depositRequestsStartIndex)
271
- ) {
272
- // Signal eth1 to stop polling eth1Data
273
- this.chain.eth1.stopPollingEth1Data();
274
- }
275
- }
276
- }
277
- }
278
251
  }
@@ -45,7 +45,7 @@ import {
45
45
  } from "@lodestar/types";
46
46
  import {Logger, sleep, toHex, toPubkeyHex, toRootHex} from "@lodestar/utils";
47
47
  import {ZERO_HASH_HEX} from "../../constants/index.js";
48
- import {numToQuantity} from "../../eth1/provider/utils.js";
48
+ import {numToQuantity} from "../../execution/engine/utils.js";
49
49
  import {
50
50
  IExecutionBuilder,
51
51
  IExecutionEngine,
@@ -78,7 +78,6 @@ export enum BlockProductionStep {
78
78
  voluntaryExits = "voluntaryExits",
79
79
  blsToExecutionChanges = "blsToExecutionChanges",
80
80
  attestations = "attestations",
81
- eth1DataAndDeposits = "eth1DataAndDeposits",
82
81
  syncAggregate = "syncAggregate",
83
82
  executionPayload = "executionPayload",
84
83
  }
@@ -667,20 +666,17 @@ export async function produceCommonBlockBody<T extends BlockType>(
667
666
  step: BlockProductionStep.attestations,
668
667
  });
669
668
 
670
- const endEth1DataAndDeposits = stepsMetrics?.startTimer();
671
- const {eth1Data, deposits} = await this.eth1.getEth1DataAndDeposits(currentState);
672
- endEth1DataAndDeposits?.({
673
- step: BlockProductionStep.eth1DataAndDeposits,
674
- });
675
-
676
669
  const blockBody: Omit<CommonBlockBody, "blsToExecutionChanges" | "syncAggregate"> = {
677
670
  randaoReveal,
678
671
  graffiti,
679
- eth1Data,
672
+ // Eth1 data voting is no longer required since electra
673
+ eth1Data: currentState.eth1Data,
680
674
  proposerSlashings,
681
675
  attesterSlashings,
682
676
  attestations,
683
- deposits,
677
+ // Since electra, deposits are processed by the execution layer,
678
+ // we no longer support handling deposits from earlier forks.
679
+ deposits: [],
684
680
  voluntaryExits,
685
681
  };
686
682
 
package/src/db/beacon.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
- import {Db, LevelDbControllerMetrics} from "@lodestar/db";
2
+ import {Db, LevelDbControllerMetrics, encodeKey} from "@lodestar/db";
3
+ import {Bucket} from "./buckets.js";
3
4
  import {IBeaconDb} from "./interface.js";
4
5
  import {CheckpointStateRepository} from "./repositories/checkpointState.js";
5
6
  import {
@@ -14,16 +15,12 @@ import {
14
15
  CheckpointHeaderRepository,
15
16
  DataColumnSidecarArchiveRepository,
16
17
  DataColumnSidecarRepository,
17
- DepositDataRootRepository,
18
- DepositEventRepository,
19
- Eth1DataRepository,
20
18
  ProposerSlashingRepository,
21
19
  StateArchiveRepository,
22
20
  SyncCommitteeRepository,
23
21
  SyncCommitteeWitnessRepository,
24
22
  VoluntaryExitRepository,
25
23
  } from "./repositories/index.js";
26
- import {PreGenesisState, PreGenesisStateLastProcessedBlock} from "./single/index.js";
27
24
 
28
25
  export type BeaconDbModules = {
29
26
  config: ChainForkConfig;
@@ -45,14 +42,8 @@ export class BeaconDb implements IBeaconDb {
45
42
  voluntaryExit: VoluntaryExitRepository;
46
43
  proposerSlashing: ProposerSlashingRepository;
47
44
  attesterSlashing: AttesterSlashingRepository;
48
- depositEvent: DepositEventRepository;
49
45
  blsToExecutionChange: BLSToExecutionChangeRepository;
50
46
 
51
- depositDataRoot: DepositDataRootRepository;
52
- eth1Data: Eth1DataRepository;
53
- preGenesisState: PreGenesisState;
54
- preGenesisStateLastProcessedBlock: PreGenesisStateLastProcessedBlock;
55
-
56
47
  // lightclient
57
48
  bestLightClientUpdate: BestLightClientUpdateRepository;
58
49
  checkpointHeader: CheckpointHeaderRepository;
@@ -80,11 +71,6 @@ export class BeaconDb implements IBeaconDb {
80
71
  this.blsToExecutionChange = new BLSToExecutionChangeRepository(config, db);
81
72
  this.proposerSlashing = new ProposerSlashingRepository(config, db);
82
73
  this.attesterSlashing = new AttesterSlashingRepository(config, db);
83
- this.depositEvent = new DepositEventRepository(config, db);
84
- this.depositDataRoot = new DepositDataRootRepository(config, db);
85
- this.eth1Data = new Eth1DataRepository(config, db);
86
- this.preGenesisState = new PreGenesisState(config, db);
87
- this.preGenesisStateLastProcessedBlock = new PreGenesisStateLastProcessedBlock(config, db);
88
74
 
89
75
  // lightclient
90
76
  this.bestLightClientUpdate = new BestLightClientUpdateRepository(config, db);
@@ -110,4 +96,40 @@ export class BeaconDb implements IBeaconDb {
110
96
  // TODO: Enable once it's deemed safe
111
97
  // await this.block.batchDelete(await this.block.keys());
112
98
  }
99
+
100
+ async deleteDeprecatedEth1Data(): Promise<void> {
101
+ const deprecatedBuckets = [
102
+ Bucket.phase0_eth1Data,
103
+ Bucket.index_depositDataRoot,
104
+ Bucket.phase0_depositData,
105
+ Bucket.phase0_depositEvent,
106
+ Bucket.phase0_preGenesisState,
107
+ Bucket.phase0_preGenesisStateLastProcessedBlock,
108
+ ];
109
+
110
+ for (const bucket of deprecatedBuckets) {
111
+ await this.deleteBucketData(bucket);
112
+ }
113
+ }
114
+
115
+ private async deleteBucketData(bucket: Bucket): Promise<void> {
116
+ const minKey = encodeKey(bucket, Buffer.alloc(0));
117
+ const maxKey = encodeKey(bucket + 1, Buffer.alloc(0));
118
+
119
+ // Batch delete to avoid loading all keys into memory at once
120
+ const BATCH_DELETE_SIZE = 1000;
121
+ let keysBatch: Uint8Array[] = [];
122
+
123
+ for await (const key of this.db.keysStream({gte: minKey, lt: maxKey})) {
124
+ keysBatch.push(key);
125
+ if (keysBatch.length >= BATCH_DELETE_SIZE) {
126
+ await this.db.batchDelete(keysBatch);
127
+ keysBatch = [];
128
+ }
129
+ }
130
+
131
+ if (keysBatch.length > 0) {
132
+ await this.db.batchDelete(keysBatch);
133
+ }
134
+ }
113
135
  }
package/src/db/buckets.ts CHANGED
@@ -16,14 +16,16 @@ export enum Bucket {
16
16
  index_mainChain = 6, // Slot -> Root<BeaconBlock>
17
17
  // justified, finalized state and block hashes
18
18
  index_chainInfo = 7, // Key -> Number64 | stateHash | blockHash
19
- // eth1 processing
20
- phase0_eth1Data = 8, // timestamp -> Eth1Data
21
- index_depositDataRoot = 9, // depositIndex -> Root<DepositData>
19
+ /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
20
+ phase0_eth1Data = 8,
21
+ /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
22
+ index_depositDataRoot = 9,
22
23
 
23
24
  // op pool
24
25
  // phase0_attestation = 10, // DEPRECATED on v0.25.0
25
26
  // phase0_aggregateAndProof = 11, // Root -> AggregateAndProof, DEPRECATED on v.27.0
26
- phase0_depositData = 12, // [DEPRECATED] index -> DepositData
27
+ /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
28
+ phase0_depositData = 12,
27
29
  phase0_exit = 13, // ValidatorIndex -> VoluntaryExit
28
30
  phase0_proposerSlashing = 14, // ValidatorIndex -> ProposerSlashing
29
31
  allForks_attesterSlashing = 15, // Root -> AttesterSlashing
@@ -32,15 +34,18 @@ export enum Bucket {
32
34
  allForks_checkpointState = 17, // Root -> BeaconState
33
35
 
34
36
  // allForks_pendingBlock = 25, // Root -> SignedBeaconBlock // DEPRECATED on v0.30.0
35
- phase0_depositEvent = 19, // depositIndex -> DepositEvent
37
+ /** @deprecated Eth1 deposit tracking is not required since electra, only kept around to delete data from existing databases */
38
+ phase0_depositEvent = 19,
36
39
 
37
40
  index_stateArchiveRootIndex = 26, // State Root -> slot
38
41
 
39
42
  deneb_blobSidecars = 27, // DENEB BeaconBlockRoot -> BlobSidecars
40
43
  deneb_blobSidecarsArchive = 28, // DENEB BeaconBlockSlot -> BlobSidecars
41
44
 
42
- phase0_preGenesisState = 30, // Single = phase0.BeaconState
43
- phase0_preGenesisStateLastProcessedBlock = 31, // Single = Uint8
45
+ /** @deprecated Genesis from eth1 is no longer supported, only kept around to delete data from existing databases */
46
+ phase0_preGenesisState = 30,
47
+ /** @deprecated Genesis from eth1 is no longer supported, only kept around to delete data from existing databases */
48
+ phase0_preGenesisStateLastProcessedBlock = 31,
44
49
 
45
50
  // Lightclient server
46
51
  // altair_bestUpdatePerCommitteePeriod = 30, // DEPRECATED on v0.32.0
@@ -12,16 +12,12 @@ import {
12
12
  CheckpointHeaderRepository,
13
13
  DataColumnSidecarArchiveRepository,
14
14
  DataColumnSidecarRepository,
15
- DepositDataRootRepository,
16
- DepositEventRepository,
17
- Eth1DataRepository,
18
15
  ProposerSlashingRepository,
19
16
  StateArchiveRepository,
20
17
  SyncCommitteeRepository,
21
18
  SyncCommitteeWitnessRepository,
22
19
  VoluntaryExitRepository,
23
20
  } from "./repositories/index.js";
24
- import {PreGenesisState, PreGenesisStateLastProcessedBlock} from "./single/index.js";
25
21
 
26
22
  /**
27
23
  * The DB service manages the data layer of the beacon chain
@@ -48,17 +44,8 @@ export interface IBeaconDb {
48
44
  voluntaryExit: VoluntaryExitRepository;
49
45
  proposerSlashing: ProposerSlashingRepository;
50
46
  attesterSlashing: AttesterSlashingRepository;
51
- depositEvent: DepositEventRepository;
52
47
  blsToExecutionChange: BLSToExecutionChangeRepository;
53
48
 
54
- // eth1 processing
55
- preGenesisState: PreGenesisState;
56
- preGenesisStateLastProcessedBlock: PreGenesisStateLastProcessedBlock;
57
-
58
- // all deposit data roots and merkle tree
59
- depositDataRoot: DepositDataRootRepository;
60
- eth1Data: Eth1DataRepository;
61
-
62
49
  // lightclient
63
50
  bestLightClientUpdate: BestLightClientUpdateRepository;
64
51
  checkpointHeader: CheckpointHeaderRepository;
@@ -69,6 +56,8 @@ export interface IBeaconDb {
69
56
 
70
57
  pruneHotDb(): Promise<void>;
71
58
 
59
+ deleteDeprecatedEth1Data(): Promise<void>;
60
+
72
61
  /** Close the connection to the db instance and close the db store. */
73
62
  close(): Promise<void>;
74
63
  /** To inject metrics after CLI initialization */
@@ -8,9 +8,6 @@ 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";
14
11
  export {BestLightClientUpdateRepository} from "./lightclientBestUpdate.js";
15
12
  export {CheckpointHeaderRepository} from "./lightclientCheckpointHeader.js";
16
13
  export {SyncCommitteeRepository} from "./lightclientSyncCommittee.js";
@@ -4,14 +4,6 @@ import {BlobsBundle, ExecutionPayload, ExecutionRequests, Root, RootHex, Wei} fr
4
4
  import {BlobAndProof} from "@lodestar/types/deneb";
5
5
  import {BlobAndProofV2} from "@lodestar/types/fulu";
6
6
  import {strip0xPrefix} from "@lodestar/utils";
7
- import {
8
- ErrorJsonRpcResponse,
9
- HttpRpcError,
10
- IJsonRpcHttpClient,
11
- JsonRpcHttpClientEvent,
12
- ReqOpts,
13
- } from "../../eth1/provider/jsonRpcHttpClient.js";
14
- import {bytesToData, numToQuantity} from "../../eth1/provider/utils.js";
15
7
  import {Metrics} from "../../metrics/index.js";
16
8
  import {EPOCHS_PER_BATCH} from "../../sync/constants.js";
17
9
  import {getLodestarClientVersion} from "../../util/metadata.js";
@@ -27,6 +19,13 @@ import {
27
19
  PayloadId,
28
20
  VersionedHashes,
29
21
  } from "./interface.js";
22
+ import {
23
+ ErrorJsonRpcResponse,
24
+ HttpRpcError,
25
+ IJsonRpcHttpClient,
26
+ JsonRpcHttpClientEvent,
27
+ ReqOpts,
28
+ } from "./jsonRpcHttpClient.js";
30
29
  import {PayloadIdCache} from "./payloadIdCache.js";
31
30
  import {
32
31
  BLOB_AND_PROOF_V2_RPC_BYTES,
@@ -45,7 +44,7 @@ import {
45
44
  serializePayloadAttributes,
46
45
  serializeVersionedHashes,
47
46
  } from "./types.js";
48
- import {getExecutionEngineState} from "./utils.js";
47
+ import {bytesToData, getExecutionEngineState, numToQuantity} from "./utils.js";
49
48
 
50
49
  export type ExecutionEngineModules = {
51
50
  signal: AbortSignal;
@@ -1,5 +1,4 @@
1
1
  import {fromHex, toPrintableUrl} from "@lodestar/utils";
2
- import {JsonRpcHttpClient} from "../../eth1/provider/jsonRpcHttpClient.js";
3
2
  import {ExecutionEngineDisabled} from "./disabled.js";
4
3
  import {
5
4
  ExecutionEngineHttp,
@@ -8,6 +7,7 @@ import {
8
7
  defaultExecutionEngineHttpOpts,
9
8
  } from "./http.js";
10
9
  import {IExecutionEngine} from "./interface.js";
10
+ import {JsonRpcHttpClient} from "./jsonRpcHttpClient.js";
11
11
  import {ExecutionEngineMockBackend, ExecutionEngineMockOpts} from "./mock.js";
12
12
  import {ExecutionEngineMockJsonRpcClient, JsonRpcBackend} from "./utils.js";
13
13
 
@@ -9,9 +9,9 @@ import {
9
9
  import {BlobsBundle, ExecutionPayload, ExecutionRequests, Root, RootHex, Wei, capella} from "@lodestar/types";
10
10
  import {BlobAndProof} from "@lodestar/types/deneb";
11
11
  import {BlobAndProofV2} from "@lodestar/types/fulu";
12
- import {DATA} from "../../eth1/provider/utils.js";
13
12
  import {PayloadId, PayloadIdCache, WithdrawalV1} from "./payloadIdCache.js";
14
13
  import {ExecutionPayloadBody} from "./types.js";
14
+ import {DATA} from "./utils.js";
15
15
 
16
16
  export {PayloadIdCache, type PayloadId, type WithdrawalV1};
17
17
 
@@ -1,8 +1,8 @@
1
1
  import {EventEmitter} from "node:events";
2
2
  import {StrictEventEmitter} from "strict-event-emitter-types";
3
3
  import {ErrorAborted, Gauge, Histogram, TimeoutError, fetch, isValidHttpUrl, retry} from "@lodestar/utils";
4
- import {IJson, RpcPayload} from "../interface.js";
5
4
  import {JwtClaim, encodeJwtToken} from "./jwt.js";
5
+ import {IJson, RpcPayload} from "./utils.js";
6
6
 
7
7
  export enum JsonRpcHttpClientEvent {
8
8
  /**