@lodestar/beacon-node 1.31.0-dev.fb014780d5 → 1.31.0-peerDAS.d70dab2e57

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 (270) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +42 -14
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/rewards/index.js +3 -0
  4. package/lib/api/impl/beacon/rewards/index.js.map +1 -1
  5. package/lib/api/impl/beacon/state/index.js +5 -0
  6. package/lib/api/impl/beacon/state/index.js.map +1 -1
  7. package/lib/api/impl/config/index.d.ts +1 -1
  8. package/lib/api/impl/config/index.js +5 -0
  9. package/lib/api/impl/config/index.js.map +1 -1
  10. package/lib/api/impl/utils.d.ts +9 -0
  11. package/lib/api/impl/utils.js +23 -0
  12. package/lib/api/impl/utils.js.map +1 -0
  13. package/lib/api/impl/validator/index.js +11 -33
  14. package/lib/api/impl/validator/index.js.map +1 -1
  15. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  16. package/lib/chain/archiveStore/archiveStore.js +2 -2
  17. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +1 -1
  18. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  19. package/lib/chain/archiveStore/historicalState/metrics.d.ts +22 -0
  20. package/lib/chain/archiveStore/historicalState/metrics.js +173 -0
  21. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -0
  22. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -16
  23. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  24. package/lib/chain/archiveStore/historicalState/worker.js +3 -163
  25. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  26. package/lib/chain/archiveStore/interface.d.ts +1 -1
  27. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  28. package/lib/chain/archiveStore/utils/archiveBlocks.js +89 -25
  29. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  30. package/lib/chain/beaconProposerCache.d.ts +1 -0
  31. package/lib/chain/beaconProposerCache.js +3 -0
  32. package/lib/chain/beaconProposerCache.js.map +1 -1
  33. package/lib/chain/blocks/blockInput/blockInput.d.ts +4 -2
  34. package/lib/chain/blocks/blockInput/blockInput.js +28 -12
  35. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  36. package/lib/chain/blocks/blockInput/index.d.ts +1 -0
  37. package/lib/chain/blocks/blockInput/index.js +1 -0
  38. package/lib/chain/blocks/blockInput/index.js.map +1 -1
  39. package/lib/chain/blocks/blockInput/types.d.ts +2 -1
  40. package/lib/chain/blocks/blockInput/utils.d.ts +9 -0
  41. package/lib/chain/blocks/blockInput/utils.js +35 -0
  42. package/lib/chain/blocks/blockInput/utils.js.map +1 -0
  43. package/lib/chain/blocks/importBlock.d.ts +5 -0
  44. package/lib/chain/blocks/importBlock.js +81 -15
  45. package/lib/chain/blocks/importBlock.js.map +1 -1
  46. package/lib/chain/blocks/types.d.ts +65 -24
  47. package/lib/chain/blocks/types.js +39 -6
  48. package/lib/chain/blocks/types.js.map +1 -1
  49. package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
  50. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  51. package/lib/chain/blocks/writeBlockInputToDb.js +89 -15
  52. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  53. package/lib/chain/chain.d.ts +14 -4
  54. package/lib/chain/chain.js +36 -7
  55. package/lib/chain/chain.js.map +1 -1
  56. package/lib/chain/emitter.d.ts +18 -2
  57. package/lib/chain/emitter.js +13 -0
  58. package/lib/chain/emitter.js.map +1 -1
  59. package/lib/chain/errors/dataColumnSidecarError.d.ts +69 -0
  60. package/lib/chain/errors/dataColumnSidecarError.js +21 -0
  61. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
  62. package/lib/chain/errors/index.d.ts +1 -0
  63. package/lib/chain/errors/index.js +1 -0
  64. package/lib/chain/errors/index.js.map +1 -1
  65. package/lib/chain/initState.js +11 -0
  66. package/lib/chain/initState.js.map +1 -1
  67. package/lib/chain/interface.d.ts +11 -3
  68. package/lib/chain/interface.js.map +1 -1
  69. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +20 -14
  70. package/lib/chain/opPools/aggregatedAttestationPool.js +41 -49
  71. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  72. package/lib/chain/opPools/syncContributionAndProofPool.d.ts +11 -4
  73. package/lib/chain/opPools/syncContributionAndProofPool.js +50 -8
  74. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  75. package/lib/chain/opPools/types.d.ts +1 -1
  76. package/lib/chain/opPools/types.js +1 -1
  77. package/lib/chain/opPools/types.js.map +1 -1
  78. package/lib/chain/options.d.ts +4 -1
  79. package/lib/chain/options.js +4 -0
  80. package/lib/chain/options.js.map +1 -1
  81. package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -2
  82. package/lib/chain/produceBlock/produceBlockBody.js +13 -4
  83. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  84. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +3 -2
  85. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +31 -2
  86. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  87. package/lib/chain/seenCache/seenAggregateAndProof.d.ts +3 -3
  88. package/lib/chain/seenCache/seenAggregateAndProof.js +22 -10
  89. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  90. package/lib/chain/seenCache/seenAttesters.js +20 -11
  91. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  92. package/lib/chain/seenCache/seenBlockInput.d.ts +84 -0
  93. package/lib/chain/seenCache/seenBlockInput.js +225 -0
  94. package/lib/chain/seenCache/seenBlockInput.js.map +1 -0
  95. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +61 -18
  96. package/lib/chain/seenCache/seenGossipBlockInput.js +254 -53
  97. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  98. package/lib/chain/validation/aggregateAndProof.js +10 -2
  99. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  100. package/lib/chain/validation/attestation.js +8 -0
  101. package/lib/chain/validation/attestation.js.map +1 -1
  102. package/lib/chain/validation/blobSidecar.js +2 -2
  103. package/lib/chain/validation/blobSidecar.js.map +1 -1
  104. package/lib/chain/validation/block.js +2 -2
  105. package/lib/chain/validation/block.js.map +1 -1
  106. package/lib/chain/validation/dataColumnSidecar.d.ts +28 -0
  107. package/lib/chain/validation/dataColumnSidecar.js +245 -0
  108. package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
  109. package/lib/db/beacon.d.ts +3 -1
  110. package/lib/db/beacon.js +3 -1
  111. package/lib/db/beacon.js.map +1 -1
  112. package/lib/db/buckets.d.ts +3 -1
  113. package/lib/db/buckets.js +2 -0
  114. package/lib/db/buckets.js.map +1 -1
  115. package/lib/db/interface.d.ts +3 -1
  116. package/lib/db/repositories/dataColumnSidecars.d.ts +47 -0
  117. package/lib/db/repositories/dataColumnSidecars.js +40 -0
  118. package/lib/db/repositories/dataColumnSidecars.js.map +1 -0
  119. package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +15 -0
  120. package/lib/db/repositories/dataColumnSidecarsArchive.js +23 -0
  121. package/lib/db/repositories/dataColumnSidecarsArchive.js.map +1 -0
  122. package/lib/db/repositories/index.d.ts +2 -0
  123. package/lib/db/repositories/index.js +2 -0
  124. package/lib/db/repositories/index.js.map +1 -1
  125. package/lib/execution/engine/http.d.ts +5 -3
  126. package/lib/execution/engine/http.js +68 -31
  127. package/lib/execution/engine/http.js.map +1 -1
  128. package/lib/execution/engine/interface.d.ts +4 -2
  129. package/lib/execution/engine/interface.js +1 -1
  130. package/lib/execution/engine/interface.js.map +1 -1
  131. package/lib/execution/engine/mock.d.ts +1 -0
  132. package/lib/execution/engine/mock.js +5 -0
  133. package/lib/execution/engine/mock.js.map +1 -1
  134. package/lib/execution/engine/types.d.ts +10 -0
  135. package/lib/execution/engine/types.js +6 -0
  136. package/lib/execution/engine/types.js.map +1 -1
  137. package/lib/metrics/metrics/beacon.d.ts +8 -0
  138. package/lib/metrics/metrics/beacon.js +27 -0
  139. package/lib/metrics/metrics/beacon.js.map +1 -1
  140. package/lib/metrics/metrics/lodestar.d.ts +36 -3
  141. package/lib/metrics/metrics/lodestar.js +71 -4
  142. package/lib/metrics/metrics/lodestar.js.map +1 -1
  143. package/lib/network/core/metrics.d.ts +10 -3
  144. package/lib/network/core/metrics.js +22 -4
  145. package/lib/network/core/metrics.js.map +1 -1
  146. package/lib/network/core/networkCore.d.ts +6 -0
  147. package/lib/network/core/networkCore.js +20 -8
  148. package/lib/network/core/networkCore.js.map +1 -1
  149. package/lib/network/core/networkCoreWorker.js +2 -0
  150. package/lib/network/core/networkCoreWorker.js.map +1 -1
  151. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -0
  152. package/lib/network/core/networkCoreWorkerHandler.js +7 -0
  153. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  154. package/lib/network/core/types.d.ts +6 -1
  155. package/lib/network/events.d.ts +3 -1
  156. package/lib/network/events.js.map +1 -1
  157. package/lib/network/gossip/interface.d.ts +8 -1
  158. package/lib/network/gossip/interface.js +1 -0
  159. package/lib/network/gossip/interface.js.map +1 -1
  160. package/lib/network/gossip/topic.d.ts +1047 -1031
  161. package/lib/network/gossip/topic.js +20 -1
  162. package/lib/network/gossip/topic.js.map +1 -1
  163. package/lib/network/interface.d.ts +13 -1
  164. package/lib/network/metadata.d.ts +10 -6
  165. package/lib/network/metadata.js +23 -4
  166. package/lib/network/metadata.js.map +1 -1
  167. package/lib/network/network.d.ts +12 -1
  168. package/lib/network/network.js +60 -7
  169. package/lib/network/network.js.map +1 -1
  170. package/lib/network/networkConfig.d.ts +23 -0
  171. package/lib/network/networkConfig.js +32 -0
  172. package/lib/network/networkConfig.js.map +1 -0
  173. package/lib/network/options.js +2 -0
  174. package/lib/network/options.js.map +1 -1
  175. package/lib/network/peers/discover.d.ts +16 -3
  176. package/lib/network/peers/discover.js +139 -13
  177. package/lib/network/peers/discover.js.map +1 -1
  178. package/lib/network/peers/peerManager.d.ts +10 -2
  179. package/lib/network/peers/peerManager.js +96 -10
  180. package/lib/network/peers/peerManager.js.map +1 -1
  181. package/lib/network/peers/peersData.d.ts +8 -2
  182. package/lib/network/peers/peersData.js.map +1 -1
  183. package/lib/network/peers/score/interface.d.ts +1 -1
  184. package/lib/network/peers/score/score.d.ts +2 -2
  185. package/lib/network/peers/score/score.js +4 -1
  186. package/lib/network/peers/score/score.js.map +1 -1
  187. package/lib/network/peers/score/store.d.ts +3 -1
  188. package/lib/network/peers/score/store.js +6 -2
  189. package/lib/network/peers/score/store.js.map +1 -1
  190. package/lib/network/peers/utils/prioritizePeers.d.ts +15 -4
  191. package/lib/network/peers/utils/prioritizePeers.js +30 -5
  192. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  193. package/lib/network/processor/extractSlotRootFns.js +8 -1
  194. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  195. package/lib/network/processor/gossipHandlers.js +156 -9
  196. package/lib/network/processor/gossipHandlers.js.map +1 -1
  197. package/lib/network/processor/gossipQueues/index.js +5 -0
  198. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  199. package/lib/network/processor/index.d.ts +0 -5
  200. package/lib/network/processor/index.js +1 -14
  201. package/lib/network/processor/index.js.map +1 -1
  202. package/lib/network/reqresp/ReqRespBeaconNode.js +21 -3
  203. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  204. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +14 -5
  205. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +199 -14
  206. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  207. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +32 -5
  208. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +280 -26
  209. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  210. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  211. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  212. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
  213. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +106 -0
  214. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
  215. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
  216. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +57 -0
  217. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
  218. package/lib/network/reqresp/handlers/index.js +10 -0
  219. package/lib/network/reqresp/handlers/index.js.map +1 -1
  220. package/lib/network/reqresp/protocols.d.ts +3 -0
  221. package/lib/network/reqresp/protocols.js +15 -0
  222. package/lib/network/reqresp/protocols.js.map +1 -1
  223. package/lib/network/reqresp/rateLimit.js +11 -1
  224. package/lib/network/reqresp/rateLimit.js.map +1 -1
  225. package/lib/network/reqresp/types.d.ts +13 -6
  226. package/lib/network/reqresp/types.js +9 -2
  227. package/lib/network/reqresp/types.js.map +1 -1
  228. package/lib/network/subnets/interface.d.ts +3 -0
  229. package/lib/network/subnets/interface.js +14 -1
  230. package/lib/network/subnets/interface.js.map +1 -1
  231. package/lib/network/subnets/syncnetsService.js +4 -5
  232. package/lib/network/subnets/syncnetsService.js.map +1 -1
  233. package/lib/node/nodejs.js +4 -3
  234. package/lib/node/nodejs.js.map +1 -1
  235. package/lib/sync/interface.d.ts +2 -2
  236. package/lib/sync/interface.js +1 -1
  237. package/lib/sync/interface.js.map +1 -1
  238. package/lib/sync/range/batch.d.ts +8 -2
  239. package/lib/sync/range/batch.js +19 -7
  240. package/lib/sync/range/batch.js.map +1 -1
  241. package/lib/sync/range/chain.d.ts +7 -2
  242. package/lib/sync/range/chain.js +45 -21
  243. package/lib/sync/range/chain.js.map +1 -1
  244. package/lib/sync/range/range.js +3 -3
  245. package/lib/sync/range/range.js.map +1 -1
  246. package/lib/sync/range/utils/peerBalancer.d.ts +4 -1
  247. package/lib/sync/range/utils/peerBalancer.js +20 -2
  248. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  249. package/lib/sync/unknownBlock.d.ts +8 -1
  250. package/lib/sync/unknownBlock.js +222 -62
  251. package/lib/sync/unknownBlock.js.map +1 -1
  252. package/lib/util/blobs.d.ts +13 -1
  253. package/lib/util/blobs.js +44 -1
  254. package/lib/util/blobs.js.map +1 -1
  255. package/lib/util/dataColumns.d.ts +111 -0
  256. package/lib/util/dataColumns.js +277 -0
  257. package/lib/util/dataColumns.js.map +1 -0
  258. package/lib/util/graffiti.d.ts +3 -2
  259. package/lib/util/graffiti.js +2 -2
  260. package/lib/util/graffiti.js.map +1 -1
  261. package/lib/util/kzg.d.ts +9 -21
  262. package/lib/util/kzg.js +12 -88
  263. package/lib/util/kzg.js.map +1 -1
  264. package/lib/util/metadata.d.ts +4 -0
  265. package/lib/util/metadata.js +7 -0
  266. package/lib/util/metadata.js.map +1 -1
  267. package/lib/util/sszBytes.d.ts +1 -0
  268. package/lib/util/sszBytes.js +17 -0
  269. package/lib/util/sszBytes.js.map +1 -1
  270. package/package.json +19 -19
