@lodestar/beacon-node 1.39.0-dev.ad23ef56aa → 1.39.0-dev.addea91de2

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 (116) hide show
  1. package/lib/api/impl/beacon/state/utils.d.ts +2 -7
  2. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  3. package/lib/api/impl/beacon/state/utils.js +0 -12
  4. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  5. package/lib/api/impl/lodestar/index.js +1 -1
  6. package/lib/api/impl/lodestar/index.js.map +1 -1
  7. package/lib/api/impl/proof/index.d.ts.map +1 -1
  8. package/lib/api/impl/proof/index.js +1 -2
  9. package/lib/api/impl/proof/index.js.map +1 -1
  10. package/lib/api/impl/validator/index.d.ts.map +1 -1
  11. package/lib/api/impl/validator/index.js +1 -3
  12. package/lib/api/impl/validator/index.js.map +1 -1
  13. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  14. package/lib/chain/blocks/importBlock.js +8 -2
  15. package/lib/chain/blocks/importBlock.js.map +1 -1
  16. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  17. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +1 -0
  18. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  19. package/lib/chain/chain.d.ts +3 -2
  20. package/lib/chain/chain.d.ts.map +1 -1
  21. package/lib/chain/chain.js +16 -6
  22. package/lib/chain/chain.js.map +1 -1
  23. package/lib/chain/interface.d.ts +2 -2
  24. package/lib/chain/interface.d.ts.map +1 -1
  25. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  26. package/lib/chain/lightClient/proofs.js +0 -2
  27. package/lib/chain/lightClient/proofs.js.map +1 -1
  28. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +2 -3
  29. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  30. package/lib/chain/opPools/aggregatedAttestationPool.js +5 -130
  31. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  32. package/lib/chain/opPools/opPool.js +5 -8
  33. package/lib/chain/opPools/opPool.js.map +1 -1
  34. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  35. package/lib/chain/prepareNextSlot.js +4 -7
  36. package/lib/chain/prepareNextSlot.js.map +1 -1
  37. package/lib/chain/regen/interface.d.ts +1 -5
  38. package/lib/chain/regen/interface.d.ts.map +1 -1
  39. package/lib/chain/regen/queued.d.ts +4 -7
  40. package/lib/chain/regen/queued.d.ts.map +1 -1
  41. package/lib/chain/regen/queued.js +15 -25
  42. package/lib/chain/regen/queued.js.map +1 -1
  43. package/lib/chain/regen/regen.d.ts +1 -1
  44. package/lib/chain/regen/regen.d.ts.map +1 -1
  45. package/lib/chain/regen/regen.js +13 -17
  46. package/lib/chain/regen/regen.js.map +1 -1
  47. package/lib/chain/shufflingCache.d.ts +5 -12
  48. package/lib/chain/shufflingCache.d.ts.map +1 -1
  49. package/lib/chain/shufflingCache.js +12 -50
  50. package/lib/chain/shufflingCache.js.map +1 -1
  51. package/lib/chain/stateCache/blockStateCacheImpl.d.ts +1 -2
  52. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +1 -1
  53. package/lib/chain/stateCache/blockStateCacheImpl.js +2 -2
  54. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  55. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -2
  56. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  57. package/lib/chain/stateCache/fifoBlockStateCache.js +4 -4
  58. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  59. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +4 -5
  60. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +1 -1
  61. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +9 -10
  62. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  63. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +5 -6
  64. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  65. package/lib/chain/stateCache/persistentCheckpointsCache.js +17 -17
  66. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  67. package/lib/chain/stateCache/types.d.ts +5 -6
  68. package/lib/chain/stateCache/types.d.ts.map +1 -1
  69. package/lib/chain/stateCache/types.js.map +1 -1
  70. package/lib/db/repositories/stateArchive.d.ts +1 -1
  71. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  72. package/lib/db/repositories/stateArchive.js +2 -2
  73. package/lib/db/repositories/stateArchive.js.map +1 -1
  74. package/lib/execution/engine/mock.d.ts +9 -6
  75. package/lib/execution/engine/mock.d.ts.map +1 -1
  76. package/lib/execution/engine/mock.js +34 -7
  77. package/lib/execution/engine/mock.js.map +1 -1
  78. package/lib/metrics/metrics/lodestar.d.ts +1 -6
  79. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  80. package/lib/metrics/metrics/lodestar.js +3 -17
  81. package/lib/metrics/metrics/lodestar.js.map +1 -1
  82. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +1 -1
  83. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  84. package/lib/node/nodejs.d.ts.map +1 -1
  85. package/lib/node/nodejs.js +17 -2
  86. package/lib/node/nodejs.js.map +1 -1
  87. package/lib/util/sszBytes.js +1 -1
  88. package/lib/util/sszBytes.js.map +1 -1
  89. package/package.json +15 -15
  90. package/src/api/impl/beacon/state/utils.ts +2 -22
  91. package/src/api/impl/lodestar/index.ts +1 -1
  92. package/src/api/impl/proof/index.ts +1 -2
  93. package/src/api/impl/validator/index.ts +1 -3
  94. package/src/chain/blocks/importBlock.ts +9 -2
  95. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +1 -0
  96. package/src/chain/chain.ts +20 -9
  97. package/src/chain/interface.ts +2 -2
  98. package/src/chain/lightClient/proofs.ts +0 -2
  99. package/src/chain/opPools/aggregatedAttestationPool.ts +6 -181
  100. package/src/chain/opPools/opPool.ts +5 -7
  101. package/src/chain/prepareNextSlot.ts +2 -6
  102. package/src/chain/regen/interface.ts +1 -5
  103. package/src/chain/regen/queued.ts +15 -34
  104. package/src/chain/regen/regen.ts +12 -18
  105. package/src/chain/shufflingCache.ts +15 -61
  106. package/src/chain/stateCache/blockStateCacheImpl.ts +2 -3
  107. package/src/chain/stateCache/fifoBlockStateCache.ts +4 -5
  108. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +9 -15
  109. package/src/chain/stateCache/persistentCheckpointsCache.ts +17 -25
  110. package/src/chain/stateCache/types.ts +5 -10
  111. package/src/db/repositories/stateArchive.ts +2 -2
  112. package/src/execution/engine/mock.ts +40 -13
  113. package/src/metrics/metrics/lodestar.ts +3 -17
  114. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +1 -1
  115. package/src/node/nodejs.ts +18 -3
  116. package/src/util/sszBytes.ts +1 -1
