@lodestar/beacon-node 1.47.0-dev.92bd4efe9b → 1.47.0-dev.9572bcc698

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 (269) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +6 -8
  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 +25 -2
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/beacon/state/utils.d.ts +2 -1
  8. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  9. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  10. package/lib/api/impl/events/index.d.ts +1 -1
  11. package/lib/api/impl/events/index.d.ts.map +1 -1
  12. package/lib/api/impl/events/index.js +12 -3
  13. package/lib/api/impl/events/index.js.map +1 -1
  14. package/lib/api/rest/base.d.ts.map +1 -1
  15. package/lib/api/rest/base.js +7 -0
  16. package/lib/api/rest/base.js.map +1 -1
  17. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
  18. package/lib/chain/archiveStore/historicalState/metrics.js +21 -0
  19. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  20. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  21. package/lib/chain/blocks/importBlock.js +2 -7
  22. package/lib/chain/blocks/importBlock.js.map +1 -1
  23. package/lib/chain/blocks/importExecutionPayload.d.ts +3 -2
  24. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  25. package/lib/chain/blocks/importExecutionPayload.js +11 -9
  26. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  27. package/lib/chain/blocks/index.d.ts.map +1 -1
  28. package/lib/chain/blocks/index.js +14 -6
  29. package/lib/chain/blocks/index.js.map +1 -1
  30. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +2 -1
  31. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -1
  32. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +6 -2
  33. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -1
  34. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +14 -5
  35. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  36. package/lib/chain/blocks/payloadEnvelopeInput/types.js +5 -0
  37. package/lib/chain/blocks/payloadEnvelopeInput/types.js.map +1 -1
  38. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  39. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +22 -12
  40. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  41. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts +2 -2
  42. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts.map +1 -1
  43. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +2 -2
  44. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
  45. package/lib/chain/bls/index.d.ts +1 -1
  46. package/lib/chain/bls/index.d.ts.map +1 -1
  47. package/lib/chain/bls/interface.d.ts +5 -5
  48. package/lib/chain/bls/interface.d.ts.map +1 -1
  49. package/lib/chain/bls/multithread/index.d.ts +5 -11
  50. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  51. package/lib/chain/bls/multithread/index.js +116 -101
  52. package/lib/chain/bls/multithread/index.js.map +1 -1
  53. package/lib/chain/bls/multithread/jobItem.d.ts +5 -19
  54. package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
  55. package/lib/chain/bls/multithread/jobItem.js +10 -65
  56. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  57. package/lib/chain/bls/multithread/types.d.ts +29 -8
  58. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  59. package/lib/chain/bls/multithread/types.js +12 -0
  60. package/lib/chain/bls/multithread/types.js.map +1 -1
  61. package/lib/chain/bls/multithread/utils.d.ts +4 -0
  62. package/lib/chain/bls/multithread/utils.d.ts.map +1 -1
  63. package/lib/chain/bls/multithread/utils.js +10 -0
  64. package/lib/chain/bls/multithread/utils.js.map +1 -1
  65. package/lib/chain/bls/multithread/worker.js +49 -23
  66. package/lib/chain/bls/multithread/worker.js.map +1 -1
  67. package/lib/chain/bls/singleThread.d.ts +4 -10
  68. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  69. package/lib/chain/bls/singleThread.js +8 -45
  70. package/lib/chain/bls/singleThread.js.map +1 -1
  71. package/lib/chain/bls/utils.d.ts +4 -4
  72. package/lib/chain/bls/utils.d.ts.map +1 -1
  73. package/lib/chain/bls/utils.js +18 -19
  74. package/lib/chain/bls/utils.js.map +1 -1
  75. package/lib/chain/chain.d.ts +4 -2
  76. package/lib/chain/chain.d.ts.map +1 -1
  77. package/lib/chain/chain.js +16 -6
  78. package/lib/chain/chain.js.map +1 -1
  79. package/lib/chain/errors/blockError.d.ts +1 -0
  80. package/lib/chain/errors/blockError.d.ts.map +1 -1
  81. package/lib/chain/errors/blockError.js +6 -1
  82. package/lib/chain/errors/blockError.js.map +1 -1
  83. package/lib/chain/errors/proposerPreferences.d.ts +6 -0
  84. package/lib/chain/errors/proposerPreferences.d.ts.map +1 -1
  85. package/lib/chain/errors/proposerPreferences.js +1 -0
  86. package/lib/chain/errors/proposerPreferences.js.map +1 -1
  87. package/lib/chain/interface.d.ts +4 -2
  88. package/lib/chain/interface.d.ts.map +1 -1
  89. package/lib/chain/interface.js.map +1 -1
  90. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  91. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  92. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  93. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  94. package/lib/chain/opPools/attestationPool.js +1 -1
  95. package/lib/chain/opPools/attestationPool.js.map +1 -1
  96. package/lib/chain/opPools/deferredVoluntaryExitPool.d.ts +16 -0
  97. package/lib/chain/opPools/deferredVoluntaryExitPool.d.ts.map +1 -0
  98. package/lib/chain/opPools/deferredVoluntaryExitPool.js +57 -0
  99. package/lib/chain/opPools/deferredVoluntaryExitPool.js.map +1 -0
  100. package/lib/chain/opPools/index.d.ts +1 -0
  101. package/lib/chain/opPools/index.d.ts.map +1 -1
  102. package/lib/chain/opPools/index.js +1 -0
  103. package/lib/chain/opPools/index.js.map +1 -1
  104. package/lib/chain/opPools/payloadAttestationPool.js +3 -3
  105. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  106. package/lib/chain/opPools/syncCommitteeMessagePool.js +1 -1
  107. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  108. package/lib/chain/opPools/syncContributionAndProofPool.js +1 -1
  109. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  110. package/lib/chain/opPools/utils.d.ts +1 -1
  111. package/lib/chain/opPools/utils.d.ts.map +1 -1
  112. package/lib/chain/opPools/utils.js +1 -1
  113. package/lib/chain/opPools/utils.js.map +1 -1
  114. package/lib/chain/regen/interface.d.ts +2 -0
  115. package/lib/chain/regen/interface.d.ts.map +1 -1
  116. package/lib/chain/regen/interface.js +2 -0
  117. package/lib/chain/regen/interface.js.map +1 -1
  118. package/lib/chain/seenCache/seenAttesters.d.ts +9 -5
  119. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  120. package/lib/chain/seenCache/seenAttesters.js +25 -4
  121. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  122. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +28 -1
  123. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  124. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +121 -13
  125. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  126. package/lib/chain/validation/attestation.d.ts.map +1 -1
  127. package/lib/chain/validation/attestation.js +1 -4
  128. package/lib/chain/validation/attestation.js.map +1 -1
  129. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  130. package/lib/chain/validation/attesterSlashing.js +1 -1
  131. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  132. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  133. package/lib/chain/validation/executionPayloadBid.js +1 -2
  134. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  135. package/lib/chain/validation/executionPayloadEnvelope.js +1 -1
  136. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  137. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  138. package/lib/chain/validation/payloadAttestationMessage.js +5 -14
  139. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  140. package/lib/chain/validation/proposerPreferences.d.ts +1 -1
  141. package/lib/chain/validation/proposerPreferences.d.ts.map +1 -1
  142. package/lib/chain/validation/proposerPreferences.js +13 -4
  143. package/lib/chain/validation/proposerPreferences.js.map +1 -1
  144. package/lib/chain/validation/proposerSlashing.js +1 -1
  145. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  146. package/lib/chain/validation/voluntaryExit.d.ts +9 -1
  147. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  148. package/lib/chain/validation/voluntaryExit.js +46 -1
  149. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  150. package/lib/metrics/metrics/lodestar.d.ts +65 -22
  151. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  152. package/lib/metrics/metrics/lodestar.js +116 -52
  153. package/lib/metrics/metrics/lodestar.js.map +1 -1
  154. package/lib/network/gossip/topic.d.ts +13 -0
  155. package/lib/network/gossip/topic.d.ts.map +1 -1
  156. package/lib/network/gossip/topic.js +37 -0
  157. package/lib/network/gossip/topic.js.map +1 -1
  158. package/lib/network/libp2p/index.d.ts.map +1 -1
  159. package/lib/network/libp2p/index.js +10 -2
  160. package/lib/network/libp2p/index.js.map +1 -1
  161. package/lib/network/network.d.ts.map +1 -1
  162. package/lib/network/network.js +22 -43
  163. package/lib/network/network.js.map +1 -1
  164. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  165. package/lib/network/processor/gossipHandlers.js +12 -3
  166. package/lib/network/processor/gossipHandlers.js.map +1 -1
  167. package/lib/network/reqresp/score.d.ts.map +1 -1
  168. package/lib/network/reqresp/score.js +5 -11
  169. package/lib/network/reqresp/score.js.map +1 -1
  170. package/lib/network/util.d.ts +0 -1
  171. package/lib/network/util.d.ts.map +1 -1
  172. package/lib/network/util.js +0 -4
  173. package/lib/network/util.js.map +1 -1
  174. package/lib/node/deferredVoluntaryExitPublisher.d.ts +15 -0
  175. package/lib/node/deferredVoluntaryExitPublisher.d.ts.map +1 -0
  176. package/lib/node/deferredVoluntaryExitPublisher.js +38 -0
  177. package/lib/node/deferredVoluntaryExitPublisher.js.map +1 -0
  178. package/lib/node/nodejs.d.ts +2 -1
  179. package/lib/node/nodejs.d.ts.map +1 -1
  180. package/lib/node/nodejs.js +2 -0
  181. package/lib/node/nodejs.js.map +1 -1
  182. package/lib/sync/range/batch.d.ts +23 -5
  183. package/lib/sync/range/batch.d.ts.map +1 -1
  184. package/lib/sync/range/batch.js +61 -22
  185. package/lib/sync/range/batch.js.map +1 -1
  186. package/lib/sync/range/chain.d.ts +2 -1
  187. package/lib/sync/range/chain.d.ts.map +1 -1
  188. package/lib/sync/range/chain.js +23 -10
  189. package/lib/sync/range/chain.js.map +1 -1
  190. package/lib/sync/types.d.ts +32 -0
  191. package/lib/sync/types.d.ts.map +1 -1
  192. package/lib/sync/types.js +33 -0
  193. package/lib/sync/types.js.map +1 -1
  194. package/lib/sync/unknownBlock.d.ts +9 -0
  195. package/lib/sync/unknownBlock.d.ts.map +1 -1
  196. package/lib/sync/unknownBlock.js +173 -45
  197. package/lib/sync/unknownBlock.js.map +1 -1
  198. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  199. package/lib/sync/utils/downloadByRange.js +16 -11
  200. package/lib/sync/utils/downloadByRange.js.map +1 -1
  201. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  202. package/lib/sync/utils/downloadByRoot.js +3 -1
  203. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  204. package/package.json +35 -35
  205. package/src/api/impl/beacon/blocks/index.ts +7 -8
  206. package/src/api/impl/beacon/pool/index.ts +27 -2
  207. package/src/api/impl/beacon/state/utils.ts +2 -1
  208. package/src/api/impl/events/index.ts +12 -4
  209. package/src/api/rest/base.ts +7 -0
  210. package/src/chain/archiveStore/historicalState/metrics.ts +22 -0
  211. package/src/chain/blocks/importBlock.ts +1 -6
  212. package/src/chain/blocks/importExecutionPayload.ts +12 -11
  213. package/src/chain/blocks/index.ts +18 -6
  214. package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +8 -2
  215. package/src/chain/blocks/payloadEnvelopeInput/types.ts +17 -4
  216. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +25 -16
  217. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +1 -9
  218. package/src/chain/bls/index.ts +1 -1
  219. package/src/chain/bls/interface.ts +7 -3
  220. package/src/chain/bls/multithread/index.ts +148 -120
  221. package/src/chain/bls/multithread/jobItem.ts +12 -82
  222. package/src/chain/bls/multithread/types.ts +33 -8
  223. package/src/chain/bls/multithread/utils.ts +11 -0
  224. package/src/chain/bls/multithread/worker.ts +85 -27
  225. package/src/chain/bls/singleThread.ts +11 -55
  226. package/src/chain/bls/utils.ts +23 -24
  227. package/src/chain/chain.ts +17 -6
  228. package/src/chain/errors/blockError.ts +8 -2
  229. package/src/chain/errors/proposerPreferences.ts +7 -0
  230. package/src/chain/interface.ts +4 -1
  231. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  232. package/src/chain/opPools/attestationPool.ts +1 -1
  233. package/src/chain/opPools/deferredVoluntaryExitPool.ts +65 -0
  234. package/src/chain/opPools/index.ts +1 -0
  235. package/src/chain/opPools/payloadAttestationPool.ts +3 -3
  236. package/src/chain/opPools/syncCommitteeMessagePool.ts +1 -1
  237. package/src/chain/opPools/syncContributionAndProofPool.ts +1 -1
  238. package/src/chain/opPools/utils.ts +1 -1
  239. package/src/chain/regen/interface.ts +2 -0
  240. package/src/chain/seenCache/seenAttesters.ts +31 -5
  241. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +143 -14
  242. package/src/chain/validation/attestation.ts +1 -7
  243. package/src/chain/validation/attesterSlashing.ts +1 -8
  244. package/src/chain/validation/executionPayloadBid.ts +1 -2
  245. package/src/chain/validation/executionPayloadEnvelope.ts +0 -1
  246. package/src/chain/validation/payloadAttestationMessage.ts +6 -17
  247. package/src/chain/validation/proposerPreferences.ts +15 -5
  248. package/src/chain/validation/proposerSlashing.ts +1 -1
  249. package/src/chain/validation/voluntaryExit.ts +59 -2
  250. package/src/metrics/metrics/lodestar.ts +128 -57
  251. package/src/network/gossip/topic.ts +38 -0
  252. package/src/network/libp2p/index.ts +11 -2
  253. package/src/network/network.ts +27 -55
  254. package/src/network/processor/gossipHandlers.ts +14 -1
  255. package/src/network/reqresp/score.ts +5 -11
  256. package/src/network/util.ts +0 -5
  257. package/src/node/deferredVoluntaryExitPublisher.ts +54 -0
  258. package/src/node/nodejs.ts +5 -1
  259. package/src/sync/range/batch.ts +83 -28
  260. package/src/sync/range/chain.ts +26 -11
  261. package/src/sync/types.ts +36 -1
  262. package/src/sync/unknownBlock.ts +197 -51
  263. package/src/sync/utils/downloadByRange.ts +21 -12
  264. package/src/sync/utils/downloadByRoot.ts +3 -1
  265. package/lib/chain/bls/maybeBatch.d.ts +0 -12
  266. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  267. package/lib/chain/bls/maybeBatch.js +0 -35
  268. package/lib/chain/bls/maybeBatch.js.map +0 -1
  269. package/src/chain/bls/maybeBatch.ts +0 -45