@@ -1,18 +1,19 @@
1
1
  import { routes } from "@lodestar/api";
2
2
  import { ApiError } from "@lodestar/api/server";
3
- import { SLOTS_PER_HISTORICAL_ROOT, isForkPostBellatrix, isForkPostElectra } from "@lodestar/params";
3
+ import { ForkName, SLOTS_PER_HISTORICAL_ROOT, isForkPostBellatrix, isForkPostElectra, isForkPostFulu, } from "@lodestar/params";
4
4
  import { computeEpochAtSlot, computeTimeAtSlot, reconstructFullBlockOrContents, signedBeaconBlockToBlinded, } from "@lodestar/state-transition";
5
5
  import { ProducedBlockSource, isSignedBlockContents, } from "@lodestar/types";
6
6
  import { fromHex, sleep, toRootHex } from "@lodestar/utils";
7
- import { BlobsSource, BlockSource, getBlockInput, } from "../../../../chain/blocks/types.js";
7
+ import { BlobsSource, BlockSource, DataColumnsSource, getBlockInput, } from "../../../../chain/blocks/types.js";
8
8
  import { verifyBlocksInEpoch } from "../../../../chain/blocks/verifyBlock.js";
9
9
  import { BlockError, BlockErrorCode, BlockGossipError } from "../../../../chain/errors/index.js";
