@lodestar/beacon-node 1.43.0-dev.d166e3b6f7 → 1.43.0-dev.d901f86f98

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 (278) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +16 -5
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/pool/index.js +45 -2
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/debug/index.d.ts.map +1 -1
  8. package/lib/api/impl/debug/index.js +0 -1
  9. package/lib/api/impl/debug/index.js.map +1 -1
  10. package/lib/api/impl/lodestar/index.js +1 -1
  11. package/lib/api/impl/lodestar/index.js.map +1 -1
  12. package/lib/api/impl/validator/index.d.ts.map +1 -1
  13. package/lib/api/impl/validator/index.js +68 -2
  14. package/lib/api/impl/validator/index.js.map +1 -1
  15. package/lib/chain/blocks/blockInput/blockInput.d.ts +3 -0
  16. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  17. package/lib/chain/blocks/blockInput/blockInput.js +4 -1
  18. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  19. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  20. package/lib/chain/blocks/importBlock.js +16 -28
  21. package/lib/chain/blocks/importBlock.js.map +1 -1
  22. package/lib/chain/blocks/importExecutionPayload.d.ts +23 -6
  23. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  24. package/lib/chain/blocks/importExecutionPayload.js +57 -24
  25. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  26. package/lib/chain/blocks/index.d.ts +5 -3
  27. package/lib/chain/blocks/index.d.ts.map +1 -1
  28. package/lib/chain/blocks/index.js +58 -25
  29. package/lib/chain/blocks/index.js.map +1 -1
  30. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +12 -1
  31. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -1
  32. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +28 -2
  33. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -1
  34. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +17 -0
  35. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  36. package/lib/chain/blocks/payloadEnvelopeProcessor.js +2 -2
  37. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  38. package/lib/chain/blocks/types.d.ts +4 -3
  39. package/lib/chain/blocks/types.d.ts.map +1 -1
  40. package/lib/chain/blocks/utils/chainSegment.d.ts +23 -2
  41. package/lib/chain/blocks/utils/chainSegment.d.ts.map +1 -1
  42. package/lib/chain/blocks/utils/chainSegment.js +89 -12
  43. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  44. package/lib/chain/blocks/verifyBlock.d.ts +5 -3
  45. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  46. package/lib/chain/blocks/verifyBlock.js +50 -7
  47. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  48. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +0 -4
  49. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  50. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -2
  51. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  52. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts +2 -1
  53. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  54. package/lib/chain/blocks/verifyBlocksSanityChecks.js +25 -5
  55. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  56. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts +2 -2
  57. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts.map +1 -1
  58. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +12 -8
  59. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
  60. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  61. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +8 -3
  62. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  63. package/lib/chain/chain.d.ts +3 -2
  64. package/lib/chain/chain.d.ts.map +1 -1
  65. package/lib/chain/chain.js +35 -12
  66. package/lib/chain/chain.js.map +1 -1
  67. package/lib/chain/emitter.d.ts +0 -11
  68. package/lib/chain/emitter.d.ts.map +1 -1
  69. package/lib/chain/emitter.js +0 -4
  70. package/lib/chain/emitter.js.map +1 -1
  71. package/lib/chain/errors/blockError.d.ts +8 -1
  72. package/lib/chain/errors/blockError.d.ts.map +1 -1
  73. package/lib/chain/errors/blockError.js +2 -0
  74. package/lib/chain/errors/blockError.js.map +1 -1
  75. package/lib/chain/errors/index.d.ts +1 -0
  76. package/lib/chain/errors/index.d.ts.map +1 -1
  77. package/lib/chain/errors/index.js +1 -0
  78. package/lib/chain/errors/index.js.map +1 -1
  79. package/lib/chain/errors/proposerPreferences.d.ts +40 -0
  80. package/lib/chain/errors/proposerPreferences.d.ts.map +1 -0
  81. package/lib/chain/errors/proposerPreferences.js +14 -0
  82. package/lib/chain/errors/proposerPreferences.js.map +1 -0
  83. package/lib/chain/initState.d.ts.map +1 -1
  84. package/lib/chain/initState.js +6 -1
  85. package/lib/chain/initState.js.map +1 -1
  86. package/lib/chain/interface.d.ts +3 -2
  87. package/lib/chain/interface.d.ts.map +1 -1
  88. package/lib/chain/interface.js.map +1 -1
  89. package/lib/chain/opPools/payloadAttestationPool.d.ts +3 -2
  90. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  91. package/lib/chain/opPools/payloadAttestationPool.js +26 -4
  92. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  93. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  94. package/lib/chain/prepareNextSlot.js +16 -18
  95. package/lib/chain/prepareNextSlot.js.map +1 -1
  96. package/lib/chain/produceBlock/produceBlockBody.d.ts +12 -3
  97. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  98. package/lib/chain/produceBlock/produceBlockBody.js +35 -17
  99. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  100. package/lib/chain/regen/interface.d.ts +1 -0
  101. package/lib/chain/regen/interface.d.ts.map +1 -1
  102. package/lib/chain/regen/interface.js +1 -0
  103. package/lib/chain/regen/interface.js.map +1 -1
  104. package/lib/chain/regen/queued.d.ts.map +1 -1
  105. package/lib/chain/regen/queued.js +1 -4
  106. package/lib/chain/regen/queued.js.map +1 -1
  107. package/lib/chain/regen/regen.d.ts.map +1 -1
  108. package/lib/chain/regen/regen.js +1 -4
  109. package/lib/chain/regen/regen.js.map +1 -1
  110. package/lib/chain/seenCache/index.d.ts +1 -0
  111. package/lib/chain/seenCache/index.d.ts.map +1 -1
  112. package/lib/chain/seenCache/index.js +1 -0
  113. package/lib/chain/seenCache/index.js.map +1 -1
  114. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +21 -11
  115. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  116. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +70 -20
  117. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  118. package/lib/chain/seenCache/seenProposerPreferences.d.ts +16 -0
  119. package/lib/chain/seenCache/seenProposerPreferences.d.ts.map +1 -0
  120. package/lib/chain/seenCache/seenProposerPreferences.js +26 -0
  121. package/lib/chain/seenCache/seenProposerPreferences.js.map +1 -0
  122. package/lib/chain/validation/block.d.ts.map +1 -1
  123. package/lib/chain/validation/block.js +1 -0
  124. package/lib/chain/validation/block.js.map +1 -1
  125. package/lib/chain/validation/executionPayloadBid.js +11 -8
  126. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  127. package/lib/chain/validation/proposerPreferences.d.ts +8 -0
  128. package/lib/chain/validation/proposerPreferences.d.ts.map +1 -0
  129. package/lib/chain/validation/proposerPreferences.js +91 -0
  130. package/lib/chain/validation/proposerPreferences.js.map +1 -0
  131. package/lib/metrics/metrics/lodestar.d.ts +1 -0
  132. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  133. package/lib/metrics/metrics/lodestar.js +4 -0
  134. package/lib/metrics/metrics/lodestar.js.map +1 -1
  135. package/lib/network/gossip/interface.d.ts +7 -1
  136. package/lib/network/gossip/interface.d.ts.map +1 -1
  137. package/lib/network/gossip/interface.js +1 -0
  138. package/lib/network/gossip/interface.js.map +1 -1
  139. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  140. package/lib/network/gossip/scoringParameters.js +12 -1
  141. package/lib/network/gossip/scoringParameters.js.map +1 -1
  142. package/lib/network/gossip/topic.d.ts +10 -0
  143. package/lib/network/gossip/topic.d.ts.map +1 -1
  144. package/lib/network/gossip/topic.js +6 -0
  145. package/lib/network/gossip/topic.js.map +1 -1
  146. package/lib/network/interface.d.ts +1 -0
  147. package/lib/network/interface.d.ts.map +1 -1
  148. package/lib/network/network.d.ts +1 -0
  149. package/lib/network/network.d.ts.map +1 -1
  150. package/lib/network/network.js +5 -0
  151. package/lib/network/network.js.map +1 -1
  152. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  153. package/lib/network/processor/gossipHandlers.js +38 -16
  154. package/lib/network/processor/gossipHandlers.js.map +1 -1
  155. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  156. package/lib/network/processor/gossipQueues/index.js +5 -0
  157. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  158. package/lib/network/processor/index.d.ts.map +1 -1
  159. package/lib/network/processor/index.js +6 -5
  160. package/lib/network/processor/index.js.map +1 -1
  161. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  162. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +14 -6
  163. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  164. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +1 -1
  165. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +11 -5
  166. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  167. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  168. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +17 -5
  169. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  170. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -1
  171. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +7 -4
  172. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -1
  173. package/lib/node/nodejs.js +2 -2
  174. package/lib/node/nodejs.js.map +1 -1
  175. package/lib/sync/constants.d.ts +3 -1
  176. package/lib/sync/constants.d.ts.map +1 -1
  177. package/lib/sync/constants.js +3 -4
  178. package/lib/sync/constants.js.map +1 -1
  179. package/lib/sync/range/batch.d.ts +35 -5
  180. package/lib/sync/range/batch.d.ts.map +1 -1
  181. package/lib/sync/range/batch.js +240 -59
  182. package/lib/sync/range/batch.js.map +1 -1
  183. package/lib/sync/range/chain.d.ts +19 -4
  184. package/lib/sync/range/chain.d.ts.map +1 -1
  185. package/lib/sync/range/chain.js +64 -11
  186. package/lib/sync/range/chain.js.map +1 -1
  187. package/lib/sync/range/range.d.ts.map +1 -1
  188. package/lib/sync/range/range.js +31 -9
  189. package/lib/sync/range/range.js.map +1 -1
  190. package/lib/sync/sync.d.ts.map +1 -1
  191. package/lib/sync/sync.js +13 -0
  192. package/lib/sync/sync.js.map +1 -1
  193. package/lib/sync/types.d.ts +34 -0
  194. package/lib/sync/types.d.ts.map +1 -1
  195. package/lib/sync/types.js +34 -0
  196. package/lib/sync/types.js.map +1 -1
  197. package/lib/sync/unknownBlock.d.ts +29 -1
  198. package/lib/sync/unknownBlock.d.ts.map +1 -1
  199. package/lib/sync/unknownBlock.js +738 -61
  200. package/lib/sync/unknownBlock.js.map +1 -1
  201. package/lib/sync/utils/downloadByRange.d.ts +67 -10
  202. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  203. package/lib/sync/utils/downloadByRange.js +211 -26
  204. package/lib/sync/utils/downloadByRange.js.map +1 -1
  205. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  206. package/lib/sync/utils/downloadByRoot.js +16 -2
  207. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  208. package/lib/sync/utils/pendingBlocksTree.d.ts +0 -1
  209. package/lib/sync/utils/pendingBlocksTree.d.ts.map +1 -1
  210. package/lib/sync/utils/pendingBlocksTree.js +0 -9
  211. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  212. package/lib/util/sszBytes.d.ts.map +1 -1
  213. package/lib/util/sszBytes.js +8 -6
  214. package/lib/util/sszBytes.js.map +1 -1
  215. package/package.json +16 -16
  216. package/src/api/impl/beacon/blocks/index.ts +21 -5
  217. package/src/api/impl/beacon/pool/index.ts +83 -1
  218. package/src/api/impl/debug/index.ts +0 -1
  219. package/src/api/impl/lodestar/index.ts +1 -1
  220. package/src/api/impl/validator/index.ts +82 -1
  221. package/src/chain/blocks/blockInput/blockInput.ts +4 -1
  222. package/src/chain/blocks/importBlock.ts +16 -48
  223. package/src/chain/blocks/importExecutionPayload.ts +76 -30
  224. package/src/chain/blocks/index.ts +71 -22
  225. package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +37 -3
  226. package/src/chain/blocks/payloadEnvelopeInput/types.ts +18 -0
  227. package/src/chain/blocks/payloadEnvelopeProcessor.ts +2 -2
  228. package/src/chain/blocks/types.ts +4 -3
  229. package/src/chain/blocks/utils/chainSegment.ts +114 -17
  230. package/src/chain/blocks/verifyBlock.ts +70 -9
  231. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +6 -4
  232. package/src/chain/blocks/verifyBlocksSanityChecks.ts +26 -7
  233. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +16 -8
  234. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +7 -4
  235. package/src/chain/chain.ts +43 -10
  236. package/src/chain/emitter.ts +0 -11
  237. package/src/chain/errors/blockError.ts +4 -1
  238. package/src/chain/errors/index.ts +1 -0
  239. package/src/chain/errors/proposerPreferences.ts +47 -0
  240. package/src/chain/initState.ts +9 -1
  241. package/src/chain/interface.ts +7 -1
  242. package/src/chain/opPools/payloadAttestationPool.ts +29 -8
  243. package/src/chain/prepareNextSlot.ts +21 -29
  244. package/src/chain/produceBlock/produceBlockBody.ts +46 -22
  245. package/src/chain/regen/interface.ts +1 -0
  246. package/src/chain/regen/queued.ts +2 -7
  247. package/src/chain/regen/regen.ts +2 -7
  248. package/src/chain/seenCache/index.ts +1 -0
  249. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +90 -24
  250. package/src/chain/seenCache/seenProposerPreferences.ts +32 -0
  251. package/src/chain/validation/block.ts +1 -0
  252. package/src/chain/validation/executionPayloadBid.ts +11 -8
  253. package/src/chain/validation/proposerPreferences.ts +110 -0
  254. package/src/metrics/metrics/lodestar.ts +4 -0
  255. package/src/network/gossip/interface.ts +6 -0
  256. package/src/network/gossip/scoringParameters.ts +14 -1
  257. package/src/network/gossip/topic.ts +6 -0
  258. package/src/network/interface.ts +1 -0
  259. package/src/network/network.ts +11 -0
  260. package/src/network/processor/gossipHandlers.ts +53 -17
  261. package/src/network/processor/gossipQueues/index.ts +5 -0
  262. package/src/network/processor/index.ts +6 -5
  263. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +14 -6
  264. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +11 -5
  265. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +17 -5
  266. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +7 -4
  267. package/src/node/nodejs.ts +2 -2
  268. package/src/sync/constants.ts +4 -4
  269. package/src/sync/range/batch.ts +320 -67
  270. package/src/sync/range/chain.ts +89 -14
  271. package/src/sync/range/range.ts +34 -9
  272. package/src/sync/sync.ts +13 -1
  273. package/src/sync/types.ts +72 -0
  274. package/src/sync/unknownBlock.ts +928 -65
  275. package/src/sync/utils/downloadByRange.ts +378 -39
  276. package/src/sync/utils/downloadByRoot.ts +24 -2
  277. package/src/sync/utils/pendingBlocksTree.ts +0 -15
  278. package/src/util/sszBytes.ts +8 -6
