@lodestar/beacon-node 1.49.0-dev.fbb58f7280 → 1.49.0-rc.0

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 (212) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +13 -4
  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 +4 -2
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/chain/archiveStore/archiveStore.d.ts +1 -2
  8. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  9. package/lib/chain/archiveStore/archiveStore.js +5 -8
  10. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  11. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
  12. package/lib/chain/archiveStore/historicalState/metrics.js +5 -6
  13. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  14. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +11 -2
  15. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  16. package/lib/chain/archiveStore/utils/archiveBlocks.js +46 -28
  17. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  18. package/lib/chain/archiveStore/utils/pruneHistory.d.ts +2 -2
  19. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
  20. package/lib/chain/archiveStore/utils/pruneHistory.js +1 -0
  21. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  22. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  23. package/lib/chain/blocks/importExecutionPayload.js +13 -0
  24. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  25. package/lib/chain/chain.d.ts +10 -0
  26. package/lib/chain/chain.d.ts.map +1 -1
  27. package/lib/chain/chain.js +85 -16
  28. package/lib/chain/chain.js.map +1 -1
  29. package/lib/chain/errors/envelopeReconstructionError.d.ts +23 -0
  30. package/lib/chain/errors/envelopeReconstructionError.d.ts.map +1 -0
  31. package/lib/chain/errors/envelopeReconstructionError.js +13 -0
  32. package/lib/chain/errors/envelopeReconstructionError.js.map +1 -0
  33. package/lib/chain/errors/index.d.ts +1 -0
  34. package/lib/chain/errors/index.d.ts.map +1 -1
  35. package/lib/chain/errors/index.js +1 -0
  36. package/lib/chain/errors/index.js.map +1 -1
  37. package/lib/chain/errors/payloadAttestation.d.ts +4 -0
  38. package/lib/chain/errors/payloadAttestation.d.ts.map +1 -1
  39. package/lib/chain/errors/payloadAttestation.js +1 -0
  40. package/lib/chain/errors/payloadAttestation.js.map +1 -1
  41. package/lib/chain/interface.d.ts +6 -1
  42. package/lib/chain/interface.d.ts.map +1 -1
  43. package/lib/chain/interface.js.map +1 -1
  44. package/lib/chain/options.d.ts +2 -4
  45. package/lib/chain/options.d.ts.map +1 -1
  46. package/lib/chain/options.js +1 -1
  47. package/lib/chain/options.js.map +1 -1
  48. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  49. package/lib/chain/produceBlock/computeNewStateRoot.js +4 -2
  50. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  51. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  52. package/lib/chain/validation/payloadAttestationMessage.js +8 -1
  53. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  54. package/lib/db/beacon.d.ts +1 -2
  55. package/lib/db/beacon.d.ts.map +1 -1
  56. package/lib/db/beacon.js +1 -3
  57. package/lib/db/beacon.js.map +1 -1
  58. package/lib/db/buckets.d.ts +0 -1
  59. package/lib/db/buckets.d.ts.map +1 -1
  60. package/lib/db/buckets.js +1 -1
  61. package/lib/db/buckets.js.map +1 -1
  62. package/lib/db/interface.d.ts +1 -2
  63. package/lib/db/interface.d.ts.map +1 -1
  64. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  65. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  66. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts +21 -9
  67. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts.map +1 -1
  68. package/lib/db/repositories/executionPayloadEnvelopeArchive.js +32 -12
  69. package/lib/db/repositories/executionPayloadEnvelopeArchive.js.map +1 -1
  70. package/lib/db/repositories/index.d.ts +1 -2
  71. package/lib/db/repositories/index.d.ts.map +1 -1
  72. package/lib/db/repositories/index.js +1 -2
  73. package/lib/db/repositories/index.js.map +1 -1
  74. package/lib/execution/engine/disabled.d.ts +1 -0
  75. package/lib/execution/engine/disabled.d.ts.map +1 -1
  76. package/lib/execution/engine/disabled.js +3 -0
  77. package/lib/execution/engine/disabled.js.map +1 -1
  78. package/lib/execution/engine/http.d.ts +2 -1
  79. package/lib/execution/engine/http.d.ts.map +1 -1
  80. package/lib/execution/engine/http.js +7 -1
  81. package/lib/execution/engine/http.js.map +1 -1
  82. package/lib/execution/engine/interface.d.ts +3 -1
  83. package/lib/execution/engine/interface.d.ts.map +1 -1
  84. package/lib/execution/engine/mock.d.ts +1 -0
  85. package/lib/execution/engine/mock.d.ts.map +1 -1
  86. package/lib/execution/engine/mock.js +14 -2
  87. package/lib/execution/engine/mock.js.map +1 -1
  88. package/lib/execution/engine/types.d.ts +11 -0
  89. package/lib/execution/engine/types.d.ts.map +1 -1
  90. package/lib/execution/engine/types.js +10 -0
  91. package/lib/execution/engine/types.js.map +1 -1
  92. package/lib/metrics/metrics/beacon.d.ts +9 -0
  93. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  94. package/lib/metrics/metrics/beacon.js +16 -0
  95. package/lib/metrics/metrics/beacon.js.map +1 -1
  96. package/lib/metrics/metrics/lodestar.d.ts +21 -11
  97. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  98. package/lib/metrics/metrics/lodestar.js +48 -23
  99. package/lib/metrics/metrics/lodestar.js.map +1 -1
  100. package/lib/metrics/metrics.d.ts +3 -1
  101. package/lib/metrics/metrics.d.ts.map +1 -1
  102. package/lib/metrics/metrics.js +2 -2
  103. package/lib/metrics/metrics.js.map +1 -1
  104. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -1
  105. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +47 -34
  106. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -1
  107. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
  108. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +23 -4
  109. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
  110. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  111. package/lib/network/reqresp/handlers/index.js +20 -4
  112. package/lib/network/reqresp/handlers/index.js.map +1 -1
  113. package/lib/node/nodejs.d.ts +2 -7
  114. package/lib/node/nodejs.d.ts.map +1 -1
  115. package/lib/node/nodejs.js +2 -22
  116. package/lib/node/nodejs.js.map +1 -1
  117. package/lib/sync/interface.d.ts +1 -2
  118. package/lib/sync/interface.d.ts.map +1 -1
  119. package/lib/sync/options.d.ts +0 -6
  120. package/lib/sync/options.d.ts.map +1 -1
  121. package/lib/sync/options.js +0 -2
  122. package/lib/sync/options.js.map +1 -1
  123. package/lib/sync/types.d.ts +18 -3
  124. package/lib/sync/types.d.ts.map +1 -1
  125. package/lib/sync/types.js +19 -3
  126. package/lib/sync/types.js.map +1 -1
  127. package/lib/sync/unknownBlock.d.ts +19 -0
  128. package/lib/sync/unknownBlock.d.ts.map +1 -1
  129. package/lib/sync/unknownBlock.js +184 -15
  130. package/lib/sync/unknownBlock.js.map +1 -1
  131. package/lib/util/execution.d.ts +42 -0
  132. package/lib/util/execution.d.ts.map +1 -1
  133. package/lib/util/execution.js +123 -2
  134. package/lib/util/execution.js.map +1 -1
  135. package/lib/util/headerEnvelope.d.ts +17 -0
  136. package/lib/util/headerEnvelope.d.ts.map +1 -0
  137. package/lib/util/headerEnvelope.js +43 -0
  138. package/lib/util/headerEnvelope.js.map +1 -0
  139. package/lib/util/shuffle.d.ts +0 -4
  140. package/lib/util/shuffle.d.ts.map +1 -1
  141. package/lib/util/shuffle.js +0 -8
  142. package/lib/util/shuffle.js.map +1 -1
  143. package/package.json +16 -16
  144. package/src/api/impl/beacon/blocks/index.ts +16 -3
  145. package/src/api/impl/beacon/pool/index.ts +6 -2
  146. package/src/chain/archiveStore/archiveStore.ts +6 -9
  147. package/src/chain/archiveStore/historicalState/metrics.ts +5 -7
  148. package/src/chain/archiveStore/utils/archiveBlocks.ts +54 -32
  149. package/src/chain/archiveStore/utils/pruneHistory.ts +4 -2
  150. package/src/chain/blocks/importExecutionPayload.ts +14 -0
  151. package/src/chain/chain.ts +96 -20
  152. package/src/chain/errors/envelopeReconstructionError.ts +22 -0
  153. package/src/chain/errors/index.ts +1 -0
  154. package/src/chain/errors/payloadAttestation.ts +2 -0
  155. package/src/chain/interface.ts +6 -1
  156. package/src/chain/options.ts +3 -5
  157. package/src/chain/produceBlock/computeNewStateRoot.ts +9 -2
  158. package/src/chain/validation/payloadAttestationMessage.ts +9 -0
  159. package/src/db/beacon.ts +0 -5
  160. package/src/db/buckets.ts +2 -2
  161. package/src/db/interface.ts +0 -3
  162. package/src/db/repositories/executionPayloadEnvelopeArchive.ts +43 -13
  163. package/src/db/repositories/index.ts +6 -2
  164. package/src/execution/engine/disabled.ts +4 -0
  165. package/src/execution/engine/http.ts +12 -0
  166. package/src/execution/engine/interface.ts +4 -1
  167. package/src/execution/engine/mock.ts +22 -2
  168. package/src/execution/engine/types.ts +25 -0
  169. package/src/metrics/metrics/beacon.ts +16 -0
  170. package/src/metrics/metrics/lodestar.ts +58 -26
  171. package/src/metrics/metrics.ts +7 -2
  172. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +57 -39
  173. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +27 -5
  174. package/src/network/reqresp/handlers/index.ts +49 -5
  175. package/src/node/nodejs.ts +0 -27
  176. package/src/sync/interface.ts +1 -2
  177. package/src/sync/options.ts +0 -8
  178. package/src/sync/types.ts +19 -3
  179. package/src/sync/unknownBlock.ts +192 -14
  180. package/src/util/execution.ts +175 -2
  181. package/src/util/headerEnvelope.ts +76 -0
  182. package/src/util/shuffle.ts +0 -9
  183. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts +0 -20
  184. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  185. package/lib/chain/archiveStore/utils/updateBackfillRange.js +0 -40
  186. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +0 -1
  187. package/lib/db/repositories/backfilledRanges.d.ts +0 -18
  188. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  189. package/lib/db/repositories/backfilledRanges.js +0 -26
  190. package/lib/db/repositories/backfilledRanges.js.map +0 -1
  191. package/lib/sync/backfill/backfill.d.ts +0 -169
  192. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  193. package/lib/sync/backfill/backfill.js +0 -686
  194. package/lib/sync/backfill/backfill.js.map +0 -1
  195. package/lib/sync/backfill/errors.d.ts +0 -30
  196. package/lib/sync/backfill/errors.d.ts.map +0 -1
  197. package/lib/sync/backfill/errors.js +0 -15
  198. package/lib/sync/backfill/errors.js.map +0 -1
  199. package/lib/sync/backfill/index.d.ts +0 -2
  200. package/lib/sync/backfill/index.d.ts.map +0 -1
  201. package/lib/sync/backfill/index.js +0 -2
  202. package/lib/sync/backfill/index.js.map +0 -1
  203. package/lib/sync/backfill/verify.d.ts +0 -18
  204. package/lib/sync/backfill/verify.d.ts.map +0 -1
  205. package/lib/sync/backfill/verify.js +0 -36
  206. package/lib/sync/backfill/verify.js.map +0 -1
  207. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  208. package/src/db/repositories/backfilledRanges.ts +0 -29
  209. package/src/sync/backfill/backfill.ts +0 -916
  210. package/src/sync/backfill/errors.ts +0 -23
  211. package/src/sync/backfill/index.ts +0 -1
  212. package/src/sync/backfill/verify.ts +0 -58
