@lodestar/beacon-node 1.44.0-dev.6ef8199cfa → 1.44.0-dev.762dd5f186

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 (238) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +66 -33
  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 +1 -26
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/config/constants.d.ts +5 -0
  8. package/lib/api/impl/config/constants.d.ts.map +1 -1
  9. package/lib/api/impl/config/constants.js +6 -1
  10. package/lib/api/impl/config/constants.js.map +1 -1
  11. package/lib/api/impl/debug/index.d.ts.map +1 -1
  12. package/lib/api/impl/debug/index.js +69 -12
  13. package/lib/api/impl/debug/index.js.map +1 -1
  14. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  15. package/lib/api/impl/lodestar/index.js +28 -0
  16. package/lib/api/impl/lodestar/index.js.map +1 -1
  17. package/lib/api/impl/validator/index.d.ts.map +1 -1
  18. package/lib/api/impl/validator/index.js +117 -72
  19. package/lib/api/impl/validator/index.js.map +1 -1
  20. package/lib/chain/archiveStore/archiveStore.d.ts +0 -1
  21. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  22. package/lib/chain/archiveStore/archiveStore.js +0 -4
  23. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  24. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  25. package/lib/chain/blocks/importBlock.js +19 -4
  26. package/lib/chain/blocks/importBlock.js.map +1 -1
  27. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  28. package/lib/chain/blocks/importExecutionPayload.js +5 -3
  29. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  30. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts.map +1 -1
  31. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +3 -3
  32. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
  33. package/lib/chain/chain.d.ts +3 -3
  34. package/lib/chain/chain.d.ts.map +1 -1
  35. package/lib/chain/chain.js +11 -3
  36. package/lib/chain/chain.js.map +1 -1
  37. package/lib/chain/emitter.d.ts +2 -1
  38. package/lib/chain/emitter.d.ts.map +1 -1
  39. package/lib/chain/emitter.js.map +1 -1
  40. package/lib/chain/errors/blockError.d.ts +0 -7
  41. package/lib/chain/errors/blockError.d.ts.map +1 -1
  42. package/lib/chain/errors/blockError.js +0 -3
  43. package/lib/chain/errors/blockError.js.map +1 -1
  44. package/lib/chain/errors/executionPayloadBid.d.ts +23 -1
  45. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  46. package/lib/chain/errors/executionPayloadBid.js +4 -0
  47. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  48. package/lib/chain/errors/payloadAttestation.d.ts +6 -0
  49. package/lib/chain/errors/payloadAttestation.d.ts.map +1 -1
  50. package/lib/chain/errors/payloadAttestation.js +1 -0
  51. package/lib/chain/errors/payloadAttestation.js.map +1 -1
  52. package/lib/chain/forkChoice/index.d.ts +4 -4
  53. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  54. package/lib/chain/forkChoice/index.js +24 -11
  55. package/lib/chain/forkChoice/index.js.map +1 -1
  56. package/lib/chain/interface.d.ts +2 -2
  57. package/lib/chain/interface.d.ts.map +1 -1
  58. package/lib/chain/interface.js.map +1 -1
  59. package/lib/chain/opPools/executionPayloadBidPool.d.ts +4 -4
  60. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  61. package/lib/chain/opPools/executionPayloadBidPool.js +6 -4
  62. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  63. package/lib/chain/options.d.ts.map +1 -1
  64. package/lib/chain/options.js +1 -0
  65. package/lib/chain/options.js.map +1 -1
  66. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  67. package/lib/chain/prepareNextSlot.js +2 -10
  68. package/lib/chain/prepareNextSlot.js.map +1 -1
  69. package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -2
  70. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  71. package/lib/chain/produceBlock/produceBlockBody.js +81 -27
  72. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  73. package/lib/chain/regen/interface.d.ts +2 -1
  74. package/lib/chain/regen/interface.d.ts.map +1 -1
  75. package/lib/chain/regen/interface.js +2 -0
  76. package/lib/chain/regen/interface.js.map +1 -1
  77. package/lib/chain/regen/queued.d.ts +0 -1
  78. package/lib/chain/regen/queued.d.ts.map +1 -1
  79. package/lib/chain/regen/queued.js +0 -4
  80. package/lib/chain/regen/queued.js.map +1 -1
  81. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  82. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +8 -2
  83. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  84. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +0 -5
  85. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  86. package/lib/chain/stateCache/fifoBlockStateCache.js +0 -5
  87. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  88. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +1 -4
  89. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  90. package/lib/chain/stateCache/persistentCheckpointsCache.js +5 -2
  91. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  92. package/lib/chain/stateCache/types.d.ts +0 -2
  93. package/lib/chain/stateCache/types.d.ts.map +1 -1
  94. package/lib/chain/stateCache/types.js.map +1 -1
  95. package/lib/chain/validation/block.d.ts +5 -1
  96. package/lib/chain/validation/block.d.ts.map +1 -1
  97. package/lib/chain/validation/block.js +4 -14
  98. package/lib/chain/validation/block.js.map +1 -1
  99. package/lib/chain/validation/executionPayloadBid.d.ts +7 -3
  100. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  101. package/lib/chain/validation/executionPayloadBid.js +81 -16
  102. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  103. package/lib/chain/validation/executionPayloadEnvelope.js +1 -3
  104. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  105. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  106. package/lib/chain/validation/payloadAttestationMessage.js +24 -4
  107. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  108. package/lib/chain/validatorMonitor.d.ts +1 -0
  109. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  110. package/lib/chain/validatorMonitor.js +16 -0
  111. package/lib/chain/validatorMonitor.js.map +1 -1
  112. package/lib/execution/builder/index.d.ts +1 -2
  113. package/lib/execution/builder/index.d.ts.map +1 -1
  114. package/lib/execution/builder/index.js +0 -1
  115. package/lib/execution/builder/index.js.map +1 -1
  116. package/lib/execution/engine/http.js +1 -1
  117. package/lib/execution/engine/http.js.map +1 -1
  118. package/lib/execution/engine/interface.d.ts +2 -2
  119. package/lib/execution/engine/interface.d.ts.map +1 -1
  120. package/lib/execution/engine/interface.js +6 -2
  121. package/lib/execution/engine/interface.js.map +1 -1
  122. package/lib/execution/engine/mock.d.ts.map +1 -1
  123. package/lib/execution/engine/mock.js +3 -5
  124. package/lib/execution/engine/mock.js.map +1 -1
  125. package/lib/execution/engine/types.d.ts +15 -7
  126. package/lib/execution/engine/types.d.ts.map +1 -1
  127. package/lib/execution/engine/types.js +47 -9
  128. package/lib/execution/engine/types.js.map +1 -1
  129. package/lib/metrics/metrics/lodestar.d.ts +5 -1
  130. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  131. package/lib/metrics/metrics/lodestar.js +14 -3
  132. package/lib/metrics/metrics/lodestar.js.map +1 -1
  133. package/lib/network/gossip/topic.d.ts +770 -3
  134. package/lib/network/gossip/topic.d.ts.map +1 -1
  135. package/lib/network/interface.d.ts +1 -0
  136. package/lib/network/interface.d.ts.map +1 -1
  137. package/lib/network/network.d.ts +1 -0
  138. package/lib/network/network.d.ts.map +1 -1
  139. package/lib/network/network.js +5 -0
  140. package/lib/network/network.js.map +1 -1
  141. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  142. package/lib/network/processor/gossipHandlers.js +21 -6
  143. package/lib/network/processor/gossipHandlers.js.map +1 -1
  144. package/lib/network/processor/index.d.ts +2 -2
  145. package/lib/network/processor/index.d.ts.map +1 -1
  146. package/lib/network/processor/index.js +25 -23
  147. package/lib/network/processor/index.js.map +1 -1
  148. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  149. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +9 -5
  150. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  151. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  152. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +13 -3
  153. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  154. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -1
  155. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  156. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts +2 -1
  157. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -1
  158. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +16 -6
  159. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -1
  160. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts +2 -1
  161. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
  162. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +15 -1
  163. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
  164. package/lib/network/reqresp/handlers/index.js +4 -4
  165. package/lib/network/reqresp/handlers/index.js.map +1 -1
  166. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
  167. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +23 -5
  168. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  169. package/lib/sync/types.d.ts +9 -1
  170. package/lib/sync/types.d.ts.map +1 -1
  171. package/lib/sync/types.js +9 -2
  172. package/lib/sync/types.js.map +1 -1
  173. package/lib/sync/unknownBlock.d.ts.map +1 -1
  174. package/lib/sync/unknownBlock.js +64 -30
  175. package/lib/sync/unknownBlock.js.map +1 -1
  176. package/lib/util/dataColumns.d.ts.map +1 -1
  177. package/lib/util/dataColumns.js +16 -11
  178. package/lib/util/dataColumns.js.map +1 -1
  179. package/lib/util/sszBytes.js +1 -1
  180. package/package.json +15 -17
  181. package/src/api/impl/beacon/blocks/index.ts +76 -42
  182. package/src/api/impl/beacon/pool/index.ts +4 -42
  183. package/src/api/impl/config/constants.ts +10 -0
  184. package/src/api/impl/debug/index.ts +73 -12
  185. package/src/api/impl/lodestar/index.ts +30 -0
  186. package/src/api/impl/validator/index.ts +137 -86
  187. package/src/chain/archiveStore/archiveStore.ts +0 -5
  188. package/src/chain/blocks/importBlock.ts +29 -7
  189. package/src/chain/blocks/importExecutionPayload.ts +8 -2
  190. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +3 -5
  191. package/src/chain/chain.ts +14 -4
  192. package/src/chain/emitter.ts +3 -2
  193. package/src/chain/errors/blockError.ts +0 -4
  194. package/src/chain/errors/executionPayloadBid.ts +20 -1
  195. package/src/chain/errors/payloadAttestation.ts +2 -0
  196. package/src/chain/forkChoice/index.ts +27 -4
  197. package/src/chain/interface.ts +1 -2
  198. package/src/chain/opPools/executionPayloadBidPool.ts +10 -9
  199. package/src/chain/options.ts +1 -0
  200. package/src/chain/prepareNextSlot.ts +2 -11
  201. package/src/chain/produceBlock/produceBlockBody.ts +114 -40
  202. package/src/chain/regen/interface.ts +2 -1
  203. package/src/chain/regen/queued.ts +0 -5
  204. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +8 -3
  205. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -6
  206. package/src/chain/stateCache/persistentCheckpointsCache.ts +6 -2
  207. package/src/chain/stateCache/types.ts +0 -2
  208. package/src/chain/validation/block.ts +12 -16
  209. package/src/chain/validation/executionPayloadBid.ts +90 -19
  210. package/src/chain/validation/executionPayloadEnvelope.ts +1 -3
  211. package/src/chain/validation/payloadAttestationMessage.ts +26 -4
  212. package/src/chain/validatorMonitor.ts +18 -0
  213. package/src/execution/builder/index.ts +1 -4
  214. package/src/execution/engine/http.ts +1 -1
  215. package/src/execution/engine/interface.ts +12 -2
  216. package/src/execution/engine/mock.ts +6 -5
  217. package/src/execution/engine/types.ts +75 -14
  218. package/src/metrics/metrics/lodestar.ts +15 -3
  219. package/src/network/interface.ts +1 -0
  220. package/src/network/network.ts +11 -0
  221. package/src/network/processor/gossipHandlers.ts +26 -6
  222. package/src/network/processor/index.ts +27 -27
  223. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +12 -5
  224. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +17 -3
  225. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +1 -1
  226. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +22 -6
  227. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +20 -1
  228. package/src/network/reqresp/handlers/index.ts +4 -4
  229. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +22 -5
  230. package/src/sync/types.ts +11 -2
  231. package/src/sync/unknownBlock.ts +70 -31
  232. package/src/util/dataColumns.ts +17 -12
  233. package/src/util/sszBytes.ts +1 -1
  234. package/lib/execution/builder/utils.d.ts +0 -5
  235. package/lib/execution/builder/utils.d.ts.map +0 -1
  236. package/lib/execution/builder/utils.js +0 -17
  237. package/lib/execution/builder/utils.js.map +0 -1
  238. package/src/execution/builder/utils.ts +0 -19