@@ -1,28 +1,31 @@
1
1
  import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
2
+ import { isDaOutOfRange } from "../blocks/blockInput/index.js";
2
3
  import { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
3
4
  import { ChainEvent } from "../emitter.js";
4
5
  export { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
5
6
  /**
6
7
  * Cache for tracking PayloadEnvelopeInput instances, keyed by beacon block root.
7
8
  *
8
- * Created during block import when a block is processed. Two pruning paths:
9
- * - `prepareNextSlot` calls `pruneBelow(headParentSlot)` every slot once the head we'll build
10
- * on is known.
11
- * - `onFinalized` calls `pruneBelow(finalizedSlot)` on every finalization for bulk cleanup.
12
- *
9
+ * Created whenever we have a block because it needs block bid.
13
10
  * Steady state (linear chain, healthy progression): the cache holds ~2 entries — the head
14
11
  * (parent for next-slot production) and its parent (proposer-boost-reorg fallback). It can
15
12
  * transiently hold more during forks, range-sync bursts, or when `prepareNextSlot` skips
16
13
  * ticks; subsequent ticks settle it back.
17
14
  */
18
15
  export class SeenPayloadEnvelopeInput {
16
+ config;
17
+ clock;
18
+ forkChoice;
19
19
  chainEvents;
20
20
  signal;
21
21
  serializedCache;
22
22
  metrics;
23
23
  logger;
24
24
  payloadInputs = new Map();
25
- constructor({ chainEvents, signal, serializedCache, metrics, logger }) {
25
+ constructor({ config, clock, forkChoice, chainEvents, signal, serializedCache, metrics, logger, }) {
26
+ this.config = config;
27
+ this.clock = clock;
28
+ this.forkChoice = forkChoice;
26
29
  this.chainEvents = chainEvents;
27
30
  this.signal = signal;
28
31
  this.serializedCache = serializedCache;
@@ -34,21 +37,64 @@ export class SeenPayloadEnvelopeInput {
34
37
  metrics.seenCache.payloadEnvelopeInput.serializedObjectRefs.set(Array.from(this.payloadInputs.values()).reduce((count, payloadInput) => count + payloadInput.getSerializedCacheKeys().length, 0));
35
38
  });
36
39
  }
37
- this.chainEvents.on(ChainEvent.forkChoiceFinalized, this.onFinalized);
40
+ this.chainEvents.on(ChainEvent.forkChoiceFinalized, this.pruneFinalized);
38
41
  this.signal.addEventListener("abort", () => {
39
- this.chainEvents.off(ChainEvent.forkChoiceFinalized, this.onFinalized);
42
+ this.chainEvents.off(ChainEvent.forkChoiceFinalized, this.pruneFinalized);
40
43
  });
41
44
  }
42
- onFinalized = (checkpoint) => {
43
- this.pruneBelow(computeStartSlotAtEpoch(checkpoint.epoch));
45
+ pruneFinalized = (checkpoint) => {
46
+ const finalizedSlot = computeStartSlotAtEpoch(checkpoint.epoch);
47
+ let deletedCount = 0;
48
+ for (const [, input] of this.payloadInputs) {
49
+ if (input.slot < finalizedSlot) {
50
+ this.evictPayloadInput(input);
51
+ deletedCount++;
52
+ }
53
+ }
54
+ this.logger?.debug("SeenPayloadEnvelopeInput.pruneFinalized deleted entries", {
55
+ finalizedSlot,
56
+ finalizedRoot: checkpoint.rootHex,
57
+ deletedCount,
58
+ });
44
59
  };
45
60
  add(props) {
46
- if (this.payloadInputs.has(props.blockRootHex)) {
47
- throw new Error(`PayloadEnvelopeInput already exists for block ${props.blockRootHex}`);
61
+ const existing = this.payloadInputs.get(props.blockRootHex);
62
+ if (existing !== undefined) {
63
+ this.logger?.verbose("SeenPayloadEnvelopeInput.add reused existing entry", {
64
+ slot: existing.slot,
65
+ root: props.blockRootHex,
66
+ });
67
+ return existing;
68
+ }
69
+ const daOutOfRange = isDaOutOfRange(this.config, props.forkName, props.block.message.slot, this.clock.currentEpoch);
70
+ const input = PayloadEnvelopeInput.createFromBlock({ ...props, daOutOfRange });
71
+ this.payloadInputs.set(props.blockRootHex, input);
72
+ this.metrics?.seenCache.payloadEnvelopeInput.created.inc();
73
+ this.logger?.verbose("SeenPayloadEnvelopeInput.add created new entry", {
74
+ slot: input.slot,
75
+ root: props.blockRootHex,
76
+ daOutOfRange,
77
+ });
78
+ return input;
79
+ }
80
+ /**
81
+ * Used at chain initialization to seed the anchor block's PayloadEnvelopeInput from
82
+ * `state.latestExecutionPayloadBid`.
83
+ */
84
+ addFromBid(props) {
85
+ const existing = this.payloadInputs.get(props.blockRootHex);
86
+ if (existing !== undefined) {
87
+ return existing;
48
88
  }
49
- const input = PayloadEnvelopeInput.createFromBlock(props);
89
+ const daOutOfRange = isDaOutOfRange(this.config, props.forkName, props.slot, this.clock.currentEpoch);
90
+ const input = PayloadEnvelopeInput.createFromBid({ ...props, daOutOfRange });
50
91
  this.payloadInputs.set(props.blockRootHex, input);
51
92
  this.metrics?.seenCache.payloadEnvelopeInput.created.inc();
93
+ this.logger?.verbose("SeenPayloadEnvelopeInput.addFromBid created new entry", {
94
+ slot: input.slot,
95
+ root: props.blockRootHex,
96
+ daOutOfRange,
97
+ });
52
98
  return input;
53
99
  }
54
100
  get(blockRootHex) {
@@ -60,15 +106,19 @@ export class SeenPayloadEnvelopeInput {
60
106
  size() {
61
107
  return this.payloadInputs.size;
62
108
  }
63
- pruneBelow(slot) {
64
- let deletedCount = 0;
65
- for (const [, input] of this.payloadInputs) {
66
- if (input.slot < slot) {
67
- this.evictPayloadInput(input);
68
- deletedCount++;
109
+ pruneBelowParent(parentBlock) {
110
+ for (const block of this.forkChoice.getAllAncestorBlocks(parentBlock.blockRoot, parentBlock.payloadStatus)) {
111
+ if (block.slot < parentBlock.slot) {
112
+ const input = this.payloadInputs.get(block.blockRoot);
113
+ if (input) {
114
+ this.evictPayloadInput(input);
115
+ this.logger?.verbose("SeenPayloadEnvelopeInput.pruneBelowParent deleted", {
116
+ slot: block.slot,
117
+ root: block.blockRoot,
118
+ });
119
+ }
69
120
  }
70
121
  }
71
- this.logger?.debug("SeenPayloadEnvelopeInput.pruneBelow deleted entries", { slot, deletedCount });
72
122
  }
73
123
  evictPayloadInput(payloadInput) {
74
124
  this.serializedCache.delete(payloadInput.getSerializedCacheKeys());
@@ -1 +1 @@
1
- {"version":3,"file":"seenPayloadEnvelopeInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenPayloadEnvelopeInput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seenPayloadEnvelopeInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenPayloadEnvelopeInput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { RootHex, Slot, ValidatorIndex } from "@lodestar/types";
2
+ /**
3
+ * Tracks signed proposer preferences we've already seen per (dependent_root, proposal_slot, validator_index).
4
+ */
5
+ export declare class SeenProposerPreferences {
6
+ private readonly validatorByDependentRootBySlot;
7
+ isKnown(dependentRoot: RootHex, proposalSlot: Slot, validatorIndex: ValidatorIndex): boolean;
8
+ add(dependentRoot: RootHex, proposalSlot: Slot, validatorIndex: ValidatorIndex): void;
9
+ /**
10
+ * Entries are only load-bearing while `proposal_slot > current_slot`. Once the slot has
11
+ * passed the `[IGNORE] proposal_slot > current_slot` gossip rule takes over, so drop them
12
+ * on each slot tick.
13
+ */
14
+ prune(currentSlot: Slot): void;
15
+ }
16
+ //# sourceMappingURL=seenProposerPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenProposerPreferences.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenProposerPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAG9D;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAE7C;IAEF,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAE3F;IAED,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAEpF;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAM7B;CACF"}
@@ -0,0 +1,26 @@
1
+ import { MapDef } from "@lodestar/utils";
2
+ /**
3
+ * Tracks signed proposer preferences we've already seen per (dependent_root, proposal_slot, validator_index).
4
+ */
5
+ export class SeenProposerPreferences {
6
+ validatorByDependentRootBySlot = new MapDef(() => new Map());
7
+ isKnown(dependentRoot, proposalSlot, validatorIndex) {
8
+ return this.validatorByDependentRootBySlot.get(proposalSlot)?.get(dependentRoot) === validatorIndex;
9
+ }
10
+ add(dependentRoot, proposalSlot, validatorIndex) {
11
+ this.validatorByDependentRootBySlot.getOrDefault(proposalSlot).set(dependentRoot, validatorIndex);
12
+ }
13
+ /**
14
+ * Entries are only load-bearing while `proposal_slot > current_slot`. Once the slot has
15
+ * passed the `[IGNORE] proposal_slot > current_slot` gossip rule takes over, so drop them
16
+ * on each slot tick.
17
+ */
18
+ prune(currentSlot) {
19
+ for (const slot of this.validatorByDependentRootBySlot.keys()) {
20
+ if (slot < currentSlot) {
21
+ this.validatorByDependentRootBySlot.delete(slot);
22
+ }
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=seenProposerPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenProposerPreferences.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenProposerPreferences.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IACjB,8BAA8B,GAAG,IAAI,MAAM,CAC1D,GAAG,EAAE,CAAC,IAAI,GAAG,EAA2B,CACzC,CAAC;IAEF,OAAO,CAAC,aAAsB,EAAE,YAAkB,EAAE,cAA8B,EAAW;QAC3F,OAAO,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,cAAc,CAAC;IAAA,CACrG;IAED,GAAG,CAAC,aAAsB,EAAE,YAAkB,EAAE,cAA8B,EAAQ;QACpF,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAAA,CACnG;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAiB,EAAQ;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9D,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IAAA,CACF;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,QAAQ,EAAwD,MAAM,kBAAkB,CAAC;AASjG,OAAO,EAAC,iBAAiB,EAAmC,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAkOf"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,QAAQ,EAAwD,MAAM,kBAAkB,CAAC;AASjG,OAAO,EAAC,iBAAiB,EAAmC,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAmOf"}
@@ -80,6 +80,7 @@ export async function validateGossipBlock(config, chain, signedBlock, fork) {
80
80
  if (chain.forkChoice.getBlockHexAndBlockHash(parentRoot, parentBlockHashHex) === null) {
81
81
  throw new BlockGossipError(GossipAction.IGNORE, {
82
82
  code: BlockErrorCode.PARENT_PAYLOAD_UNKNOWN,
83
+ parentRoot,
83
84
  parentBlockHash: parentBlockHashHex,
84
85
  });
85
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAW,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjG,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAkC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAuB,EACvB,KAAmB,EACnB,WAA8B,EAC9B,IAAc,EACC;IACf,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEjD,iHAAiH;IACjH,gHAAgH;IAChH,qBAAqB;IACrB,MAAM,8BAA8B,GAAG,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC;IAClF,IAAI,8BAA8B,GAAG,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,cAAc,CAAC,WAAW;YAChC,WAAW,EAAE,8BAA8B;YAC3C,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,mGAAmG;IACnG,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;IACtE,MAAM,aAAa,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,cAAc,CAAC,2BAA2B;YAChD,SAAS;YACT,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,sHAAsH;IACtH,EAAE;IACF,qFAAqF;IACrF,sFAAsF;IACtF,oFAAoF;IACpF,2BAA2B;IAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;IACzG,CAAC;IAED,gCAAgC;IAChC,qFAAqF;IAErF,uIAAuI;IACvI,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,eAAe,EAAE,aAAa,EAAC,CAAC,CAAC;IACzG,CAAC;IAED,4EAA4E;IAC5E,2IAA2I;IAC3I,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,2FAA2F;QAC3F,iCAAiC;QACjC,EAAE;QACF,sFAAsF;QACtF,mFAAmF;QACnF,wDAAwD;QACxD,0FAA0F;QAC1F,sCAAsC;QACtC,sIAAsI;QACtI,kFAAkF;QAClF,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE,UAAU,EAAC,CAAC,CAAC;IACrG,CAAC;IAED,qFAAqF;IACrF,gFAAgF;IAChF,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,eAAe,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;QACzF,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,cAAc,CAAC,wBAAwB;YAC7C,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,sHAAsH;IACtH,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACnG,IAAI,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC;YACtF,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC9C,IAAI,EAAE,cAAc,CAAC,sBAAsB;gBAC3C,eAAe,EAAE,kBAAkB;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uGAAuG;IACvG,uGAAuG;IACvG,4FAA4F;IAC5F,6FAA6F;IAC7F,+BAA+B;IAC/B,2IAA2I;IAC3I,uDAAuD;IACvD,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,CAAC;QAC9F,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,cAAc,CAAC,sBAAsB;YAC3C,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,IAAI,WAAW,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,cAAc,CAAC,qBAAqB;YAC1C,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED,oNAAoN;IACpN,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,qBAAqB,GAAI,KAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC1F,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,qBAAqB,GAAG,gBAAgB,EAAE,CAAC;YAC7C,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC9C,IAAI,EAAE,cAAc,CAAC,wBAAwB;gBAC7C,qBAAqB;gBACrB,eAAe,EAAE,gBAAgB;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAI,KAA2B,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;QAEhF,4GAA4G;QAC5G,6EAA6E;QAC7E,MAAM,qBAAqB,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,qBAAqB,GAAG,gBAAgB,EAAE,CAAC;YAC7C,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC9C,IAAI,EAAE,cAAc,CAAC,wBAAwB;gBAC7C,qBAAqB;gBACrB,eAAe,EAAE,gBAAgB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,wHAAwH;QACxH,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC9C,IAAI,EAAE,cAAc,CAAC,wBAAwB;gBAC7C,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC7C,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,qHAAqH;QACrH,6EAA6E;IAC/E,CAAC;IAED,sIAAsI;IACtI,8FAA8F;IAC9F,+FAA+F;IAC/F,mMAAmM;IACnM,gFAAgF;IAChF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK;SACjC,WAAW,CAAC,KAAK,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC;SAC9E,KAAK,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE,UAAU,EAAC,CAAC,CAAC;IAAA,CACpG,CAAC,CAAC;IAEL,8EAA8E;IAC9E,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAE9C,uFAAuF;IACvF,uFAAuF;IACvF,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACxF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACrD,IAAI,oBAAoB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,oBAAoB,IAAI,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAClF,IAAI,gBAAgB,CAAC,SAAS,KAAK,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3F,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;oBAC9C,IAAI,EAAE,cAAc,CAAC,mBAAmB;oBACxC,SAAS,EAAE,gBAAgB,CAAC,SAAS;oBACrC,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,aAAa,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,EAAE,aAAa,EAAC,CAAC,CAAC;IAC1G,CAAC;IAED,sHAAsH;IACtH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QACxG,MAAM,YAAY,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7E,6CAA6C;QAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE,EAAC,kBAAkB,EAAE,IAAI,EAAC,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC9C,IAAI,EAAE,cAAc,CAAC,0BAA0B;gBAC/C,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;IAED,mHAAmH;IACnH,qHAAqH;IACrH,mHAAmH;IACnH,6DAA6D;IAC7D,IAAI,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9D,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,kBAAkB,EAAE,aAAa,EAAC,CAAC,CAAC;IAC5G,CAAC;IAED,kEAAkE;IAClE,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,eAAe,EAAE,aAAa,EAAC,CAAC,CAAC;IACzG,CAAC;IAED,iHAAiH;IACjH,8DAA8D;IAC9D,8GAA8G;IAC9G,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAClG,IAAI,aAAa,IAAI,MAAM,CAAC,8BAA8B,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QAChF,+FAA+F;QAC/F,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAAA,CACxD"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,12 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
26
26
  slot: bid.slot,
27
27
  });
28
28
  }
29
- // [IGNORE] the `SignedProposerPreferences` where `preferences.proposal_slot`
30
- // is equal to `bid.slot` has been seen.
31
- // TODO GLOAS: Implement this along with proposer preference
29
+ // [IGNORE] A `SignedProposerPreferences` matching `bid.slot` and the bid's branch has been
30
+ // seen i.e. `proposal_slot == bid.slot` AND `dependent_root ==
31
+ // get_proposer_dependent_root(parent_state, compute_epoch_at_slot(bid.slot))`,
32
+ // where `parent_state` is the post-state of `bid.parent_block_root`.
33
+ // This is the message referenced as `proposer_preferences` in the following REJECT rules.
34
+ // TODO GLOAS: Implement once a ProposerPreferencesPool exists.
32
35
  // [REJECT] `bid.builder_index` is a valid/active builder index -- i.e.
33
36
  // `is_active_builder(state, bid.builder_index)` returns `True`.
34
37
  const builder = state.getBuilder(bid.builderIndex);
@@ -46,11 +49,11 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
46
49
  executionPayment: bid.executionPayment,
47
50
  });
48
51
  }
49
- // [REJECT] `bid.fee_recipient` matches the `fee_recipient` from the proposer's
50
- // `SignedProposerPreferences` associated with `bid.slot`.
51
- // [REJECT] `bid.gas_limit` matches the `gas_limit` from the proposer's
52
- // `SignedProposerPreferences` associated with `bid.slot`.
53
- // TODO GLOAS: Implement this along with proposer preference
52
+ // [REJECT] `bid.fee_recipient == proposer_preferences.fee_recipient`.
53
+ // [REJECT] `bid.gas_limit == proposer_preferences.gas_limit`.
54
+ // Both compared against the matching `proposer_preferences` defined above (same branch
55
+ // via dependent_root, same proposal_slot).
56
+ // TODO GLOAS: Implement once a ProposerPreferencesPool exists.
54
57
  // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
55
58
  // consensus layer -- i.e. validate that
56
59
  // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { gloas } from "@lodestar/types";
2
+ import { IBeaconChain } from "../index.js";
3
+ /**
4
+ * Validates a gossiped `SignedProposerPreferences` per
5
+ * https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#proposer_preferences
6
+ */
7
+ export declare function validateGossipProposerPreferences(chain: IBeaconChain, signedProposerPreferences: gloas.SignedProposerPreferences): Promise<void>;
8
+ //# sourceMappingURL=proposerPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposerPreferences.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/proposerPreferences.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC,IAAI,CAAC,CA2Ff"}
@@ -0,0 +1,91 @@
1
+ import { SLOTS_PER_EPOCH } from "@lodestar/params";
2
+ import { computeEpochAtSlot, createSingleSignatureSetFromComponents, getProposerPreferencesSigningRoot, } from "@lodestar/state-transition";
3
+ import { toRootHex } from "@lodestar/utils";
4
+ import { GossipAction, ProposerPreferencesError, ProposerPreferencesErrorCode } from "../errors/index.js";
5
+ /**
6
+ * Validates a gossiped `SignedProposerPreferences` per
7
+ * https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#proposer_preferences
8
+ */
9
+ export async function validateGossipProposerPreferences(chain, signedProposerPreferences) {
10
+ const preferences = signedProposerPreferences.message;
11
+ const { proposalSlot, validatorIndex, dependentRoot } = preferences;
12
+ const dependentRootHex = toRootHex(dependentRoot);
13
+ const proposalEpoch = computeEpochAtSlot(proposalSlot);
14
+ // [IGNORE] `preferences.proposal_slot` is in the current or next epoch.
15
+ const currentEpoch = chain.clock.currentEpoch;
16
+ if (proposalEpoch < currentEpoch || proposalEpoch > currentEpoch + 1) {
17
+ throw new ProposerPreferencesError(GossipAction.IGNORE, {
18
+ code: ProposerPreferencesErrorCode.INVALID_EPOCH,
19
+ proposalSlot,
20
+ currentEpoch,
21
+ });
22
+ }
23
+ // [IGNORE] `preferences.proposal_slot` has not already passed.
24
+ const currentSlot = chain.clock.currentSlot;
25
+ if (proposalSlot <= currentSlot) {
26
+ throw new ProposerPreferencesError(GossipAction.IGNORE, {
27
+ code: ProposerPreferencesErrorCode.PROPOSAL_SLOT_PASSED,
28
+ proposalSlot,
29
+ currentSlot,
30
+ });
31
+ }
32
+ // [IGNORE] The block with root `dependent_root` has been seen by the node.
33
+ // Resolve the proposer lookahead for the message's branch via head state (fast path) or
34
+ // the previous-root checkpoint state (populated by `processSlotsToNearestCheckpoint` for
35
+ // any imported branch crossing into `proposalEpoch - 1`). The head-state path also handles
36
+ // narrow timing windows where the checkpoint state isn't yet populated.
37
+ const headState = chain.getHeadState();
38
+ let proposers = null;
39
+ if (headState.epoch === proposalEpoch && headState.currentDecisionRoot === dependentRootHex) {
40
+ proposers = headState.currentProposers;
41
+ }
42
+ else if (headState.epoch === proposalEpoch - 1 && headState.nextDecisionRoot === dependentRootHex) {
43
+ proposers = headState.nextProposers;
44
+ }
45
+ else {
46
+ // Sync lookup only to not trigger disk reload from gossip input.
47
+ const checkpointState = chain.regen.getCheckpointStateSync({ epoch: proposalEpoch - 1, rootHex: dependentRootHex });
48
+ if (checkpointState !== null) {
49
+ // State is at `proposalEpoch - 1`, so proposers for `proposalSlot` (next epoch from
50
+ // the state's perspective) live in `nextProposers`.
51
+ proposers = checkpointState.nextProposers;
52
+ }
53
+ }
54
+ if (proposers === null) {
55
+ throw new ProposerPreferencesError(GossipAction.IGNORE, {
56
+ code: ProposerPreferencesErrorCode.UNKNOWN_DEPENDENT_ROOT,
57
+ proposalSlot,
58
+ dependentRoot: dependentRootHex,
59
+ });
60
+ }
61
+ // [REJECT] `is_valid_proposal_slot(state, preferences)` returns True.
62
+ if (proposers[proposalSlot % SLOTS_PER_EPOCH] !== validatorIndex) {
63
+ throw new ProposerPreferencesError(GossipAction.REJECT, {
64
+ code: ProposerPreferencesErrorCode.INVALID_PROPOSER,
65
+ proposalSlot,
66
+ validatorIndex,
67
+ dependentRoot: dependentRootHex,
68
+ });
69
+ }
70
+ // [IGNORE] First valid message for (dependent_root, proposal_slot, validator_index).
71
+ if (chain.seenProposerPreferences.isKnown(dependentRootHex, proposalSlot, validatorIndex)) {
72
+ throw new ProposerPreferencesError(GossipAction.IGNORE, {
73
+ code: ProposerPreferencesErrorCode.ALREADY_KNOWN,
74
+ proposalSlot,
75
+ validatorIndex,
76
+ dependentRoot: dependentRootHex,
77
+ });
78
+ }
79
+ // [REJECT] `signed_proposer_preferences.signature` is valid with respect to the validator's public key.
80
+ const signatureSet = createSingleSignatureSetFromComponents(chain.pubkeyCache.getOrThrow(validatorIndex), getProposerPreferencesSigningRoot(chain.config, preferences), signedProposerPreferences.signature);
81
+ if (!(await chain.bls.verifySignatureSets([signatureSet], { batchable: true }))) {
82
+ throw new ProposerPreferencesError(GossipAction.REJECT, {
83
+ code: ProposerPreferencesErrorCode.INVALID_SIGNATURE,
84
+ proposalSlot,
85
+ validatorIndex,
86
+ });
87
+ }
88
+ // Valid
89
+ chain.seenProposerPreferences.add(dependentRootHex, proposalSlot, validatorIndex);
90
+ }
91
+ //# sourceMappingURL=proposerPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposerPreferences.js","sourceRoot":"","sources":["../../../src/chain/validation/proposerPreferences.ts"],"names":[],"mappings":"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"}
@@ -239,6 +239,7 @@ export declare function createLodestarMetrics(register: RegistryMetricCreator, m
239
239
  source: BlockInputSource;
240
240
  }>;
241
241
  pendingBlocks: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
242
+ pendingPayloads: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
242
243
  knownBadBlocks: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
243
244
  processedBlocksSuccess: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
244
245
  processedBlocksError: 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":"AAAA,+HAA+H;AAC/H,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAC,yBAAyB,EAAC,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAC,0BAA0B,EAAC,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,oBAAoB,EAAE,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EACL,KAAK,sBAAsB,EAC3B,6BAA6B,EAC9B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAC,YAAY,EAAC,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,4BAA4B,EAAC,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;AAExE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,WAAW,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA02DrB"}
1
+ {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
@@ -554,6 +554,10 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
554
554
  name: "lodestar_sync_unknown_block_pending_blocks_size",
555
555
  help: "Current size of UnknownBlockSync pending blocks cache",
556
556
  }),
557
+ pendingPayloads: register.gauge({
558
+ name: "lodestar_sync_unknown_block_pending_payloads_size",
559
+ help: "Current size of UnknownBlockSync pending payloads cache",
560
+ }),
557
561
  knownBadBlocks: register.gauge({
558
562
  name: "lodestar_sync_unknown_block_known_bad_blocks_size",
559
563
  help: "Current size of UnknownBlockSync known bad blocks cache",