@lodestar/beacon-node 1.36.0-dev.793f92c091 → 1.36.0-dev.9dbc67b579

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 (188) hide show
  1. package/lib/api/impl/config/constants.d.ts +4 -2
  2. package/lib/api/impl/config/constants.d.ts.map +1 -1
  3. package/lib/api/impl/config/constants.js +6 -3
  4. package/lib/api/impl/config/constants.js.map +1 -1
  5. package/lib/api/impl/lodestar/index.d.ts +5 -0
  6. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  7. package/lib/api/impl/lodestar/index.js +35 -10
  8. package/lib/api/impl/lodestar/index.js.map +1 -1
  9. package/lib/api/impl/node/utils.js +1 -1
  10. package/lib/api/impl/node/utils.js.map +1 -1
  11. package/lib/api/impl/validator/index.d.ts.map +1 -1
  12. package/lib/api/impl/validator/index.js +2 -2
  13. package/lib/api/impl/validator/index.js.map +1 -1
  14. package/lib/chain/archiveStore/archiveStore.d.ts +9 -0
  15. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  16. package/lib/chain/archiveStore/archiveStore.js +24 -0
  17. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  18. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +7 -0
  19. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  20. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +31 -5
  21. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  22. package/lib/chain/beaconProposerCache.d.ts +3 -0
  23. package/lib/chain/beaconProposerCache.d.ts.map +1 -1
  24. package/lib/chain/beaconProposerCache.js +4 -6
  25. package/lib/chain/beaconProposerCache.js.map +1 -1
  26. package/lib/chain/chain.d.ts +5 -2
  27. package/lib/chain/chain.d.ts.map +1 -1
  28. package/lib/chain/chain.js +29 -14
  29. package/lib/chain/chain.js.map +1 -1
  30. package/lib/chain/errors/dataColumnSidecarError.d.ts +7 -0
  31. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
  32. package/lib/chain/errors/dataColumnSidecarError.js +1 -0
  33. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  34. package/lib/chain/errors/voluntaryExitError.d.ts +16 -2
  35. package/lib/chain/errors/voluntaryExitError.d.ts.map +1 -1
  36. package/lib/chain/errors/voluntaryExitError.js +22 -1
  37. package/lib/chain/errors/voluntaryExitError.js.map +1 -1
  38. package/lib/chain/forkChoice/index.d.ts +9 -1
  39. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  40. package/lib/chain/forkChoice/index.js +109 -4
  41. package/lib/chain/forkChoice/index.js.map +1 -1
  42. package/lib/chain/interface.d.ts +2 -0
  43. package/lib/chain/interface.d.ts.map +1 -1
  44. package/lib/chain/lightClient/index.d.ts +3 -0
  45. package/lib/chain/lightClient/index.d.ts.map +1 -1
  46. package/lib/chain/lightClient/index.js +24 -13
  47. package/lib/chain/lightClient/index.js.map +1 -1
  48. package/lib/chain/opPools/syncContributionAndProofPool.d.ts +3 -1
  49. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  50. package/lib/chain/opPools/syncContributionAndProofPool.js +4 -3
  51. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  52. package/lib/chain/stateCache/datastore/db.d.ts +12 -0
  53. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  54. package/lib/chain/stateCache/datastore/db.js +70 -0
  55. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  56. package/lib/chain/stateCache/datastore/file.d.ts +1 -0
  57. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  58. package/lib/chain/stateCache/datastore/file.js +7 -0
  59. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  60. package/lib/chain/stateCache/datastore/types.d.ts +1 -0
  61. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  62. package/lib/chain/validation/attestation.d.ts.map +1 -1
  63. package/lib/chain/validation/attestation.js +6 -7
  64. package/lib/chain/validation/attestation.js.map +1 -1
  65. package/lib/chain/validation/block.d.ts.map +1 -1
  66. package/lib/chain/validation/block.js +1 -2
  67. package/lib/chain/validation/block.js.map +1 -1
  68. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  69. package/lib/chain/validation/dataColumnSidecar.js +14 -3
  70. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  71. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +1 -1
  72. package/lib/chain/validation/lightClientOptimisticUpdate.js +1 -2
  73. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  74. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  75. package/lib/chain/validation/voluntaryExit.js +5 -4
  76. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  77. package/lib/constants/constants.d.ts +0 -5
  78. package/lib/constants/constants.d.ts.map +1 -1
  79. package/lib/constants/constants.js +0 -5
  80. package/lib/constants/constants.js.map +1 -1
  81. package/lib/constants/network.d.ts +0 -14
  82. package/lib/constants/network.d.ts.map +1 -1
  83. package/lib/constants/network.js +0 -15
  84. package/lib/constants/network.js.map +1 -1
  85. package/lib/index.d.ts +2 -0
  86. package/lib/index.d.ts.map +1 -1
  87. package/lib/index.js +2 -0
  88. package/lib/index.js.map +1 -1
  89. package/lib/metrics/metrics/lodestar.d.ts +11 -0
  90. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  91. package/lib/metrics/metrics/lodestar.js +19 -1
  92. package/lib/metrics/metrics/lodestar.js.map +1 -1
  93. package/lib/network/core/networkCoreWorker.js +2 -7
  94. package/lib/network/core/networkCoreWorker.js.map +1 -1
  95. package/lib/network/discv5/utils.d.ts.map +1 -1
  96. package/lib/network/discv5/utils.js +1 -2
  97. package/lib/network/discv5/utils.js.map +1 -1
  98. package/lib/network/discv5/worker.js +2 -7
  99. package/lib/network/discv5/worker.js.map +1 -1
  100. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  101. package/lib/network/gossip/gossipsub.js +1 -7
  102. package/lib/network/gossip/gossipsub.js.map +1 -1
  103. package/lib/network/network.d.ts.map +1 -1
  104. package/lib/network/network.js +1 -0
  105. package/lib/network/network.js.map +1 -1
  106. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  107. package/lib/network/processor/gossipHandlers.js +14 -8
  108. package/lib/network/processor/gossipHandlers.js.map +1 -1
  109. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  110. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -1
  111. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  112. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +5 -5
  113. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  114. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +4 -4
  115. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  116. package/lib/network/subnets/attnetsService.d.ts +1 -1
  117. package/lib/network/subnets/attnetsService.js +6 -6
  118. package/lib/network/subnets/attnetsService.js.map +1 -1
  119. package/lib/network/subnets/util.d.ts +3 -2
  120. package/lib/network/subnets/util.d.ts.map +1 -1
  121. package/lib/network/subnets/util.js +6 -6
  122. package/lib/network/subnets/util.js.map +1 -1
  123. package/lib/node/nodejs.d.ts +2 -1
  124. package/lib/node/nodejs.d.ts.map +1 -1
  125. package/lib/node/nodejs.js +2 -1
  126. package/lib/node/nodejs.js.map +1 -1
  127. package/lib/sync/range/range.d.ts.map +1 -1
  128. package/lib/sync/range/range.js +2 -1
  129. package/lib/sync/range/range.js.map +1 -1
  130. package/lib/sync/utils/remoteSyncType.d.ts +2 -1
  131. package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
  132. package/lib/sync/utils/remoteSyncType.js +19 -4
  133. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  134. package/lib/util/clock.d.ts.map +1 -1
  135. package/lib/util/clock.js +3 -4
  136. package/lib/util/clock.js.map +1 -1
  137. package/lib/util/profile.d.ts +6 -4
  138. package/lib/util/profile.d.ts.map +1 -1
  139. package/lib/util/profile.js +40 -3
  140. package/lib/util/profile.js.map +1 -1
  141. package/lib/util/sszBytes.d.ts +2 -0
  142. package/lib/util/sszBytes.d.ts.map +1 -1
  143. package/lib/util/sszBytes.js +25 -0
  144. package/lib/util/sszBytes.js.map +1 -1
  145. package/package.json +26 -24
  146. package/src/api/impl/config/constants.ts +10 -4
  147. package/src/api/impl/lodestar/index.ts +42 -10
  148. package/src/api/impl/node/utils.ts +1 -1
  149. package/src/api/impl/validator/index.ts +5 -2
  150. package/src/chain/archiveStore/archiveStore.ts +27 -0
  151. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +32 -5
  152. package/src/chain/beaconProposerCache.ts +4 -8
  153. package/src/chain/chain.ts +45 -20
  154. package/src/chain/errors/dataColumnSidecarError.ts +8 -0
  155. package/src/chain/errors/voluntaryExitError.ts +30 -2
  156. package/src/chain/forkChoice/index.ts +178 -2
  157. package/src/chain/interface.ts +2 -0
  158. package/src/chain/lightClient/index.ts +26 -12
  159. package/src/chain/opPools/syncContributionAndProofPool.ts +3 -2
  160. package/src/chain/stateCache/datastore/db.ts +89 -1
  161. package/src/chain/stateCache/datastore/file.ts +8 -0
  162. package/src/chain/stateCache/datastore/types.ts +1 -0
  163. package/src/chain/validation/attestation.ts +6 -7
  164. package/src/chain/validation/block.ts +1 -2
  165. package/src/chain/validation/dataColumnSidecar.ts +21 -4
  166. package/src/chain/validation/lightClientOptimisticUpdate.ts +3 -2
  167. package/src/chain/validation/voluntaryExit.ts +14 -4
  168. package/src/constants/constants.ts +0 -6
  169. package/src/constants/network.ts +0 -19
  170. package/src/index.ts +2 -0
  171. package/src/metrics/metrics/lodestar.ts +22 -1
  172. package/src/network/core/networkCoreWorker.ts +2 -7
  173. package/src/network/discv5/utils.ts +1 -2
  174. package/src/network/discv5/worker.ts +2 -7
  175. package/src/network/gossip/gossipsub.ts +1 -10
  176. package/src/network/network.ts +1 -0
  177. package/src/network/processor/gossipHandlers.ts +16 -7
  178. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +3 -1
  179. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +6 -6
  180. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +5 -5
  181. package/src/network/subnets/attnetsService.ts +6 -6
  182. package/src/network/subnets/util.ts +12 -12
  183. package/src/node/nodejs.ts +3 -0
  184. package/src/sync/range/range.ts +2 -1
  185. package/src/sync/utils/remoteSyncType.ts +23 -4
  186. package/src/util/clock.ts +3 -4
  187. package/src/util/profile.ts +45 -3
  188. package/src/util/sszBytes.ts +30 -0
