@lodestar/beacon-node 1.19.0 → 1.20.0-dev.0cb3998a2a

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 (212) hide show
  1. package/README.md +1 -1
  2. package/lib/api/impl/api.d.ts +2 -4
  3. package/lib/api/impl/beacon/blocks/index.d.ts +3 -2
  4. package/lib/api/impl/beacon/blocks/index.js +82 -77
  5. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  6. package/lib/api/impl/beacon/blocks/utils.d.ts +3 -3
  7. package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
  8. package/lib/api/impl/beacon/index.d.ts +3 -2
  9. package/lib/api/impl/beacon/index.js.map +1 -1
  10. package/lib/api/impl/beacon/pool/index.d.ts +3 -2
  11. package/lib/api/impl/beacon/pool/index.js +18 -18
  12. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  13. package/lib/api/impl/beacon/rewards/index.d.ts +3 -2
  14. package/lib/api/impl/beacon/rewards/index.js +7 -7
  15. package/lib/api/impl/beacon/rewards/index.js.map +1 -1
  16. package/lib/api/impl/beacon/state/index.d.ts +3 -2
  17. package/lib/api/impl/beacon/state/index.js +37 -51
  18. package/lib/api/impl/beacon/state/index.js.map +1 -1
  19. package/lib/api/impl/beacon/state/utils.d.ts +1 -2
  20. package/lib/api/impl/beacon/state/utils.js +2 -2
  21. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  22. package/lib/api/impl/config/index.d.ts +3 -2
  23. package/lib/api/impl/config/index.js.map +1 -1
  24. package/lib/api/impl/debug/index.d.ts +3 -2
  25. package/lib/api/impl/debug/index.js +10 -23
  26. package/lib/api/impl/debug/index.js.map +1 -1
  27. package/lib/api/impl/errors.d.ts +1 -1
  28. package/lib/api/impl/errors.js +1 -1
  29. package/lib/api/impl/errors.js.map +1 -1
  30. package/lib/api/impl/events/index.d.ts +3 -2
  31. package/lib/api/impl/events/index.js +2 -2
  32. package/lib/api/impl/events/index.js.map +1 -1
  33. package/lib/api/impl/lightclient/index.d.ts +3 -2
  34. package/lib/api/impl/lightclient/index.js +18 -18
  35. package/lib/api/impl/lightclient/index.js.map +1 -1
  36. package/lib/api/impl/lodestar/index.d.ts +3 -2
  37. package/lib/api/impl/lodestar/index.js +15 -17
  38. package/lib/api/impl/lodestar/index.js.map +1 -1
  39. package/lib/api/impl/node/index.d.ts +3 -2
  40. package/lib/api/impl/node/index.js +8 -12
  41. package/lib/api/impl/node/index.js.map +1 -1
  42. package/lib/api/impl/proof/index.d.ts +3 -2
  43. package/lib/api/impl/proof/index.js +12 -6
  44. package/lib/api/impl/proof/index.js.map +1 -1
  45. package/lib/api/impl/validator/index.d.ts +3 -2
  46. package/lib/api/impl/validator/index.js +115 -111
  47. package/lib/api/impl/validator/index.js.map +1 -1
  48. package/lib/api/rest/base.js +2 -0
  49. package/lib/api/rest/base.js.map +1 -1
  50. package/lib/api/rest/index.d.ts +4 -5
  51. package/lib/api/rest/index.js +1 -2
  52. package/lib/api/rest/index.js.map +1 -1
  53. package/lib/chain/beaconProposerCache.d.ts +2 -2
  54. package/lib/chain/beaconProposerCache.js +2 -2
  55. package/lib/chain/beaconProposerCache.js.map +1 -1
  56. package/lib/chain/blocks/importBlock.js +7 -7
  57. package/lib/chain/blocks/importBlock.js.map +1 -1
  58. package/lib/chain/blocks/index.js +1 -2
  59. package/lib/chain/blocks/index.js.map +1 -1
  60. package/lib/chain/blocks/types.d.ts +45 -39
  61. package/lib/chain/blocks/types.js +31 -15
  62. package/lib/chain/blocks/types.js.map +1 -1
  63. package/lib/chain/blocks/verifyBlock.d.ts +3 -3
  64. package/lib/chain/blocks/verifyBlock.js +1 -1
  65. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  66. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +2 -2
  67. package/lib/chain/blocks/verifyBlocksDataAvailability.js +17 -14
  68. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  69. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +3 -3
  70. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  71. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
  72. package/lib/chain/blocks/verifyBlocksSignatures.js +3 -1
  73. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  74. package/lib/chain/blocks/writeBlockInputToDb.js +6 -6
  75. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  76. package/lib/chain/chain.d.ts +70 -9
  77. package/lib/chain/chain.js +46 -8
  78. package/lib/chain/chain.js.map +1 -1
  79. package/lib/chain/errors/blockError.d.ts +3 -3
  80. package/lib/chain/errors/blockError.js.map +1 -1
  81. package/lib/chain/forkChoice/index.js +2 -1
  82. package/lib/chain/forkChoice/index.js.map +1 -1
  83. package/lib/chain/initState.d.ts +3 -3
  84. package/lib/chain/initState.js.map +1 -1
  85. package/lib/chain/interface.d.ts +18 -9
  86. package/lib/chain/interface.js +6 -0
  87. package/lib/chain/interface.js.map +1 -1
  88. package/lib/chain/lightClient/index.d.ts +9 -9
  89. package/lib/chain/lightClient/index.js +3 -3
  90. package/lib/chain/lightClient/index.js.map +1 -1
  91. package/lib/chain/lightClient/proofs.d.ts +2 -2
  92. package/lib/chain/lightClient/proofs.js.map +1 -1
  93. package/lib/chain/opPools/opPool.d.ts +2 -2
  94. package/lib/chain/opPools/opPool.js.map +1 -1
  95. package/lib/chain/options.js +2 -1
  96. package/lib/chain/options.js.map +1 -1
  97. package/lib/chain/prepareNextSlot.d.ts +2 -0
  98. package/lib/chain/prepareNextSlot.js +49 -27
  99. package/lib/chain/prepareNextSlot.js.map +1 -1
  100. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +2 -2
  101. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  102. package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -4
  103. package/lib/chain/produceBlock/produceBlockBody.js +3 -3
  104. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  105. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +2 -2
  106. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  107. package/lib/chain/regen/interface.d.ts +4 -3
  108. package/lib/chain/regen/interface.js +1 -0
  109. package/lib/chain/regen/interface.js.map +1 -1
  110. package/lib/chain/regen/queued.d.ts +3 -3
  111. package/lib/chain/regen/queued.js.map +1 -1
  112. package/lib/chain/regen/regen.d.ts +2 -2
  113. package/lib/chain/regen/regen.js.map +1 -1
  114. package/lib/chain/rewards/attestationsRewards.js +3 -4
  115. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  116. package/lib/chain/rewards/blockRewards.d.ts +2 -2
  117. package/lib/chain/rewards/blockRewards.js.map +1 -1
  118. package/lib/chain/rewards/syncCommitteeRewards.d.ts +2 -2
  119. package/lib/chain/rewards/syncCommitteeRewards.js +2 -2
  120. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  121. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -2
  122. package/lib/chain/seenCache/seenGossipBlockInput.js +34 -18
  123. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  124. package/lib/chain/validation/block.d.ts +2 -2
  125. package/lib/chain/validation/block.js.map +1 -1
  126. package/lib/chain/validation/lightClientFinalityUpdate.d.ts +2 -2
  127. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  128. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +3 -3
  129. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  130. package/lib/db/buckets.d.ts +1 -1
  131. package/lib/db/repositories/block.d.ts +5 -5
  132. package/lib/db/repositories/block.js.map +1 -1
  133. package/lib/db/repositories/blockArchive.d.ts +13 -13
  134. package/lib/db/repositories/blockArchive.js.map +1 -1
  135. package/lib/db/repositories/blockArchiveIndex.d.ts +4 -3
  136. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  137. package/lib/db/repositories/lightclientBestUpdate.d.ts +4 -4
  138. package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
  139. package/lib/db/repositories/lightclientCheckpointHeader.d.ts +4 -4
  140. package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
  141. package/lib/db/single/preGenesisState.js.map +1 -1
  142. package/lib/eth1/provider/eth1Provider.js +2 -2
  143. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  144. package/lib/execution/builder/http.d.ts +5 -5
  145. package/lib/execution/builder/http.js +14 -13
  146. package/lib/execution/builder/http.js.map +1 -1
  147. package/lib/execution/builder/interface.d.ts +3 -3
  148. package/lib/execution/engine/disabled.d.ts +1 -1
  149. package/lib/execution/engine/disabled.js +2 -4
  150. package/lib/execution/engine/disabled.js.map +1 -1
  151. package/lib/execution/engine/http.d.ts +4 -5
  152. package/lib/execution/engine/http.js +0 -3
  153. package/lib/execution/engine/http.js.map +1 -1
  154. package/lib/execution/engine/interface.d.ts +4 -4
  155. package/lib/execution/engine/types.d.ts +3 -3
  156. package/lib/execution/engine/types.js.map +1 -1
  157. package/lib/metrics/metrics/beacon.d.ts +12 -2
  158. package/lib/metrics/metrics/beacon.js +11 -0
  159. package/lib/metrics/metrics/beacon.js.map +1 -1
  160. package/lib/metrics/metrics/lodestar.d.ts +2 -2
  161. package/lib/metrics/metrics/lodestar.js.map +1 -1
  162. package/lib/metrics/options.d.ts +1 -1
  163. package/lib/metrics/validatorMonitor.d.ts +3 -3
  164. package/lib/network/gossip/encoding.d.ts +3 -2
  165. package/lib/network/gossip/encoding.js +2 -2
  166. package/lib/network/gossip/encoding.js.map +1 -1
  167. package/lib/network/gossip/interface.d.ts +7 -7
  168. package/lib/network/gossip/interface.js.map +1 -1
  169. package/lib/network/gossip/topic.d.ts +731 -43
  170. package/lib/network/gossip/topic.js +3 -3
  171. package/lib/network/gossip/topic.js.map +1 -1
  172. package/lib/network/interface.d.ts +6 -6
  173. package/lib/network/network.d.ts +10 -10
  174. package/lib/network/network.js.map +1 -1
  175. package/lib/network/peers/peerManager.d.ts +2 -2
  176. package/lib/network/peers/peerManager.js.map +1 -1
  177. package/lib/network/processor/gossipHandlers.js +2 -2
  178. package/lib/network/processor/gossipHandlers.js.map +1 -1
  179. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
  180. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +2 -2
  181. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +9 -3
  182. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  183. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +10 -7
  184. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  185. package/lib/network/reqresp/types.d.ts +4 -4
  186. package/lib/network/reqresp/types.js +5 -5
  187. package/lib/network/reqresp/types.js.map +1 -1
  188. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +2 -2
  189. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
  190. package/lib/node/nodejs.d.ts +3 -7
  191. package/lib/node/notifier.js +8 -1
  192. package/lib/node/notifier.js.map +1 -1
  193. package/lib/node/utils/interop/state.js +2 -2
  194. package/lib/node/utils/interop/state.js.map +1 -1
  195. package/lib/sync/backfill/backfill.d.ts +2 -2
  196. package/lib/sync/backfill/backfill.js.map +1 -1
  197. package/lib/sync/backfill/verify.d.ts +5 -5
  198. package/lib/sync/backfill/verify.js.map +1 -1
  199. package/lib/sync/interface.d.ts +1 -1
  200. package/lib/sync/range/chain.js +2 -2
  201. package/lib/sync/range/chain.js.map +1 -1
  202. package/lib/sync/sync.js +1 -1
  203. package/lib/sync/sync.js.map +1 -1
  204. package/lib/sync/unknownBlock.js +2 -2
  205. package/lib/sync/unknownBlock.js.map +1 -1
  206. package/lib/sync/utils/pendingBlocksTree.js +1 -1
  207. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  208. package/lib/util/blobs.d.ts +3 -3
  209. package/lib/util/blobs.js.map +1 -1
  210. package/lib/util/multifork.d.ts +5 -4
  211. package/lib/util/multifork.js.map +1 -1
  212. package/package.json +14 -14