10
10
  import { validateGossipBlock } from "../../../../chain/validation/block.js";
11
11
  import { OpSource } from "../../../../chain/validatorMonitor.js";
12
12
  import { NetworkEvent } from "../../../../network/index.js";
13
- import { computeBlobSidecars } from "../../../../util/blobs.js";
13
+ import { computeBlobSidecars, computeDataColumnSidecars } from "../../../../util/blobs.js";
14
14
  import { isOptimisticBlock } from "../../../../util/forkChoice.js";
15
15
  import { promiseAllMaybeAsync } from "../../../../util/promises.js";
16
+ import { assertUniqueItems } from "../../utils.js";
16
17
  import { getBlockResponse, toBeaconHeaderResponse } from "./utils.js";
17
18
  /**
18
19
  * Validator clock may be advanced from beacon's clock. If the validator requests a resource in a
@@ -26,20 +27,45 @@ const IDENTITY_PEER_ID = ""; // TODO: Compute identity keypair
26
27
  export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
27
28
  const publishBlock = async ({ signedBlockOrContents, broadcastValidation }, _context, opts = {}) => {
28
29
  const seenTimestampSec = Date.now() / 1000;
29
- let blockForImport, signedBlock, blobSidecars;
30
+ let blockForImport, signedBlock, blobSidecars, dataColumnSidecars;
30
31
  if (isSignedBlockContents(signedBlockOrContents)) {
31
32
  ({ signedBlock } = signedBlockOrContents);
32
- blobSidecars = computeBlobSidecars(config, signedBlock, signedBlockOrContents);
33
- const blockData = {
34
- fork: config.getForkName(signedBlock.message.slot),
35
- blobs: blobSidecars,
36
- blobsSource: BlobsSource.api,
37
- };
33
+ const fork = config.getForkName(signedBlock.message.slot);
34
+ let blockData;
35
+ if (isForkPostFulu(fork)) {
36
+ const cachedContents = chain.getContents(signedBlock.message);
37
+ const timer = metrics?.peerDas.dataColumnSidecarComputationTime.startTimer();
38
+ dataColumnSidecars = computeDataColumnSidecars(config, signedBlock, cachedContents ?? signedBlockOrContents);
39
+ timer?.();
40
+ blockData = {
41
+ fork,
42
+ dataColumnsLen: dataColumnSidecars.length,
43
+ // dataColumnsIndex is a 1 based index of ith column present in dataColumns[custodyColumns[i-1]]
44
+ dataColumnsIndex: new Uint8Array(Array.from({ length: dataColumnSidecars.length }, (_, j) => 1 + j)),
45
+ dataColumns: dataColumnSidecars,
46
+ dataColumnsBytes: dataColumnSidecars.map(() => null),
47
+ dataColumnsSource: DataColumnsSource.api,
48
+ };
49
+ blobSidecars = [];
50
+ }
51
+ else if (fork === ForkName.deneb || fork === ForkName.electra) {
52
+ blobSidecars = computeBlobSidecars(config, signedBlock, signedBlockOrContents);
53
+ blockData = {
54
+ fork,
55
+ blobs: blobSidecars,
56
+ blobsSource: BlobsSource.api,
57
+ };
58
+ dataColumnSidecars = [];
59
+ }
60
+ else {
61
+ throw Error(`Invalid data fork=${fork} for publish`);
62
+ }
38
63
  blockForImport = getBlockInput.availableData(config, signedBlock, BlockSource.api, blockData);
39
64
  }
40
65
  else {
41
66
  signedBlock = signedBlockOrContents;
42
67
  blobSidecars = [];
68
+ dataColumnSidecars = [];
43
69
  blockForImport = getBlockInput.preData(config, signedBlock, BlockSource.api);
44
70
  }
45
71
  // check what validations have been requested before broadcasting and publishing the block
@@ -147,11 +173,12 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
147
173
  // specification is very clear that this is the desired behaviour.
148
174
  //
149
175
  // i) Publish blobs and block before importing so that network can see them asap
150
- // ii) publish block first because
151
- // a) as soon as node sees block they can start processing it while blobs arrive
152
- // b) getting block first allows nodes to use getBlobs from local ELs and save
153
- // import latency and hopefully bandwidth
176
+ // ii) publish blobs first because
177
+ // a) by the times nodes see block, they might decide to pull blobs
178
+ // b) they might require more hops to reach recipients in peerDAS kind of setup where
179
+ // blobs might need to hop between nodes because of partial subnet subscription
154
180
  () => network.publishBeaconBlock(signedBlock),
181
+ ...dataColumnSidecars.map((dataColumnSidecar) => () => network.publishDataColumnSidecar(dataColumnSidecar)),
155
182
  ...blobSidecars.map((blobSidecar) => () => network.publishBlobSidecar(blobSidecar)),
156
183
  () =>
157
184
  // there is no rush to persist block since we published it to gossip anyway
@@ -372,6 +399,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
372
399
  await publishBlock(args, context, opts);
373
400
  },
374
401
  async getBlobSidecars({ blockId, indices }) {
402
+ assertUniqueItems(indices, "Duplicate indices provided");
375
403
  const { block, executionOptimistic, finalized } = await getBlockResponse(chain, blockId);
376
404
  const blockRoot = config.getForkTypes(block.message.slot).BeaconBlock.hashTreeRoot(block.message);
377
405
  let { blobSidecars } = (await db.blobSidecars.get(blockRoot)) ?? {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { assertUniqueItems } from "../../utils.js";
1
2
  import { getBlockResponse } from "../blocks/utils.js";
2
3
  export function getBeaconRewardsApi({ chain, }) {
3
4
  return {
@@ -7,10 +8,12 @@ export function getBeaconRewardsApi({ chain, }) {
7
8
  return { data, meta: { executionOptimistic, finalized } };
8
9
  },
9
10
  async getAttestationsRewards({ epoch, validatorIds }) {
11
+ assertUniqueItems(validatorIds, "Duplicate validator IDs provided");
10
12
  const { rewards, executionOptimistic, finalized } = await chain.getAttestationsRewards(epoch, validatorIds);
11
13
  return { data: rewards, meta: { executionOptimistic, finalized } };
12
14
  },
13
15
  async getSyncCommitteeRewards({ blockId, validatorIds }) {
16
+ assertUniqueItems(validatorIds, "Duplicate validator IDs provided");
14
17
  const { block, executionOptimistic, finalized } = await getBlockResponse(chain, blockId);
15
18
  const data = await chain.getSyncCommitteeRewards(block.message, validatorIds);
16
19
  return { data, meta: { executionOptimistic, finalized } };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/rewards/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,GACqB;IAC1B,OAAO;QACL,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,EAAC;YAC7B,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC;YAChD,MAAM,EAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC1G,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,uBAAuB,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC;YACnD,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9E,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/rewards/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,GACqB;IAC1B,OAAO;QACL,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,EAAC;YAC7B,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC;YAChD,iBAAiB,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;YAEpE,MAAM,EAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC1G,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,uBAAuB,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC;YACnD,iBAAiB,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;YAEpE,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9E,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import { computeEpochAtSlot, computeStartSlotAtEpoch, getCurrentEpoch, getRandao
3
3
  import { getValidatorStatus } from "@lodestar/types";
4
4
  import { fromHex } from "@lodestar/utils";
5
5
  import { ApiError } from "../../errors.js";
6
+ import { assertUniqueItems } from "../../utils.js";
6
7
  import { filterStateValidatorsByStatus, getStateResponseWithRegen, getStateValidatorIndex, toValidatorResponse, } from "./utils.js";
7
8
  export function getBeaconStateApi({ chain, config, }) {
8
9
  async function getState(stateId) {
@@ -59,6 +60,7 @@ export function getBeaconStateApi({ chain, config, }) {
59
60
  const { pubkey2index } = chain.getHeadState().epochCtx;
60
61
  const validatorResponses = [];
61
62
  if (validatorIds.length) {
63
+ assertUniqueItems(validatorIds, "Duplicate validator IDs provided");
62
64
  for (const id of validatorIds) {
63
65
  const resp = getStateValidatorIndex(id, state, pubkey2index);
64
66
  if (resp.valid) {
@@ -77,6 +79,7 @@ export function getBeaconStateApi({ chain, config, }) {
77
79
  };
78
80
  }
79
81
  if (statuses.length) {
82
+ assertUniqueItems(statuses, "Duplicate statuses provided");
80
83
  const validatorsByStatus = filterStateValidatorsByStatus(statuses, state, pubkey2index, currentEpoch);
81
84
  return {
82
85
  data: validatorsByStatus,
@@ -103,6 +106,7 @@ export function getBeaconStateApi({ chain, config, }) {
103
106
  const { pubkey2index } = chain.getHeadState().epochCtx;
104
107
  let validatorIdentities;
105
108
  if (validatorIds.length) {
109
+ assertUniqueItems(validatorIds, "Duplicate validator IDs provided");
106
110
  validatorIdentities = [];
107
111
  for (const id of validatorIds) {
108
112
  const resp = getStateValidatorIndex(id, state, pubkey2index);
@@ -142,6 +146,7 @@ export function getBeaconStateApi({ chain, config, }) {
142
146
  async getStateValidatorBalances({ stateId, validatorIds = [] }) {
143
147
  const { state, executionOptimistic, finalized } = await getState(stateId);
144
148
  if (validatorIds.length) {
149
+ assertUniqueItems(validatorIds, "Duplicate validator IDs provided");
145
150
  const headState = chain.getHeadState();
146
151
  const balances = [];
147
152
  for (const id of validatorIds) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,6 @@ import { ApiModules } from "../types.js";
12
12
  * [altair](https://github.com/ethereum/consensus.0-specs/blob/v1.1.10/presets/mainnet/altair.yaml) values
13
13
  * - Configuration for the beacon node, for example the [mainnet](https://github.com/ethereum/consensus-specs/blob/v1.1.10/configs/mainnet.yaml) values
14
14
  */