@@ -1,5 +1,6 @@
1
- import { ExecutionStatus } from "@lodestar/fork-choice";
1
+ import { ExecutionStatus, PayloadStatus } from "@lodestar/fork-choice";
2
2
  import { ZERO_HASH_HEX, isForkPostDeneb, isForkPostFulu } from "@lodestar/params";
3
+ import { computeTimeAtSlot } from "@lodestar/state-transition";
3
4
  import { sszTypesFor } from "@lodestar/types";
4
5
  import { toRootHex } from "@lodestar/utils";
5
6
  import { getBlobKzgCommitments } from "../../../util/dataColumns.js";
@@ -8,6 +9,27 @@ import { getStateSlotFromBytes } from "../../../util/multifork.js";
8
9
  import { getBlockResponse } from "../beacon/blocks/utils.js";
9
10
  import { getStateResponseWithRegen } from "../beacon/state/utils.js";
10
11
  import { assertUniqueItems } from "../utils.js";
12
+ function toForkChoiceValidity(status) {
13
+ switch (status) {
14
+ case ExecutionStatus.Valid:
15
+ return "valid";
16
+ case ExecutionStatus.Invalid:
17
+ return "invalid";
18
+ case ExecutionStatus.Syncing:
19
+ case ExecutionStatus.PreMerge:
20
+ return "optimistic";
21
+ }
22
+ }
23
+ function toPayloadStatusName(status) {
24
+ switch (status) {
25
+ case PayloadStatus.PENDING:
26
+ return "pending";
27
+ case PayloadStatus.EMPTY:
28
+ return "empty";
29
+ case PayloadStatus.FULL:
30
+ return "full";
31
+ }
32
+ }
11
33
  export function getDebugApi({ chain, config, }) {
12
34
  return {
13
35
  async getDebugChainHeadsV2() {
@@ -32,22 +54,57 @@ export function getDebugApi({ chain, config, }) {
32
54
  justifiedEpoch: node.justifiedEpoch,
33
55
  finalizedEpoch: node.finalizedEpoch,
34
56
  weight: node.weight,
35
- validity: (() => {
36
- switch (node.executionStatus) {
37
- case ExecutionStatus.Valid:
38
- return "valid";
39
- case ExecutionStatus.Invalid:
40
- return "invalid";
41
- case ExecutionStatus.Syncing:
42
- case ExecutionStatus.PreMerge:
43
- return "optimistic";
44
- }
45
- })(),
57
+ validity: toForkChoiceValidity(node.executionStatus),
46
58
  executionBlockHash: node.executionPayloadBlockHash ?? ZERO_HASH_HEX,
47
59
  })),
48
60
  },
