@lodestar/beacon-node 1.41.0 → 1.42.0-dev.1d50253953

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 (225) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +35 -16
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/state/utils.d.ts +2 -2
  5. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  6. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  7. package/lib/api/impl/validator/index.d.ts.map +1 -1
  8. package/lib/api/impl/validator/index.js +5 -1
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/chain/archiveStore/archiveStore.d.ts +0 -1
  11. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  12. package/lib/chain/archiveStore/archiveStore.js +0 -9
  13. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  14. package/lib/chain/archiveStore/interface.d.ts +4 -4
  15. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  16. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +4 -4
  17. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  18. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +4 -1
  19. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  21. package/lib/chain/archiveStore/utils/archiveBlocks.js +38 -0
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  23. package/lib/chain/blocks/blockInput/types.d.ts +3 -3
  24. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  25. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  26. package/lib/chain/blocks/importBlock.js +29 -9
  27. package/lib/chain/blocks/importBlock.js.map +1 -1
  28. package/lib/chain/blocks/importExecutionPayload.d.ts +48 -0
  29. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -0
  30. package/lib/chain/blocks/importExecutionPayload.js +159 -0
  31. package/lib/chain/blocks/importExecutionPayload.js.map +1 -0
  32. package/lib/chain/blocks/payloadEnvelopeInput/index.d.ts +3 -0
  33. package/lib/chain/blocks/payloadEnvelopeInput/index.d.ts.map +1 -0
  34. package/lib/chain/blocks/payloadEnvelopeInput/index.js +3 -0
  35. package/lib/chain/blocks/payloadEnvelopeInput/index.js.map +1 -0
  36. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +80 -0
  37. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -0
  38. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +248 -0
  39. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -0
  40. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +29 -0
  41. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -0
  42. package/lib/chain/blocks/payloadEnvelopeInput/types.js +11 -0
  43. package/lib/chain/blocks/payloadEnvelopeInput/types.js.map +1 -0
  44. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +15 -0
  45. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -0
  46. package/lib/chain/blocks/payloadEnvelopeProcessor.js +46 -0
  47. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -0
  48. package/lib/chain/blocks/types.d.ts +7 -0
  49. package/lib/chain/blocks/types.d.ts.map +1 -1
  50. package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
  51. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  52. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.d.ts +12 -0
  53. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.d.ts.map +1 -0
  54. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js +40 -0
  55. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js.map +1 -0
  56. package/lib/chain/chain.d.ts +10 -5
  57. package/lib/chain/chain.d.ts.map +1 -1
  58. package/lib/chain/chain.js +44 -10
  59. package/lib/chain/chain.js.map +1 -1
  60. package/lib/chain/errors/executionPayloadEnvelope.d.ts +12 -2
  61. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  62. package/lib/chain/errors/executionPayloadEnvelope.js +3 -1
  63. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  64. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  65. package/lib/chain/forkChoice/index.js +0 -10
  66. package/lib/chain/forkChoice/index.js.map +1 -1
  67. package/lib/chain/interface.d.ts +8 -5
  68. package/lib/chain/interface.d.ts.map +1 -1
  69. package/lib/chain/opPools/utils.js +1 -1
  70. package/lib/chain/opPools/utils.js.map +1 -1
  71. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  72. package/lib/chain/prepareNextSlot.js +6 -2
  73. package/lib/chain/prepareNextSlot.js.map +1 -1
  74. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  75. package/lib/chain/produceBlock/computeNewStateRoot.js +6 -1
  76. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  77. package/lib/chain/produceBlock/produceBlockBody.js +1 -1
  78. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  79. package/lib/chain/regen/errors.d.ts +11 -1
  80. package/lib/chain/regen/errors.d.ts.map +1 -1
  81. package/lib/chain/regen/errors.js +2 -0
  82. package/lib/chain/regen/errors.js.map +1 -1
  83. package/lib/chain/regen/interface.d.ts +14 -6
  84. package/lib/chain/regen/interface.d.ts.map +1 -1
  85. package/lib/chain/regen/interface.js +2 -0
  86. package/lib/chain/regen/interface.js.map +1 -1
  87. package/lib/chain/regen/queued.d.ts +11 -6
  88. package/lib/chain/regen/queued.d.ts.map +1 -1
  89. package/lib/chain/regen/queued.js +40 -8
  90. package/lib/chain/regen/queued.js.map +1 -1
  91. package/lib/chain/regen/regen.d.ts +5 -0
  92. package/lib/chain/regen/regen.d.ts.map +1 -1
  93. package/lib/chain/regen/regen.js +33 -6
  94. package/lib/chain/regen/regen.js.map +1 -1
  95. package/lib/chain/seenCache/index.d.ts +1 -1
  96. package/lib/chain/seenCache/index.d.ts.map +1 -1
  97. package/lib/chain/seenCache/index.js +1 -1
  98. package/lib/chain/seenCache/index.js.map +1 -1
  99. package/lib/chain/seenCache/seenGossipBlockInput.js +2 -2
  100. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  101. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +38 -0
  102. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -0
  103. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +76 -0
  104. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -0
  105. package/lib/chain/stateCache/datastore/db.d.ts +4 -5
  106. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  107. package/lib/chain/stateCache/datastore/db.js +32 -10
  108. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  109. package/lib/chain/stateCache/datastore/file.d.ts +1 -1
  110. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  111. package/lib/chain/stateCache/datastore/file.js +5 -5
  112. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  113. package/lib/chain/stateCache/datastore/types.d.ts +1 -1
  114. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  115. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -4
  116. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  117. package/lib/chain/stateCache/fifoBlockStateCache.js +8 -3
  118. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  119. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +33 -14
  120. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  121. package/lib/chain/stateCache/persistentCheckpointsCache.js +217 -119
  122. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  123. package/lib/chain/stateCache/types.d.ts +15 -8
  124. package/lib/chain/stateCache/types.d.ts.map +1 -1
  125. package/lib/chain/stateCache/types.js.map +1 -1
  126. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  127. package/lib/chain/validation/executionPayloadEnvelope.js +30 -19
  128. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  129. package/lib/chain/validation/lightClientFinalityUpdate.js +1 -1
  130. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  131. package/lib/chain/validation/lightClientOptimisticUpdate.js +1 -1
  132. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  133. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  134. package/lib/chain/validation/voluntaryExit.js +2 -2
  135. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  136. package/lib/chain/validatorMonitor.d.ts +2 -1
  137. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  138. package/lib/chain/validatorMonitor.js +4 -1
  139. package/lib/chain/validatorMonitor.js.map +1 -1
  140. package/lib/execution/engine/interface.d.ts +2 -2
  141. package/lib/metrics/metrics/lodestar.d.ts +28 -0
  142. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  143. package/lib/metrics/metrics/lodestar.js +74 -0
  144. package/lib/metrics/metrics/lodestar.js.map +1 -1
  145. package/lib/network/network.js +2 -2
  146. package/lib/network/network.js.map +1 -1
  147. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  148. package/lib/network/processor/extractSlotRootFns.js +14 -4
  149. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  150. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  151. package/lib/network/processor/gossipHandlers.js +31 -3
  152. package/lib/network/processor/gossipHandlers.js.map +1 -1
  153. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  154. package/lib/network/reqresp/ReqRespBeaconNode.js +1 -1
  155. package/lib/sync/backfill/backfill.d.ts +1 -1
  156. package/lib/sync/backfill/backfill.js +1 -1
  157. package/lib/sync/constants.d.ts +1 -1
  158. package/lib/sync/constants.js +1 -1
  159. package/lib/util/sszBytes.d.ts +4 -1
  160. package/lib/util/sszBytes.d.ts.map +1 -1
  161. package/lib/util/sszBytes.js +69 -12
  162. package/lib/util/sszBytes.js.map +1 -1
  163. package/package.json +15 -15
  164. package/src/api/impl/beacon/blocks/index.ts +36 -17
  165. package/src/api/impl/beacon/state/utils.ts +2 -2
  166. package/src/api/impl/validator/index.ts +7 -3
  167. package/src/chain/archiveStore/archiveStore.ts +0 -10
  168. package/src/chain/archiveStore/interface.ts +4 -4
  169. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +8 -5
  170. package/src/chain/archiveStore/utils/archiveBlocks.ts +59 -1
  171. package/src/chain/blocks/blockInput/types.ts +3 -3
  172. package/src/chain/blocks/importBlock.ts +47 -8
  173. package/src/chain/blocks/importExecutionPayload.ts +241 -0
  174. package/src/chain/blocks/payloadEnvelopeInput/index.ts +2 -0
  175. package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +336 -0
  176. package/src/chain/blocks/payloadEnvelopeInput/types.ts +33 -0
  177. package/src/chain/blocks/payloadEnvelopeProcessor.ts +61 -0
  178. package/src/chain/blocks/types.ts +8 -0
  179. package/src/chain/blocks/verifyBlocksSignatures.ts +1 -1
  180. package/src/chain/blocks/writePayloadEnvelopeInputToDb.ts +55 -0
  181. package/src/chain/chain.ts +60 -15
  182. package/src/chain/errors/executionPayloadEnvelope.ts +6 -2
  183. package/src/chain/forkChoice/index.ts +0 -10
  184. package/src/chain/interface.ts +8 -5
  185. package/src/chain/opPools/utils.ts +1 -1
  186. package/src/chain/prepareNextSlot.ts +6 -2
  187. package/src/chain/produceBlock/computeNewStateRoot.ts +6 -1
  188. package/src/chain/produceBlock/produceBlockBody.ts +1 -1
  189. package/src/chain/regen/errors.ts +6 -1
  190. package/src/chain/regen/interface.ts +14 -6
  191. package/src/chain/regen/queued.ts +48 -12
  192. package/src/chain/regen/regen.ts +37 -7
  193. package/src/chain/seenCache/index.ts +1 -1
  194. package/src/chain/seenCache/seenGossipBlockInput.ts +2 -2
  195. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +106 -0
  196. package/src/chain/stateCache/datastore/db.ts +33 -10
  197. package/src/chain/stateCache/datastore/file.ts +6 -5
  198. package/src/chain/stateCache/datastore/types.ts +3 -2
  199. package/src/chain/stateCache/fifoBlockStateCache.ts +10 -4
  200. package/src/chain/stateCache/persistentCheckpointsCache.ts +248 -139
  201. package/src/chain/stateCache/types.ts +18 -8
  202. package/src/chain/validation/executionPayloadEnvelope.ts +38 -25
  203. package/src/chain/validation/lightClientFinalityUpdate.ts +1 -1
  204. package/src/chain/validation/lightClientOptimisticUpdate.ts +1 -1
  205. package/src/chain/validation/voluntaryExit.ts +2 -1
  206. package/src/chain/validatorMonitor.ts +11 -1
  207. package/src/execution/engine/interface.ts +2 -2
  208. package/src/metrics/metrics/lodestar.ts +77 -0
  209. package/src/network/network.ts +2 -2
  210. package/src/network/processor/extractSlotRootFns.ts +18 -5
  211. package/src/network/processor/gossipHandlers.ts +37 -1
  212. package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
  213. package/src/sync/backfill/backfill.ts +1 -1
  214. package/src/sync/constants.ts +1 -1
  215. package/src/util/sszBytes.ts +90 -10
  216. package/lib/chain/archiveStore/utils/archivePayloads.d.ts +0 -7
  217. package/lib/chain/archiveStore/utils/archivePayloads.d.ts.map +0 -1
  218. package/lib/chain/archiveStore/utils/archivePayloads.js +0 -10
  219. package/lib/chain/archiveStore/utils/archivePayloads.js.map +0 -1
  220. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts +0 -15
  221. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +0 -1
  222. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js +0 -28
  223. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +0 -1
  224. package/src/chain/archiveStore/utils/archivePayloads.ts +0 -15
  225. package/src/chain/seenCache/seenExecutionPayloadEnvelope.ts +0 -34