@@ -123,6 +123,29 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
123
123
  labelNames: ["eventName"],
124
124
  buckets: [0.001, 0.003, 0.01, 0.03, 0.1],
125
125
  }),
126
+ reqRespByRange: {
127
+ requestedSlots: register.histogram({
128
+ name: "lodestar_reqresp_by_range_requested_slots",
129
+ help: "Histogram of slot count requested per served by_range request",
130
+ labelNames: ["method"],
131
+ buckets: [1, 16, 32, 64, 128],
132
+ }),
133
+ // data_column_sidecars_by_range is the only by_range request carrying columns
134
+ requestedColumns: register.histogram({
135
+ name: "lodestar_reqresp_by_range_requested_columns",
136
+ help: "Histogram of column count requested per served data_column_sidecars_by_range request",
137
+ // 128 is NUMBER_OF_COLUMNS.
138
+ buckets: [1, 4, 8, 32, 128],
139
+ }),
140
+ servedBytes: register.histogram({
141
+ name: "lodestar_reqresp_by_range_served_bytes",
142
+ help: "Histogram of total serialized bytes served per by_range request",
143
+ labelNames: ["method"],
144
+ // min bucket is roughly a typical mainnet block is 100MB,
145
+ // max bucket is roughly 100 * MAX_PAYLOAD_SIZE
146
+ buckets: [100e3, 1e6, 10e6, 100e6, 1000e6],
147
+ }),
148
+ },
126
149
  regenQueue: {
127
150
  length: register.gauge({
128
151
  name: "lodestar_regen_queue_length",
@@ -341,6 +364,14 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
341
364
  help: "Total count of epoch transition by caller",
342
365
  labelNames: ["caller"],
343
366
  }),
367
+ // this metrics stay here instead of @lodestar/state-transition in order to prepare
368
+ // for the native zig state-transition in the future
369
+ stateHashTreeRootTime: register.histogram({
370
+ name: "lodestar_stfn_hash_tree_root_seconds",
371
+ help: "Time to compute the hash tree root of a post state in seconds",
372
+ buckets: [0.01, 0.05, 0.1, 0.2, 0.3, 0.5],
373
+ labelNames: ["source"],
374
+ }),
344
375
  // BLS verifier thread pool and queue
345
376
  bls: {
346
377
  aggregatedPubkeys: register.counter({
@@ -586,6 +617,16 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
586
617
  help: "Count of payload (execution payload envelope) sync triggers, labeled by their source",
587
618
  labelNames: ["source"],
588
619
  }),
620
+ deferredPayloadResult: register.counter({
621
+ name: "lodestar_sync_deferred_payload_result_total",
622
+ help: "Outcome of a slot's deferred optimistic payload searches, by result",
623
+ labelNames: ["result"],
624
+ }),
625
+ deferredPayloadPolls: register.histogram({
626
+ name: "lodestar_sync_deferred_payload_polls_count",
627
+ help: "Poll ticks after PAYLOAD_DUE until a searched payload was imported",
628
+ buckets: [0, 1, 2, 3, 6],
629
+ }),
589
630
  pendingBlocks: register.gauge({
590
631
  name: "lodestar_sync_unknown_block_pending_blocks_size",
591
632
  help: "Current size of UnknownBlockSync pending blocks cache",
@@ -909,6 +950,13 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
909
950
  help: "Count of errors, by error type, while processing execution payload envelopes",
910
951
  labelNames: ["error"],
911
952
  }),
953
+ executionPayload: {
954
+ recvToValidation: register.histogram({
955
+ name: "lodestar_gossip_execution_payload_envelope_received_to_execution_payload_verification_seconds",
956
+ help: "Time elapsed between execution payload envelope received and execution payload verification",
957
+ buckets: [0.05, 0.1, 0.25, 0.5, 1, 2, 3, 4, 6, 8],
958
+ }),
959
+ },
912
960
  },
913
961
  gossipExecutionPayloadBid: {
914
962
  elapsedTimeTillReceived: register.histogram({
@@ -1043,29 +1091,6 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
1043
1091
  help: "The total result of calling notifyForkchoiceUpdate execution engine api",
1044
1092
  labelNames: ["result"],
1045
1093
  }),
1046
- backfillSync: {
1047
- backfilledTillSlot: register.gauge({
1048
- name: "lodestar_backfill_till_slot",
1049
- help: "Current lowest backfilled slot",
1050
- }),
1051
- prevFinOrWsSlot: register.gauge({
1052
- name: "lodestar_backfill_prev_fin_or_ws_slot",
1053
- help: "Slot of previous finalized or wsCheckpoint block to be validated",
1054
- }),
1055
- totalBlocks: register.gauge({
1056
- name: "lodestar_backfill_sync_blocks_total",
1057
- help: "Total amount of backfilled blocks",
1058
- labelNames: ["method"],
1059
- }),
1060
- errors: register.gauge({
1061
- name: "lodestar_backfill_sync_errors_total",
1062
- help: "Total number of errors while backfilling",
1063
- }),
1064
- status: register.gauge({
1065
- name: "lodestar_backfill_sync_status",
1066
- help: "Current backfill syncing status: [Aborted, Pending, Syncing, Completed]",
1067
- }),
1068
- },
1069
1094
  opPool: {
1070
1095
  aggregatedAttestationPool: {
1071
1096
  size: register.gauge({
@@ -1 +1 @@
1
- {"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,7 @@ export type Metrics = BeaconMetrics & ForkChoiceMetrics & BeaconStateTransitionM
9
9
  register: RegistryMetricCreator;
10
10
  close: () => void;
11
11
  };
12
- export declare function createMetrics(opts: MetricsOptions, genesisTime: number, externalRegistries?: Registry[]): Metrics;
12
+ export declare function createMetrics(opts: MetricsOptions, genesisTime: number, externalRegistries?: Registry[], { collectNodeMetrics }?: {
13
+ collectNodeMetrics?: boolean;
14
+ }): Metrics;
13
15
  //# sourceMappingURL=metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/metrics/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAuB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAC,4BAA4B,EAAa,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAC,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAC,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,aAAa,GACjC,iBAAiB,GACjB,4BAA4B,GAC5B,eAAe,GAAG;IAAC,QAAQ,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAC,CAAC;AAEzE,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,GAAE,QAAQ,EAAO,GAAG,OAAO,CAiCrH"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/metrics/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAuB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAC,4BAA4B,EAAa,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAC,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAC,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,aAAa,GACjC,iBAAiB,GACjB,4BAA4B,GAC5B,eAAe,GAAG;IAAC,QAAQ,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAC,CAAC;AAEzE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,MAAM,EACnB,kBAAkB,GAAE,QAAQ,EAAO,EACnC,EAAC,kBAAyB,EAAC,GAAE;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAM,GAC/D,OAAO,CAiCT"}
@@ -4,7 +4,7 @@ import { createBeaconMetrics } from "./metrics/beacon.js";
4
4
  import { createLodestarMetrics } from "./metrics/lodestar.js";
5
5
  import { collectNodeJSMetrics } from "./nodeJsMetrics.js";
6
6
  import { RegistryMetricCreator } from "./utils/registryMetricCreator.js";
7
- export function createMetrics(opts, genesisTime, externalRegistries = []) {
7
+ export function createMetrics(opts, genesisTime, externalRegistries = [], { collectNodeMetrics = true } = {}) {
8
8
  const register = new RegistryMetricCreator();
9
9
  const beacon = createBeaconMetrics(register);
10
10
  const forkChoice = getForkChoiceMetrics(register);
@@ -14,7 +14,7 @@ export function createMetrics(opts, genesisTime, externalRegistries = []) {
14
14
  lodestar.unhandledPromiseRejections.inc();
15
15
  };
16
16
  process.on("unhandledRejection", onUnhandledRejection);
17
- const nodeJsMetricsClose = collectNodeJSMetrics(register);
17
+ const nodeJsMetricsClose = collectNodeMetrics ? collectNodeJSMetrics(register) : () => { };
18
18
  const close = () => {
19
19
  process.removeListener("unhandledRejection", onUnhandledRejection);
20
20
  nodeJsMetricsClose();
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics/metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAA+B,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAgB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAkB,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAOvE,MAAM,UAAU,aAAa,CAAC,IAAoB,EAAE,WAAmB,EAAE,kBAAkB,GAAe,EAAE;IAC1G,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,oBAAoB,GAAG,CAAC,MAAe,EAAQ,EAAE;QACrD,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;QACnE,kBAAkB,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,4BAA4B;IAC5B,KAAK,MAAM,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,MAAmC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,GAAG,UAAU;QACb,GAAG,QAAQ;QACX,GAAG,eAAe;QAClB,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics/metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAA+B,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAgB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAkB,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAOvE,MAAM,UAAU,aAAa,CAC3B,IAAoB,EACpB,WAAmB,EACnB,kBAAkB,GAAe,EAAE,EACnC,EAAC,kBAAkB,GAAG,IAAI,EAAC,GAAmC,EAAE;IAEhE,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,oBAAoB,GAAG,CAAC,MAAe,EAAQ,EAAE;QACrD,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;QACnE,kBAAkB,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,4BAA4B;IAC5B,KAAK,MAAM,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,MAAmC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,GAAG,UAAU;QACb,GAAG,QAAQ;QACX,GAAG,eAAe;QAClB,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelopesByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAG/C,wBAAuB,kCAAkC,CACvD,OAAO,EAAE,KAAK,CAAC,uCAAuC,EACtD,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAyEjC;AAED,wBAAgB,+CAA+C,CAC7D,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,KAAK,CAAC,uCAAuC,GACrD,KAAK,CAAC,uCAAuC,CAqB/C"}
1
+ {"version":3,"file":"executionPayloadEnvelopesByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAI/C,wBAAuB,kCAAkC,CACvD,OAAO,EAAE,KAAK,CAAC,uCAAuC,EACtD,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAyFjC;AAED,wBAAgB,+CAA+C,CAC7D,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,KAAK,CAAC,uCAAuC,GACrD,KAAK,CAAC,uCAAuC,CAqB/C"}
@@ -2,6 +2,8 @@ import { PayloadStatus } from "@lodestar/fork-choice";
2
2
  import { GENESIS_SLOT } from "@lodestar/params";
3
3
  import { RespStatus, ResponseError } from "@lodestar/reqresp";
4
4
  import { computeEpochAtSlot } from "@lodestar/state-transition";
5
+ import { EnvelopeReconstructionError } from "../../../chain/errors/index.js";
6
+ import { reconstructExecutionPayloadEnvelopesByRange } from "../../../util/execution.js";
5
7
  import { prettyPrintPeerId } from "../../util.js";
6
8
  export async function* onExecutionPayloadEnvelopesByRange(request, chain, db, peerId, peerClient) {
7
9
  const { startSlot, count } = validateExecutionPayloadEnvelopesByRangeRequest(chain.config, request);
@@ -18,51 +20,62 @@ export async function* onExecutionPayloadEnvelopesByRange(request, chain, db, pe
18
20
  });
19
21
  throw new ResponseError(RespStatus.RESOURCE_UNAVAILABLE, `Requested range is before earliestAvailableSlot startSlot=${startSlot} count=${count} earliestAvailableSlot=${chain.earliestAvailableSlot}`);
20
22
  }
21
- const finalized = db.executionPayloadEnvelopeArchive;
22
23
  // Use the finalized block's actual slot as the checkpoint epoch-boundary slot may be skipped
23
24
  const finalizedSlot = chain.forkChoice.getFinalizedBlock().slot;
24
25
  // The finalized block's envelope stays in the hot db until the next finalization run
25
26
  const archiveMaxSlot = finalizedSlot - 1;
26
- // Finalized range of envelopes
27
- if (startSlot <= archiveMaxSlot) {
28
- for await (const { key, value: envelopeBytes } of finalized.binaryEntriesStream({
29
- gte: startSlot,
30
- lt: Math.min(endSlot, archiveMaxSlot + 1),
31
- })) {
32
- const slot = finalized.decodeKey(key);
33
- yield {
34
- data: envelopeBytes,
35
- boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot)),
36
- };
37
- }
38
- }
39
- // Non-finalized range of envelopes
40
- if (endSlot > archiveMaxSlot) {
41
- const headBlock = chain.forkChoice.getHead();
42
- const headRoot = headBlock.blockRoot;
43
- const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot, headBlock.payloadStatus);
44
- // Iterate head chain with ascending block numbers
45
- for (let i = headChain.length - 1; i >= 0; i--) {
46
- const block = headChain[i];
47
- if (block.slot > archiveMaxSlot && block.slot >= startSlot && block.slot < endSlot) {
48
- // Skip EMPTY blocks
49
- if (block.payloadStatus !== PayloadStatus.FULL) {
50
- continue;
51
- }
52
- const envelopeBytes = await chain.getSerializedExecutionPayloadEnvelope(block.slot, block.blockRoot);
53
- if (!envelopeBytes) {
54
- throw new ResponseError(RespStatus.SERVER_ERROR, `No envelope for root ${block.blockRoot} slot ${block.slot}, startSlot=${startSlot} endSlot=${endSlot} finalizedSlot=${finalizedSlot}`);
55
- }
27
+ let yielded = 0;
28
+ try {
29
+ if (startSlot <= archiveMaxSlot) {
30
+ for await (const { slot, envelopeBytes } of reconstructExecutionPayloadEnvelopesByRange(db, chain.executionEngine, chain.logger, chain.metrics, startSlot, Math.min(endSlot, archiveMaxSlot + 1))) {
31
+ yielded++;
56
32
  yield {
57
33
  data: envelopeBytes,
58
- boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(block.slot)),
34
+ boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot)),
59
35
  };
60
36
  }
61
- else if (block.slot >= endSlot) {
62
- break;
37
+ }
38
+ // Non-finalized range of envelopes. The finalized block's own envelope may be archived by a
39
+ // migration that ran since archiveMaxSlot was computed, so this read can reconstruct too.
40
+ if (endSlot > archiveMaxSlot) {
41
+ const headBlock = chain.forkChoice.getHead();
42
+ const headRoot = headBlock.blockRoot;
43
+ const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot, headBlock.payloadStatus);
44
+ // Iterate head chain with ascending block numbers
45
+ for (let i = headChain.length - 1; i >= 0; i--) {
46
+ const block = headChain[i];
47
+ if (block.slot > archiveMaxSlot && block.slot >= startSlot && block.slot < endSlot) {
48
+ // Skip EMPTY blocks
49
+ if (block.payloadStatus !== PayloadStatus.FULL) {
50
+ continue;
51
+ }
52
+ const envelopeBytes = await chain.getSerializedExecutionPayloadEnvelope(block.slot, block.blockRoot);
53
+ if (!envelopeBytes) {
54
+ throw new ResponseError(RespStatus.SERVER_ERROR, `No envelope for root ${block.blockRoot} slot ${block.slot}, startSlot=${startSlot} endSlot=${endSlot} finalizedSlot=${finalizedSlot}`);
55
+ }
56
+ yielded++;
57
+ yield {
58
+ data: envelopeBytes,
59
+ boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(block.slot)),
60
+ };
61
+ }
62
+ else if (block.slot >= endSlot) {
63
+ break;
64
+ }
63
65
  }
64
66
  }
65
67
  }
68
+ catch (e) {
69
+ if (e instanceof EnvelopeReconstructionError) {
70
+ // An unservable entry or our own EL failing: after some envelopes, end short (spec-legal, the
71
+ // peer fetches the rest elsewhere); with nothing served, RESOURCE_UNAVAILABLE rather than
72
+ // SERVER_ERROR so peers don't downscore us for it
73
+ if (yielded > 0)
74
+ return;
75
+ throw new ResponseError(RespStatus.RESOURCE_UNAVAILABLE, `Failed to serve envelopes: ${e.message}`);
76
+ }
77
+ throw e;
78
+ }
66
79
  }
67
80
  export function validateExecutionPayloadEnvelopesByRangeRequest(config, request) {
68
81
  const { startSlot } = request;
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelopesByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPayloadEnvelopesByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelopesByRoot.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,sCAAsC,EAAC,MAAM,wBAAwB,CAAC;AAG9E,wBAAuB,iCAAiC,CACtD,WAAW,EAAE,sCAAsC,EACnD,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAqCjC"}
1
+ {"version":3,"file":"executionPayloadEnvelopesByRoot.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAK9E,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,sCAAsC,EAAC,MAAM,wBAAwB,CAAC;AAG9E,wBAAuB,iCAAiC,CACtD,WAAW,EAAE,sCAAsC,EACnD,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAyDjC"}
@@ -1,9 +1,13 @@
1
+ import { RespStatus, ResponseError } from "@lodestar/reqresp";
1
2
  import { computeEpochAtSlot } from "@lodestar/state-transition";
2
3
  import { toRootHex } from "@lodestar/utils";
4
+ import { EnvelopeReconstructionError } from "../../../chain/errors/index.js";
3
5
  import { prettyPrintPeerId } from "../../util.js";
4
6
  export async function* onExecutionPayloadEnvelopesByRoot(requestBody, chain, db, peerId, peerClient) {
5
7
  // The gloas req/resp spec uses MIN_EPOCHS_FOR_BLOCK_REQUESTS to define the minimum range peers MUST serve.
6
8
  // Archival nodes may still serve older retained payloads to allow genesis sync.
9
+ // Resolve slots first so archived header envelopes are rebuilt in one EL batch, not one call per root
10
+ const requests = [];
7
11
  for (const root of requestBody) {
8
12
  const rootHex = toRootHex(root);
9
13
  const block = chain.forkChoice.getBlockHexDefaultStatus(rootHex);
@@ -17,17 +21,32 @@ export async function* onExecutionPayloadEnvelopesByRoot(requestBody, chain, db,
17
21
  });
18
22
  continue;
19
23
  }
20
- const envelopeBytes = await chain.getSerializedExecutionPayloadEnvelope(slot, rootHex);
24
+ requests.push({ blockSlot: slot, blockRootHex: rootHex });
25
+ }
26
+ let envelopesBytes;
27
+ try {
28
+ // by-root allows omission, so a mismatched envelope is left out rather than failing the response
29
+ envelopesBytes = await chain.getSerializedExecutionPayloadEnvelopes(requests, "omit");
30
+ }
31
+ catch (e) {
32
+ if (e instanceof EnvelopeReconstructionError) {
33
+ throw new ResponseError(RespStatus.RESOURCE_UNAVAILABLE, `Failed to reconstruct archived envelopes: ${e.message}`);
34
+ }
35
+ throw e;
36
+ }
37
+ for (let i = 0; i < requests.length; i++) {
38
+ const { blockSlot, blockRootHex } = requests[i];
39
+ const envelopeBytes = envelopesBytes[i];
21
40
  if (envelopeBytes) {
22
41
  yield {
23
42
  data: envelopeBytes,
24
- boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot)),
43
+ boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(blockSlot)),
25
44
  };
26
45
  }
27
46
  else {
28
47
  chain.logger.debug("Cannot serve ExecutionPayloadEnvelopesByRoot: envelope not found", {
29
- slot,
30
- root: rootHex,
48
+ slot: blockSlot,
49
+ root: blockRootHex,
31
50
  peer: prettyPrintPeerId(peerId),
32
51
  client: peerClient,
33
52
  });