15
- export declare function renderJsonSpec(config: ChainConfig): Record<string, string>;
15
+ export declare function renderJsonSpec(config: ChainConfig): routes.config.Spec;
16
16
  export declare function getConfigApi({ config }: Pick<ApiModules, "config">): ApplicationMethods<routes.config.Endpoints>;
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -15,6 +15,11 @@ export function renderJsonSpec(config) {
15
15
  const configJson = chainConfigToJson(config);
16
16
  const presetJson = presetToJson(activePreset);
17
17
  const constantsJson = specValuesToJson(specConstants);
18
+ // TODO Fulu: remove this check once interop issues are resolved
19
+ // see https://github.com/attestantio/go-eth2-client/issues/230
20
+ if (config.FULU_FORK_EPOCH === Infinity) {
21
+ delete configJson.BLOB_SCHEDULE;
22
+ }
18
23
  return { ...configJson, ...presetJson, ...constantsJson };
19
24
  }
20
25
  export function getConfigApi({ config }) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtD,OAAO,EAAC,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,EAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAC,MAAM,EAA6B;IAC/D,OAAO;QACL,KAAK,CAAC,eAAe;YACnB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO;gBAClE,cAAc,EAAE,EAAE,CAAC,OAAO;gBAC1B,KAAK,EAAE,EAAE,CAAC,KAAK;aAChB,CAAC,CAAC,CAAC;YACJ,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,OAAO;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,gBAAgB;oBAChC,OAAO,EAAE,MAAM,CAAC,wBAAwB;iBACzC;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO;YACX,OAAO;gBACL,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;aAC7B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAEtD,gEAAgE;IAChE,+DAA+D;IAC/D,IAAI,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,OAAO,EAAC,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,EAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAC,MAAM,EAA6B;IAC/D,OAAO;QACL,KAAK,CAAC,eAAe;YACnB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO;gBAClE,cAAc,EAAE,EAAE,CAAC,OAAO;gBAC1B,KAAK,EAAE,EAAE,CAAC,KAAK;aAChB,CAAC,CAAC,CAAC;YACJ,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,OAAO;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,gBAAgB;oBAChC,OAAO,EAAE,MAAM,CAAC,wBAAwB;iBACzC;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO;YACX,OAAO;gBACL,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;aAC7B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Ensures that the array contains unique values, and throws an ApiError