49
61
  };
50
62
  },
63
+ async getDebugForkChoiceV2() {
64
+ const { forkChoice } = chain;
65
+ return {
66
+ data: {
67
+ justifiedCheckpoint: forkChoice.getJustifiedCheckpoint(),
68
+ finalizedCheckpoint: forkChoice.getFinalizedCheckpoint(),
69
+ forkChoiceNodes: forkChoice.getAllNodes().map((node) => {
70
+ // Payload-specific fields apply only to a revealed Gloas payload = the FULL variant of a
71
+ // Gloas block
72
+ const ptc = node.payloadStatus === PayloadStatus.FULL ? forkChoice.getPTCVoteCounts(node.blockRoot) : null;
73
+ return {
74
+ payloadStatus: toPayloadStatusName(node.payloadStatus),
75
+ slot: node.slot,
76
+ blockRoot: node.blockRoot,
77
+ parentRoot: node.parentRoot,
78
+ weight: node.weight,
79
+ validity: toForkChoiceValidity(node.executionStatus),
80
+ executionBlockHash: node.executionPayloadBlockHash ?? ZERO_HASH_HEX,
81
+ extraData: {
82
+ executionOptimistic: isOptimisticBlock(node),
83
+ timestamp: computeTimeAtSlot(config, node.slot, chain.genesisTime),
84
+ target: node.targetRoot,
85
+ justifiedEpoch: node.justifiedEpoch,
86
+ finalizedEpoch: node.finalizedEpoch,
87
+ unrealizedJustifiedEpoch: node.unrealizedJustifiedEpoch,
88
+ unrealizedFinalizedEpoch: node.unrealizedFinalizedEpoch,
89
+ payloadAttesterCount: ptc?.attesterCount ?? null,
90
+ payloadAvailabilityYesCount: ptc?.payloadPresentCount ?? null,
91
+ payloadDataAvailabilityYesCount: ptc?.dataAvailableCount ?? null,
92
+ gasLimit: node.payloadStatus === PayloadStatus.FULL && "executionPayloadGasLimit" in node
93
+ ? node.executionPayloadGasLimit
94
+ : null,
95
+ },
96
+ };
97
+ }),
98
+ extraData: {
99
+ unrealizedJustifiedCheckpoint: forkChoice.getUnrealizedJustifiedCheckpoint(),
100
+ unrealizedFinalizedCheckpoint: forkChoice.getUnrealizedFinalizedCheckpoint(),
101
+ proposerBoostRoot: forkChoice.getProposerBoostRoot(),
102
+ previousProposerBoostRoot: forkChoice.getPreviousProposerBoostRoot(),
103
+ headRoot: forkChoice.getHeadRoot(),
104
+ },
105
+ },
106
+ };
107
+ },
51
108
  async getProtoArrayNodes() {
52
109
  const nodes = chain.forkChoice.getAllNodes().map((node) => ({
53
110
  // if node has executionPayloadNumber, it will overwrite the below default
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/lodestar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAWxD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAUlD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,MAAM,EACN,EAAE,EACF,OAAO,EACP,IAAI,EACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAmSlH;AA0BD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAMtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/lodestar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAWxD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAUlD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,MAAM,EACN,EAAE,EACF,OAAO,EACP,IAAI,EACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAiUlH;AA0BD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAMtE"}
@@ -219,6 +219,34 @@ export function getLodestarApi({ chain, config, db, network, sync, }) {
219
219
  },
220
220
  };
221
221
  },
222
+ async getFastConfirmationInfo() {
223
+ const confirmedRoot = chain.forkChoice.getConfirmedRoot();
224
+ const confirmedBlock = chain.forkChoice.getConfirmedBlock();
225
+ const justifiedCheckpoint = chain.forkChoice.getJustifiedCheckpoint();
226
+ const finalizedCheckpoint = chain.forkChoice.getFinalizedCheckpoint();
227
+ const headRoot = chain.forkChoice.getHeadRoot();
228
+ const head = chain.forkChoice.getHead();
229
+ return {
230
+ data: {
231
+ confirmed: {
232
+ rootHex: confirmedRoot,
233
+ slot: confirmedBlock?.slot ?? null,
234
+ },
235
+ head: {
236
+ rootHex: headRoot,
237
+ slot: head.slot,
238
+ },
239
+ justifiedCheckpoint: {
240
+ rootHex: justifiedCheckpoint.rootHex,
241
+ epoch: justifiedCheckpoint.epoch,
242
+ },
243
+ finalizedCheckpoint: {
244
+ rootHex: finalizedCheckpoint.rootHex,
245
+ epoch: finalizedCheckpoint.epoch,
246
+ },
247
+ },
248
+ };
249
+ },
222
250
  async getAttesterSlashingsFromBlocks({ signedBlocks }) {
223
251
  const attestations = new Map();
224
252
  for (const block of signedBlocks) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/lodestar/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/lodestar/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA+BxD,OAAO,EAQL,mBAAmB,EAUpB,MAAM,iBAAiB,CAAC;AAoCzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA8BvC;;GAEG;AACH,oBAAY,0BAA0B;IACpC,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,YAAY,mBAAmB;IAC/B,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;CACrC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,UAAU,GAC1D,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAmjDhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA+BxD,OAAO,EAQL,mBAAmB,EAUpB,MAAM,iBAAiB,CAAC;AAoCzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA8BvC;;GAEG;AACH,oBAAY,0BAA0B;IACpC,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,YAAY,mBAAmB;IAC/B,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;CACrC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,UAAU,GAC1D,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAsmDhD"}
@@ -674,58 +674,100 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
674
674
  }
675
675
  notWhileSyncing();
676
676
  await waitForSlot(slot);
677
- // TODO GLOAS: support producing blocks from builder bids
678
- const source = ProducedBlockSource.engine;
679
- // TODO GLOAS: needs to be updated after fork choice changes are merged
680
677
  const parentBlock = chain.getProposerHead(slot);
681
678
  const { blockRoot: parentBlockRootHex, slot: parentSlot } = parentBlock;
682
679
  const parentBlockRoot = fromHex(parentBlockRootHex);
683
680
  notOnOutOfRangeData(parentBlockRoot);
684
681
  metrics?.blockProductionSlotDelta.set(slot - parentSlot);
685
- metrics?.blockProductionRequests.inc({ source });
686
682
  const graffitiBytes = toGraffitiBytes(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts));
683
+ // TODO GLOAS: respect builderSelection (MaxProfit, BuilderAlways, ExecutionAlways, etc.) to let
684
+ // the user control bid source preferences and value comparison. Also add external builder api
685
+ // support when it is implemented.
686
+ const isBuildingOnFull = chain.forkChoice.shouldBuildOnFull(parentBlock, slot);
687
+ const bidParentBlockHash = isBuildingOnFull ? parentBlock.executionPayloadBlockHash : parentBlock.parentBlockHash;
688
+ const builderBid = chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex);
689
+ const logCtx = {
690
+ slot,
691
+ parentSlot,
692
+ parentBlockRoot: parentBlockRootHex,
693
+ parentBlockHash: parentBlock.executionPayloadBlockHash,
694
+ fork,
695
+ ...(builderBid !== null
696
+ ? {
697
+ bidValue: builderBid.message.value,
698
+ builderIndex: builderBid.message.builderIndex,
699
+ bidBlockHash: toRootHex(builderBid.message.blockHash),
700
+ }
701
+ : {}),
702
+ };
687
703
  const commonBlockBodyPromise = chain.produceCommonBlockBody({
688
704
  slot,
689
705
  parentBlock,
690
706
  randaoReveal,
691
707
  graffiti: graffitiBytes,
692
708
  });
