@lodestar/beacon-node 1.36.0-dev.f657221d88 → 1.36.0-dev.faac5550fb

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 (267) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +41 -22
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/config/constants.d.ts +4 -2
  5. package/lib/api/impl/config/constants.d.ts.map +1 -1
  6. package/lib/api/impl/config/constants.js +6 -3
  7. package/lib/api/impl/config/constants.js.map +1 -1
  8. package/lib/api/impl/lodestar/index.d.ts +5 -0
  9. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  10. package/lib/api/impl/lodestar/index.js +35 -10
  11. package/lib/api/impl/lodestar/index.js.map +1 -1
  12. package/lib/api/impl/node/utils.js +1 -1
  13. package/lib/api/impl/node/utils.js.map +1 -1
  14. package/lib/api/impl/validator/index.d.ts.map +1 -1
  15. package/lib/api/impl/validator/index.js +2 -2
  16. package/lib/api/impl/validator/index.js.map +1 -1
  17. package/lib/chain/archiveStore/archiveStore.d.ts +9 -0
  18. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  19. package/lib/chain/archiveStore/archiveStore.js +24 -0
  20. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  21. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +7 -0
  22. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  23. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +31 -5
  24. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  25. package/lib/chain/beaconProposerCache.d.ts +3 -0
  26. package/lib/chain/beaconProposerCache.d.ts.map +1 -1
  27. package/lib/chain/beaconProposerCache.js +4 -6
  28. package/lib/chain/beaconProposerCache.js.map +1 -1
  29. package/lib/chain/chain.d.ts +5 -2
  30. package/lib/chain/chain.d.ts.map +1 -1
  31. package/lib/chain/chain.js +34 -18
  32. package/lib/chain/chain.js.map +1 -1
  33. package/lib/chain/errors/dataColumnSidecarError.d.ts +23 -13
  34. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
  35. package/lib/chain/errors/dataColumnSidecarError.js +5 -0
  36. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  37. package/lib/chain/errors/voluntaryExitError.d.ts +16 -2
  38. package/lib/chain/errors/voluntaryExitError.d.ts.map +1 -1
  39. package/lib/chain/errors/voluntaryExitError.js +22 -1
  40. package/lib/chain/errors/voluntaryExitError.js.map +1 -1
  41. package/lib/chain/forkChoice/index.d.ts +9 -1
  42. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  43. package/lib/chain/forkChoice/index.js +109 -4
  44. package/lib/chain/forkChoice/index.js.map +1 -1
  45. package/lib/chain/interface.d.ts +2 -0
  46. package/lib/chain/interface.d.ts.map +1 -1
  47. package/lib/chain/lightClient/index.d.ts +3 -0
  48. package/lib/chain/lightClient/index.d.ts.map +1 -1
  49. package/lib/chain/lightClient/index.js +24 -13
  50. package/lib/chain/lightClient/index.js.map +1 -1
  51. package/lib/chain/opPools/syncContributionAndProofPool.d.ts +3 -1
  52. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  53. package/lib/chain/opPools/syncContributionAndProofPool.js +4 -3
  54. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  55. package/lib/chain/options.d.ts +0 -2
  56. package/lib/chain/options.d.ts.map +1 -1
  57. package/lib/chain/options.js +2 -2
  58. package/lib/chain/options.js.map +1 -1
  59. package/lib/chain/stateCache/datastore/db.d.ts +12 -0
  60. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  61. package/lib/chain/stateCache/datastore/db.js +70 -0
  62. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  63. package/lib/chain/stateCache/datastore/file.d.ts +1 -0
  64. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  65. package/lib/chain/stateCache/datastore/file.js +7 -0
  66. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  67. package/lib/chain/stateCache/datastore/types.d.ts +1 -0
  68. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  69. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +16 -1
  70. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  71. package/lib/chain/stateCache/persistentCheckpointsCache.js +31 -1
  72. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  73. package/lib/chain/validation/attestation.d.ts.map +1 -1
  74. package/lib/chain/validation/attestation.js +6 -7
  75. package/lib/chain/validation/attestation.js.map +1 -1
  76. package/lib/chain/validation/block.d.ts.map +1 -1
  77. package/lib/chain/validation/block.js +1 -2
  78. package/lib/chain/validation/block.js.map +1 -1
  79. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  80. package/lib/chain/validation/dataColumnSidecar.js +45 -17
  81. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  82. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +1 -1
  83. package/lib/chain/validation/lightClientOptimisticUpdate.js +1 -2
  84. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  85. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  86. package/lib/chain/validation/voluntaryExit.js +5 -4
  87. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  88. package/lib/constants/constants.d.ts +0 -5
  89. package/lib/constants/constants.d.ts.map +1 -1
  90. package/lib/constants/constants.js +0 -5
  91. package/lib/constants/constants.js.map +1 -1
  92. package/lib/constants/network.d.ts +0 -14
  93. package/lib/constants/network.d.ts.map +1 -1
  94. package/lib/constants/network.js +0 -15
  95. package/lib/constants/network.js.map +1 -1
  96. package/lib/index.d.ts +2 -0
  97. package/lib/index.d.ts.map +1 -1
  98. package/lib/index.js +2 -0
  99. package/lib/index.js.map +1 -1
  100. package/lib/metrics/metrics/lodestar.d.ts +11 -0
  101. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  102. package/lib/metrics/metrics/lodestar.js +19 -1
  103. package/lib/metrics/metrics/lodestar.js.map +1 -1
  104. package/lib/network/core/networkCore.d.ts.map +1 -1
  105. package/lib/network/core/networkCore.js +5 -1
  106. package/lib/network/core/networkCore.js.map +1 -1
  107. package/lib/network/core/networkCoreWorker.js +8 -8
  108. package/lib/network/core/networkCoreWorker.js.map +1 -1
  109. package/lib/network/core/networkCoreWorkerHandler.js +1 -1
  110. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  111. package/lib/network/discv5/utils.d.ts.map +1 -1
  112. package/lib/network/discv5/utils.js +1 -2
  113. package/lib/network/discv5/utils.js.map +1 -1
  114. package/lib/network/discv5/worker.js +2 -7
  115. package/lib/network/discv5/worker.js.map +1 -1
  116. package/lib/network/events.d.ts +1 -0
  117. package/lib/network/events.d.ts.map +1 -1
  118. package/lib/network/gossip/encoding.js +1 -1
  119. package/lib/network/gossip/encoding.js.map +1 -1
  120. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  121. package/lib/network/gossip/gossipsub.js +1 -7
  122. package/lib/network/gossip/gossipsub.js.map +1 -1
  123. package/lib/network/gossip/snappy_bun.d.ts +3 -0
  124. package/lib/network/gossip/snappy_bun.d.ts.map +1 -0
  125. package/lib/network/gossip/snappy_bun.js +3 -0
  126. package/lib/network/gossip/snappy_bun.js.map +1 -0
  127. package/lib/network/metadata.d.ts +1 -1
  128. package/lib/network/metadata.d.ts.map +1 -1
  129. package/lib/network/metadata.js +1 -0
  130. package/lib/network/metadata.js.map +1 -1
  131. package/lib/network/network.d.ts.map +1 -1
  132. package/lib/network/network.js +1 -0
  133. package/lib/network/network.js.map +1 -1
  134. package/lib/network/options.d.ts +0 -1
  135. package/lib/network/options.d.ts.map +1 -1
  136. package/lib/network/options.js.map +1 -1
  137. package/lib/network/peers/discover.js +2 -2
  138. package/lib/network/peers/discover.js.map +1 -1
  139. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  140. package/lib/network/processor/gossipHandlers.js +14 -8
  141. package/lib/network/processor/gossipHandlers.js.map +1 -1
  142. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  143. package/lib/network/reqresp/ReqRespBeaconNode.js +3 -1
  144. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  145. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -1
  146. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  147. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +14 -3
  148. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  149. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +5 -5
  150. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  151. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +4 -4
  152. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  153. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +2 -1
  154. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  155. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +9 -1
  156. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  157. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +2 -1
  158. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  159. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +9 -1
  160. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  161. package/lib/network/reqresp/handlers/index.js +6 -6
  162. package/lib/network/reqresp/handlers/index.js.map +1 -1
  163. package/lib/network/reqresp/types.d.ts +1 -0
  164. package/lib/network/reqresp/types.d.ts.map +1 -1
  165. package/lib/network/subnets/attnetsService.d.ts +1 -1
  166. package/lib/network/subnets/attnetsService.js +6 -6
  167. package/lib/network/subnets/attnetsService.js.map +1 -1
  168. package/lib/network/subnets/util.d.ts +3 -2
  169. package/lib/network/subnets/util.d.ts.map +1 -1
  170. package/lib/network/subnets/util.js +6 -6
  171. package/lib/network/subnets/util.js.map +1 -1
  172. package/lib/node/nodejs.d.ts +2 -1
  173. package/lib/node/nodejs.d.ts.map +1 -1
  174. package/lib/node/nodejs.js +2 -1
  175. package/lib/node/nodejs.js.map +1 -1
  176. package/lib/sync/range/range.d.ts.map +1 -1
  177. package/lib/sync/range/range.js +2 -1
  178. package/lib/sync/range/range.js.map +1 -1
  179. package/lib/sync/utils/downloadByRange.d.ts +58 -13
  180. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  181. package/lib/sync/utils/downloadByRange.js +201 -82
  182. package/lib/sync/utils/downloadByRange.js.map +1 -1
  183. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  184. package/lib/sync/utils/downloadByRoot.js +7 -7
  185. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  186. package/lib/sync/utils/remoteSyncType.d.ts +2 -1
  187. package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
  188. package/lib/sync/utils/remoteSyncType.js +19 -4
  189. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  190. package/lib/util/blobs.d.ts +1 -1
  191. package/lib/util/blobs.d.ts.map +1 -1
  192. package/lib/util/blobs.js +53 -20
  193. package/lib/util/blobs.js.map +1 -1
  194. package/lib/util/clock.d.ts.map +1 -1
  195. package/lib/util/clock.js +3 -4
  196. package/lib/util/clock.js.map +1 -1
  197. package/lib/util/profile.d.ts +6 -4
  198. package/lib/util/profile.d.ts.map +1 -1
  199. package/lib/util/profile.js +40 -3
  200. package/lib/util/profile.js.map +1 -1
  201. package/lib/util/sszBytes.d.ts +2 -0
  202. package/lib/util/sszBytes.d.ts.map +1 -1
  203. package/lib/util/sszBytes.js +25 -0
  204. package/lib/util/sszBytes.js.map +1 -1
  205. package/package.json +32 -25
  206. package/src/api/impl/beacon/blocks/index.ts +47 -25
  207. package/src/api/impl/config/constants.ts +10 -4
  208. package/src/api/impl/lodestar/index.ts +42 -10
  209. package/src/api/impl/node/utils.ts +1 -1
  210. package/src/api/impl/validator/index.ts +5 -2
  211. package/src/chain/archiveStore/archiveStore.ts +27 -0
  212. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +32 -5
  213. package/src/chain/beaconProposerCache.ts +4 -8
  214. package/src/chain/chain.ts +50 -25
  215. package/src/chain/errors/dataColumnSidecarError.ts +27 -13
  216. package/src/chain/errors/voluntaryExitError.ts +30 -2
  217. package/src/chain/forkChoice/index.ts +178 -2
  218. package/src/chain/interface.ts +2 -0
  219. package/src/chain/lightClient/index.ts +26 -12
  220. package/src/chain/opPools/syncContributionAndProofPool.ts +3 -2
  221. package/src/chain/options.ts +2 -3
  222. package/src/chain/stateCache/datastore/db.ts +89 -1
  223. package/src/chain/stateCache/datastore/file.ts +8 -0
  224. package/src/chain/stateCache/datastore/types.ts +1 -0
  225. package/src/chain/stateCache/persistentCheckpointsCache.ts +45 -2
  226. package/src/chain/validation/attestation.ts +6 -7
  227. package/src/chain/validation/block.ts +1 -2
  228. package/src/chain/validation/dataColumnSidecar.ts +54 -19
  229. package/src/chain/validation/lightClientOptimisticUpdate.ts +3 -2
  230. package/src/chain/validation/voluntaryExit.ts +14 -4
  231. package/src/constants/constants.ts +0 -6
  232. package/src/constants/network.ts +0 -19
  233. package/src/index.ts +2 -0
  234. package/src/metrics/metrics/lodestar.ts +22 -1
  235. package/src/network/core/networkCore.ts +5 -1
  236. package/src/network/core/networkCoreWorker.ts +9 -9
  237. package/src/network/core/networkCoreWorkerHandler.ts +1 -1
  238. package/src/network/discv5/utils.ts +1 -2
  239. package/src/network/discv5/worker.ts +2 -7
  240. package/src/network/events.ts +1 -1
  241. package/src/network/gossip/encoding.ts +1 -1
  242. package/src/network/gossip/gossipsub.ts +1 -10
  243. package/src/network/gossip/snappy_bun.ts +2 -0
  244. package/src/network/metadata.ts +3 -1
  245. package/src/network/network.ts +1 -0
  246. package/src/network/options.ts +0 -1
  247. package/src/network/peers/discover.ts +2 -2
  248. package/src/network/processor/gossipHandlers.ts +16 -7
  249. package/src/network/reqresp/ReqRespBeaconNode.ts +3 -1
  250. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +18 -3
  251. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +6 -6
  252. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +5 -5
  253. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +13 -1
  254. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +13 -1
  255. package/src/network/reqresp/handlers/index.ts +6 -6
  256. package/src/network/reqresp/types.ts +1 -0
  257. package/src/network/subnets/attnetsService.ts +6 -6
  258. package/src/network/subnets/util.ts +12 -12
  259. package/src/node/nodejs.ts +3 -0
  260. package/src/sync/range/range.ts +2 -1
  261. package/src/sync/utils/downloadByRange.ts +259 -103
  262. package/src/sync/utils/downloadByRoot.ts +7 -7
  263. package/src/sync/utils/remoteSyncType.ts +23 -4
  264. package/src/util/blobs.ts +64 -20
  265. package/src/util/clock.ts +3 -4
  266. package/src/util/profile.ts +45 -3
  267. package/src/util/sszBytes.ts +30 -0