3
+ * otherwise.
4
+ * @param array - The array to check for uniqueness.
5
+ * @param message - The message to put in the ApiError if the array contains
6
+ * duplicates.
7
+ */
8
+ export declare function assertUniqueItems(array: unknown[] | undefined, message: string): void;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { ApiError } from "./errors.js";
2
+ /**
3
+ * Ensures that the array contains unique values, and throws an ApiError
4
+ * otherwise.
5
+ * @param array - The array to check for uniqueness.
6
+ * @param message - The message to put in the ApiError if the array contains
7
+ * duplicates.
8
+ */
9
+ export function assertUniqueItems(array, message) {
10
+ if (!array) {
11
+ return;
12
+ }
13
+ const duplicateItems = array.reduce((partialDuplicateItems, item, index) => {
14
+ if (array.indexOf(item) !== index && !partialDuplicateItems.includes(item)) {
15
+ return partialDuplicateItems.concat(item);
16
+ }
17
+ return partialDuplicateItems;
18
+ }, []);
19
+ if (duplicateItems.length) {
20
+ throw new ApiError(400, `${message}: ${duplicateItems.join(", ")}`);
21
+ }
22
+ }
23
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/api/impl/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA4B,EAAE,OAAe;IAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,qBAAgC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,qBAAqB,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
@@ -17,7 +17,7 @@ import { NoBidReceived } from "../../../execution/builder/http.js";
17
17
  import { validateGossipFnRetryUnknownRoot } from "../../../network/processor/gossipHandlers.js";