693
- let timer;
694
- try {
695
- timer = metrics?.blockProductionTime.startTimer();
696
- const { block, executionPayloadValue, consensusBlockValue } = await chain.produceBlock({
697
- slot,
698
- parentBlock,
699
- randaoReveal,
700
- graffiti: graffitiBytes,
701
- feeRecipient,
702
- commonBlockBodyPromise,
703
- });
704
- metrics?.blockProductionSuccess.inc({ source });
705
- metrics?.blockProductionNumAggregated.observe({ source }, block.body.attestations.length);
706
- metrics?.blockProductionConsensusBlockValue.observe({ source }, Number(formatWeiToEth(consensusBlockValue)));
707
- metrics?.blockProductionExecutionPayloadValue.observe({ source }, Number(formatWeiToEth(executionPayloadValue)));
708
- const blockRoot = toRootHex(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block));
709
- logger.verbose("Produced block", {
710
- slot,
711
- executionPayloadValue,
712
- consensusBlockValue,
713
- root: blockRoot,
714
- });
715
- if (chain.opts.persistProducedBlocks) {
716
- void chain.persistBlock(block, "produced_engine_block");
709
+ const baseAttrs = {
710
+ slot,
711
+ parentBlock,
712
+ randaoReveal,
713
+ graffiti: graffitiBytes,
714
+ feeRecipient,
715
+ commonBlockBodyPromise,
716
+ };
717
+ metrics?.blockProductionRequests.inc({ source: ProducedBlockSource.engine });
718
+ if (builderBid !== null) {
719
+ metrics?.blockProductionRequests.inc({ source: ProducedBlockSource.builder });
720
+ }
721
+ const timed = (source, fn) => {
722
+ const t = metrics?.blockProductionTime.startTimer();
723
+ return fn().finally(() => t?.({ source }));
724
+ };
725
+ // Always build local block. If builder bid available, also build with it in parallel and prefer it.
726
+ const [engineResult, bidResult] = await Promise.allSettled([
727
+ timed(ProducedBlockSource.engine, () => chain.produceBlock(baseAttrs)),
728
+ builderBid !== null
729
+ ? timed(ProducedBlockSource.builder, () => chain.produceBlock({ ...baseAttrs, builderBid }))
730
+ : Promise.reject(),
731
+ ]);
732
+ let bestResult = null;
733
+ let source = ProducedBlockSource.engine;
734
+ if (builderBid !== null && bidResult.status === "fulfilled") {
735
+ source = ProducedBlockSource.builder;
736
+ bestResult = bidResult;
737
+ logger.info("Selected builder bid block", logCtx);
738
+ }
739
+ else if (engineResult.status === "fulfilled") {
740
+ source = ProducedBlockSource.engine;
741
+ bestResult = engineResult;
742
+ if (builderBid !== null) {
743
+ logger.warn("Builder bid block production failed, using local block", logCtx);
717
744
  }
718
- return {
719
- data: block,
720
- meta: {
721
- version: fork,
722
- consensusBlockValue,
723
- },
724
- };
725
745
  }
726
- finally {
727
- timer?.({ source });
746
+ if (bestResult === null || bestResult.status !== "fulfilled") {
747
+ const engineReason = engineResult.status === "rejected" ? engineResult.reason : undefined;
748
+ const bidReason = builderBid !== null && bidResult.status === "rejected" ? bidResult.reason : undefined;
749
+ logger.error("Block production failed", { ...logCtx, engineReason, bidReason });
750
+ throw Error(`Block production failed: engine=${engineReason ?? "n/a"} builder=${bidReason ?? "n/a"}`);
751
+ }
752
+ const { block, executionPayloadValue, consensusBlockValue } = bestResult.value;
753
+ metrics?.blockProductionSuccess.inc({ source });
754
+ metrics?.blockProductionNumAggregated.observe({ source }, block.body.attestations.length);
755
+ metrics?.blockProductionConsensusBlockValue.observe({ source }, Number(formatWeiToEth(consensusBlockValue)));
756
+ metrics?.blockProductionExecutionPayloadValue.observe({ source }, Number(formatWeiToEth(executionPayloadValue)));
757
+ const blockRoot = toRootHex(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block));
758
+ logger.verbose("Produced block", {
759
+ ...logCtx,
760
+ executionPayloadValue,
761
+ consensusBlockValue,
762
+ root: blockRoot,
763
+ });
764
+ if (chain.opts.persistProducedBlocks) {
765
+ void chain.persistBlock(block, "produced_engine_block");
728
766
  }
767
+ return {
768
+ data: block,
769
+ meta: { version: fork, consensusBlockValue },
770
+ };
729
771
  },