@@ -417,6 +417,36 @@ export function getSlotFromDataColumnSidecarSerialized(data: Uint8Array): Slot |
417
417
  return getSlotFromOffset(data, SLOT_BYTES_POSITION_IN_SIGNED_DATA_COLUMN_SIDECAR);
418
418
  }
419
419
 
420
+ /**
421
+ * BeaconState of all forks (up until Electra, check with new forks)
422
+ * class BeaconState(Container):
423
+ * genesis_time: uint64 - 8 bytes
424
+ * genesis_validators_root: Root - 32 bytes
425
+ * slot: Slot - 8 bytes
426
+ * fork: Fork - 16 bytes
427
+ * latest_block_header: BeaconBlockHeader - fixed size
428
+ * slot: Slot - 8 bytes
429
+ *
430
+ */
431
+
432
+ const BLOCK_HEADER_SLOT_BYTES_POSITION_IN_BEACON_STATE = 8 + 32 + 8 + 16;
433
+ export function getLastProcessedSlotFromBeaconStateSerialized(data: Uint8Array): Slot | null {
434
+ if (data.length < BLOCK_HEADER_SLOT_BYTES_POSITION_IN_BEACON_STATE + SLOT_SIZE) {
435
+ return null;
436
+ }
437
+
438
+ return getSlotFromOffset(data, BLOCK_HEADER_SLOT_BYTES_POSITION_IN_BEACON_STATE);
439
+ }
440
+
441
+ const SLOT_BYTES_POSITION_IN_BEACON_STATE = 8 + 32;
442
+ export function getSlotFromBeaconStateSerialized(data: Uint8Array): Slot | null {
443
+ if (data.length < SLOT_BYTES_POSITION_IN_BEACON_STATE) {
444
+ return null;
445
+ }
446
+
447
+ return getSlotFromOffset(data, SLOT_BYTES_POSITION_IN_BEACON_STATE);
448
+ }
449
+
420
450
  /**
421
451
  * Read only the first 4 bytes of Slot, max value is 4,294,967,295 will be reached 1634 years after genesis
422
452
  *