@@ -1,4 +1,5 @@
1
- import { computeTimeAtSlot, DataAvailableStatus } from "@lodestar/state-transition";
1
+ import { computeTimeAtSlot } from "@lodestar/state-transition";
2
+ import { DataAvailabilityStatus } from "@lodestar/fork-choice";
2
3
  import { BlockError, BlockErrorCode } from "../errors/index.js";
3
4
  import { validateBlobSidecars } from "../validation/blobSidecar.js";
4
5
  import { BlockInputType, BlobSidecarValidation, getBlockInput } from "./types.js";
@@ -31,8 +32,8 @@ export async function verifyBlocksDataAvailability(chain, blocks, opts) {
31
32
  dataAvailabilityStatuses.push(dataAvailabilityStatus);
32
33
  availableBlockInputs.push(availableBlockInput);
33
34
  }
34
- const availableTime = blocks[blocks.length - 1].type === BlockInputType.blobsPromise ? Date.now() : seenTime;
35
- if (blocks.length === 1 && opts.seenTimestampSec !== undefined && blocks[0].type !== BlockInputType.preDeneb) {
35
+ const availableTime = blocks[blocks.length - 1].type === BlockInputType.dataPromise ? Date.now() : seenTime;
36
+ if (blocks.length === 1 && opts.seenTimestampSec !== undefined && blocks[0].type !== BlockInputType.preData) {
36
37
  const recvToAvailableTime = availableTime / 1000 - opts.seenTimestampSec;
37
38
  const numBlobs = blocks[0].block.message.body.blobKzgCommitments.length;
38
39
  chain.metrics?.gossipBlock.receivedToBlobsAvailabilityTime.observe({ numBlobs }, recvToAvailableTime);
@@ -46,29 +47,31 @@ export async function verifyBlocksDataAvailability(chain, blocks, opts) {
46
47
  }
47
48
  async function maybeValidateBlobs(chain, blockInput, opts) {
48
49
  switch (blockInput.type) {
49
- case BlockInputType.preDeneb:
50
- return { dataAvailabilityStatus: DataAvailableStatus.preDeneb, availableBlockInput: blockInput };
51
- case BlockInputType.postDeneb:
50
+ case BlockInputType.preData:
51
+ return { dataAvailabilityStatus: DataAvailabilityStatus.PreData, availableBlockInput: blockInput };
52
+ case BlockInputType.outOfRangeData:
53
+ return { dataAvailabilityStatus: DataAvailabilityStatus.OutOfRange, availableBlockInput: blockInput };
54
+ case BlockInputType.availableData:
52
55
  if (opts.validBlobSidecars === BlobSidecarValidation.Full) {
53
- return { dataAvailabilityStatus: DataAvailableStatus.available, availableBlockInput: blockInput };
56
+ return { dataAvailabilityStatus: DataAvailabilityStatus.Available, availableBlockInput: blockInput };
54
57
  }
55
58
  // eslint-disable-next-line no-fallthrough
56
- case BlockInputType.blobsPromise: {
59
+ case BlockInputType.dataPromise: {
57
60
  // run full validation
58
61
  const { block } = blockInput;
59
62
  const blockSlot = block.message.slot;
60
- const blobsData = blockInput.type === BlockInputType.postDeneb
61
- ? blockInput
62
- : await raceWithCutoff(chain, blockInput, blockInput.availabilityPromise);
63
- const { blobs, blobsBytes, blobsSource } = blobsData;
63
+ const blobsData = blockInput.type === BlockInputType.availableData
64
+ ? blockInput.blockData
65
+ : await raceWithCutoff(chain, blockInput, blockInput.cachedData.availabilityPromise);
66
+ const { blobs } = blobsData;
64
67
  const { blobKzgCommitments } = block.message.body;
65
68
  const beaconBlockRoot = chain.config.getForkTypes(blockSlot).BeaconBlock.hashTreeRoot(block.message);
66
69
  // if the blob siddecars have been individually verified then we can skip kzg proof check
67
70
  // but other checks to match blobs with block data still need to be performed
68
71
  const skipProofsCheck = opts.validBlobSidecars === BlobSidecarValidation.Individual;
69
72
  validateBlobSidecars(blockSlot, beaconBlockRoot, blobKzgCommitments, blobs, { skipProofsCheck });
70
- const availableBlockInput = getBlockInput.postDeneb(chain.config, blockInput.block, blockInput.source, blobs, blobsSource, blockInput.blockBytes, blobsBytes);
71
- return { dataAvailabilityStatus: DataAvailableStatus.available, availableBlockInput: availableBlockInput };
73
+ const availableBlockInput = getBlockInput.availableData(chain.config, blockInput.block, blockInput.source, blockInput.blockBytes, blobsData);
74
+ return { dataAvailabilityStatus: DataAvailabilityStatus.Available, availableBlockInput: availableBlockInput };
72
75
  }
73
76
  }
74
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlocksDataAvailability.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksDataAvailability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyBlocksDataAvailability.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksDataAvailability.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
2
- import { bellatrix, allForks, Slot } from "@lodestar/types";
2
+ import { bellatrix, Slot, SignedBeaconBlock } from "@lodestar/types";
3
3
  import { IForkChoice, ProtoBlock, ExecutionStatus, MaybeValidExecutionStatus, LVHValidResponse, LVHInvalidResponse } from "@lodestar/fork-choice";
4
4
  import { ChainForkConfig } from "@lodestar/config";
5
5
  import { Logger } from "@lodestar/utils";
@@ -60,10 +60,10 @@ type VerifyBlockExecutionResponse = VerifyExecutionErrorResponse | {
60
60
  *
61
61
  * Since the EL client must be aware of each parent, all payloads must be submitted in sequence.
62
62
  */
63
- export declare function verifyBlocksExecutionPayload(chain: VerifyBlockExecutionPayloadModules, parentBlock: ProtoBlock, blocks: allForks.SignedBeaconBlock[], preState0: CachedBeaconStateAllForks, signal: AbortSignal, opts: BlockProcessOpts & ImportBlockOpts): Promise<SegmentExecStatus>;
63
+ export declare function verifyBlocksExecutionPayload(chain: VerifyBlockExecutionPayloadModules, parentBlock: ProtoBlock, blocks: SignedBeaconBlock[], preState0: CachedBeaconStateAllForks, signal: AbortSignal, opts: BlockProcessOpts & ImportBlockOpts): Promise<SegmentExecStatus>;
64
64
  /**
65
65
  * Verifies a single block execution payload by sending it to the EL client (via HTTP).
66
66
  */
67
- export declare function verifyBlockExecutionPayload(chain: VerifyBlockExecutionPayloadModules, block: allForks.SignedBeaconBlock, preState0: CachedBeaconStateAllForks, opts: BlockProcessOpts, isOptimisticallySafe: boolean, currentSlot: Slot): Promise<VerifyBlockExecutionResponse>;
67
+ export declare function verifyBlockExecutionPayload(chain: VerifyBlockExecutionPayloadModules, block: SignedBeaconBlock, preState0: CachedBeaconStateAllForks, opts: BlockProcessOpts, isOptimisticallySafe: boolean, currentSlot: Slot): Promise<VerifyBlockExecutionResponse>;
68
68
  export {};
69
69
  //# sourceMappingURL=verifyBlocksExecutionPayloads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlocksExecutionPayloads.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksExecutionPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,IAAI,wBAAwB,EAClD,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAEL,2BAA2B,EAE3B,eAAe,GAIhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAS,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,EAAE,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAC,4BAA4B,EAAC,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAmC3E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAyC,EACzC,WAAuB,EACvB,MAAoC,EACpC,SAAoC,EACpC,MAAmB,EACnB,IAAwC;IAExC,MAAM,iBAAiB,GAAgC,EAAE,CAAC;IAC1D,IAAI,eAAe,GAAiC,IAAI,CAAC;IACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1F,oEAAoE;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAED,sFAAsF;IACtF,iDAAiD;IACjD,EAAE;IACF,gCAAgC;IAChC,0EAA0E;IAC1E,2BAA2B;IAC3B,oFAAoF;IACpF,qFAAqF;IACrF,0EAA0E;IAC1E,6EAA6E;IAC7E,EAAE;IACF,oFAAoF;IACpF,+CAA+C;IAC/C,EAAE;IACF,wFAAwF;IACxF,6DAA6D;IAC7D,EAAE;IACF,wFAAwF;IACxF,wFAAwF;IACxF,0FAA0F;IAC1F,YAAY;IACZ,EAAE;IACF,EAAE;IACF,8BAA8B;IAC9B,8DAA8D;IAC9D,8EAA8E;IAC9E,sBAAsB;IACtB,EAAE;IACF,uCAAuC;IACvC,EAAE;IACF,uFAAuF;IACvF,wFAAwF;IACxF,EAAE;IACF,wFAAwF;IACxF,mCAAmC;IACnC,EAAE;IACF,2BAA2B;IAC3B,kCAAkC;IAClC,wFAAwF;IACxF,qEAAqE;IACrE,4CAA4C;IAC5C,EAAE;IACF,wBAAwB;IACxB,EAAE;IACF,EAAE;IACF,8EAA8E;IAC9E,6FAA6F;IAC7F,EAAE;IACF,EAAE;IACF,4DAA4D;IAC5D,8EAA8E;IAC9E,eAAe;IACf,0FAA0F;IAC1F,wFAAwF;IACxF,EAAE;IACF,EAAE;IACF,8BAA8B;IAC9B,6EAA6E;IAC7E,sDAAsD;IACtD,kGAAkG;IAClG,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;IAC5C,MAAM,+BAA+B,GAAG,IAAI,CAAC,+BAA+B,IAAI,mCAAmC,CAAC;IACpH,IAAI,oBAAoB,GACtB,WAAW,CAAC,eAAe,KAAK,eAAe,CAAC,QAAQ;QACxD,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,+BAA+B,GAAG,WAAW,CAAC;IAEzE,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,2FAA2F;QAC3F,uDAAuD;QACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC,8BAA8B,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,2BAA2B,CACtD,KAAK,EACL,KAAK,EACL,SAAS,EACT,IAAI,EACJ,oBAAoB,EACpB,WAAW,CACZ,CAAC;QAEF,sFAAsF;QACtF,IAAI,cAAc,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,uBAAuB,CAAC,EAAC,cAAc,EAAE,UAAU,EAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACpF,CAAC;QAED,sFAAsF;QACtF,MAAM,EAAC,eAAe,EAAC,GAAG,cAAc,CAAC;QACzC,2FAA2F;QAC3F,oFAAoF;QACpF,sDAAsD;QACtD,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;YACjD,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAExC,MAAM,sBAAsB;QAC1B,yFAAyF;QACzF,yFAAyF;QACzF,gFAAgF;QAChF,eAAe,KAAK,IAAI;YACxB,oBAAoB,CAAC,SAAS,CAAC;YAC/B,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5C,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1D,wEAAwE;QACxE,8BAA8B;QAC9B,EAAE;QACF,wEAAwE;QACxE,iGAAiG;QACjG,uEAAuE;QACvE,EAAE;QACF,WAAW;QACX,wEAAwE;QACxE,yBAAyB;QACzB,uEAAuE;QACvE,qEAAqE;QACrE,sBAAsB;QACtB,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAgC,CAAC;YAC1D,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAChF,CAAC;YACF,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7E,kEAAkE;gBAClE,uCAAuC;gBACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,0EAA0E,EAC1E,EAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAC,EAC/C,KAAK,CACN,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAClB,QAAQ;gBACR,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjE,kEAAkE;oBAClE,uCAAuC;oBACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,wFAAwF,EACxF,EAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAC,EACpF,KAAK,CACN,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC,CAAC;YAEN,4GAA4G;YAC5G,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;YAED,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,EAAC,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAC,CAAC,CAAC;YACnG,iHAAiH;YACjH,yFAAyF;YACzF,eAAe,GAAG,UAAU,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;QACjH,MAAM,gBAAgB,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtE,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;QAE3D,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvF,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEnF,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;YAC/C,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;YAC5B,gBAAgB;YAChB,gBAAgB;YAChB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,iBAAiB;QACjB,aAAa;QACb,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAyC,EACzC,KAAiC,EACjC,SAAoC,EACpC,IAAsB,EACtB,oBAA6B,EAC7B,WAAiB;IAEjB,uCAAuC;IACvC,MAAM,uBAAuB,GAC3B,oBAAoB,CAAC,SAAS,CAAC;QAC/B,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,iHAAiH;QACjH,kFAAkF;QAClF,gHAAgH;QAChH,6GAA6G;QAC7G,gHAAgH;QAChH,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB;QACrC,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,gCAAgC;QAChC,OAAO,EAAC,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAiC,CAAC;IACtG,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK;QAC5B,CAAC,CAAE,KAAK,CAAC,OAAO,CAAC,IAA8B,CAAC,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC;QACpG,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9F,MAAM,MAAM,GAAG,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,uBAAuB,CAAC,WAAW,EAAC,CAAC;IAC/F,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAC7D,IAAI,EACJ,uBAAuB,EACvB,eAAe,EACf,eAAe,CAChB,CAAC;IACF,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAC,CAAC,CAAC;IAEnG,KAAK,CAAC,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAC,CAAC,CAAC;IAE7E,QAAQ,UAAU,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,MAAM,eAAe,GAA0B,eAAe,CAAC,KAAK,CAAC;YACrE,MAAM,WAAW,GAAG,EAAC,eAAe,EAAE,mBAAmB,EAAE,UAAU,CAAC,eAAe,EAAC,CAAC;YACvF,OAAO,EAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;QACzD,CAAC;QAED,KAAK,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,MAAM,eAAe,GAA4B,eAAe,CAAC,OAAO,CAAC;YACzE,MAAM,WAAW,GAAG;gBAClB,eAAe;gBACf,mBAAmB,EAAE,UAAU,CAAC,eAAe;gBAC/C,6BAA6B,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;aACrE,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBACtC,IAAI,EAAE,cAAc,CAAC,sBAAsB;gBAC3C,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,YAAY,EAAE,UAAU,CAAC,eAAe,IAAI,EAAE;aAC/C,CAAC,CAAC;YACH,OAAO,EAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC;QACnD,CAAC;QAED,wFAAwF;QACxF,KAAK,sBAAsB,CAAC,QAAQ,CAAC;QACrC,KAAK,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,2FAA2F;YAC3F,sFAAsF;YACtF,4CAA4C;YAC5C,MAAM,+BAA+B,GACnC,IAAI,CAAC,+BAA+B,IAAI,mCAAmC,CAAC;YAC9E,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,+BAA+B,IAAI,WAAW,EAAE,CAAC;gBACjG,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;oBACtC,IAAI,EAAE,cAAc,CAAC,sBAAsB;oBAC3C,UAAU,EAAE,sBAAsB,CAAC,wBAAwB;oBAC3D,YAAY,EAAE,sBAAsB,UAAU,CAAC,MAAM,mBAAmB,IAAI,CAAC,+BAA+B,iBAAiB;iBAC9H,CAAC,CAAC;gBACH,OAAO,EAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAiC,CAAC;YAC5E,CAAC;YAED,OAAO,EAAC,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;QACrE,CAAC;QAED,qFAAqF;QACrF,wEAAwE;QACxE,EAAE;QACF,+EAA+E;QAC/E,mDAAmD;QACnD,uBAAuB;QACvB,wEAAwE;QACxE,gFAAgF;QAChF,8EAA8E;QAC9E,kEAAkE;QAClE,sFAAsF;QACtF,uFAAuF;QACvF,aAAa;QACb,sFAAsF;QACtF,wFAAwF;QACxF,sCAAsC;QAEtC,KAAK,sBAAsB,CAAC,kBAAkB,CAAC;QAC/C,KAAK,sBAAsB,CAAC,OAAO,CAAC;QACpC,KAAK,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBACtC,IAAI,EAAE,cAAc,CAAC,sBAAsB;gBAC3C,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,YAAY,EAAE,UAAU,CAAC,eAAe;aACzC,CAAC,CAAC;YACH,OAAO,EAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAiC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,EAAC,cAAc,EAAE,UAAU,EAAqE,EAChG,WAAuB,EACvB,MAAoC;IAEpC,MAAM,EAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAC,GAAG,cAAc,CAAC;IACjE,IAAI,iBAAiB,GAAmC,SAAS,CAAC;IAElE,IACE,eAAe,KAAK,eAAe,CAAC,OAAO;QAC3C,WAAW,KAAK,SAAS;QACzB,WAAW,CAAC,mBAAmB,KAAK,IAAI,EACxC,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,IAAI,aAAa,GAAG,UAAU,GAAG,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACpC,IACE,WAAW,CAAE,KAAK,CAAC,OAAO,CAAC,IAAkC,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBACzF,WAAW,CAAC,mBAAmB,EAC/B,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QAED,iFAAiF;QACjF,2BAA2B;QAC3B,4CAA4C;QAC5C,sCAAsC;QACtC,IACE,CAAC,QAAQ;YACT,WAAW,CAAC,eAAe,KAAK,eAAe,CAAC,QAAQ;YACxD,WAAW,CAAC,yBAAyB,KAAK,WAAW,CAAC,mBAAmB,EACzE,CAAC;YACD,iBAAiB,GAAG;gBAClB,eAAe,EAAE,eAAe,CAAC,OAAO;gBACxC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;gBACpD,6BAA6B,EAAE,WAAW,CAAC,SAAS;aACrD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,EAAC,UAAU,EAAE,SAAS,EAAC,CAAC;IAC5C,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAsB,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"verifyBlocksExecutionPayloads.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksExecutionPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,IAAI,wBAAwB,EAClD,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAEL,2BAA2B,EAE3B,eAAe,GAIhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAS,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,EAAE,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAC,4BAA4B,EAAC,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAmC3E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAyC,EACzC,WAAuB,EACvB,MAA2B,EAC3B,SAAoC,EACpC,MAAmB,EACnB,IAAwC;IAExC,MAAM,iBAAiB,GAAgC,EAAE,CAAC;IAC1D,IAAI,eAAe,GAAiC,IAAI,CAAC;IACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1F,oEAAoE;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAED,sFAAsF;IACtF,iDAAiD;IACjD,EAAE;IACF,gCAAgC;IAChC,0EAA0E;IAC1E,2BAA2B;IAC3B,oFAAoF;IACpF,qFAAqF;IACrF,0EAA0E;IAC1E,6EAA6E;IAC7E,EAAE;IACF,oFAAoF;IACpF,+CAA+C;IAC/C,EAAE;IACF,wFAAwF;IACxF,6DAA6D;IAC7D,EAAE;IACF,wFAAwF;IACxF,wFAAwF;IACxF,0FAA0F;IAC1F,YAAY;IACZ,EAAE;IACF,EAAE;IACF,8BAA8B;IAC9B,8DAA8D;IAC9D,8EAA8E;IAC9E,sBAAsB;IACtB,EAAE;IACF,uCAAuC;IACvC,EAAE;IACF,uFAAuF;IACvF,wFAAwF;IACxF,EAAE;IACF,wFAAwF;IACxF,mCAAmC;IACnC,EAAE;IACF,2BAA2B;IAC3B,kCAAkC;IAClC,wFAAwF;IACxF,qEAAqE;IACrE,4CAA4C;IAC5C,EAAE;IACF,wBAAwB;IACxB,EAAE;IACF,EAAE;IACF,8EAA8E;IAC9E,6FAA6F;IAC7F,EAAE;IACF,EAAE;IACF,4DAA4D;IAC5D,8EAA8E;IAC9E,eAAe;IACf,0FAA0F;IAC1F,wFAAwF;IACxF,EAAE;IACF,EAAE;IACF,8BAA8B;IAC9B,6EAA6E;IAC7E,sDAAsD;IACtD,kGAAkG;IAClG,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;IAC5C,MAAM,+BAA+B,GAAG,IAAI,CAAC,+BAA+B,IAAI,mCAAmC,CAAC;IACpH,IAAI,oBAAoB,GACtB,WAAW,CAAC,eAAe,KAAK,eAAe,CAAC,QAAQ;QACxD,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,+BAA+B,GAAG,WAAW,CAAC;IAEzE,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,2FAA2F;QAC3F,uDAAuD;QACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC,8BAA8B,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,2BAA2B,CACtD,KAAK,EACL,KAAK,EACL,SAAS,EACT,IAAI,EACJ,oBAAoB,EACpB,WAAW,CACZ,CAAC;QAEF,sFAAsF;QACtF,IAAI,cAAc,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,uBAAuB,CAAC,EAAC,cAAc,EAAE,UAAU,EAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACpF,CAAC;QAED,sFAAsF;QACtF,MAAM,EAAC,eAAe,EAAC,GAAG,cAAc,CAAC;QACzC,2FAA2F;QAC3F,oFAAoF;QACpF,sDAAsD;QACtD,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;YACjD,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAExC,MAAM,sBAAsB;QAC1B,yFAAyF;QACzF,yFAAyF;QACzF,gFAAgF;QAChF,eAAe,KAAK,IAAI;YACxB,oBAAoB,CAAC,SAAS,CAAC;YAC/B,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5C,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1D,wEAAwE;QACxE,8BAA8B;QAC9B,EAAE;QACF,wEAAwE;QACxE,iGAAiG;QACjG,uEAAuE;QACvE,EAAE;QACF,WAAW;QACX,wEAAwE;QACxE,yBAAyB;QACzB,uEAAuE;QACvE,qEAAqE;QACrE,sBAAsB;QACtB,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAgC,CAAC;YAC1D,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAChF,CAAC;YACF,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7E,kEAAkE;gBAClE,uCAAuC;gBACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,0EAA0E,EAC1E,EAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAC,EAC/C,KAAK,CACN,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAClB,QAAQ;gBACR,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjE,kEAAkE;oBAClE,uCAAuC;oBACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,wFAAwF,EACxF,EAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAC,EACpF,KAAK,CACN,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC,CAAC;YAEN,4GAA4G;YAC5G,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;YAED,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,EAAC,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAC,CAAC,CAAC;YACnG,iHAAiH;YACjH,yFAAyF;YACzF,eAAe,GAAG,UAAU,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;QACjH,MAAM,gBAAgB,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtE,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;QAE3D,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvF,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEnF,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;YAC/C,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;YAC5B,gBAAgB;YAChB,gBAAgB;YAChB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,iBAAiB;QACjB,aAAa;QACb,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAyC,EACzC,KAAwB,EACxB,SAAoC,EACpC,IAAsB,EACtB,oBAA6B,EAC7B,WAAiB;IAEjB,uCAAuC;IACvC,MAAM,uBAAuB,GAC3B,oBAAoB,CAAC,SAAS,CAAC;QAC/B,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,iHAAiH;QACjH,kFAAkF;QAClF,gHAAgH;QAChH,6GAA6G;QAC7G,gHAAgH;QAChH,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB;QACrC,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,gCAAgC;QAChC,OAAO,EAAC,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAiC,CAAC;IACtG,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK;QAC5B,CAAC,CAAE,KAAK,CAAC,OAAO,CAAC,IAA8B,CAAC,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC;QACpG,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9F,MAAM,MAAM,GAAG,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,uBAAuB,CAAC,WAAW,EAAC,CAAC;IAC/F,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAC7D,IAAI,EACJ,uBAAuB,EACvB,eAAe,EACf,eAAe,CAChB,CAAC;IACF,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAC,CAAC,CAAC;IAEnG,KAAK,CAAC,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAC,CAAC,CAAC;IAE7E,QAAQ,UAAU,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,MAAM,eAAe,GAA0B,eAAe,CAAC,KAAK,CAAC;YACrE,MAAM,WAAW,GAAG,EAAC,eAAe,EAAE,mBAAmB,EAAE,UAAU,CAAC,eAAe,EAAC,CAAC;YACvF,OAAO,EAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;QACzD,CAAC;QAED,KAAK,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,MAAM,eAAe,GAA4B,eAAe,CAAC,OAAO,CAAC;YACzE,MAAM,WAAW,GAAG;gBAClB,eAAe;gBACf,mBAAmB,EAAE,UAAU,CAAC,eAAe;gBAC/C,6BAA6B,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;aACrE,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBACtC,IAAI,EAAE,cAAc,CAAC,sBAAsB;gBAC3C,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,YAAY,EAAE,UAAU,CAAC,eAAe,IAAI,EAAE;aAC/C,CAAC,CAAC;YACH,OAAO,EAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC;QACnD,CAAC;QAED,wFAAwF;QACxF,KAAK,sBAAsB,CAAC,QAAQ,CAAC;QACrC,KAAK,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,2FAA2F;YAC3F,sFAAsF;YACtF,4CAA4C;YAC5C,MAAM,+BAA+B,GACnC,IAAI,CAAC,+BAA+B,IAAI,mCAAmC,CAAC;YAC9E,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,+BAA+B,IAAI,WAAW,EAAE,CAAC;gBACjG,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;oBACtC,IAAI,EAAE,cAAc,CAAC,sBAAsB;oBAC3C,UAAU,EAAE,sBAAsB,CAAC,wBAAwB;oBAC3D,YAAY,EAAE,sBAAsB,UAAU,CAAC,MAAM,mBAAmB,IAAI,CAAC,+BAA+B,iBAAiB;iBAC9H,CAAC,CAAC;gBACH,OAAO,EAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAiC,CAAC;YAC5E,CAAC;YAED,OAAO,EAAC,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;QACrE,CAAC;QAED,qFAAqF;QACrF,wEAAwE;QACxE,EAAE;QACF,+EAA+E;QAC/E,mDAAmD;QACnD,uBAAuB;QACvB,wEAAwE;QACxE,gFAAgF;QAChF,8EAA8E;QAC9E,kEAAkE;QAClE,sFAAsF;QACtF,uFAAuF;QACvF,aAAa;QACb,sFAAsF;QACtF,wFAAwF;QACxF,sCAAsC;QAEtC,KAAK,sBAAsB,CAAC,kBAAkB,CAAC;QAC/C,KAAK,sBAAsB,CAAC,OAAO,CAAC;QACpC,KAAK,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBACtC,IAAI,EAAE,cAAc,CAAC,sBAAsB;gBAC3C,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,YAAY,EAAE,UAAU,CAAC,eAAe;aACzC,CAAC,CAAC;YACH,OAAO,EAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAiC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,EAAC,cAAc,EAAE,UAAU,EAAqE,EAChG,WAAuB,EACvB,MAA2B;IAE3B,MAAM,EAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAC,GAAG,cAAc,CAAC;IACjE,IAAI,iBAAiB,GAAmC,SAAS,CAAC;IAElE,IACE,eAAe,KAAK,eAAe,CAAC,OAAO;QAC3C,WAAW,KAAK,SAAS;QACzB,WAAW,CAAC,mBAAmB,KAAK,IAAI,EACxC,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,IAAI,aAAa,GAAG,UAAU,GAAG,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACpC,IACE,WAAW,CAAE,KAAK,CAAC,OAAO,CAAC,IAAkC,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBACzF,WAAW,CAAC,mBAAmB,EAC/B,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QAED,iFAAiF;QACjF,2BAA2B;QAC3B,4CAA4C;QAC5C,sCAAsC;QACtC,IACE,CAAC,QAAQ;YACT,WAAW,CAAC,eAAe,KAAK,eAAe,CAAC,QAAQ;YACxD,WAAW,CAAC,yBAAyB,KAAK,WAAW,CAAC,mBAAmB,EACzE,CAAC;YACD,iBAAiB,GAAG;gBAClB,eAAe,EAAE,eAAe,CAAC,OAAO;gBACxC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;gBACpD,6BAA6B,EAAE,WAAW,CAAC,SAAS;aACrD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,EAAC,UAAU,EAAE,SAAS,EAAC,CAAC;IAC5C,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAsB,CAAC;AAC/D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
2
- import { allForks } from "@lodestar/types";
3
2
  import { Logger } from "@lodestar/utils";
3
+ import { SignedBeaconBlock } from "@lodestar/types";
4
4
  import { Metrics } from "../../metrics/metrics.js";
5
5
  import { IBlsVerifier } from "../bls/index.js";
6
6
  import { ImportBlockOpts } from "./types.js";
@@ -11,7 +11,7 @@ import { ImportBlockOpts } from "./types.js";
11
11
  *
12
12
  * Since all data is known in advance all signatures are verified at once in parallel.
13
13
  */
14
- export declare function verifyBlocksSignatures(bls: IBlsVerifier, logger: Logger, metrics: Metrics | null, preState0: CachedBeaconStateAllForks, blocks: allForks.SignedBeaconBlock[], opts: ImportBlockOpts): Promise<{
14
+ export declare function verifyBlocksSignatures(bls: IBlsVerifier, logger: Logger, metrics: Metrics | null, preState0: CachedBeaconStateAllForks, blocks: SignedBeaconBlock[], opts: ImportBlockOpts): Promise<{
15
15
  verifySignaturesTime: number;
16
16
  }>;
17
17
  type AllValidRes = {
@@ -22,7 +22,9 @@ export async function verifyBlocksSignatures(bls, logger, metrics, preState0, bl
22
22
  Promise.resolve(true)
23
23
  : //
24
24
  // Verify signatures per block to track which block is invalid
25
- bls.verifySignatureSets(getBlockSignatureSets(preState0, block, { skipProposerSignature: opts.validProposerSignature }));
25
+ bls.verifySignatureSets(getBlockSignatureSets(preState0, block, {
26
+ skipProposerSignature: opts.validProposerSignature,
27
+ }));
26
28
  // getBlockSignatureSets() takes 45ms in benchmarks for 2022Q2 mainnet blocks (100 sigs). When syncing a 32 blocks
27
29
  // segments it will block the event loop for 1400 ms, which is too much. This call will allow the event loop to
28
30
  // yield, which will cause one block's state transition to run. However, the tradeoff is okay and doesn't slow sync
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlocksSignatures.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksSignatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyBlocksSignatures.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksSignatures.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,11 @@ export async function writeBlockInputToDb(blocksInput) {
26
26
  slot: block.message.slot,
27
27
  root: blockRootHex,
28
28
  });
29
- if (blockInput.type === BlockInputType.postDeneb || blockInput.type === BlockInputType.blobsPromise) {
30
- const blobSidecars = blockInput.type == BlockInputType.postDeneb
31
- ? blockInput.blobs
29
+ if (blockInput.type === BlockInputType.availableData || blockInput.type === BlockInputType.dataPromise) {
30
+ const blobSidecars = blockInput.type == BlockInputType.availableData
31
+ ? blockInput.blockData.blobs
32
32
  : // At this point of import blobs are available and can be safely awaited
33
- (await blockInput.availabilityPromise).blobs;
33
+ (await blockInput.cachedData.availabilityPromise).blobs;
34
34
  // NOTE: Old blobs are pruned on archive
35
35
  fnPromises.push(this.db.blobSidecars.add({ blockRoot, slot: block.message.slot, blobSidecars }));
36
36
  this.logger.debug("Persisted blobSidecars to hot DB", {
@@ -54,8 +54,8 @@ export async function removeEagerlyPersistedBlockInputs(blockInputs) {
54
54
  const blockRootHex = toHex(blockRoot);
55
55
  if (!this.forkChoice.hasBlockHex(blockRootHex)) {
56
56
  blockToRemove.push(block);
57
- if (type === BlockInputType.postDeneb) {
58
- const blobSidecars = blockInput.blobs;
57
+ if (type === BlockInputType.availableData) {
58
+ const blobSidecars = blockInput.blockData.blobs;
59
59
  blobsToRemove.push({ blockRoot, slot: block.message.slot, blobSidecars });
60
60
  }
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { CompositeTypeAny, TreeView, Type } from "@chainsafe/ssz";
2
2
  import { BeaconStateAllForks, CachedBeaconStateAllForks, Index2PubkeyCache, PubkeyIndexMap, EpochShuffling } from "@lodestar/state-transition";
3
3
  import { BeaconConfig } from "@lodestar/config";
4
- import { allForks, UintNum64, Root, phase0, Slot, RootHex, Epoch, ValidatorIndex, deneb, Wei } from "@lodestar/types";
4
+ import { UintNum64, Root, phase0, Slot, RootHex, Epoch, ValidatorIndex, deneb, Wei, BeaconBlock, SignedBeaconBlock, BlindedBeaconBlock } from "@lodestar/types";
5
5
  import { CheckpointWithHex, IForkChoice, ProtoBlock } from "@lodestar/fork-choice";
6
6
  import { ProcessShutdownCallback } from "@lodestar/validator";
7
7
  import { Logger } from "@lodestar/utils";
@@ -71,7 +71,66 @@ export declare class BeaconChain implements IBeaconChain {
71
71
  readonly shufflingCache: ShufflingCache;
72
72
  /** Map keyed by executionPayload.blockHash of the block for those blobs */
73
73
  readonly producedContentsCache: Map<string, deneb.Contents>;
74
- readonly producedBlockRoot: Map<string, allForks.ExecutionPayload | null>;
74
+ readonly producedBlockRoot: Map<string, import("@chainsafe/ssz").ValueOfFields<{
75
+ transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
76
+ parentHash: import("@chainsafe/ssz").ByteVectorType;
77
+ feeRecipient: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
78
+ stateRoot: import("@chainsafe/ssz").ByteVectorType;
79
+ receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
80
+ logsBloom: import("@chainsafe/ssz").ByteVectorType;
81
+ prevRandao: import("@chainsafe/ssz").ByteVectorType;
82
+ blockNumber: import("@chainsafe/ssz").UintNumberType;
83
+ gasLimit: import("@chainsafe/ssz").UintNumberType;
84
+ gasUsed: import("@chainsafe/ssz").UintNumberType;
85
+ timestamp: import("@chainsafe/ssz").UintNumberType;
86
+ extraData: import("@chainsafe/ssz").ByteListType;
87
+ baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
88
+ blockHash: import("@chainsafe/ssz").ByteVectorType;
89
+ }> | import("@chainsafe/ssz").ValueOfFields<{
90
+ withdrawals: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
91
+ index: import("@chainsafe/ssz").UintNumberType;
92
+ validatorIndex: import("@chainsafe/ssz").UintNumberType;
93
+ address: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
94
+ amount: import("@chainsafe/ssz").UintBigintType;
95
+ }>>;
96
+ transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
97
+ parentHash: import("@chainsafe/ssz").ByteVectorType;
98
+ feeRecipient: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
99
+ stateRoot: import("@chainsafe/ssz").ByteVectorType;
100
+ receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
101
+ logsBloom: import("@chainsafe/ssz").ByteVectorType;
102
+ prevRandao: import("@chainsafe/ssz").ByteVectorType;
103
+ blockNumber: import("@chainsafe/ssz").UintNumberType;
104
+ gasLimit: import("@chainsafe/ssz").UintNumberType;
105
+ gasUsed: import("@chainsafe/ssz").UintNumberType;
106
+ timestamp: import("@chainsafe/ssz").UintNumberType;
107
+ extraData: import("@chainsafe/ssz").ByteListType;
108
+ baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
109
+ blockHash: import("@chainsafe/ssz").ByteVectorType;
110
+ }> | import("@chainsafe/ssz").ValueOfFields<{
111
+ blobGasUsed: import("@chainsafe/ssz").UintBigintType;
112
+ excessBlobGas: import("@chainsafe/ssz").UintBigintType;
113
+ withdrawals: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
114
+ index: import("@chainsafe/ssz").UintNumberType;
115
+ validatorIndex: import("@chainsafe/ssz").UintNumberType;
116
+ address: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
117
+ amount: import("@chainsafe/ssz").UintBigintType;
118
+ }>>;
119
+ transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
120
+ parentHash: import("@chainsafe/ssz").ByteVectorType;
121
+ feeRecipient: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
122
+ stateRoot: import("@chainsafe/ssz").ByteVectorType;
123
+ receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
124
+ logsBloom: import("@chainsafe/ssz").ByteVectorType;
125
+ prevRandao: import("@chainsafe/ssz").ByteVectorType;
126
+ blockNumber: import("@chainsafe/ssz").UintNumberType;
127
+ gasLimit: import("@chainsafe/ssz").UintNumberType;
128
+ gasUsed: import("@chainsafe/ssz").UintNumberType;
129
+ timestamp: import("@chainsafe/ssz").UintNumberType;
130
+ extraData: import("@chainsafe/ssz").ByteListType;
131
+ baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
132
+ blockHash: import("@chainsafe/ssz").ByteVectorType;
133
+ }> | null>;
75
134
  readonly producedBlindedBlockRoot: Set<string>;
76
135
  readonly opts: IChainOptions;
77
136
  protected readonly blockProcessor: BlockProcessor;
@@ -120,12 +179,12 @@ export declare class BeaconChain implements IBeaconChain {
120
179
  finalized: boolean;
121
180
  } | null;
122
181
  getCanonicalBlockAtSlot(slot: Slot): Promise<{
123
- block: allForks.SignedBeaconBlock;
182
+ block: SignedBeaconBlock;
124
183
  executionOptimistic: boolean;
125
184
  finalized: boolean;
126
185
  } | null>;
127
186
  getBlockByRoot(root: string): Promise<{
128
- block: allForks.SignedBeaconBlock;
187
+ block: SignedBeaconBlock;
129
188
  executionOptimistic: boolean;
130
189
  finalized: boolean;
131
190
  } | null>;
@@ -133,7 +192,7 @@ export declare class BeaconChain implements IBeaconChain {
133
192
  produceBlock(blockAttributes: BlockAttributes & {
134
193
  commonBlockBody?: CommonBlockBody;
135
194
  }): Promise<{
136
- block: allForks.BeaconBlock;
195
+ block: BeaconBlock;
137
196
  executionPayloadValue: Wei;
138
197
  consensusBlockValue: Wei;
139
198
  shouldOverrideBuilder?: boolean;
@@ -141,7 +200,7 @@ export declare class BeaconChain implements IBeaconChain {
141
200
  produceBlindedBlock(blockAttributes: BlockAttributes & {
142
201
  commonBlockBody?: CommonBlockBody;
143
202
  }): Promise<{
144
- block: allForks.BlindedBeaconBlock;
203
+ block: BlindedBeaconBlock;
145
204
  executionPayloadValue: Wei;
146
205
  consensusBlockValue: Wei;
147
206
  }>;
@@ -168,13 +227,15 @@ export declare class BeaconChain implements IBeaconChain {
168
227
  processChainSegment(blocks: BlockInput[], opts?: ImportBlockOpts): Promise<void>;
169
228
  getStatus(): phase0.Status;
170
229
  recomputeForkChoiceHead(): ProtoBlock;
230
+ predictProposerHead(slot: Slot): ProtoBlock;
231
+ getProposerHead(slot: Slot): ProtoBlock;
171
232
  /**
172
233
  * Returns Promise that resolves either on block found or once 1 slot passes.
173
234
  * Used to handle unknown block root for both unaggregated and aggregated attestations.
174
235
  * @returns true if blockFound
175
236
  */
176
237
  waitForBlock(slot: Slot, root: RootHex): Promise<boolean>;
177
- persistBlock(data: allForks.BeaconBlock | allForks.BlindedBeaconBlock, suffix?: string): void;
238
+ persistBlock(data: BeaconBlock | BlindedBeaconBlock, suffix?: string): void;
178
239
  persistInvalidSszValue<T>(type: Type<T>, sszObject: T, suffix?: string): void;
179
240
  persistInvalidSszBytes(typeName: string, sszBytes: Uint8Array, suffix?: string): void;
180
241
  persistInvalidSszView(view: TreeView<CompositeTypeAny>, suffix?: string): void;
@@ -208,12 +269,12 @@ export declare class BeaconChain implements IBeaconChain {
208
269
  private onForkChoiceFinalized;
209
270
  updateBeaconProposerData(epoch: Epoch, proposers: ProposerPreparationData[]): Promise<void>;
210
271
  updateBuilderStatus(clockSlot: Slot): void;
211
- getBlockRewards(block: allForks.FullOrBlindedBeaconBlock): Promise<BlockRewards>;
272
+ getBlockRewards(block: BeaconBlock | BlindedBeaconBlock): Promise<BlockRewards>;
212
273
  getAttestationsRewards(epoch: Epoch, validatorIds?: (ValidatorIndex | string)[]): Promise<{
213
274
  rewards: AttestationsRewards;
214
275
  executionOptimistic: boolean;
215
276
  finalized: boolean;
216
277
  }>;
217
- getSyncCommitteeRewards(block: allForks.FullOrBlindedBeaconBlock, validatorIds?: (ValidatorIndex | string)[]): Promise<SyncCommitteeRewards>;
278
+ getSyncCommitteeRewards(block: BeaconBlock | BlindedBeaconBlock, validatorIds?: (ValidatorIndex | string)[]): Promise<SyncCommitteeRewards>;
218
279
  }
219
280
  //# sourceMappingURL=chain.d.ts.map
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import { fromHexString, toHexString } from "@chainsafe/ssz";
3
3
  import { computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, PubkeyIndexMap, computeEndSlotAtEpoch, } from "@lodestar/state-transition";
4
4
  import { isBlindedBeaconBlock, } from "@lodestar/types";
5
- import { ExecutionStatus } from "@lodestar/fork-choice";
5
+ import { ExecutionStatus, UpdateHeadOpt } from "@lodestar/fork-choice";
6
6
  import { gweiToWei, isErrorAborted, pruneSetToMax, sleep, toHex } from "@lodestar/utils";
7
7
  import { ForkSeq, SLOTS_PER_EPOCH } from "@lodestar/params";
8
8
  import { GENESIS_EPOCH, ZERO_HASH } from "../constants/index.js";
@@ -12,6 +12,7 @@ import { isOptimisticBlock } from "../util/forkChoice.js";
12
12
  import { BufferPool } from "../util/bufferPool.js";
13
13
  import { BlockProcessor } from "./blocks/index.js";
14
14
  import { ChainEventEmitter, ChainEvent } from "./emitter.js";
15
+ import { FindHeadFnName, } from "./interface.js";
15
16
  import { QueuedStateRegenerator, RegenCaller } from "./regen/index.js";
16
17
  import { initializeForkChoice } from "./forkChoice/index.js";
17
18
  import { computeAnchorCheckpoint } from "./initState.js";
@@ -138,7 +139,7 @@ export class BeaconChain {
138
139
  blockStateCache.add(cachedState);
139
140
  blockStateCache.setHeadState(cachedState);
140
141
  checkpointStateCache.add(checkpoint, cachedState);
141
- const forkChoice = initializeForkChoice(config, emitter, clock.currentSlot, cachedState, opts, this.justifiedBalancesGetter.bind(this));
142
+ const forkChoice = initializeForkChoice(config, emitter, clock.currentSlot, cachedState, opts, this.justifiedBalancesGetter.bind(this), logger);
142
143
  const regen = new QueuedStateRegenerator({
143
144
  config,
144
145
  forkChoice,
@@ -369,7 +370,7 @@ export class BeaconChain {
369
370
  // The hashtree root computed here for debug log will get cached and hence won't introduce additional delays
370
371
  const bodyRoot = blockType === BlockType.Full
371
372
  ? this.config.getForkTypes(slot).BeaconBlockBody.hashTreeRoot(body)
372
- : this.config.getBlindedForkTypes(slot).BeaconBlockBody.hashTreeRoot(body);
373
+ : this.config.getExecutionForkTypes(slot).BlindedBeaconBlockBody.hashTreeRoot(body);
373
374
  this.logger.debug("Computing block post state from the produced body", {
374
375
  slot,
375
376
  bodyRoot: toHexString(bodyRoot),
@@ -386,7 +387,7 @@ export class BeaconChain {
386
387
  block.stateRoot = newStateRoot;
387
388
  const blockRoot = blockType === BlockType.Full
388
389
  ? this.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block)
389
- : this.config.getBlindedForkTypes(slot).BeaconBlock.hashTreeRoot(block);
390
+ : this.config.getExecutionForkTypes(slot).BlindedBeaconBlock.hashTreeRoot(block);
390
391
  const blockRootHex = toHex(blockRoot);
391
392
  // track the produced block for consensus broadcast validations
392
393
  if (blockType === BlockType.Full) {
@@ -453,12 +454,49 @@ export class BeaconChain {
453
454
  }
454
455
  recomputeForkChoiceHead() {
455
456
  this.metrics?.forkChoice.requests.inc();
456
- const timer = this.metrics?.forkChoice.findHead.startTimer();
457
+ const timer = this.metrics?.forkChoice.findHead.startTimer({ entrypoint: FindHeadFnName.recomputeForkChoiceHead });
457
458
  try {
458
- return this.forkChoice.updateHead();
459
+ return this.forkChoice.updateAndGetHead({ mode: UpdateHeadOpt.GetCanonicialHead }).head;
459
460
  }
460
461
  catch (e) {
461
- this.metrics?.forkChoice.errors.inc();
462
+ this.metrics?.forkChoice.errors.inc({ entrypoint: UpdateHeadOpt.GetCanonicialHead });
463
+ throw e;
464
+ }
465
+ finally {
466
+ timer?.();
467
+ }
468
+ }
469
+ predictProposerHead(slot) {
470
+ this.metrics?.forkChoice.requests.inc();
471
+ const timer = this.metrics?.forkChoice.findHead.startTimer({ entrypoint: FindHeadFnName.predictProposerHead });
472
+ try {
473
+ return this.forkChoice.updateAndGetHead({ mode: UpdateHeadOpt.GetPredictedProposerHead, slot }).head;
474
+ }
475
+ catch (e) {
476
+ this.metrics?.forkChoice.errors.inc({ entrypoint: UpdateHeadOpt.GetPredictedProposerHead });
477
+ throw e;
478
+ }
479
+ finally {
480
+ timer?.();
481
+ }
482
+ }
483
+ getProposerHead(slot) {
484
+ this.metrics?.forkChoice.requests.inc();
485
+ const timer = this.metrics?.forkChoice.findHead.startTimer({ entrypoint: FindHeadFnName.getProposerHead });
486
+ const secFromSlot = this.clock.secFromSlot(slot);
487
+ try {
488
+ const { head, isHeadTimely, notReorgedReason } = this.forkChoice.updateAndGetHead({
489
+ mode: UpdateHeadOpt.GetProposerHead,
490
+ secFromSlot,
491
+ slot,
492
+ });
493
+ if (isHeadTimely && notReorgedReason !== undefined) {
494
+ this.metrics?.forkChoice.notReorgedReason.inc({ reason: notReorgedReason });
495
+ }
496
+ return head;
497
+ }
498
+ catch (e) {
499
+ this.metrics?.forkChoice.errors.inc({ entrypoint: UpdateHeadOpt.GetProposerHead });
462
500
  throw e;
463
501
  }
464
502
  finally {
@@ -476,7 +514,7 @@ export class BeaconChain {
476
514
  persistBlock(data, suffix) {
477
515
  const slot = data.slot;
478
516
  if (isBlindedBeaconBlock(data)) {
479
- const sszType = this.config.getBlindedForkTypes(slot).BeaconBlock;
517
+ const sszType = this.config.getExecutionForkTypes(slot).BlindedBeaconBlock;
480
518
  void this.persistSszObject("BlindedBeaconBlock", sszType.serialize(data), sszType.hashTreeRoot(data), suffix);
481
519
  }
482
520
  else {