730
772
  async produceAttestationData({ committeeIndex, slot }) {
731
773
  notWhileSyncing();
@@ -801,21 +843,31 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
801
843
  }
802
844
  notWhileSyncing();
803
845
  await waitForSlot(slot);
804
- const block = chain.forkChoice.getCanonicalBlockClosestLteSlot(slot);
846
+ const block = chain.forkChoice.getCanonicalBlockAtSlot(slot);
805
847
  if (!block) {
806
- throw new ApiError(404, `No canonical block found at or before slot=${slot}`);
848
+ // No block is seen at slot. Return 404 so vc can skip casting payload attestation.
849
+ throw new ApiError(404, `No canonical block found at slot=${slot}`);
807
850
  }
808
- const blockIsForSlot = block.slot === slot;
809
851
  const payloadInput = chain.seenPayloadEnvelopeInputCache.get(block.blockRoot);
810
852
  // Spec: set payload_present only if the envelope was seen before get_payload_due_ms()
811
853
  // into the slot. Use the envelope's own arrival time (getPayloadEnvelopeSource), not
812
854
  // the input's creation time.
813
855
  const payloadDueSec = config.getPayloadDueMs() / 1000;
814
- const payloadPresent = blockIsForSlot &&
815
- payloadInput !== undefined &&
816
- payloadInput.hasPayloadEnvelope() &&
817
- chain.clock.secFromSlot(slot, payloadInput.getPayloadEnvelopeSource().seenTimestampSec) < payloadDueSec;
818
- const blobDataAvailable = blockIsForSlot && (payloadInput?.hasAllData() ?? false);
856
+ const payloadSeenSec = payloadInput?.hasPayloadEnvelope() === true
857
+ ? chain.clock.secFromSlot(slot, payloadInput.getPayloadEnvelopeSource().seenTimestampSec)
858
+ : null;
859
+ const payloadPresent = payloadSeenSec !== null && payloadSeenSec < payloadDueSec;
860
+ const blobDataAvailable = payloadInput?.hasAllData() === true;
861
+ logger.debug("Produced payload attestation data", {
862
+ slot,
863
+ blockRoot: block.blockRoot,
864
+ blockSlot: block.slot,
865
+ payloadPresent,
866
+ blobDataAvailable,
867
+ hasPayloadInput: payloadInput !== undefined,
868
+ payloadSeenSec,
869
+ payloadDueSec,
870
+ });
819
871
  return {
820
872
  data: {
821
873
  beaconBlockRoot: fromHex(block.blockRoot),
@@ -871,7 +923,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
871
923
  const isPostFulu = isForkPostFulu(config.getForkName(startSlot));
872
924
  const maxFutureEpoch = isPostFulu && nearNextEpoch && opts?.v2 ? nextEpoch + 1 : nextEpoch;
873
925
  if (currentEpoch >= 0 && epoch > maxFutureEpoch) {
874
- throw new ApiError(400, `Requested epoch ${epoch} must not be more than one epoch in the future`);
926
+ throw new ApiError(400, `Requested epoch ${epoch} must not be more than ${maxFutureEpoch}, currentEpoch=${currentEpoch}, v2=${opts?.v2 ?? false}`);
875
927
  }
876
928
  const head = chain.forkChoice.getHead();
877
929
  let state = undefined;
@@ -945,16 +997,29 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
945
997
  for (let i = 0; i < SLOTS_PER_EPOCH; i++) {
946
998
  duties.push({ slot: startSlot + i, validatorIndex: indexes[i], pubkey: pubkeys[i] });
947
999
  }
948
- // Returns `null` on the one-off scenario where the genesis block decides its own shuffling.
949
- // It should be set to the latest block applied to `self` or the genesis block root.
950
- const dependentRoot =
951
1000
  // In v2 the dependent root is different after fulu due to deterministic proposer lookahead
952
- proposerShufflingDecisionRoot(opts?.v2 ? config.getForkName(startSlot) : ForkName.phase0, state, epoch) ||
953
- (await getGenesisBlockRoot(state));
1001
+ let dependentRoot = proposerShufflingDecisionRoot(opts?.v2 ? config.getForkName(startSlot) : ForkName.phase0, state, epoch);
1002
+ const logCtx = {
1003
+ epoch,
1004
+ stateSlot: state.slot,
1005
+ stateEpoch: state.epoch,
1006
+ v2: opts?.v2 ?? false,
1007
+ };
1008
+ if (dependentRoot === null) {
1009
+ // fallback to get_proposer_duties() v1, also in lodestar v1.43
1010
+ logger.verbose("Proposer duties decision root not in state, falling back to state epoch", logCtx);
1011
+ dependentRoot = proposerShufflingDecisionRoot(ForkName.phase0, state, state.epoch);
1012
+ }
1013
+ if (dependentRoot === null) {
1014
+ logger.verbose("Proposer duties decision root not in state, falling back to genesis block root", logCtx);
1015
+ dependentRoot = await getGenesisBlockRoot(state);
1016
+ }
1017
+ const dependentRootHex = toRootHex(dependentRoot);
1018
+ logger.verbose("Computed proposer duties decision root", { ...logCtx, dependentRoot: dependentRootHex });
954
1019
  return {
955
1020
  data: duties,
956
1021
  meta: {
957
- dependentRoot: toRootHex(dependentRoot),
1022
+ dependentRoot: dependentRootHex,
958
1023
  executionOptimistic: isOptimisticBlock(head),
959
1024
  },
960
1025
  };
@@ -1103,23 +1168,6 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
1103
1168
  meta: { executionOptimistic: isOptimisticBlock(head) },
1104
1169
  };
1105
1170
  },
