@lodestar/beacon-node 1.39.0 → 1.40.0-dev.1c71f4299a

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 (245) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +8 -18
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/state/utils.d.ts +2 -7
  5. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  6. package/lib/api/impl/beacon/state/utils.js +0 -12
  7. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  8. package/lib/api/impl/config/constants.d.ts +3 -0
  9. package/lib/api/impl/config/constants.d.ts.map +1 -1
  10. package/lib/api/impl/config/constants.js +5 -1
  11. package/lib/api/impl/config/constants.js.map +1 -1
  12. package/lib/api/impl/debug/index.d.ts +1 -1
  13. package/lib/api/impl/debug/index.d.ts.map +1 -1
  14. package/lib/api/impl/debug/index.js +3 -6
  15. package/lib/api/impl/debug/index.js.map +1 -1
  16. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  17. package/lib/api/impl/lodestar/index.js +6 -1
  18. package/lib/api/impl/lodestar/index.js.map +1 -1
  19. package/lib/api/impl/proof/index.d.ts.map +1 -1
  20. package/lib/api/impl/proof/index.js +1 -2
  21. package/lib/api/impl/proof/index.js.map +1 -1
  22. package/lib/api/impl/validator/index.d.ts.map +1 -1
  23. package/lib/api/impl/validator/index.js +1 -3
  24. package/lib/api/impl/validator/index.js.map +1 -1
  25. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  26. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +5 -3
  27. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  28. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  29. package/lib/chain/archiveStore/utils/archiveBlocks.js +23 -14
  30. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  31. package/lib/chain/blocks/blockInput/blockInput.d.ts +2 -0
  32. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  33. package/lib/chain/blocks/blockInput/blockInput.js +6 -0
  34. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  35. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  36. package/lib/chain/blocks/importBlock.js +14 -9
  37. package/lib/chain/blocks/importBlock.js.map +1 -1
  38. package/lib/chain/blocks/index.d.ts.map +1 -1
  39. package/lib/chain/blocks/index.js +0 -14
  40. package/lib/chain/blocks/index.js.map +1 -1
  41. package/lib/chain/blocks/types.d.ts +0 -2
  42. package/lib/chain/blocks/types.d.ts.map +1 -1
  43. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  44. package/lib/chain/blocks/verifyBlock.js +8 -8
  45. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  46. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  47. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +1 -0
  48. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  49. package/lib/chain/blocks/writeBlockInputToDb.d.ts +1 -4
  50. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  51. package/lib/chain/blocks/writeBlockInputToDb.js +20 -28
  52. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  53. package/lib/chain/chain.d.ts +16 -3
  54. package/lib/chain/chain.d.ts.map +1 -1
  55. package/lib/chain/chain.js +165 -7
  56. package/lib/chain/chain.js.map +1 -1
  57. package/lib/chain/initState.d.ts +1 -1
  58. package/lib/chain/initState.d.ts.map +1 -1
  59. package/lib/chain/initState.js +5 -3
  60. package/lib/chain/initState.js.map +1 -1
  61. package/lib/chain/interface.d.ts +16 -3
  62. package/lib/chain/interface.d.ts.map +1 -1
  63. package/lib/chain/interface.js.map +1 -1
  64. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  65. package/lib/chain/lightClient/proofs.js +0 -2
  66. package/lib/chain/lightClient/proofs.js.map +1 -1
  67. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +5 -9
  68. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  69. package/lib/chain/opPools/aggregatedAttestationPool.js +12 -141
  70. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  71. package/lib/chain/opPools/opPool.js +5 -8
  72. package/lib/chain/opPools/opPool.js.map +1 -1
  73. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  74. package/lib/chain/prepareNextSlot.js +4 -7
  75. package/lib/chain/prepareNextSlot.js.map +1 -1
  76. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  77. package/lib/chain/produceBlock/produceBlockBody.js +1 -1
  78. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  79. package/lib/chain/regen/interface.d.ts +1 -5
  80. package/lib/chain/regen/interface.d.ts.map +1 -1
  81. package/lib/chain/regen/queued.d.ts +4 -7
  82. package/lib/chain/regen/queued.d.ts.map +1 -1
  83. package/lib/chain/regen/queued.js +15 -25
  84. package/lib/chain/regen/queued.js.map +1 -1
  85. package/lib/chain/regen/regen.d.ts +1 -1
  86. package/lib/chain/regen/regen.d.ts.map +1 -1
  87. package/lib/chain/regen/regen.js +13 -17
  88. package/lib/chain/regen/regen.js.map +1 -1
  89. package/lib/chain/shufflingCache.d.ts +16 -11
  90. package/lib/chain/shufflingCache.d.ts.map +1 -1
  91. package/lib/chain/shufflingCache.js +47 -41
  92. package/lib/chain/shufflingCache.js.map +1 -1
  93. package/lib/chain/stateCache/blockStateCacheImpl.d.ts +1 -2
  94. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +1 -1
  95. package/lib/chain/stateCache/blockStateCacheImpl.js +2 -2
  96. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  97. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -2
  98. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  99. package/lib/chain/stateCache/fifoBlockStateCache.js +4 -4
  100. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  101. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +4 -5
  102. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +1 -1
  103. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +9 -10
  104. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  105. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +5 -6
  106. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  107. package/lib/chain/stateCache/persistentCheckpointsCache.js +17 -17
  108. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  109. package/lib/chain/stateCache/types.d.ts +5 -6
  110. package/lib/chain/stateCache/types.d.ts.map +1 -1
  111. package/lib/chain/stateCache/types.js.map +1 -1
  112. package/lib/chain/validation/attestation.d.ts.map +1 -1
  113. package/lib/chain/validation/attestation.js +2 -2
  114. package/lib/chain/validation/attestation.js.map +1 -1
  115. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  116. package/lib/chain/validation/attesterSlashing.js +1 -1
  117. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  118. package/lib/chain/validation/block.d.ts.map +1 -1
  119. package/lib/chain/validation/block.js +2 -0
  120. package/lib/chain/validation/block.js.map +1 -1
  121. package/lib/chain/validation/blsToExecutionChange.d.ts.map +1 -1
  122. package/lib/chain/validation/blsToExecutionChange.js +9 -2
  123. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  124. package/lib/chain/validation/proposerSlashing.js +2 -1
  125. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  126. package/lib/chain/validatorMonitor.d.ts +2 -0
  127. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  128. package/lib/chain/validatorMonitor.js +42 -3
  129. package/lib/chain/validatorMonitor.js.map +1 -1
  130. package/lib/db/repositories/checkpointState.d.ts +2 -6
  131. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  132. package/lib/db/repositories/checkpointState.js +3 -15
  133. package/lib/db/repositories/checkpointState.js.map +1 -1
  134. package/lib/db/repositories/stateArchive.d.ts +9 -9
  135. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  136. package/lib/db/repositories/stateArchive.js +6 -21
  137. package/lib/db/repositories/stateArchive.js.map +1 -1
  138. package/lib/execution/engine/mock.d.ts +9 -6
  139. package/lib/execution/engine/mock.d.ts.map +1 -1
  140. package/lib/execution/engine/mock.js +34 -7
  141. package/lib/execution/engine/mock.js.map +1 -1
  142. package/lib/index.d.ts +1 -1
  143. package/lib/index.d.ts.map +1 -1
  144. package/lib/index.js +1 -1
  145. package/lib/index.js.map +1 -1
  146. package/lib/metrics/metrics/lodestar.d.ts +8 -6
  147. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  148. package/lib/metrics/metrics/lodestar.js +27 -17
  149. package/lib/metrics/metrics/lodestar.js.map +1 -1
  150. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  151. package/lib/network/processor/gossipHandlers.js +0 -3
  152. package/lib/network/processor/gossipHandlers.js.map +1 -1
  153. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  154. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +2 -4
  155. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  156. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +1 -2
  157. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +1 -1
  158. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +5 -26
  159. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  160. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +1 -2
  161. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +1 -1
  162. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +5 -7
  163. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  164. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  165. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +1 -2
  166. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  167. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  168. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -5
  169. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  170. package/lib/network/reqresp/handlers/index.js +2 -2
  171. package/lib/network/reqresp/handlers/index.js.map +1 -1
  172. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +1 -1
  173. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  174. package/lib/node/nodejs.d.ts.map +1 -1
  175. package/lib/node/nodejs.js +17 -2
  176. package/lib/node/nodejs.js.map +1 -1
  177. package/lib/sync/range/chain.d.ts.map +1 -1
  178. package/lib/sync/range/chain.js +0 -1
  179. package/lib/sync/range/chain.js.map +1 -1
  180. package/lib/sync/range/range.d.ts.map +1 -1
  181. package/lib/sync/range/range.js +0 -3
  182. package/lib/sync/range/range.js.map +1 -1
  183. package/lib/sync/unknownBlock.d.ts.map +1 -1
  184. package/lib/sync/unknownBlock.js +0 -3
  185. package/lib/sync/unknownBlock.js.map +1 -1
  186. package/lib/util/sszBytes.js +1 -1
  187. package/lib/util/sszBytes.js.map +1 -1
  188. package/package.json +15 -15
  189. package/src/api/impl/beacon/blocks/index.ts +8 -18
  190. package/src/api/impl/beacon/state/utils.ts +2 -22
  191. package/src/api/impl/config/constants.ts +8 -0
  192. package/src/api/impl/debug/index.ts +2 -6
  193. package/src/api/impl/lodestar/index.ts +7 -1
  194. package/src/api/impl/proof/index.ts +1 -2
  195. package/src/api/impl/validator/index.ts +1 -3
  196. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +5 -3
  197. package/src/chain/archiveStore/utils/archiveBlocks.ts +25 -14
  198. package/src/chain/blocks/blockInput/blockInput.ts +8 -0
  199. package/src/chain/blocks/importBlock.ts +15 -9
  200. package/src/chain/blocks/index.ts +0 -19
  201. package/src/chain/blocks/types.ts +0 -2
  202. package/src/chain/blocks/verifyBlock.ts +9 -11
  203. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +1 -0
  204. package/src/chain/blocks/writeBlockInputToDb.ts +24 -30
  205. package/src/chain/chain.ts +191 -10
  206. package/src/chain/initState.ts +5 -3
  207. package/src/chain/interface.ts +18 -2
  208. package/src/chain/lightClient/proofs.ts +0 -2
  209. package/src/chain/opPools/aggregatedAttestationPool.ts +19 -191
  210. package/src/chain/opPools/opPool.ts +5 -7
  211. package/src/chain/prepareNextSlot.ts +2 -6
  212. package/src/chain/produceBlock/produceBlockBody.ts +6 -1
  213. package/src/chain/regen/interface.ts +1 -5
  214. package/src/chain/regen/queued.ts +15 -34
  215. package/src/chain/regen/regen.ts +12 -18
  216. package/src/chain/shufflingCache.ts +67 -50
  217. package/src/chain/stateCache/blockStateCacheImpl.ts +2 -3
  218. package/src/chain/stateCache/fifoBlockStateCache.ts +4 -5
  219. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +9 -15
  220. package/src/chain/stateCache/persistentCheckpointsCache.ts +17 -25
  221. package/src/chain/stateCache/types.ts +5 -10
  222. package/src/chain/validation/attestation.ts +3 -3
  223. package/src/chain/validation/attesterSlashing.ts +8 -1
  224. package/src/chain/validation/block.ts +3 -0
  225. package/src/chain/validation/blsToExecutionChange.ts +9 -7
  226. package/src/chain/validation/proposerSlashing.ts +2 -1
  227. package/src/chain/validatorMonitor.ts +52 -3
  228. package/src/db/repositories/checkpointState.ts +3 -19
  229. package/src/db/repositories/stateArchive.ts +13 -27
  230. package/src/execution/engine/mock.ts +40 -13
  231. package/src/index.ts +1 -1
  232. package/src/metrics/metrics/lodestar.ts +28 -17
  233. package/src/network/processor/gossipHandlers.ts +0 -3
  234. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -4
  235. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +5 -32
  236. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +5 -9
  237. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +5 -2
  238. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +1 -5
  239. package/src/network/reqresp/handlers/index.ts +2 -2
  240. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +1 -1
  241. package/src/node/nodejs.ts +18 -3
  242. package/src/sync/range/chain.ts +0 -1
  243. package/src/sync/range/range.ts +0 -3
  244. package/src/sync/unknownBlock.ts +0 -3
  245. package/src/util/sszBytes.ts +1 -1
