@lodestar/beacon-node 1.48.0-dev.67344272c0 → 1.48.0-dev.68ce7b06a0

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 (170) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +4 -11
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/state/utils.js +14 -0
  6. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  7. package/lib/api/impl/config/index.d.ts.map +1 -1
  8. package/lib/api/impl/config/index.js +4 -1
  9. package/lib/api/impl/config/index.js.map +1 -1
  10. package/lib/api/impl/validator/index.d.ts.map +1 -1
  11. package/lib/api/impl/validator/index.js +39 -39
  12. package/lib/api/impl/validator/index.js.map +1 -1
  13. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  14. package/lib/chain/archiveStore/archiveStore.js +4 -1
  15. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  16. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
  17. package/lib/chain/archiveStore/historicalState/metrics.js +12 -1
  18. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  19. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +9 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  21. package/lib/chain/archiveStore/utils/archiveBlocks.js +37 -4
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  23. package/lib/chain/blocks/importBlock.d.ts +5 -1
  24. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  25. package/lib/chain/blocks/importBlock.js +12 -18
  26. package/lib/chain/blocks/importBlock.js.map +1 -1
  27. package/lib/chain/blocks/index.d.ts +8 -4
  28. package/lib/chain/blocks/index.d.ts.map +1 -1
  29. package/lib/chain/blocks/index.js +83 -17
  30. package/lib/chain/blocks/index.js.map +1 -1
  31. package/lib/chain/blocks/types.d.ts +8 -0
  32. package/lib/chain/blocks/types.d.ts.map +1 -1
  33. package/lib/chain/blocks/types.js.map +1 -1
  34. package/lib/chain/blocks/utils/chainSegment.d.ts +1 -1
  35. package/lib/chain/blocks/utils/chainSegment.d.ts.map +1 -1
  36. package/lib/chain/blocks/utils/chainSegment.js +26 -11
  37. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  38. package/lib/chain/chain.d.ts +9 -4
  39. package/lib/chain/chain.d.ts.map +1 -1
  40. package/lib/chain/chain.js +82 -51
  41. package/lib/chain/chain.js.map +1 -1
  42. package/lib/chain/emitter.d.ts +1 -1
  43. package/lib/chain/emitter.js +1 -1
  44. package/lib/chain/errors/blockError.d.ts +3 -5
  45. package/lib/chain/errors/blockError.d.ts.map +1 -1
  46. package/lib/chain/errors/blockError.js +2 -2
  47. package/lib/chain/errors/blockError.js.map +1 -1
  48. package/lib/chain/errors/executionPayloadBid.d.ts +4 -0
  49. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  50. package/lib/chain/errors/executionPayloadBid.js +1 -0
  51. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  52. package/lib/chain/errors/executionPayloadEnvelope.d.ts +0 -11
  53. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  54. package/lib/chain/errors/executionPayloadEnvelope.js +0 -2
  55. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  56. package/lib/chain/errors/gossipValidation.d.ts +2 -1
  57. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  58. package/lib/chain/errors/gossipValidation.js +1 -0
  59. package/lib/chain/errors/gossipValidation.js.map +1 -1
  60. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  61. package/lib/chain/forkChoice/index.js +2 -0
  62. package/lib/chain/forkChoice/index.js.map +1 -1
  63. package/lib/chain/interface.d.ts +4 -4
  64. package/lib/chain/interface.d.ts.map +1 -1
  65. package/lib/chain/lightClient/index.d.ts +3 -3
  66. package/lib/chain/lightClient/index.d.ts.map +1 -1
  67. package/lib/chain/lightClient/index.js +21 -23
  68. package/lib/chain/lightClient/index.js.map +1 -1
  69. package/lib/chain/lightClient/proofs.d.ts +2 -1
  70. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  71. package/lib/chain/lightClient/proofs.js +5 -1
  72. package/lib/chain/lightClient/proofs.js.map +1 -1
  73. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  74. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  75. package/lib/chain/prepareNextSlot.js +13 -13
  76. package/lib/chain/prepareNextSlot.js.map +1 -1
  77. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  78. package/lib/chain/produceBlock/produceBlockBody.js +46 -64
  79. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  80. package/lib/chain/validation/block.d.ts.map +1 -1
  81. package/lib/chain/validation/block.js +9 -50
  82. package/lib/chain/validation/block.js.map +1 -1
  83. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  84. package/lib/chain/validation/executionPayloadBid.js +56 -40
  85. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  86. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  87. package/lib/chain/validation/executionPayloadEnvelope.js +0 -29
  88. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  89. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  90. package/lib/chain/validation/payloadAttestationMessage.js +5 -6
  91. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  92. package/lib/chain/validatorMonitor.d.ts +7 -1
  93. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  94. package/lib/chain/validatorMonitor.js +22 -5
  95. package/lib/chain/validatorMonitor.js.map +1 -1
  96. package/lib/execution/builder/validateBid.d.ts.map +1 -1
  97. package/lib/execution/builder/validateBid.js +8 -5
  98. package/lib/execution/builder/validateBid.js.map +1 -1
  99. package/lib/execution/engine/mock.d.ts.map +1 -1
  100. package/lib/execution/engine/mock.js +4 -1
  101. package/lib/execution/engine/mock.js.map +1 -1
  102. package/lib/metrics/metrics/lodestar.d.ts +4 -3
  103. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  104. package/lib/metrics/metrics/lodestar.js +5 -5
  105. package/lib/metrics/metrics/lodestar.js.map +1 -1
  106. package/lib/network/gossip/encoding.d.ts.map +1 -1
  107. package/lib/network/gossip/encoding.js +0 -6
  108. package/lib/network/gossip/encoding.js.map +1 -1
  109. package/lib/network/gossip/topic.d.ts +2 -1
  110. package/lib/network/gossip/topic.d.ts.map +1 -1
  111. package/lib/network/gossip/topic.js +4 -20
  112. package/lib/network/gossip/topic.js.map +1 -1
  113. package/lib/network/network.js +2 -2
  114. package/lib/network/network.js.map +1 -1
  115. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  116. package/lib/network/processor/gossipHandlers.js +383 -279
  117. package/lib/network/processor/gossipHandlers.js.map +1 -1
  118. package/lib/network/processor/index.d.ts +49 -3
  119. package/lib/network/processor/index.d.ts.map +1 -1
  120. package/lib/network/processor/index.js +254 -114
  121. package/lib/network/processor/index.js.map +1 -1
  122. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  123. package/lib/network/reqresp/protocols.js +6 -22
  124. package/lib/network/reqresp/protocols.js.map +1 -1
  125. package/lib/network/reqresp/rateLimit.js +2 -1
  126. package/lib/network/reqresp/rateLimit.js.map +1 -1
  127. package/lib/sync/range/range.d.ts.map +1 -1
  128. package/lib/sync/range/range.js +24 -1
  129. package/lib/sync/range/range.js.map +1 -1
  130. package/package.json +15 -15
  131. package/src/api/impl/beacon/blocks/index.ts +8 -14
  132. package/src/api/impl/beacon/state/utils.ts +15 -0
  133. package/src/api/impl/config/index.ts +4 -1
  134. package/src/api/impl/validator/index.ts +44 -43
  135. package/src/chain/archiveStore/archiveStore.ts +6 -0
  136. package/src/chain/archiveStore/historicalState/metrics.ts +14 -1
  137. package/src/chain/archiveStore/utils/archiveBlocks.ts +39 -3
  138. package/src/chain/blocks/importBlock.ts +25 -20
  139. package/src/chain/blocks/index.ts +120 -23
  140. package/src/chain/blocks/types.ts +9 -0
  141. package/src/chain/blocks/utils/chainSegment.ts +26 -12
  142. package/src/chain/chain.ts +100 -61
  143. package/src/chain/emitter.ts +1 -1
  144. package/src/chain/errors/blockError.ts +3 -3
  145. package/src/chain/errors/executionPayloadBid.ts +2 -0
  146. package/src/chain/errors/executionPayloadEnvelope.ts +0 -9
  147. package/src/chain/errors/gossipValidation.ts +1 -0
  148. package/src/chain/forkChoice/index.ts +2 -0
  149. package/src/chain/interface.ts +4 -4
  150. package/src/chain/lightClient/index.ts +32 -36
  151. package/src/chain/lightClient/proofs.ts +10 -0
  152. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  153. package/src/chain/prepareNextSlot.ts +16 -16
  154. package/src/chain/produceBlock/produceBlockBody.ts +50 -71
  155. package/src/chain/validation/block.ts +9 -66
  156. package/src/chain/validation/executionPayloadBid.ts +62 -44
  157. package/src/chain/validation/executionPayloadEnvelope.ts +0 -37
  158. package/src/chain/validation/payloadAttestationMessage.ts +8 -9
  159. package/src/chain/validatorMonitor.ts +24 -7
  160. package/src/execution/builder/validateBid.ts +10 -6
  161. package/src/execution/engine/mock.ts +4 -1
  162. package/src/metrics/metrics/lodestar.ts +6 -5
  163. package/src/network/gossip/encoding.ts +0 -6
  164. package/src/network/gossip/topic.ts +3 -25
  165. package/src/network/network.ts +2 -2
  166. package/src/network/processor/gossipHandlers.ts +495 -345
  167. package/src/network/processor/index.ts +287 -165
  168. package/src/network/reqresp/protocols.ts +7 -24
  169. package/src/network/reqresp/rateLimit.ts +2 -1
  170. package/src/sync/range/range.ts +23 -1