18
18
  import { SyncState } from "../../../sync/index.js";
19
19
  import { isOptimisticBlock } from "../../../util/forkChoice.js";
20
- import { getDefaultGraffiti, toGraffitiBuffer } from "../../../util/graffiti.js";
20
+ import { getDefaultGraffiti, toGraffitiBytes } from "../../../util/graffiti.js";
21
21
  import { getLodestarClientVersion } from "../../../util/metadata.js";
22
22
  import { getStateResponseWithRegen } from "../beacon/state/utils.js";
23
23
  import { ApiError, NodeIsSyncing, OnlySupportedByDVT } from "../errors.js";
@@ -274,7 +274,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
274
274
  }
275
275
  async function produceBuilderBlindedBlock(slot, randaoReveal, graffiti,
276
276
  // as of now fee recipient checks can not be performed because builder does not return bid recipient
277
- { skipHeadChecksAndUpdate, commonBlockBody, parentBlockRoot: inParentBlockRoot, } = {}) {
277
+ { commonBlockBody, parentBlockRoot, }) {
278
278
  const version = config.getForkName(slot);
279
279
  if (!isForkPostBellatrix(version)) {
280
280
  throw Error(`Invalid fork=${version} for produceBuilderBlindedBlock`);
@@ -288,16 +288,6 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
288
288
  if (!chain.executionBuilder.status) {
289
289
  throw Error("Execution builder disabled");
290
290
  }
291
- let parentBlockRoot;
292
- if (skipHeadChecksAndUpdate !== true) {
293
- notWhileSyncing();
294
- await waitForSlot(slot); // Must never request for a future slot > currentSlot
295
- parentBlockRoot = fromHex(chain.getProposerHead(slot).blockRoot);
296
- }
297
- else {
298
- parentBlockRoot = inParentBlockRoot;
299
- }
300
- notOnOutOfRangeData(parentBlockRoot);
301
291
  let timer;
302
292
  try {
303
293
  timer = metrics?.blockProductionTime.startTimer();
@@ -305,7 +295,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
305
295
  slot,
306
296
  parentBlockRoot,
307
297
  randaoReveal,
308
- graffiti: toGraffitiBuffer(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts)),
298
+ graffiti,
309
299
  commonBlockBody,
310
300
  });