@@ -16,6 +16,8 @@ export var RegenCaller;
16
16
  RegenCaller["validateGossipAggregateAndProof"] = "validateGossipAggregateAndProof";
17
17
  RegenCaller["validateGossipAttestation"] = "validateGossipAttestation";
18
18
  RegenCaller["validateGossipVoluntaryExit"] = "validateGossipVoluntaryExit";
19
+ RegenCaller["validateApiVoluntaryExit"] = "validateApiVoluntaryExit";
20
+ RegenCaller["publishDeferredVoluntaryExits"] = "publishDeferredVoluntaryExits";
19
21
  RegenCaller["validateGossipExecutionPayloadBid"] = "validateGossipExecutionPayloadBid";
20
22
  RegenCaller["validateGossipPayloadAttestationMessage"] = "validateGossipPayloadAttestationMessage";
21
23
  RegenCaller["validateGossipProposerPreferences"] = "validateGossipProposerPreferences";
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/chain/regen/interface.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAsBX;AAtBD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,4CAA6B,CAAA;IAC7B,0DAA2C,CAAA;IAC3C,8EAA+D,CAAA;IAC/D,wDAAyC,CAAA;IACzC,oEAAqD,CAAA;IACrD,gGAAiF,CAAA;IACjF,kDAAmC,CAAA;IACnC,0DAA2C,CAAA;IAC3C,gEAAiD,CAAA;IACjD,4DAA6C,CAAA;IAC7C,gEAAiD,CAAA;IACjD,kFAAmE,CAAA;IACnE,sEAAuD,CAAA;IACvD,0EAA2D,CAAA;IAC3D,sFAAuE,CAAA;IACvE,kGAAmF,CAAA;IACnF,sFAAuE,CAAA;IACvE,8DAA+C,CAAA;IAC/C,kCAAmB,CAAA;AACrB,CAAC,EAtBW,WAAW,KAAX,WAAW,QAsBtB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,sDAAuC,CAAA;IACvC,oCAAqB,CAAA;IACrB,0CAA2B,CAAA;AAC7B,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/chain/regen/interface.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAwBX;AAxBD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,4CAA6B,CAAA;IAC7B,0DAA2C,CAAA;IAC3C,8EAA+D,CAAA;IAC/D,wDAAyC,CAAA;IACzC,oEAAqD,CAAA;IACrD,gGAAiF,CAAA;IACjF,kDAAmC,CAAA;IACnC,0DAA2C,CAAA;IAC3C,gEAAiD,CAAA;IACjD,4DAA6C,CAAA;IAC7C,gEAAiD,CAAA;IACjD,kFAAmE,CAAA;IACnE,sEAAuD,CAAA;IACvD,0EAA2D,CAAA;IAC3D,oEAAqD,CAAA;IACrD,8EAA+D,CAAA;IAC/D,sFAAuE,CAAA;IACvE,kGAAmF,CAAA;IACnF,sFAAuE,CAAA;IACvE,8DAA+C,CAAA;IAC/C,kCAAmB,CAAA;AACrB,CAAC,EAxBW,WAAW,KAAX,WAAW,QAwBtB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,sDAAuC,CAAA;IACvC,oCAAqB,CAAA;IACrB,0CAA2B,CAAA;AAC7B,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
@@ -1,4 +1,4 @@
1
- import { Epoch, ValidatorIndex } from "@lodestar/types";
1
+ import { Epoch, Slot, ValidatorIndex } from "@lodestar/types";
2
2
  import { MapDef } from "@lodestar/utils";