@@ -1,5 +1,5 @@
1
1
  import { KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH, KZG_COMMITMENTS_SUBTREE_INDEX, NUMBER_OF_COLUMNS, } from "@lodestar/params";
2
- import { computeStartSlotAtEpoch, getBlockHeaderProposerSignatureSet } from "@lodestar/state-transition";
2
+ import { computeEpochAtSlot, computeStartSlotAtEpoch, getBlockHeaderProposerSignatureSet, } from "@lodestar/state-transition";
3
3
  import { ssz } from "@lodestar/types";
4
4
  import { toRootHex, verifyMerkleBranch } from "@lodestar/utils";
5
5
  import { kzg } from "../../util/kzg.js";
@@ -11,12 +11,12 @@ import { RegenCaller } from "../regen/interface.js";
11
11
  export async function validateGossipDataColumnSidecar(chain, dataColumnSidecar, gossipSubnet, metrics) {
12
12
  const blockHeader = dataColumnSidecar.signedBlockHeader.message;
13
13
  // 1) [REJECT] The sidecar is valid as verified by verify_data_column_sidecar
14
- verifyDataColumnSidecar(dataColumnSidecar);
14
+ verifyDataColumnSidecar(chain.config, dataColumnSidecar);
15
15
  // 2) [REJECT] The sidecar is for the correct subnet -- i.e. compute_subnet_for_data_column_sidecar(sidecar.index) == subnet_id
16
16
  if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
17
17
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
18
18
  code: DataColumnSidecarErrorCode.INVALID_SUBNET,
19
- columnIdx: dataColumnSidecar.index,
19
+ columnIndex: dataColumnSidecar.index,
20
20
  gossipSubnet: gossipSubnet,
21
21
  });