311
301
  metrics?.blockProductionSuccess.inc({ source });
@@ -327,19 +317,9 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
327
317
  timer({ source });
328
318
  }
329
319
  }
330
- async function produceEngineFullBlockOrContents(slot, randaoReveal, graffiti, { feeRecipient, strictFeeRecipientCheck, skipHeadChecksAndUpdate, commonBlockBody, parentBlockRoot: inParentBlockRoot, } = {}) {
320
+ async function produceEngineFullBlockOrContents(slot, randaoReveal, graffiti, { feeRecipient, strictFeeRecipientCheck, commonBlockBody, parentBlockRoot, }) {
331
321
  const source = ProducedBlockSource.engine;
332
322
  metrics?.blockProductionRequests.inc({ source });
333
- let parentBlockRoot;
334
- if (skipHeadChecksAndUpdate !== true) {
335
- notWhileSyncing();
336
- await waitForSlot(slot); // Must never request for a future slot > currentSlot
337
- parentBlockRoot = fromHex(chain.getProposerHead(slot).blockRoot);
338
- }
339
- else {
340
- parentBlockRoot = inParentBlockRoot;
341
- }
342
- notOnOutOfRangeData(parentBlockRoot);
343
323
  let timer;
344
324
  try {
345
325
  timer = metrics?.blockProductionTime.startTimer();
@@ -347,7 +327,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
347
327
  slot,
348
328
  parentBlockRoot,
349
329
  randaoReveal,
350
- graffiti: toGraffitiBuffer(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts)),
330
+ graffiti,
351
331
  feeRecipient,
352
332
  commonBlockBody,
353
333
  });