@@ -1,28 +0,0 @@
1
- /**
2
- * Cache to prevent processing multiple execution payload envelopes for the same block root.
3
- * Only one builder qualifies to submit an execution payload for a given slot.
4
- * We only keep track of envelopes of unfinalized slots.
5
- * [IGNORE] The node has not seen another valid `SignedExecutionPayloadEnvelope` for this block root.
6
- */
7
- export class SeenExecutionPayloadEnvelopes {
8
- slotByBlockRoot = new Map();
9
- finalizedSlot = 0;
10
- isKnown(blockRoot) {
11
- return this.slotByBlockRoot.has(blockRoot);
12
- }
13
- add(blockRoot, slot) {
14
- if (slot < this.finalizedSlot) {
15
- throw Error(`slot ${slot} < finalizedSlot ${this.finalizedSlot}`);
16
- }
17
- this.slotByBlockRoot.set(blockRoot, slot);
18
- }
19
- prune(finalizedSlot) {
20
- this.finalizedSlot = finalizedSlot;
21
- for (const [blockRoot, slot] of this.slotByBlockRoot.entries()) {
22
- if (slot < finalizedSlot) {
23
- this.slotByBlockRoot.delete(blockRoot);
24
- }
25
- }
26
- }
27
- }
28
- //# sourceMappingURL=seenExecutionPayloadEnvelope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seenExecutionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenExecutionPayloadEnvelope.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,6BAA6B;IACvB,eAAe,GAAG,IAAI,GAAG,EAAiB,CAAC;IACpD,aAAa,GAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,SAAkB,EAAW;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAAA,CAC5C;IAED,GAAG,CAAC,SAAkB,EAAE,IAAU,EAAQ;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC,QAAQ,IAAI,oBAAoB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAAA,CAC3C;IAED,KAAK,CAAC,aAAmB,EAAQ;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IAAA,CACF;CACF"}
@@ -1,15 +0,0 @@
1
- import {CheckpointWithHex} from "@lodestar/fork-choice";
2
- import {IBeaconChain} from "../../interface.js";
3
-
4
- /**
5
- * Archives execution payload envelopes from hot DB to archive DB after finalization.
6
- */
7
- export async function archiveExecutionPayloadEnvelopes(
8
- chain: IBeaconChain,
9
- _finalized: CheckpointWithHex
10
- ): Promise<void> {
11
- const finalizedBlock = chain.forkChoice.getFinalizedBlock();
12
- if (!finalizedBlock) return;
13
-
14
- // TODO GLOAS: Implement payload envelope archival after epbs fork choice changes are merged
15
- }
@@ -1,34 +0,0 @@
1
- import {RootHex, Slot} from "@lodestar/types";
2
-
3
- /**
4
- * Cache to prevent processing multiple execution payload envelopes for the same block root.
5
- * Only one builder qualifies to submit an execution payload for a given slot.
6
- * We only keep track of envelopes of unfinalized slots.
7
- * [IGNORE] The node has not seen another valid `SignedExecutionPayloadEnvelope` for this block root.
8
- */
9
- export class SeenExecutionPayloadEnvelopes {
10
- private readonly slotByBlockRoot = new Map<RootHex, Slot>();
11
- private finalizedSlot: Slot = 0;
12
-
13
- isKnown(blockRoot: RootHex): boolean {
14
- return this.slotByBlockRoot.has(blockRoot);
15
- }
16
-
17
- add(blockRoot: RootHex, slot: Slot): void {
18
- if (slot < this.finalizedSlot) {
19
- throw Error(`slot ${slot} < finalizedSlot ${this.finalizedSlot}`);
20
- }
21
-
22
- this.slotByBlockRoot.set(blockRoot, slot);
23
- }
24
-
25
- prune(finalizedSlot: Slot): void {
26
- this.finalizedSlot = finalizedSlot;
27
-
28
- for (const [blockRoot, slot] of this.slotByBlockRoot.entries()) {
29
- if (slot < finalizedSlot) {
30
- this.slotByBlockRoot.delete(blockRoot);
31
- }
32
- }
33
- }
34
- }