22
22
  }
@@ -120,7 +120,7 @@ export async function validateGossipDataColumnSidecar(chain, dataColumnSidecar,
120
120
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
121
121
  code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
122
122
  slot: dataColumnSidecar.signedBlockHeader.message.slot,
123
- columnIdx: dataColumnSidecar.index,
123
+ columnIndex: dataColumnSidecar.index,
124
124
  });
125
125
  }
126
126
  const kzgProofTimer = metrics?.peerDas.dataColumnSidecarKzgProofsVerificationTime.startTimer();
@@ -132,7 +132,7 @@ export async function validateGossipDataColumnSidecar(chain, dataColumnSidecar,
132
132
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
133
133
  code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
134
134
  slot: blockHeader.slot,
135
- columnIdx: dataColumnSidecar.index,
135
+ columnIndex: dataColumnSidecar.index,
136
136
  });
137
137
  }
138
138
  finally {
@@ -146,19 +146,30 @@ export async function validateGossipDataColumnSidecar(chain, dataColumnSidecar,
146
146
  * SPEC FUNCTION
147
147
  * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar
148
148
  */
149
- function verifyDataColumnSidecar(dataColumnSidecar) {
149
+ function verifyDataColumnSidecar(config, dataColumnSidecar) {
150
150
  if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
151
151
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
152
152
  code: DataColumnSidecarErrorCode.INVALID_INDEX,
153
153
  slot: dataColumnSidecar.signedBlockHeader.message.slot,
154
- columnIdx: dataColumnSidecar.index,
154
+ columnIndex: dataColumnSidecar.index,
155
155
  });
156
156
  }
157
157
  if (dataColumnSidecar.kzgCommitments.length === 0) {
158
158
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
159
159
  code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
160
160
  slot: dataColumnSidecar.signedBlockHeader.message.slot,
161
- columnIdx: dataColumnSidecar.index,
161
+ columnIndex: dataColumnSidecar.index,
162
+ });
163
+ }
164
+ const epoch = computeEpochAtSlot(dataColumnSidecar.signedBlockHeader.message.slot);
165
+ const maxBlobsPerBlock = config.getMaxBlobsPerBlock(epoch);
166
+ if (dataColumnSidecar.kzgCommitments.length > maxBlobsPerBlock) {
167
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
168
+ code: DataColumnSidecarErrorCode.TOO_MANY_KZG_COMMITMENTS,
169
+ slot: dataColumnSidecar.signedBlockHeader.message.slot,
170
+ columnIndex: dataColumnSidecar.index,
171
+ count: dataColumnSidecar.kzgCommitments.length,
172
+ limit: maxBlobsPerBlock,
162
173
  });