@@ -422,6 +402,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
422
402
  if (!isEngineEnabled && !isBuilderEnabled) {
423
403
  throw Error(`Internal Error: Neither builder nor execution proposal flow activated isBuilderEnabled=${isBuilderEnabled} builderSelection=${builderSelection}`);
424
404
  }
405
+ const graffitiBytes = toGraffitiBytes(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts));
425
406
  const loggerContext = {
426
407
  slot,
427
408
  fork,
@@ -437,7 +418,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
437
418
  slot,
438
419
  parentBlockRoot,
439
420
  randaoReveal,
440
- graffiti: toGraffitiBuffer(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts)),
421
+ graffiti: graffitiBytes,
441
422
  });
442
423
  logger.debug("Produced common block body", loggerContext);
443
424
  // Calculate cutoff time based on start of the slot
@@ -451,22 +432,18 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
451
432
  const controller = new AbortController();
452
433
  // Start calls for building execution and builder blocks
453
434
  const builderPromise = isBuilderEnabled
454
- ? produceBuilderBlindedBlock(slot, randaoReveal, graffiti, {
435
+ ? produceBuilderBlindedBlock(slot, randaoReveal, graffitiBytes, {
455
436
  feeRecipient,
456
437
  // can't do fee recipient checks as builder bid doesn't return feeRecipient as of now
457
438
  strictFeeRecipientCheck: false,
458
- // skip checking and recomputing head in these individual produce calls
459
- skipHeadChecksAndUpdate: true,
460
439
  commonBlockBody,
461
440
  parentBlockRoot,
462
441
  })
463
442
  : Promise.reject(new Error("Builder disabled"));
464
443
  const enginePromise = isEngineEnabled
465
- ? produceEngineFullBlockOrContents(slot, randaoReveal, graffiti, {
444
+ ? produceEngineFullBlockOrContents(slot, randaoReveal, graffitiBytes, {
466
445
  feeRecipient,
467
446
  strictFeeRecipientCheck,
468
- // skip checking and recomputing head in these individual produce calls
469
- skipHeadChecksAndUpdate: true,
470
447
  commonBlockBody,
471
448
  parentBlockRoot,
472
449
  }).then((engineBlock) => {
@@ -1002,7 +979,8 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
1002
979
  // TODO: Validate in batch
1003
980
  const { syncCommitteeParticipantIndices } = await validateSyncCommitteeGossipContributionAndProof(chain, contributionAndProof, true // skip known participants check
1004
981
  );
1005
- chain.syncContributionAndProofPool.add(contributionAndProof.message, syncCommitteeParticipantIndices.length);
982
+ const insertOutcome = chain.syncContributionAndProofPool.add(contributionAndProof.message, syncCommitteeParticipantIndices.length, true);
983
+ metrics?.opPool.syncContributionAndProofPool.apiInsertOutcome.inc({ insertOutcome });
1006
984
  await network.publishContributionAndProof(contributionAndProof);
1007
985
  }
1008
986
  catch (e) {