@@ -6,9 +6,10 @@ import {PubkeyIndexMap} from "@chainsafe/pubkey-index-map";
6
6
  import {BeaconApiMethods} from "@lodestar/api/beacon/server";
7
7
  import {BeaconConfig} from "@lodestar/config";
8
8
  import type {LoggerNode} from "@lodestar/logger/node";
9
- import {CachedBeaconStateAllForks, Index2PubkeyCache} from "@lodestar/state-transition";
9
+ import {ZERO_HASH_HEX} from "@lodestar/params";
10
+ import {CachedBeaconStateAllForks, Index2PubkeyCache, isExecutionCachedStateType} from "@lodestar/state-transition";
10
11
  import {phase0} from "@lodestar/types";
11
- import {sleep} from "@lodestar/utils";
12
+ import {sleep, toRootHex} from "@lodestar/utils";
12
13
  import {ProcessShutdownCallback} from "@lodestar/validator";
13
14
  import {BeaconRestApiServer, getApi} from "../api/index.js";
14
15
  import {BeaconChain, IBeaconChain, initBeaconMetrics} from "../chain/index.js";
@@ -221,6 +222,20 @@ export class BeaconNode {
221
222
  )
222
223
  : null;
223
224
 
225
+ let executionEngineOpts = opts.executionEngine;
226
+ if (opts.executionEngine.mode === "mock") {
227
+ const eth1BlockHash = isExecutionCachedStateType(anchorState)
228
+ ? toRootHex(anchorState.latestExecutionPayloadHeader.blockHash)
229
+ : undefined;
230
+ executionEngineOpts = {
231
+ ...opts.executionEngine,
232
+ genesisBlockHash: ZERO_HASH_HEX,
233
+ eth1BlockHash,
234
+ genesisTime: anchorState.genesisTime,
235
+ config,
236
+ };
237
+ }
238
+
224
239
  const chain = new BeaconChain(opts.chain, {
225
240
  privateKey,
226
241
  config,
@@ -236,7 +251,7 @@ export class BeaconNode {
236
251
  validatorMonitor,
237
252
  anchorState,
238
253
  isAnchorStateFinalized,
239
- executionEngine: initializeExecutionEngine(opts.executionEngine, {
254
+ executionEngine: initializeExecutionEngine(executionEngineOpts, {
240
255
  metrics,
241
256
  signal,
242
257
  logger: logger.child({module: LoggerModule.execution}),
@@ -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