3
3
  /**
4
4
  * Keeps a cache to filter unaggregated attestations from the same validator in the same epoch.
@@ -15,9 +15,13 @@ export declare class SeenAttesters {
15
15
  */
16
16
  export declare class SeenAggregators extends SeenAttesters {
17
17
  }
18
- /**
19
- * Keeps a cache to filter payload attestations from the same attesters in the same epoch
20
- */
21
- export declare class SeenPayloadAttesters extends SeenAttesters {
18
+ /** Keeps a cache to filter payload attestations from the same validator in the same slot. */
19
+ export declare class SeenPayloadAttesters {
20
+ private readonly validatorIndexesBySlot;
21
+ private readonly validatorIndexesByEpoch;
22
+ isKnown(slot: Slot, validatorIndex: ValidatorIndex): boolean;
23
+ add(slot: Slot, validatorIndex: ValidatorIndex): void;
24
+ seenAtEpoch(epoch: Epoch, validatorIndex: ValidatorIndex): boolean;
25
+ prune(currentEpoch: Epoch): void;
22
26
  }
23
27
  //# sourceMappingURL=seenAttesters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seenAttesters.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAwBvC;;GAEG;AACH,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,uBAAuB,8BAA2E;IACrH,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAK;IAE5C,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAEnE;IAED,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAM5D;IAED,KAAK,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI,CAO/B;CACF;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;CAAG;AAErD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"seenAttesters.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAwBvC;;GAEG;AACH,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,uBAAuB,8BAA2E;IACrH,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAK;IAE5C,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAEnE;IAED,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAM5D;IAED,KAAK,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI,CAO/B;CACF;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;CAAG;AAErD,6FAA6F;AAC7F,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA0E;IACjH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAuB;IAE/D,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAE3D;IAED,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAIpD;IAED,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAEjE;IAED,KAAK,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI,CAQ/B;CACF"}
@@ -1,3 +1,4 @@
1
+ import { computeEpochAtSlot } from "@lodestar/state-transition";
1
2
  import { MapDef } from "@lodestar/utils";
2
3
  // How many *non future* epochs we intend to keep for SeenAttesters.
3
4
  // Pre and post deneb specs require us to accept attestations from current and
@@ -49,9 +50,29 @@ export class SeenAttesters {
49
50
  */
50
51
  export class SeenAggregators extends SeenAttesters {
51
52
  }
52
- /**
53
- * Keeps a cache to filter payload attestations from the same attesters in the same epoch
54
- */
55
- export class SeenPayloadAttesters extends SeenAttesters {
53
+ /** Keeps a cache to filter payload attestations from the same validator in the same slot. */
54
+ export class SeenPayloadAttesters {
55
+ validatorIndexesBySlot = new MapDef(() => new Set());
56
+ validatorIndexesByEpoch = new SeenAttesters();
57
+ isKnown(slot, validatorIndex) {
58
+ return this.validatorIndexesBySlot.get(slot)?.has(validatorIndex) === true;
59
+ }
60
+ add(slot, validatorIndex) {
61
+ const epoch = computeEpochAtSlot(slot);
62
+ this.validatorIndexesByEpoch.add(epoch, validatorIndex);
63
+ this.validatorIndexesBySlot.getOrDefault(slot).add(validatorIndex);
64
+ }
65
+ seenAtEpoch(epoch, validatorIndex) {
66
+ return this.validatorIndexesByEpoch.isKnown(epoch, validatorIndex);
67
+ }
68
+ prune(currentEpoch) {
69
+ const lowestPermissibleEpoch = Math.max(currentEpoch - EPOCH_LOOKBACK_LIMIT, 0);
70
+ for (const slot of this.validatorIndexesBySlot.keys()) {
71
+ if (computeEpochAtSlot(slot) < lowestPermissibleEpoch) {
72
+ this.validatorIndexesBySlot.delete(slot);
73
+ }
74
+ }
75
+ this.validatorIndexesByEpoch.prune(currentEpoch);
76
+ }
56
77
  }
57
78
  //# sourceMappingURL=seenAttesters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seenAttesters.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,oEAAoE;AACpE,8EAA8E;AAC9E,kBAAkB;AAClB,EAAE;AACF,aAAa;AACb,0GAA0G;AAC1G,EAAE;AACF,cAAc;AACd,4CAA4C;AAC5C,4GAA4G;AAC5G,EAAE;AACF,qGAAqG;AACrG,yGAAyG;AACzG,uCAAuC;AACvC,EAAE;AACF,+GAA+G;AAC/G,gFAAgF;AAChF,EAAE;AACF,gHAAgH;AAChH,wFAAwF;AACxF,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,aAAa;IACL,uBAAuB,GAAG,IAAI,MAAM,CAA6B,GAAG,EAAE,CAAC,IAAI,GAAG,EAAkB,CAAC,CAAC;IAC3G,sBAAsB,GAAU,CAAC,CAAC;IAE5C,OAAO,CAAC,WAAkB,EAAE,cAA8B;QACxD,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACrF,CAAC;IAED,GAAG,CAAC,WAAkB,EAAE,cAA8B;QACpD,IAAI,WAAW,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9C,MAAM,KAAK,CAAC,eAAe,WAAW,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAmB;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC;YACxD,IAAI,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;CAAG;AAErD;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"seenAttesters.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,14 @@ import { ChainForkConfig } from "@lodestar/config";
2
2
  import { IForkChoice, ProtoBlock } from "@lodestar/fork-choice";
3
3
  import { RootHex } from "@lodestar/types";
4
4
  import { Logger } from "@lodestar/utils";
5
+ import { IBeaconDb } from "../../db/index.js";
5
6
  import { Metrics } from "../../metrics/metrics.js";
6
7
  import { IClock } from "../../util/clock.js";
8
+ import { CustodyConfig } from "../../util/dataColumns.js";
7
9
  import { SerializedCache } from "../../util/serializedCache.js";
8
10
  import { CreateFromBidProps, CreateFromBlockProps, PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
9
11
  import { ChainEventEmitter } from "../emitter.js";
12
+ import { SeenBlockInput } from "./seenGossipBlockInput.js";
10
13
  export type { PayloadEnvelopeInputState } from "../blocks/payloadEnvelopeInput/index.js";
11
14
  export { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
12
15
  export type SeenPayloadEnvelopeInputModules = {
@@ -16,6 +19,9 @@ export type SeenPayloadEnvelopeInputModules = {
16
19
  chainEvents: ChainEventEmitter;
17
20
  signal: AbortSignal;
18
21
  serializedCache: SerializedCache;
22
+ db: IBeaconDb;
23
+ seenBlockInputCache: SeenBlockInput;
24
+ custodyConfig: CustodyConfig;
19
25
  metrics: Metrics | null;
20
26
  logger?: Logger;
21
27
  };
@@ -35,10 +41,14 @@ export declare class SeenPayloadEnvelopeInput {
35
41
  private readonly chainEvents;
36
42
  private readonly signal;
37
43
  private readonly serializedCache;
44
+ private readonly db;
45
+ private readonly seenBlockInputCache;
46
+ private readonly custodyConfig;
38
47
  private readonly metrics;
39
48
  private readonly logger?;
40
49
  private payloadInputs;
41
- constructor({ config, clock, forkChoice, chainEvents, signal, serializedCache, metrics, logger, }: SeenPayloadEnvelopeInputModules);
50
+ private readonly reloading;
51
+ constructor({ config, clock, forkChoice, chainEvents, signal, serializedCache, db, seenBlockInputCache, custodyConfig, metrics, logger, }: SeenPayloadEnvelopeInputModules);
42
52
  private pruneFinalized;
43
53
  add(props: Omit<CreateFromBlockProps, "daOutOfRange">): PayloadEnvelopeInput;
44
54
  /**
@@ -47,10 +57,27 @@ export declare class SeenPayloadEnvelopeInput {
47
57
  */
48
58
  addFromBid(props: Omit<CreateFromBidProps, "daOutOfRange">): PayloadEnvelopeInput;
49
59
  get(blockRootHex: RootHex): PayloadEnvelopeInput | undefined;
60
+ /**
61
+ * Like `get()`, but on a cache miss reconstruct the shell (bid + versionedHashes) from the block
62
+ * in `seenBlockInputCache` or the hot DB.
63
+ * This api is meant for BlockInputSync when a late/weird payloads for old blocks
64
+ *
65
+ * NOTE: the reconstructed entry is always EMPTY even when the block is actually FULL (its
66
+ * payload envelope + columns persisted in the DB). The consumer should consult fork choice if it needs to.
67
+ */
68
+ getOrReload(blockRootHex: RootHex): Promise<PayloadEnvelopeInput | undefined>;
69
+ private reloadFromDb;
50
70
  hasPayload(blockRootHex: RootHex): boolean;
51
71
  size(): number;
52
72
  prune(blockRootHex: RootHex): void;
53
73
  pruneBelowParent(parentBlock: ProtoBlock): void;
74
+ /**
75
+ * Bound this cache to have at most MAX_PAYLOAD_ENVELOPE_INPUT_CACHE_SIZE items.
76
+ * Evicts by insertion order so a just-reloaded old-slot entry is not evicted right after.
77
+ * On unstable network, we may need to query an evicted item, UnknownBlockInput will recover
78
+ * it from db via getOrReload() api. Runs after every single insert, so it evicts ~1 per call.
79
+ */
80
+ private pruneToMaxSize;
54
81
  private evictPayloadInput;
55
82
  }
56
83
  //# sourceMappingURL=seenPayloadEnvelopeInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seenPayloadEnvelopeInput.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenPayloadEnvelopeInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAoB,WAAW,EAAiB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAC,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,yCAAyC,CAAC;AACvH,OAAO,EAAa,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAE5D,YAAY,EAAC,yBAAyB,EAAC,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAC,oBAAoB,EAAC,MAAM,yCAAyC,CAAC;AAE7E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,aAAa,CAA4C;IAEjE,YAAY,EACV,MAAM,EACN,KAAK,EACL,UAAU,EACV,WAAW,EACX,MAAM,EACN,eAAe,EACf,OAAO,EACP,MAAM,GACP,EAAE,+BAA+B,EA0BjC;IAED,OAAO,CAAC,cAAc,CAepB;IAEF,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,GAAG,oBAAoB,CAmB3E;IAED;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,GAAG,oBAAoB,CAehF;IAED,GAAG,CAAC,YAAY,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAE3D;IAED,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAEzC;IAED,IAAI,IAAI,MAAM,CAEb;IAED,KAAK,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAMjC;IAED,gBAAgB,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI,CAkB9C;IAED,OAAO,CAAC,iBAAiB;CAI1B"}
1
+ {"version":3,"file":"seenPayloadEnvelopeInput.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenPayloadEnvelopeInput.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  import { PayloadStatus } from "@lodestar/fork-choice";
2
+ import { SLOTS_PER_EPOCH, isForkPostGloas } from "@lodestar/params";
2
3
  import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
4
+ import { fromHex } from "@lodestar/utils";
5
+ import { MAX_LOOK_AHEAD_EPOCHS } from "../../sync/constants.js";
3
6
  import { isDaOutOfRange } from "../blocks/blockInput/index.js";
4
- import { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
7
+ import { PayloadEnvelopeInput, PayloadEnvelopeInputSource, } from "../blocks/payloadEnvelopeInput/index.js";
5
8
  import { ChainEvent } from "../emitter.js";
6
9
  export { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
10
+ // Bound this cache by this max size, this is the same to SeenBlockInput
11
+ const MAX_PAYLOAD_ENVELOPE_INPUT_CACHE_SIZE = (MAX_LOOK_AHEAD_EPOCHS + 1) * SLOTS_PER_EPOCH;
7
12
  /**
8
13
  * Cache for tracking PayloadEnvelopeInput instances, keyed by beacon block root.
9
14
  *
@@ -20,16 +25,24 @@ export class SeenPayloadEnvelopeInput {
20
25
  chainEvents;
21
26
  signal;
22
27
  serializedCache;
28
+ db;
29
+ seenBlockInputCache;
30
+ custodyConfig;
23
31
  metrics;
24
32
  logger;
25
33
  payloadInputs = new Map();
26
- constructor({ config, clock, forkChoice, chainEvents, signal, serializedCache, metrics, logger, }) {
34
+ // Dedup concurrent DB reloads of the same root so callers share one reconstructed object.
35
+ reloading = new Map();
36
+ constructor({ config, clock, forkChoice, chainEvents, signal, serializedCache, db, seenBlockInputCache, custodyConfig, metrics, logger, }) {
27
37
  this.config = config;
28
38
  this.clock = clock;
29
39
  this.forkChoice = forkChoice;
30
40
  this.chainEvents = chainEvents;
31
41
  this.signal = signal;
32
42
  this.serializedCache = serializedCache;
43
+ this.db = db;
44
+ this.seenBlockInputCache = seenBlockInputCache;
45
+ this.custodyConfig = custodyConfig;
33
46
  this.metrics = metrics;
34
47
  this.logger = logger;
35
48
  if (metrics) {
@@ -48,7 +61,7 @@ export class SeenPayloadEnvelopeInput {
48
61
  let deletedCount = 0;
49
62
  for (const [, input] of this.payloadInputs) {
50
63
  if (input.slot < finalizedSlot) {
51
- this.evictPayloadInput(input);
64
+ this.evictPayloadInput(input, "finalized");
52
65
  deletedCount++;
53
66
  }
54
67
  }
@@ -70,12 +83,13 @@ export class SeenPayloadEnvelopeInput {
70
83
  const daOutOfRange = isDaOutOfRange(this.config, props.forkName, props.block.message.slot, this.clock.currentEpoch);
71
84
  const input = PayloadEnvelopeInput.createFromBlock({ ...props, daOutOfRange });
72
85
  this.payloadInputs.set(props.blockRootHex, input);
73
- this.metrics?.seenCache.payloadEnvelopeInput.created.inc();
86
+ this.metrics?.seenCache.payloadEnvelopeInput.created.inc({ source: props.source });
74
87
  this.logger?.verbose("SeenPayloadEnvelopeInput.add created new entry", {
75
88
  slot: input.slot,
76
89
  root: props.blockRootHex,
77
90
  daOutOfRange,
78
91
  });
92
+ this.pruneToMaxSize();
79
93
  return input;
80
94
  }
81
95
  /**
@@ -90,17 +104,87 @@ export class SeenPayloadEnvelopeInput {
90
104
  const daOutOfRange = isDaOutOfRange(this.config, props.forkName, props.slot, this.clock.currentEpoch);
91
105
  const input = PayloadEnvelopeInput.createFromBid({ ...props, daOutOfRange });
92
106
  this.payloadInputs.set(props.blockRootHex, input);
93
- this.metrics?.seenCache.payloadEnvelopeInput.created.inc();
107
+ this.metrics?.seenCache.payloadEnvelopeInput.created.inc({ source: props.source });
94
108
  this.logger?.verbose("SeenPayloadEnvelopeInput.addFromBid created new entry", {
95
109
  slot: input.slot,
96
110
  root: props.blockRootHex,
97
111
  daOutOfRange,
98
112
  });
113
+ this.pruneToMaxSize();
99
114
  return input;
100
115
  }
101
116
  get(blockRootHex) {
102
117
  return this.payloadInputs.get(blockRootHex);
103
118
  }
119
+ /**
120
+ * Like `get()`, but on a cache miss reconstruct the shell (bid + versionedHashes) from the block
121
+ * in `seenBlockInputCache` or the hot DB.
122
+ * This api is meant for BlockInputSync when a late/weird payloads for old blocks
123
+ *
124
+ * NOTE: the reconstructed entry is always EMPTY even when the block is actually FULL (its
125
+ * payload envelope + columns persisted in the DB). The consumer should consult fork choice if it needs to.
126
+ */
127
+ async getOrReload(blockRootHex) {
128
+ const existing = this.payloadInputs.get(blockRootHex);
129
+ if (existing !== undefined) {
130
+ return existing;
131
+ }
132
+ // Without this dedup, two concurrent misses each db.block.get + createFromBlock a DIFFERENT shell
133
+ // for the same root; processPayloadEnvelopeJob's WeakMap (keyed by object) can't dedup the import.
134
+ const inflight = this.reloading.get(blockRootHex);
135
+ if (inflight !== undefined) {
136
+ return inflight;
137
+ }
138
+ const promise = this.reloadFromDb(blockRootHex);
139
+ this.reloading.set(blockRootHex, promise);
140
+ try {
141
+ return await promise;
142
+ }
143
+ finally {
144
+ this.reloading.delete(blockRootHex);
145
+ }
146
+ }
147
+ async reloadFromDb(blockRootHex) {
148
+ // Only recover unfinalized, fork-choice-known blocks. Do not read the finalized archive. The gate
149
+ // also filters out un-imported blocks that may sit in seenBlockInputCache before validation.
150
+ if (!this.forkChoice.hasBlockHex(blockRootHex)) {
151
+ return undefined;
152
+ }
153
+ // In-memory first: persistBlockInput writes db.block THEN prunes seenBlockInputCache, so a
154
+ // just-imported block whose async write (unfinalizedBlockWrites) has not flushed yet is still here;
155
+ // older blocks (already pruned from the cache) fall through to the hot db.
156
+ const cachedBlockInput = this.seenBlockInputCache.get(blockRootHex);
157
+ const block = cachedBlockInput?.hasBlock()
158
+ ? cachedBlockInput.getBlock()
159
+ : await this.db.block.get(fromHex(blockRootHex));
160
+ if (block == null) {
161
+ return undefined;
162
+ }
163
+ const forkName = this.config.getForkName(block.message.slot);
164
+ if (!isForkPostGloas(forkName)) {
165
+ return undefined;
166
+ }
167
+ const daOutOfRange = isDaOutOfRange(this.config, forkName, block.message.slot, this.clock.currentEpoch);
168
+ const input = PayloadEnvelopeInput.createFromBlock({
169
+ blockRootHex,
170
+ block: block,
171
+ forkName,
172
+ sampledColumns: this.custodyConfig.sampledColumns,
173
+ custodyColumns: this.custodyConfig.custodyColumns,
174
+ seenTimestampSec: Date.now() / 1000,
175
+ source: PayloadEnvelopeInputSource.reload,
176
+ daOutOfRange,
177
+ });
178
+ this.payloadInputs.set(blockRootHex, input);
179
+ this.metrics?.seenCache.payloadEnvelopeInput.created.inc({ source: PayloadEnvelopeInputSource.reload });
180
+ this.logger?.verbose("SeenPayloadEnvelopeInput.getOrReload reconstructed entry from db", {
181
+ slot: input.slot,
182
+ root: blockRootHex,
183
+ });
184
+ // Set above (entry is at the back of the insertion order), so the cap never evicts what we just reloaded.
185
+ this.pruneToMaxSize();
186
+ return input;
187
+ }
104
188
  hasPayload(blockRootHex) {
105
189
  return this.payloadInputs.get(blockRootHex)?.hasPayloadEnvelope() ?? false;
106
190
  }
@@ -110,8 +194,7 @@ export class SeenPayloadEnvelopeInput {
110
194
  prune(blockRootHex) {
111
195
  const input = this.payloadInputs.get(blockRootHex);
112
196
  if (input) {
113
- this.evictPayloadInput(input);
114
- this.logger?.verbose("SeenPayloadEnvelopeInput.prune deleted", { slot: input.slot, root: blockRootHex });
197
+ this.evictPayloadInput(input, "prune");
115
198
  }
116
199
  }
117
200
  pruneBelowParent(parentBlock) {
@@ -124,16 +207,41 @@ export class SeenPayloadEnvelopeInput {
124
207
  // ...and don't evict while columns are still being gathered: writeDataColumnsToDb awaits the
125
208
  // same hasComputedAllData() before persisting. Such entries are pruned by a later call.
126
209
  if (input?.hasComputedAllData()) {
127
- this.evictPayloadInput(input);
128
- this.logger?.verbose("SeenPayloadEnvelopeInput.pruneBelowParent deleted", {
129
- slot: block.slot,
130
- root: block.blockRoot,
131
- });
210
+ this.evictPayloadInput(input, "belowParent");
132
211
  }
133
212
  }
134
213
  }
135
214
  }
136
- evictPayloadInput(payloadInput) {
215
+ /**
216
+ * Bound this cache to have at most MAX_PAYLOAD_ENVELOPE_INPUT_CACHE_SIZE items.
217
+ * Evicts by insertion order so a just-reloaded old-slot entry is not evicted right after.
218
+ * On unstable network, we may need to query an evicted item, UnknownBlockInput will recover
219
+ * it from db via getOrReload() api. Runs after every single insert, so it evicts ~1 per call.
220
+ */
221
+ pruneToMaxSize() {
222
+ let evicted = 0;
223
+ for (const input of this.payloadInputs.values()) {
224
+ if (this.payloadInputs.size <= MAX_PAYLOAD_ENVELOPE_INPUT_CACHE_SIZE) {
225
+ break;
226
+ }
227
+ this.evictPayloadInput(input, "cap");
228
+ evicted++;
229
+ }
230
+ if (evicted > 0) {
231
+ this.logger?.debug("SeenPayloadEnvelopeInput.pruneToMaxSize evicted", {
232
+ evicted,
233
+ size: this.payloadInputs.size,
234
+ max: MAX_PAYLOAD_ENVELOPE_INPUT_CACHE_SIZE,
235
+ });
236
+ }
237
+ }
238
+ evictPayloadInput(payloadInput, reason) {
239
+ this.metrics?.seenCache.payloadEnvelopeInput.pruned.inc({ reason });
240
+ this.logger?.debug("SeenPayloadEnvelopeInput evicted", {
241
+ slot: payloadInput.slot,
242
+ root: payloadInput.blockRootHex,
243
+ reason,
244
+ });
137
245
  this.serializedCache.delete(payloadInput.getSerializedCacheKeys());
138
246
  this.payloadInputs.delete(payloadInput.blockRootHex);
139
247
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
@@ -50,10 +50,7 @@ step0ValidationFn = validateAttestationNoSignatureCheck) {
50
50
  const batchableBls = signatureSets.length >= chain.opts.minSameMessageSignatureSetsToBatch;
51
51
  if (batchableBls) {
52
52
  // all signature sets should have same signing root since we filtered in network processor
53
- signatureValids = await chain.bls.verifySignatureSetsSameMessage(signatureSets.map((set) => {
54
- const publicKey = chain.pubkeyCache.getOrThrow(set.index);
55
- return { publicKey, signature: set.signature };
56
- }), signatureSets[0].signingRoot);
53
+ signatureValids = await chain.bls.verifySignatureSetsSameMessage(signatureSets, signatureSets[0].signingRoot);
57
54
  }
58
55
  else {
59
56
  // don't want to block the main thread if there are too few signatures
@@ -1 +1 @@
1
- {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/chain/validation/attestation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"attesterSlashing.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/attesterSlashing.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,UAAQ,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
1
+ {"version":3,"file":"attesterSlashing.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/attesterSlashing.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,UAAQ,GACpB,OAAO,CAAC,IAAI,CAAC,CAwCf"}
@@ -22,7 +22,7 @@ export async function validateAttesterSlashing(chain, attesterSlashing, prioriti
22
22
  // [REJECT] All of the conditions within process_attester_slashing pass validation.
23
23
  try {
24
24
  // verifySignature = false, verified in batch below
25
- assertValidAttesterSlashing(chain.config, chain.pubkeyCache, state.slot, state.validatorCount, attesterSlashing, false);
25
+ assertValidAttesterSlashing(chain.config, state.slot, state.validatorCount, attesterSlashing, false);
26
26
  }
27
27
  catch (e) {
28
28
  throw new AttesterSlashingError(GossipAction.REJECT, {
@@ -1 +1 @@
1
- {"version":3,"file":"attesterSlashing.js","sourceRoot":"","sources":["../../../src/chain/validation/attesterSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAChC,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,qBAAqB,EAAE,yBAAyB,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGlG,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,gBAAkC;IAElC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAmB,EACnB,gBAAkC;IAElC,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,gBAAkC,EAClC,aAAa,GAAG,KAAK;IAErB,qHAAqH;IACrH,uCAAuC;IACvC,iHAAiH;IACjH,+FAA+F;IAC/F,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,cAAc;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAEnC,mFAAmF;IACnF,IAAI,CAAC;QACH,mDAAmD;QACnD,2BAA2B,CACzB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,cAAc,EACpB,gBAAgB,EAChB,KAAK,CACN,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,CAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,8CAA8C,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"attesterSlashing.js","sourceRoot":"","sources":["../../../src/chain/validation/attesterSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAChC,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,qBAAqB,EAAE,yBAAyB,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGlG,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,gBAAkC;IAElC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAmB,EACnB,gBAAkC;IAElC,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,gBAAkC,EAClC,aAAa,GAAG,KAAK;IAErB,qHAAqH;IACrH,uCAAuC;IACvC,iHAAiH;IACjH,+FAA+F;IAC/F,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,cAAc;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAEnC,mFAAmF;IACnF,IAAI,CAAC;QACH,mDAAmD;QACnD,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,CAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,8CAA8C,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadBid.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"AAYA,OAAO,EAAgB,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAIrE,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAiEzC,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C;AAED,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C"}
1
+ {"version":3,"file":"executionPayloadBid.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"AAWA,OAAO,EAAgB,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAIrE,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAiEzC,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C;AAED,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,YAAY,EACnB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GACzD,OAAO,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAC,CAAC,CAE1C"}
@@ -1,4 +1,3 @@
1
- import { PublicKey } from "@chainsafe/blst";
2
1
  import { PAYLOAD_BUILDER_VERSION } from "@lodestar/params";
3
2
  import { computeEpochAtSlot, createSingleSignatureSetFromComponents, getExecutionPayloadBidSigningRoot, isActiveBuilder, isGasLimitTargetCompatible, isStartSlotOfEpoch, isStatePostGloas, } from "@lodestar/state-transition";
4
3
  import { byteArrayEquals, toHex, toRootHex } from "@lodestar/utils";
@@ -285,7 +284,7 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
285
284
  });
286
285
  }
287
286
  // [REJECT] `signed_execution_payload_bid.signature` is valid with respect to the `bid.builder_index`.
288
- const signatureSet = createSingleSignatureSetFromComponents(PublicKey.fromBytes(builder.pubkey), getExecutionPayloadBidSigningRoot(chain.config, bid), signedExecutionPayloadBid.signature);
287
+ const signatureSet = createSingleSignatureSetFromComponents(builder.pubkey, getExecutionPayloadBidSigningRoot(chain.config, bid), signedExecutionPayloadBid.signature);
289
288
  if (!(await chain.bls.verifySignatureSets([signatureSet]))) {
290
289
  throw new ExecutionPayloadBidError(GossipAction.REJECT, {
291
290
  code: ExecutionPayloadBidErrorCode.INVALID_SIGNATURE,