@@ -4,17 +4,11 @@ import {
4
4
  ATTESTATION_SUBNET_COUNT,
5
5
  ForkName,
6
6
  ForkSeq,
7
- MAX_ATTESTER_SLASHING_SIZE,
8
- MAX_DATA_COLUMN_SIDECAR_SIZE,
9
- MAX_SIGNED_AGGREGATE_AND_PROOF_SIZE,
10
- MAX_SIGNED_EXECUTION_PAYLOAD_BID_SIZE,
11
- MAX_SIGNED_EXECUTION_PAYLOAD_BID_SIZE_HEZE,
12
7
  SYNC_COMMITTEE_SUBNET_COUNT,
13
8
  isForkPostAltair,
14
9
  isForkPostElectra,
15
10
  isForkPostFulu,
16
11
  isForkPostGloas,
17
- isForkPostHeze,
18
12
  } from "@lodestar/params";
19
13
  import {Attestation, SingleAttestation, ssz, sszTypesFor} from "@lodestar/types";
20
14
  import {GossipAction, GossipActionError, GossipErrorCode} from "../../chain/errors/gossipValidation.js";
@@ -139,27 +133,11 @@ export function getGossipSSZType(topic: GossipTopic) {
139
133
  }
140
134
 
141
135
  /**
142
- * Return the maximum uncompressed SSZ byte length accepted for a gossip object.
136
+ * Return the maximum uncompressed SSZ byte length accepted for a gossip object, the SSZ type max size
137
+ * or MAX_PAYLOAD_SIZE, whichever is smaller.
143
138
  */