@@ -188,9 +188,6 @@ export class RangeSync extends (EventEmitter as {new (): RangeSyncEmitter}) {
188
188
  // when this runs, syncing is the most important thing and gossip is not likely to run
189
189
  // so we can utilize worker threads to verify signatures
190
190
  blsVerifyOnMainThread: false,
191
- // we want to be safe to only persist blocks after verifying it to avoid any attacks that may cause our DB
192
- // to grow too much
193
- eagerPersistBlock: false,
194
191
  };
195
192
 
196
193
  if (this.opts?.disableProcessAsChainSegment) {
@@ -423,8 +423,6 @@ export class BlockInputSync {
423
423
  // see https://github.com/ChainSafe/lodestar/issues/5650
424
424
  ignoreIfFinalized: true,
425
425
  blsVerifyOnMainThread: true,
426
- // block is validated with correct root, we want to process it as soon as possible
427
- eagerPersistBlock: true,
428
426
  })
429
427
  );
430
428
 
@@ -434,7 +432,6 @@ export class BlockInputSync {
434
432
  if (!res.err) {
435
433
  // no need to update status to "processed", delete anyway
436
434
  this.pendingBlocks.delete(pendingBlock.blockInput.blockRootHex);
437
- this.chain.seenBlockInputCache.prune(pendingBlock.blockInput.blockRootHex);
438
435
 
439
436
  // Send child blocks to the processor
440
437
  for (const descendantBlock of getDescendantBlocks(pendingBlock.blockInput.blockRootHex, this.pendingBlocks)) {
@@ -479,7 +479,7 @@ export function getBlobKzgCommitmentsCountFromSignedBeaconBlockSerialized(
479
479
  blockBytes: Uint8Array
480
480
  ): number {
481
481
  const slot = getSlotFromSignedBeaconBlockSerialized(blockBytes);
482
- if (!slot) throw new Error("Can not parse the slot from block bytes");
482
+ if (slot === null) throw new Error("Can not parse the slot from block bytes");
483
483
 
484
484
  if (config.getForkSeq(slot) < ForkSeq.deneb) return 0;
485
485