1106
- async getAggregatedAttestation({ attestationDataRoot, slot }) {
1107
- notWhileSyncing();
1108
- await waitForSlot(slot); // Must never request for a future slot > currentSlot
1109
- const dataRootHex = toRootHex(attestationDataRoot);
1110
- const aggregate = chain.attestationPool.getAggregate(slot, dataRootHex, null);
1111
- const fork = chain.config.getForkName(slot);
1112
- if (isForkPostElectra(fork)) {
1113
- throw new ApiError(400, `Use getAggregatedAttestationV2 to retrieve aggregated attestations for post-electra fork=${fork}`);
1114
- }
1115
- if (!aggregate) {
1116
- throw new ApiError(404, `No aggregated attestation for slot=${slot}, dataRoot=${dataRootHex}`);
1117
- }
1118
- metrics?.production.producedAggregateParticipants.observe(aggregate.aggregationBits.getTrueBitIndexes().length);
1119
- return {
1120
- data: aggregate,
1121
- };
1122
- },
1123
1171
  async getAggregatedAttestationV2({ attestationDataRoot, slot, committeeIndex }) {
1124
1172
  notWhileSyncing();
1125
1173
  await waitForSlot(slot); // Must never request for a future slot > currentSlot
@@ -1134,9 +1182,6 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
1134
1182
  meta: { version: config.getForkName(slot) },
1135
1183
  };
1136
1184
  },
1137
- async publishAggregateAndProofs({ signedAggregateAndProofs }) {
1138
- await this.publishAggregateAndProofsV2({ signedAggregateAndProofs });
1139
- },
1140
1185
  async publishAggregateAndProofsV2({ signedAggregateAndProofs }) {
1141
1186
  notWhileSyncing();
1142
1187
  const seenTimestampSec = Date.now() / 1000;