144
139
  export function getGossipSSZMaxSize(topic: GossipTopic, maxPayloadSize: number, sszType?: CompositeTypeAny): number {
145
- const {fork} = topic.boundary;
146
- // Gloas progressive containers have broad theoretical SSZ max sizes; use the preset p2p bounds instead.
147
- switch (topic.type) {
148
- case GossipType.beacon_block:
149
- return maxPayloadSize;
150
- case GossipType.beacon_aggregate_and_proof:
151
- return isForkPostGloas(fork) ? MAX_SIGNED_AGGREGATE_AND_PROOF_SIZE : (sszType ?? getGossipSSZType(topic)).maxSize;
152
- case GossipType.attester_slashing:
153
- return isForkPostGloas(fork) ? MAX_ATTESTER_SLASHING_SIZE : (sszType ?? getGossipSSZType(topic)).maxSize;
154
- case GossipType.data_column_sidecar:
155
- return isForkPostGloas(fork) ? MAX_DATA_COLUMN_SIDECAR_SIZE : (sszType ?? getGossipSSZType(topic)).maxSize;
156
- case GossipType.execution_payload:
157
- return maxPayloadSize;
158
- case GossipType.execution_payload_bid:
159
- return isForkPostHeze(fork) ? MAX_SIGNED_EXECUTION_PAYLOAD_BID_SIZE_HEZE : MAX_SIGNED_EXECUTION_PAYLOAD_BID_SIZE;
160
- default:
161
- return (sszType ?? getGossipSSZType(topic)).maxSize;
162
- }
140
+ return Math.min((sszType ?? getGossipSSZType(topic)).maxSize, maxPayloadSize);
163
141
  }
164
142
 
165
143
  /**
@@ -481,7 +481,7 @@ export class Network implements INetwork {
481
481
  }
482
482
 
483
483
  async publishLightClientFinalityUpdate(update: LightClientFinalityUpdate): Promise<number> {
484
- const epoch = computeEpochAtSlot(update.signatureSlot);
484
+ const epoch = computeEpochAtSlot(update.attestedHeader.beacon.slot);
485
485
  const boundary = this.config.getForkBoundaryAtEpoch(epoch);
486
486
 
487
487
  return this.publishGossip<GossipType.light_client_finality_update>(
@@ -491,7 +491,7 @@ export class Network implements INetwork {
491
491
  }
492
492
 
493
493
  async publishLightClientOptimisticUpdate(update: LightClientOptimisticUpdate): Promise<number> {
494
- const epoch = computeEpochAtSlot(update.signatureSlot);
494
+ const epoch = computeEpochAtSlot(update.attestedHeader.beacon.slot);
495
495
  const boundary = this.config.getForkBoundaryAtEpoch(epoch);
496
496
 
497
497
  return this.publishGossip<GossipType.light_client_optimistic_update>(