163
174
  }
164
175
  if (dataColumnSidecar.column.length !== dataColumnSidecar.kzgCommitments.length ||
@@ -219,7 +230,7 @@ export async function validateBlockDataColumnSidecars(blockSlot, blockRoot, bloc
219
230
  throw new DataColumnSidecarValidationError({
220
231
  code: DataColumnSidecarErrorCode.INCORRECT_BLOCK,
221
232
  slot: blockSlot,
222
- columnIdx: 0,
233
+ columnIndex: 0,
223
234
  expected: toRootHex(blockRoot),
224
235
  actual: toRootHex(firstBlockRoot),
225
236
  }, "DataColumnSidecar doesn't match corresponding block");
@@ -230,28 +241,45 @@ export async function validateBlockDataColumnSidecars(blockSlot, blockRoot, bloc
230
241
  const proofs = [];
231
242
  for (let i = 0; i < dataColumnSidecars.length; i++) {
232
243
  const columnSidecar = dataColumnSidecars[i];
244
+ if (!ssz.phase0.BeaconBlockHeader.equals(firstSidecarBlockHeader, columnSidecar.signedBlockHeader.message)) {
245
+ throw new DataColumnSidecarValidationError({
246
+ code: DataColumnSidecarErrorCode.INCORRECT_HEADER_ROOT,
247
+ slot: blockSlot,
248
+ expected: toRootHex(blockRoot),
249
+ actual: toRootHex(ssz.phase0.BeaconBlockHeader.hashTreeRoot(columnSidecar.signedBlockHeader.message)),
250
+ });
251
+ }
233
252
  if (columnSidecar.index >= NUMBER_OF_COLUMNS) {
234
253
  throw new DataColumnSidecarValidationError({
235
254
  code: DataColumnSidecarErrorCode.INVALID_INDEX,
236
255
  slot: blockSlot,
237
- columnIdx: columnSidecar.index,
256
+ columnIndex: columnSidecar.index,
238
257
  }, "DataColumnSidecar has invalid index");
239
258
  }
240
- if (columnSidecar.kzgCommitments.length !== blockBlobCount) {
259
+ if (columnSidecar.column.length !== blockBlobCount) {
241
260
  throw new DataColumnSidecarValidationError({
242
- code: DataColumnSidecarErrorCode.INCORRECT_KZG_COMMITMENTS_COUNT,
261
+ code: DataColumnSidecarErrorCode.INCORRECT_CELL_COUNT,
243
262
  slot: blockSlot,
244
- columnIdx: columnSidecar.index,
263
+ columnIndex: columnSidecar.index,
245
264
  expected: blockBlobCount,
265
+ actual: columnSidecar.column.length,
266
+ });
267
+ }
268
+ if (columnSidecar.column.length !== columnSidecar.kzgCommitments.length) {
269
+ throw new DataColumnSidecarValidationError({
270
+ code: DataColumnSidecarErrorCode.INCORRECT_KZG_COMMITMENTS_COUNT,
271
+ slot: blockSlot,
272
+ columnIndex: columnSidecar.index,
273
+ expected: columnSidecar.column.length,
246
274
  actual: columnSidecar.kzgCommitments.length,
247
275
  });
248
276
  }
249
- if (columnSidecar.kzgProofs.length !== columnSidecar.kzgCommitments.length) {
277
+ if (columnSidecar.column.length !== columnSidecar.kzgProofs.length) {
250
278
  throw new DataColumnSidecarValidationError({
251
279
  code: DataColumnSidecarErrorCode.INCORRECT_KZG_PROOF_COUNT,
252
280
  slot: blockSlot,
253
- columnIdx: columnSidecar.index,
254
- expected: columnSidecar.kzgCommitments.length,
281
+ columnIndex: columnSidecar.index,
282
+ expected: columnSidecar.column.length,
255
283
  actual: columnSidecar.kzgProofs.length,
256
284
  });
257
285
  }
@@ -259,7 +287,7 @@ export async function validateBlockDataColumnSidecars(blockSlot, blockRoot, bloc
259
287
  throw new DataColumnSidecarValidationError({
260
288
  code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
261
289
  slot: blockSlot,
262
- columnIdx: columnSidecar.index,
290
+ columnIndex: columnSidecar.index,
263
291
  }, "DataColumnSidecar has invalid inclusion proof");
264
292
  }
265
293
  commitments.push(...columnSidecar.kzgCommitments);
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/chain/validation/dataColumnSidecar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/chain/validation/dataColumnSidecar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lightClientOptimisticUpdate.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/lightClientOptimisticUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,2BAA2B,GACpD,IAAI,CAgCN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,eAAe,CAAC,GACzD,OAAO,CAGT"}
1
+ {"version":3,"file":"lightClientOptimisticUpdate.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/lightClientOptimisticUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,2BAA2B,GACpD,IAAI,CAgCN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,eAAe,CAAC,GACzD,OAAO,CAKT"}
@@ -1,4 +1,3 @@
1
- import { MAXIMUM_GOSSIP_CLOCK_DISPARITY } from "../../constants/index.js";
2
1
  import { assertLightClientServer } from "../../node/utils/lightclient.js";
3
2
  import { GossipAction } from "../errors/index.js";
4
3
  import { LightClientError, LightClientErrorCode } from "../errors/lightClientError.js";
@@ -44,6 +43,6 @@ export function validateLightClientOptimisticUpdate(config, chain, gossipedOptim
44
43
  */
45
44
  export function updateReceivedTooEarly(config, clock, update) {
46
45
  const fork = config.getForkName(update.signatureSlot);
47
- return clock.msFromSlot(update.signatureSlot) < config.getSyncMessageDueMs(fork) - MAXIMUM_GOSSIP_CLOCK_DISPARITY;
46
+ return (clock.msFromSlot(update.signatureSlot) < config.getSyncMessageDueMs(fork) - config.MAXIMUM_GOSSIP_CLOCK_DISPARITY);
48
47
  }
49
48
  //# sourceMappingURL=lightClientOptimisticUpdate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightClientOptimisticUpdate.js","sourceRoot":"","sources":["../../../src/chain/validation/lightClientOptimisticUpdate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,8BAA8B,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAGrF,iIAAiI;AACjI,MAAM,UAAU,mCAAmC,CACjD,MAAuB,EACvB,KAAmB,EACnB,wBAAqD;IAErD,uBAAuB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAEjD,sHAAsH;IACtH,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;IACjF,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IAE5E,IAAI,qBAAqB,IAAI,oBAAoB,IAAI,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,mCAAmC;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,kHAAkH;IAClH,6EAA6E;IAC7E,uEAAuE;IACvE,kDAAkD;IAClD,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,oCAAoC;SAChE,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAC3C,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CACpD,CAAC,2BAA2B,CAAC;IAC9B,IAAI,qBAAqB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,oCAAoC;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAuB,EACvB,KAAa,EACb,MAA0D;IAE1D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC;AACpH,CAAC"}
1
+ {"version":3,"file":"lightClientOptimisticUpdate.js","sourceRoot":"","sources":["../../../src/chain/validation/lightClientOptimisticUpdate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAGrF,iIAAiI;AACjI,MAAM,UAAU,mCAAmC,CACjD,MAAuB,EACvB,KAAmB,EACnB,wBAAqD;IAErD,uBAAuB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAEjD,sHAAsH;IACtH,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;IACjF,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IAE5E,IAAI,qBAAqB,IAAI,oBAAoB,IAAI,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,mCAAmC;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,kHAAkH;IAClH,6EAA6E;IAC7E,uEAAuE;IACvE,kDAAkD;IAClD,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,oCAAoC;SAChE,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAC3C,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CACpD,CAAC,2BAA2B,CAAC;IAC9B,IAAI,qBAAqB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,oCAAoC;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAuB,EACvB,KAAa,EACb,MAA0D;IAE1D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtD,OAAO,CACL,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,8BAA8B,CAClH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"voluntaryExit.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/voluntaryExit.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,MAAM,CAAC,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,MAAM,CAAC,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"voluntaryExit.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/voluntaryExit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAOvC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,MAAM,CAAC,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,MAAM,CAAC,mBAAmB,GACxC,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -1,5 +1,5 @@
1
- import { getVoluntaryExitSignatureSet, isValidVoluntaryExit } from "@lodestar/state-transition";
2
- import { GossipAction, VoluntaryExitError, VoluntaryExitErrorCode } from "../errors/index.js";
1
+ import { VoluntaryExitValidity, getVoluntaryExitSignatureSet, getVoluntaryExitValidity, } from "@lodestar/state-transition";
2
+ import { GossipAction, VoluntaryExitError, VoluntaryExitErrorCode, voluntaryExitValidityToErrorCode, } from "../errors/index.js";
3
3
  import { RegenCaller } from "../regen/index.js";
4
4
  export async function validateApiVoluntaryExit(chain, voluntaryExit) {
5
5
  const prioritizeBls = true;
@@ -26,9 +26,10 @@ async function validateVoluntaryExit(chain, voluntaryExit, prioritizeBls = false
26
26
  const state = await chain.getHeadStateAtCurrentEpoch(RegenCaller.validateGossipVoluntaryExit);
27
27
  // [REJECT] All of the conditions within process_voluntary_exit pass validation.
28
28
  // verifySignature = false, verified in batch below
29
- if (!isValidVoluntaryExit(chain.config.getForkSeq(state.slot), state, voluntaryExit, false)) {
29
+ const validity = getVoluntaryExitValidity(chain.config.getForkSeq(state.slot), state, voluntaryExit, false);
30
+ if (validity !== VoluntaryExitValidity.valid) {
30
31
  throw new VoluntaryExitError(GossipAction.REJECT, {
31
- code: VoluntaryExitErrorCode.INVALID,
32
+ code: voluntaryExitValidityToErrorCode(validity),
32
33
  });
33
34
  }
34
35
  const signatureSet = getVoluntaryExitSignatureSet(state, voluntaryExit);
@@ -1 +1 @@
1
- {"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/chain/validation/voluntaryExit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,4BAA4B,EAAE,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,aAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,aAAyC;IAEzC,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAmB,EACnB,aAAyC,EACzC,aAAa,GAAG,KAAK;IAErB,sGAAsG;IACtG,iDAAiD;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,cAAc;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,EAAE;IACF,gFAAgF;IAChF,6DAA6D;IAC7D,sGAAsG;IACtG,kGAAkG;IAClG,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAE9F,gFAAgF;IAChF,mDAAmD;IACnD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,OAAO;SACrC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,iBAAiB;SAC/C,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/chain/validation/voluntaryExit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,aAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,aAAyC;IAEzC,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAmB,EACnB,aAAyC,EACzC,aAAa,GAAG,KAAK;IAErB,sGAAsG;IACtG,iDAAiD;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,cAAc;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,EAAE;IACF,gFAAgF;IAChF,6DAA6D;IAC7D,sGAAsG;IACtG,kGAAkG;IAClG,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAE9F,gFAAgF;IAChF,mDAAmD;IACnD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5G,IAAI,QAAQ,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,gCAAgC,CAAC,QAAQ,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,iBAAiB;SAC/C,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -7,9 +7,4 @@ export declare const ZERO_HASH: Buffer<ArrayBuffer>;
7
7
  export declare const ZERO_HASH_HEX: string;
8
8
  export declare const EMPTY_SIGNATURE: Buffer<ArrayBuffer>;
9
9
  export declare const GRAFFITI_SIZE = 32;
10
- /**
11
- * The maximum milliseconds of clock disparity assumed between honest nodes.
12
- */
13
- export declare const MAXIMUM_GOSSIP_CLOCK_DISPARITY = 500;
14
- export declare const MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC: number;
15
10
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,SAAS,qBAAsB,CAAC;AAC7C,eAAO,MAAM,aAAa,QAAyB,CAAC;AACpD,eAAO,MAAM,eAAe,qBAAsB,CAAC;AACnD,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,kCAAkC,QAAwC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,SAAS,qBAAsB,CAAC;AAC7C,eAAO,MAAM,aAAa,QAAyB,CAAC;AACpD,eAAO,MAAM,eAAe,qBAAsB,CAAC;AACnD,eAAO,MAAM,aAAa,KAAK,CAAC"}
@@ -7,9 +7,4 @@ export const ZERO_HASH = Buffer.alloc(32, 0);
7
7
  export const ZERO_HASH_HEX = "0x" + "00".repeat(32);
8
8
  export const EMPTY_SIGNATURE = Buffer.alloc(96, 0);
9
9
  export const GRAFFITI_SIZE = 32;
10
- /**
11
- * The maximum milliseconds of clock disparity assumed between honest nodes.
12
- */
13
- export const MAXIMUM_GOSSIP_CLOCK_DISPARITY = 500;
14
- export const MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC = MAXIMUM_GOSSIP_CLOCK_DISPARITY / 1000;
15
10
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAClD,MAAM,CAAC,MAAM,kCAAkC,GAAG,8BAA8B,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC"}
@@ -1,17 +1,3 @@
1
- /**
2
- * For more info on some of these constants:
3
- * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#configuration
4
- */
5
- /**
6
- * The maximum number of slots during which an attestation can be propagated.
7
- */
8
- export declare const ATTESTATION_PROPAGATION_SLOT_RANGE = 32;
9
- /** The maximum allowed size of uncompressed gossip messages. */
10
- export declare const GOSSIP_MAX_SIZE: number;
11
- export declare const GOSSIP_MAX_SIZE_BELLATRIX: number;
12
- /** The maximum allowed size of uncompressed req/resp chunked responses. */
13
- export declare const MAX_CHUNK_SIZE: number;
14
- export declare const MAX_CHUNK_SIZE_BELLATRIX: number;
15
1
  export declare enum GoodByeReasonCode {
16
2
  INBOUND_DISCONNECT = -1,
17
3
  CLIENT_SHUTDOWN = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/constants/network.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD,gEAAgE;AAChE,eAAO,MAAM,eAAe,QAAU,CAAC;AACvC,eAAO,MAAM,yBAAyB,QAAuB,CAAC;AAC9D,2EAA2E;AAC3E,eAAO,MAAM,cAAc,QAAU,CAAC;AACtC,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAE5D,oBAAY,iBAAiB;IAC3B,kBAAkB,KAAK;IACvB,eAAe,IAAI;IACnB,kBAAkB,IAAI;IACtB,KAAK,IAAI;IACT,cAAc,MAAM;IACpB,aAAa,MAAM;IACnB,MAAM,MAAM;CACb;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBtD,CAAC;AAEF,qDAAqD;AACrD,oBAAY,WAAW;IACrB,cAAc,oBAAoB;IAClC,eAAe,qBAAqB;CACrC"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/constants/network.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,kBAAkB,KAAK;IACvB,eAAe,IAAI;IACnB,kBAAkB,IAAI;IACtB,KAAK,IAAI;IACT,cAAc,MAAM;IACpB,aAAa,MAAM;IACnB,MAAM,MAAM;CACb;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBtD,CAAC;AAEF,qDAAqD;AACrD,oBAAY,WAAW;IACrB,cAAc,oBAAoB;IAClC,eAAe,qBAAqB;CACrC"}
@@ -1,18 +1,3 @@
1
- /**
2
- * For more info on some of these constants:
3
- * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#configuration
4
- */
5
- // Gossip constants
6
- /**
7
- * The maximum number of slots during which an attestation can be propagated.
8
- */
9
- export const ATTESTATION_PROPAGATION_SLOT_RANGE = 32;
10
- /** The maximum allowed size of uncompressed gossip messages. */
11
- export const GOSSIP_MAX_SIZE = 2 ** 20;
12
- export const GOSSIP_MAX_SIZE_BELLATRIX = 10 * GOSSIP_MAX_SIZE;
13
- /** The maximum allowed size of uncompressed req/resp chunked responses. */
14
- export const MAX_CHUNK_SIZE = 2 ** 20;
15
- export const MAX_CHUNK_SIZE_BELLATRIX = 10 * MAX_CHUNK_SIZE;
16
1
  export var GoodByeReasonCode;
17
2
  (function (GoodByeReasonCode) {
18
3
  GoodByeReasonCode[GoodByeReasonCode["INBOUND_DISCONNECT"] = -1] = "INBOUND_DISCONNECT";
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/constants/network.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mBAAmB;AAEnB;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAErD,gEAAgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,eAAe,CAAC;AAC9D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,cAAc,CAAC;AAE5D,MAAM,CAAN,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,sFAAuB,CAAA;IACvB,+EAAmB,CAAA;IACnB,qFAAsB,CAAA;IACtB,2DAAS,CAAA;IACT,+EAAoB,CAAA;IACpB,6EAAmB,CAAA;IACnB,+DAAY,CAAA;AACd,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,IAAI,EAAE,mBAAmB;IACzB,CAAC,EAAE,SAAS;IAEZ,qBAAqB;IACrB,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,sBAAsB;IAEzB,qBAAqB;IACrB,GAAG,EAAE,0BAA0B;IAE/B,2BAA2B;IAC3B,GAAG,EAAE,2BAA2B;IAChC,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,uBAAuB;CAC7B,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,iDAAkC,CAAA;IAClC,mDAAoC,CAAA;AACtC,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/constants/network.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,sFAAuB,CAAA;IACvB,+EAAmB,CAAA;IACnB,qFAAsB,CAAA;IACtB,2DAAS,CAAA;IACT,+EAAoB,CAAA;IACpB,6EAAmB,CAAA;IACnB,+DAAY,CAAA;AACd,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,IAAI,EAAE,mBAAmB;IACzB,CAAC,EAAE,SAAS;IAEZ,qBAAqB;IACrB,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,sBAAsB;IAEzB,qBAAqB;IACrB,GAAG,EAAE,0BAA0B;IAE/B,2BAA2B;IAC3B,GAAG,EAAE,2BAA2B;IAChC,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,uBAAuB;CAC7B,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,iDAAkC,CAAA;IAClC,mDAAoC,CAAA;AACtC,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export type { RestApiServerMetrics, RestApiServerModules, RestApiServerOpts } from "./api/rest/base.js";
2
2
  export { RestApiServer } from "./api/rest/base.js";
3
3
  export { checkAndPersistAnchorState, initStateFromDb, initStateFromEth1 } from "./chain/index.js";
4
+ export { DbCPStateDatastore } from "./chain/stateCache/datastore/db.js";
5
+ export { FileCPStateDatastore } from "./chain/stateCache/datastore/file.js";
4
6
  export { BeaconDb, type IBeaconDb } from "./db/index.js";
5
7
  export { Eth1Provider, type IEth1Provider } from "./eth1/index.js";
6
8
  export { type HttpMetricsServer, RegistryMetricCreator, collectNodeJSMetrics, getHttpMetricsServer, } from "./metrics/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,QAAQ,EAAE,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,KAAK,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAE,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,KAAK,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  // Export generic RestApi server for CLI
2
2
  export { RestApiServer } from "./api/rest/base.js";
3
3
  export { checkAndPersistAnchorState, initStateFromDb, initStateFromEth1 } from "./chain/index.js";
4
+ export { DbCPStateDatastore } from "./chain/stateCache/datastore/db.js";
5
+ export { FileCPStateDatastore } from "./chain/stateCache/datastore/file.js";
4
6
  export { BeaconDb } from "./db/index.js";
5
7
  export { Eth1Provider } from "./eth1/index.js";
6
8
  // Export metrics utilities to de-duplicate validator metrics
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AACjE,6DAA6D;AAC7D,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,2DAA2D;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAwB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAChC,oEAAoE;AACpE,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AACjE,6DAA6D;AAC7D,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,2DAA2D;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAwB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAChC,oEAAoE;AACpE,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  /** biome-ignore-all lint/suspicious/noTemplateCurlyInString: The metric templates requires to have `${}` in a normal string */
2
2
  import { NotReorgedReason } from "@lodestar/fork-choice";
3
+ import { ArchiveStoreTask } from "../../chain/archiveStore/archiveStore.js";
4
+ import { FrequencyStateArchiveStep } from "../../chain/archiveStore/strategies/frequencyStateArchiveStrategy.js";
3
5
  import { BlockInputSource } from "../../chain/blocks/blockInput/index.js";
4
6
  import { JobQueueItemType } from "../../chain/bls/index.js";
5
7
  import { AttestationErrorCode, BlockErrorCode } from "../../chain/errors/index.js";
@@ -567,6 +569,14 @@ export declare function createLodestarMetrics(register: RegistryMetricCreator, m
567
569
  createdByBlob: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
568
570
  };
569
571
  };
572
+ processFinalizedCheckpoint: {
573
+ durationByTask: import("@lodestar/utils").Histogram<{
574
+ source: ArchiveStoreTask;
575
+ }>;
576
+ frequencyStateArchive: import("@lodestar/utils").Histogram<{
577
+ step: FrequencyStateArchiveStep;
578
+ }>;
579
+ };
570
580
  regenFnCallTotal: import("@lodestar/utils").GaugeExtra<{
571
581
  entrypoint: RegenFnName;
572
582
  caller: RegenCaller;
@@ -645,6 +655,7 @@ export declare function createLodestarMetrics(register: RegistryMetricCreator, m
645
655
  updateNotBetter: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
646
656
  attestedDataCacheMiss: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
647
657
  attestedDataDiffPeriod: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
658
+ staleLightClientUpdates: import("@lodestar/utils").Counter<import("@lodestar/utils").NoLabels>;
648
659
  };
649
660
  eth1: {
650
661
  depositTrackerIsCaughtup: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
@@ -1 +1 @@
1
- {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
@@ -1350,6 +1350,20 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
1350
1350
  }),
1351
1351
  },
1352
1352
  },
1353
+ processFinalizedCheckpoint: {
1354
+ durationByTask: register.histogram({
1355
+ name: "lodestar_process_finalized_checkpoint_seconds",
1356
+ help: "Histogram of time to process finalized checkpoint",
1357
+ buckets: [0.1, 0.5, 1, 2, 4, 8],
1358
+ labelNames: ["source"],
1359
+ }),
1360
+ frequencyStateArchive: register.histogram({
1361
+ name: "lodestar_process_finalized_checkpoint_frequency_state_archive_seconds",
1362
+ help: "Histogram of FrequencyStateArchive duration by step",
1363
+ buckets: [0.1, 0.5, 1, 2, 4, 8],
1364
+ labelNames: ["step"],
1365
+ }),
1366
+ },
1353
1367
  regenFnCallTotal: register.gauge({
1354
1368
  name: "lodestar_regen_fn_call_total",
1355
1369
  help: "Total number of calls for regen functions",
@@ -1521,6 +1535,10 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
1521
1535
  name: "lodestar_lightclient_server_attested_data_diff_period_total",
1522
1536
  help: "Total number of times a syncAggregate is a different period than attested data",
1523
1537
  }),
1538
+ staleLightClientUpdates: register.counter({
1539
+ name: "lodestar_lightclient_server_stale_updates_total",
1540
+ help: "Total number of stale light client updates that were not emitted",
1541
+ }),
1524
1542
  },
1525
1543
  eth1: {
1526
1544
  depositTrackerIsCaughtup: register.gauge({
@@ -1766,7 +1784,7 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
1766
1784
  fetchKeys: register.histogram({
1767
1785
  name: "lodestar_prune_history_fetch_keys_time_seconds",
1768
1786
  help: "Time to fetch keys in seconds",
1769
- buckets: [0.001, 0.01, 0.1, 1],
1787
+ buckets: [0.001, 0.01, 0.1, 0.3, 0.5, 1],
1770
1788
  }),
1771
1789
  pruneKeys: register.histogram({
1772
1790
  name: "lodestar_prune_history_prune_keys_time_seconds",