@lodestar/validator 1.43.0-dev.bc569affb9 → 1.43.0-dev.c5efeb6c90

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 (59) hide show
  1. package/lib/metrics.d.ts +10 -0
  2. package/lib/metrics.d.ts.map +1 -1
  3. package/lib/metrics.js +37 -0
  4. package/lib/metrics.js.map +1 -1
  5. package/lib/services/block.d.ts +2 -1
  6. package/lib/services/block.d.ts.map +1 -1
  7. package/lib/services/block.js +4 -3
  8. package/lib/services/block.js.map +1 -1
  9. package/lib/services/blockDuties.d.ts +85 -7
  10. package/lib/services/blockDuties.d.ts.map +1 -1
  11. package/lib/services/blockDuties.js +186 -74
  12. package/lib/services/blockDuties.js.map +1 -1
  13. package/lib/services/chainHeaderTracker.d.ts +8 -2
  14. package/lib/services/chainHeaderTracker.d.ts.map +1 -1
  15. package/lib/services/chainHeaderTracker.js +23 -8
  16. package/lib/services/chainHeaderTracker.js.map +1 -1
  17. package/lib/services/emitter.d.ts +14 -1
  18. package/lib/services/emitter.d.ts.map +1 -1
  19. package/lib/services/emitter.js +22 -0
  20. package/lib/services/emitter.js.map +1 -1
  21. package/lib/services/proposerPreferences.d.ts +25 -0
  22. package/lib/services/proposerPreferences.d.ts.map +1 -0
  23. package/lib/services/proposerPreferences.js +101 -0
  24. package/lib/services/proposerPreferences.js.map +1 -0
  25. package/lib/services/ptc.d.ts +28 -0
  26. package/lib/services/ptc.d.ts.map +1 -0
  27. package/lib/services/ptc.js +89 -0
  28. package/lib/services/ptc.js.map +1 -0
  29. package/lib/services/ptcDuties.d.ts +31 -0
  30. package/lib/services/ptcDuties.d.ts.map +1 -0
  31. package/lib/services/ptcDuties.js +201 -0
  32. package/lib/services/ptcDuties.js.map +1 -0
  33. package/lib/services/validatorStore.d.ts +3 -0
  34. package/lib/services/validatorStore.d.ts.map +1 -1
  35. package/lib/services/validatorStore.js +54 -1
  36. package/lib/services/validatorStore.js.map +1 -1
  37. package/lib/util/externalSignerClient.d.ts +9 -1
  38. package/lib/util/externalSignerClient.d.ts.map +1 -1
  39. package/lib/util/externalSignerClient.js +8 -0
  40. package/lib/util/externalSignerClient.js.map +1 -1
  41. package/lib/util/params.js +3 -0
  42. package/lib/util/params.js.map +1 -1
  43. package/lib/validator.d.ts +4 -1
  44. package/lib/validator.d.ts.map +1 -1
  45. package/lib/validator.js +13 -3
  46. package/lib/validator.js.map +1 -1
  47. package/package.json +12 -12
  48. package/src/metrics.ts +46 -0
  49. package/src/services/block.ts +3 -9
  50. package/src/services/blockDuties.ts +212 -79
  51. package/src/services/chainHeaderTracker.ts +31 -7
  52. package/src/services/emitter.ts +31 -0
  53. package/src/services/proposerPreferences.ts +124 -0
  54. package/src/services/ptc.ts +131 -0
  55. package/src/services/ptcDuties.ts +246 -0
  56. package/src/services/validatorStore.ts +79 -0
  57. package/src/util/externalSignerClient.ts +13 -1
  58. package/src/util/params.ts +3 -0
  59. package/src/validator.ts +47 -5
package/lib/metrics.d.ts CHANGED
@@ -34,6 +34,8 @@ export declare function getMetrics(register: MetricsRegisterExtra, gitData: Lode
34
34
  syncCommitteeStepCallPublishMessage: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
35
35
  syncCommitteeStepCallProduceAggregate: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
36
36
  syncCommitteeStepCallPublishAggregate: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
37
+ ptcStepCallProducePayloadAttestation: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
38
+ ptcStepCallPublishPayloadAttestation: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
37
39
  proposerStepCallProduceBlock: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
38
40
  proposerStepCallPublishBlock: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
39
41
  publishedAttestations: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
@@ -58,6 +60,14 @@ export declare function getMetrics(register: MetricsRegisterExtra, gitData: Lode
58
60
  discoveredIndices: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
59
61
  publishedSyncCommitteeMessage: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
60
62
  publishedSyncCommitteeContribution: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
63
+ publishedPayloadAttestations: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
64
+ ptcError: import("@lodestar/utils").GaugeExtra<{
65
+ error: "publish" | "sign";
66
+ }>;
67
+ ptcDutiesCount: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
68
+ ptcDutiesEpochCount: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
69
+ ptcDutiesReorg: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
70
+ ptcDutiesNextSlot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
61
71
  syncCommitteeDutiesCount: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
62
72
  syncCommitteeDutiesEpochCount: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
63
73
  syncCommitteeDutiesReorg: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,oBAAY,YAAY;IACtB,KAAK,IAAI;IACT,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwXlF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUtE"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,oBAAY,YAAY;IACtB,KAAK,IAAI;IACT,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsalF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUtE"}
package/lib/metrics.js CHANGED
@@ -81,6 +81,16 @@ export function getMetrics(register, gitData) {
81
81
  help: "Time between CONTRIBUTION_DUE_BPS of slot and call publish aggregate",
82
82
  buckets: [0.5, 1, 2, 3, 6, 12],
83
83
  }),
84
+ ptcStepCallProducePayloadAttestation: register.histogram({
85
+ name: "vc_ptc_step_call_produce_payload_attestation_seconds",
86
+ help: "Time between PAYLOAD_ATTESTATION_DUE_BPS of slot and call produce payload attestation",
87
+ buckets: [-3, -1, 0, 1, 2, 3, 6, 12],
88
+ }),
89
+ ptcStepCallPublishPayloadAttestation: register.histogram({
90
+ name: "vc_ptc_step_call_publish_payload_attestation_seconds",
91
+ help: "Time between PAYLOAD_ATTESTATION_DUE_BPS of slot and call publish payload attestation",
92
+ buckets: [-3, -1, 0, 1, 2, 3, 6, 12],
93
+ }),
84
94
  // Min wait time it 0. CallProduceBlock step is a bit redundant since it must be 0, but let's check
85
95
  proposerStepCallProduceBlock: register.histogram({
86
96
  name: "vc_proposer_step_call_produce_block_seconds",
@@ -176,6 +186,33 @@ export function getMetrics(register, gitData) {
176
186
  name: "vc_published_sync_committee_contribution_total",
177
187
  help: "Total published SyncCommitteeContribution",
178
188
  }),
189
+ // PtcService
190
+ publishedPayloadAttestations: register.gauge({
191
+ name: "vc_published_payload_attestations_total",
192
+ help: "Total published PayloadAttestationMessages",
193
+ }),
194
+ ptcError: register.gauge({
195
+ name: "vc_ptc_service_errors",
196
+ help: "Total errors in PtcService",
197
+ labelNames: ["error"],
198
+ }),
199
+ // PtcDutiesService
200
+ ptcDutiesCount: register.gauge({
201
+ name: "vc_ptc_duties_count",
202
+ help: "Current count of duties in PtcDutiesService",
203
+ }),
204
+ ptcDutiesEpochCount: register.gauge({
205
+ name: "vc_ptc_duties_epoch_count",
206
+ help: "Current count of epoch duties in PtcDutiesService",
207
+ }),
208
+ ptcDutiesReorg: register.gauge({
209
+ name: "vc_ptc_duties_reorg_total",
210
+ help: "Total count of instances the PTC duties dependent root changed",
211
+ }),
212
+ ptcDutiesNextSlot: register.gauge({
213
+ name: "vc_ptc_duty_slot",
214
+ help: "Slot of next scheduled PTC duty",
215
+ }),
179
216
  // SyncCommitteeDutiesService
180
217
  syncCommitteeDutiesCount: register.gauge({
181
218
  name: "vc_sync_committee_duties_count",
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"SAGY,aAAa;AAAzB,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;AAAC,CACtB,EAHY,aAAa,KAAb,aAAa,QAGxB;SAEW,YAAY;AAAxB,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iDAAS,CAAA;IACT,qDAAW,CAAA;IACX,iDAAS,CAAA;AAAC,CACZ,EAJY,YAAY,KAAZ,YAAY,QAIvB;AAaD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAA8B,EAAE,OAAwB,EAAE;IACnF,qGAAqG;IAErG,mKAAmK;IACnK,QAAQ;SACL,KAAK,CAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAA4B;KAC5D,CAAC;SACD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEnB,OAAO;QACL,oBAAoB,EAAE,QAAQ,CAAC,KAAK,CAGjC;YACD,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,iCAAiC;YACvC,UAAU,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACxD,CAAC;QAEF,uBAAuB;QACvB,oEAAoE;QACpE,wCAAwC;QACxC,mDAAmD;QACnD,sCAAsC;QAEtC,kCAAkC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACrD,IAAI,EAAE,mDAAmD;YACzD,IAAI,EAAE,uEAAuE;YAC7E,4FAA4F;YAC5F,oFAAoF;YACpF,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SACrC,CAAC;QACF,kCAAkC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACrD,IAAI,EAAE,mDAAmD;YACzD,IAAI,EAAE,uEAAuE;YAC7E,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SACrC,CAAC;QAEF,gCAAgC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACnD,IAAI,EAAE,iDAAiD;YACvD,IAAI,EAAE,mEAAmE;YACzE,iEAAiE;YACjE,wGAAwG;YACxG,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B,CAAC;QACF,gCAAgC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACnD,IAAI,EAAE,iDAAiD;YACvD,IAAI,EAAE,mEAAmE;YACzE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B,CAAC;QAEF,mCAAmC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,qDAAqD;YAC3D,IAAI,EAAE,oEAAoE;YAC1E,gDAAgD;YAChD,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B,CAAC;QACF,mCAAmC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,qDAAqD;YAC3D,IAAI,EAAE,oEAAoE;YAC1E,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B,CAAC;QAEF,qCAAqC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACxD,IAAI,EAAE,uDAAuD;YAC7D,IAAI,EAAE,sEAAsE;YAC5E,gDAAgD;YAChD,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B,CAAC;QACF,qCAAqC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACxD,IAAI,EAAE,uDAAuD;YAC7D,IAAI,EAAE,sEAAsE;YAC5E,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAC/B,CAAC;QAEF,oCAAoC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACvD,IAAI,EAAE,sDAAsD;YAC5D,IAAI,EAAE,uFAAuF;YAC7F,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SACrC,CAAC;QACF,oCAAoC,EAAE,QAAQ,CAAC,SAAS,CAAC;YACvD,IAAI,EAAE,sDAAsD;YAC5D,IAAI,EAAE,uFAAuF;YAC7F,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SACrC,CAAC;QAEF,mGAAmG;QACnG,4BAA4B,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC/C,IAAI,EAAE,6CAA6C;YACnD,IAAI,EAAE,mDAAmD;YACzD,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9B,CAAC;QACF,4BAA4B,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC/C,IAAI,EAAE,6CAA6C;YACnD,IAAI,EAAE,mDAAmD;YACzD,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9B,CAAC;QAEF,qBAAqB;QAErB,qBAAqB,EAAE,QAAQ,CAAC,KAAK,CAAC;YACpC,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,8BAA8B;SACrC,CAAC;QAEF,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAClC,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,4BAA4B;SACnC,CAAC;QAEF,0BAA0B,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC7C,IAAI,EAAE,wDAAwD;YAC9D,IAAI,EAAE,+DAA+D;YACrE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SAC9C,CAAC;QAEF,eAAe,EAAE,QAAQ,CAAC,KAAK,CAA0C;YACvE,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,oCAAoC;YAC1C,UAAU,EAAE,CAAC,OAAO,CAAC;SACtB,CAAC;QAEF,2BAA2B;QAE3B,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAClC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,qDAAqD;SAC5D,CAAC;QAEF,wBAAwB,EAAE,QAAQ,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,2DAA2D;SAClE,CAAC;QAEF,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAClC,IAAI,EAAE,mCAAmC;YACzC,IAAI,EAAE,qEAAqE;SAC5E,CAAC;QAEF,sBAAsB,EAAE,QAAQ,CAAC,KAAK,CAAC;YACrC,+FAA+F;YAC/F,yFAAyF;YACzF,oCAAoC;YACpC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,yCAAyC;SAChD,CAAC;QAEF,wBAAwB;QAExB,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC7B,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,gCAAgC;SACvC,CAAC;QAEF,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,iCAAiC;SACxC,CAAC;QAEF,oBAAoB,EAAE,QAAQ,CAAC,KAAK,CAAiC;YACnE,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,uDAAuD;YAC7D,UAAU,EAAE,CAAC,OAAO,CAAC;SACtB,CAAC;QAEF,qBAAqB;QAErB,wBAAwB,EAAE,QAAQ,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,qDAAqD;SAC5D,CAAC;QAEF,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAClC,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,qEAAqE;SAC5E,CAAC;QAEF,yBAAyB,EAAE,QAAQ,CAAC,KAAK,CAAC;YACxC,IAAI,EAAE,uCAAuC;YAC7C,IAAI,EAAE,wDAAwD;SAC/D,CAAC;QAEF,iBAAiB;QAEjB,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,4CAA4C;SACnD,CAAC;QAEF,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,6CAA6C;SACpD,CAAC;QAEF,uBAAuB;QAEvB,6BAA6B,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC5C,IAAI,EAAE,2CAA2C;YACjD,IAAI,EAAE,sCAAsC;SAC7C,CAAC;QAEF,kCAAkC,EAAE,QAAQ,CAAC,KAAK,CAAC;YACjD,IAAI,EAAE,gDAAgD;YACtD,IAAI,EAAE,2CAA2C;SAClD,CAAC;QAEF,aAAa;QAEb,4BAA4B,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC3C,IAAI,EAAE,yCAAyC;YAC/C,IAAI,EAAE,4CAA4C;SACnD,CAAC;QAEF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAA8B;YACpD,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,4BAA4B;YAClC,UAAU,EAAE,CAAC,OAAO,CAAC;SACtB,CAAC;QAEF,mBAAmB;QAEnB,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC7B,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,6CAA6C;SACpD,CAAC;QAEF,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAClC,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,mDAAmD;SAC1D,CAAC;QAEF,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC7B,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,gEAAgE;SACvE,CAAC;QAEF,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,iCAAiC;SACxC,CAAC;QAEF,6BAA6B;QAE7B,wBAAwB,EAAE,QAAQ,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,uDAAuD;SAC9D,CAAC;QAEF,6BAA6B,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC5C,IAAI,EAAE,sCAAsC;YAC5C,IAAI,EAAE,6DAA6D;SACpE,CAAC;QAEF,wBAAwB,EAAE,QAAQ,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,sCAAsC;YAC5C,IAAI,EAAE,2EAA2E;SAClF,CAAC;QAEF,iBAAiB;QAEjB,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,2EAA2E;SAClF,CAAC;QAEF,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC;YAChC,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,4DAA4D;YAClE,sDAAsD;YACtD,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC;SACpC,CAAC;QAEF,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC;YACjC,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,6DAA6D;YACnE,yDAAyD;YACzD,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;SAC3B,CAAC;QAEF,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC/B,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,+CAA+C;SACtD,CAAC;QAEF,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,wCAAwC;SAC/C,CAAC;QAEF,4BAA4B,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC3C,IAAI,EAAE,2CAA2C;YACjD,IAAI,EAAE,yEAAyE;SAChF,CAAC;QAEF,kCAAkC,EAAE,QAAQ,CAAC,KAAK,CAAC;YACjD,IAAI,EAAE,iDAAiD;YACvD,IAAI,EAAE,uEAAuE;SAC9E,CAAC;QAEF,kBAAkB;QAElB,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC3B,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,yEAAyE,iBAAiB,CAAC,YAAY,CAAC,EAAE;SACjH,CAAC;QAEF,aAAa,EAAE;YACb,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAoB;gBACjD,IAAI,EAAE,yCAAyC;gBAC/C,IAAI,EAAE,sDAAsD;gBAC5D,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,+EAA+E;gBAC/E,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC9B,CAAC;YAEF,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAoB;gBAChD,IAAI,EAAE,wCAAwC;gBAC9C,IAAI,EAAE,wDAAwD;gBAC9D,UAAU,EAAE,CAAC,SAAS,CAAC;gBACvB,+EAA+E;gBAC/E,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC9B,CAAC;YAEF,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAqC;gBAChE,IAAI,EAAE,yCAAyC;gBAC/C,IAAI,EAAE,8DAA8D;gBACpE,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;aACnC,CAAC;YAEF,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAqC;gBACrE,IAAI,EAAE,+CAA+C;gBACrD,IAAI,EAAE,iEAAiE;gBACvE,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;aACnC,CAAC;YAEF,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAsC;gBAC7D,IAAI,EAAE,+BAA+B;gBACrC,IAAI,EAAE,6CAA6C;gBACnD,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;aACpC,CAAC;SACH;QAED,iBAAiB,EAAE;YACjB,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAwB;gBACtD,IAAI,EAAE,8CAA8C;gBACpD,IAAI,EAAE,mDAAmD;gBACzD,UAAU,EAAE,CAAC,aAAa,CAAC;gBAC3B,sGAAsG;gBACtG,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;aACxB,CAAC;YACF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAwB;gBAC9C,IAAI,EAAE,uCAAuC;gBAC7C,IAAI,EAAE,8CAA8C;gBACpD,UAAU,EAAE,CAAC,aAAa,CAAC;aAC5B,CAAC;YACF,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAwB;gBAC5C,IAAI,EAAE,qCAAqC;gBAC3C,IAAI,EAAE,+CAA+C;gBACrD,UAAU,EAAE,CAAC,aAAa,CAAC;aAC5B,CAAC;YACF,sDAAsD;YACtD,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC;gBAC5B,IAAI,EAAE,6CAA6C;gBACnD,IAAI,EAAE,0CAA0C;aACjD,CAAC;YACF,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC;gBAC/B,IAAI,EAAE,iDAAiD;gBACvD,IAAI,EAAE,mDAAmD;aAC1D,CAAC;YACF,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC;gBAClC,IAAI,EAAE,oDAAoD;gBAC1D,IAAI,EAAE,sDAAsD;aAC7D,CAAC;SACH;QAED,EAAE,EAAE;YACF,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAmB;gBAC1C,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,2DAA2D;gBACjE,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB,CAAC;YACF,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAmB;gBAC5C,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,0DAA0D;gBAChE,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB,CAAC;YACF,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAmB;gBAC3C,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,6DAA6D;gBACnE,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB,CAAC;YACF,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAmB;gBAC7C,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,+BAA+B;gBACrC,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB,CAAC;YACF,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC;gBAC1B,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,6DAA6D;aACpE,CAAC;YACF,qBAAqB,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACxC,IAAI,EAAE,qCAAqC;gBAC3C,IAAI,EAAE,wCAAwC;gBAC9C,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;aACvC,CAAC;SACH;QAED,YAAY,EAAE;YACZ,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAmB;gBAC5C,IAAI,EAAE,wCAAwC;gBAC9C,IAAI,EAAE,gCAAgC;gBACtC,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB,CAAC;YACF,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC;gBAC5B,IAAI,EAAE,sCAAsC;gBAC5C,IAAI,EAAE,+BAA+B;aACtC,CAAC;SACH;KACF,CAAC;AAAA,CACH;AAED,MAAM,UAAU,iBAAiB,CAAC,GAA4B,EAAU;IACtE,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CACvB"}
@@ -3,6 +3,7 @@ import { ChainForkConfig } from "@lodestar/config";
3
3
  import { Metrics } from "../metrics.js";
4
4
  import { PubkeyHex } from "../types.js";
5
5
  import { IClock, LoggerVc } from "../util/index.js";
6
+ import { BlockDutiesService } from "./blockDuties.js";
6
7
  import { ValidatorStore } from "./validatorStore.js";
7
8
  type BlockProposalOpts = {
8
9
  broadcastValidation: routes.beacon.BroadcastValidation;
@@ -20,7 +21,7 @@ export declare class BlockProposingService {
20
21
  private readonly metrics;
21
22
  private readonly opts;
22
23
  private readonly dutiesService;
23
- constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, metrics: Metrics | null, opts: BlockProposalOpts);
24
+ constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, dutiesService: BlockDutiesService, metrics: Metrics | null, opts: BlockProposalOpts);
24
25
  removeDutiesForKey(pubkey: PubkeyHex): void;
25
26
  /**
26
27
  * `BlockDutiesService` must call this fn to trigger block creation
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAejD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAkBnD,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACvD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AACF;;GAEG;AACH,qBAAa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IATvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,EAAE,iBAAiB,EAWzC;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE1C;IAED;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAa7B;YAGY,qBAAqB;YAwFrB,0BAA0B;IA0FxC,OAAO,CAAC,mBAAmB,CAmBzB;IAEF,OAAO,CAAC,mBAAmB,CAmCzB;CACH"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAejD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAe,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAkBnD,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACvD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AACF;;GAEG;AACH,qBAAa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC/C,aAAa,EAAE,kBAAkB,EAChB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,EAAE,iBAAiB,EAIzC;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE1C;IAED;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAa7B;YAGY,qBAAqB;YAwFrB,0BAA0B;IA0FxC,OAAO,CAAC,mBAAmB,CAmBzB;IAEF,OAAO,CAAC,mBAAmB,CAmCzB;CACH"}
@@ -2,7 +2,7 @@ import { routes } from "@lodestar/api";
2
2
  import { isForkPostGloas } from "@lodestar/params";
3
3
  import { ProducedBlockSource, isBlindedSignedBeaconBlock, } from "@lodestar/types";
4
4
  import { extendError, prettyBytes, prettyWeiToEth, toPubkeyHex, toRootHex } from "@lodestar/utils";
5
- import { BlockDutiesService, GENESIS_SLOT } from "./blockDuties.js";
5
+ import { GENESIS_SLOT } from "./blockDuties.js";
6
6
  /**
7
7
  * Service that sets up and handles validator block proposal duties.
8
8
  */
@@ -15,7 +15,7 @@ export class BlockProposingService {
15
15
  metrics;
16
16
  opts;
17
17
  dutiesService;
18
- constructor(config, logger, api, clock, validatorStore, metrics, opts) {
18
+ constructor(config, logger, api, clock, validatorStore, dutiesService, metrics, opts) {
19
19
  this.config = config;
20
20
  this.logger = logger;
21
21
  this.api = api;
@@ -23,7 +23,8 @@ export class BlockProposingService {
23
23
  this.validatorStore = validatorStore;
24
24
  this.metrics = metrics;
25
25
  this.opts = opts;
26
- this.dutiesService = new BlockDutiesService(config, logger, api, clock, validatorStore, metrics, this.notifyBlockProductionFn);
26
+ this.dutiesService = dutiesService;
27
+ this.dutiesService.setNotifyBlockProductionFn(this.notifyBlockProductionFn);
27
28
  }
28
29
  removeDutiesForKey(pubkey) {
29
30
  this.dutiesService.removeDutiesForKey(pubkey);
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
- import { ApiClient } from "@lodestar/api";
1
+ import { ApiClient, routes } from "@lodestar/api";
2
2
  import { ChainForkConfig } from "@lodestar/config";
3
- import { BLSPubkey, Slot } from "@lodestar/types";
3
+ import { BLSPubkey, Epoch, RootHex, Slot } from "@lodestar/types";
4
4
  import { Metrics } from "../metrics.js";
5
5
  import { PubkeyHex } from "../types.js";
6
6
  import { IClock, LoggerVc } from "../util/index.js";
7
+ import { ChainHeaderTracker } from "./chainHeaderTracker.js";
7
8
  import { ValidatorStore } from "./validatorStore.js";
8
9
  export declare const GENESIS_SLOT = 0;
10
+ export type BlockDutyAtEpoch = {
11
+ dependentRoot: RootHex;
12
+ data: routes.validator.ProposerDuty[];
13
+ };
9
14
  type NotifyBlockProductionFn = (slot: Slot, proposers: BLSPubkey[]) => void;
10
15
  export declare class BlockDutiesService {
11
16
  private readonly config;
@@ -15,11 +20,29 @@ export declare class BlockDutiesService {
15
20
  private readonly validatorStore;
16
21
  private readonly metrics;
17
22
  /** Notify the block service if it should produce a block. */
18
- private readonly notifyBlockProductionFn;
23
+ private notifyBlockProductionFn;
19
24
  /** Maps an epoch to all *local* proposers in this epoch. Notably, this does not contain
20
25
  proposals for any validators which are not registered locally. */
21
26
  private readonly proposers;
22
- constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, metrics: Metrics | null, notifyBlockProductionFn: NotifyBlockProductionFn);
27
+ /**
28
+ * Tracks which proposer pubkeys we have already notified for the active slot so that
29
+ * a late-arriving cache update (SSE-driven refetch, slow initial poll) only fires
30
+ * `notifyBlockProductionFn` for *newly discovered* proposers, never duplicates.
31
+ */
32
+ private notifiedSlot;
33
+ private readonly notifiedProposers;
34
+ /**
35
+ * True once `notifyProposersForSlot` has been invoked for `notifiedSlot`, regardless of
36
+ * whether anything was notified. Any subsequent invocation that finds *new* proposers is
37
+ * therefore a late detection — the signal tracked by `newProposalDutiesDetected`.
38
+ */
39
+ private notifiedSlotInitialPass;
40
+ constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, chainHeaderTracker: ChainHeaderTracker, metrics: Metrics | null);
41
+ /**
42
+ * Late-bind the production callback. Allows the duties service to be constructed
43
+ * before the consumer that handles proposal production.
44
+ */
45
+ setNotifyBlockProductionFn(notifyBlockProductionFn: NotifyBlockProductionFn): void;
23
46
  /**
24
47
  * Returns the pubkeys of the validators which are assigned to propose in the given slot.
25
48
  *
@@ -27,10 +50,65 @@ export declare class BlockDutiesService {
27
50
  * likely the result of heavy forking (lol) or inconsistent beacon node connections.
28
51
  */
29
52
  getblockProposersAtSlot(slot: Slot): BLSPubkey[];
53
+ /**
54
+ * Returns the cached `{dependentRoot, data}` entry for `epoch`, or `undefined` if duties
55
+ * for that epoch are not yet known. Consumers can detect a proposer-shuffling change
56
+ * (e.g. after a reorg) by observing a different `dependentRoot` than the one they last
57
+ * read for the same epoch.
58
+ */
59
+ getProposersAtEpoch(epoch: Epoch): BlockDutyAtEpoch | undefined;
30
60
  removeDutiesForKey(pubkey: PubkeyHex): void;
31
- private runBlockDutiesTask;
32
- private pollBeaconProposersAndNotify;
33
- private pollBeaconProposersNextEpoch;
61
+ /**
62
+ * Baseline per-epoch fetch. Fires at epoch boundaries (and once at startup). Post-Fulu the
63
+ * deterministic 1-epoch lookahead lets us also pre-fetch `epoch + 1`; pre-Fulu the next
64
+ * epoch's dep_root only stabilizes at the boundary and is handled by `runEverySlotTask`.
65
+ *
66
+ * Mid-epoch refreshes (e.g. reorgs) are driven by `onNewHead` instead of polling every slot.
67
+ */
68
+ private runEveryEpochTask;
69
+ /**
70
+ * Slot-tick handler. Notifies block production for cached proposers in this slot, and on
71
+ * the last slot of a pre-Fulu epoch schedules the boundary fetch for `nextEpoch` duties.
72
+ * Reorg detection is handled by `onNewHead`, so this task does not re-poll on every slot.
73
+ */
74
+ private runEverySlotTask;
75
+ /**
76
+ * SSE head-event handler. The beacon-API `head` event carries attester-duty dep_roots,
77
+ * which coincide with the proposer dep_roots at a fork-dependent offset:
78
+ *
79
+ * Pre-Fulu (proposer dep_root(E) = block@startSlot(E) - 1):
80
+ * currentDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
81
+ * (next-epoch proposer dep_root is not exposed; pre-Fulu falls back to the
82
+ * `runEverySlotTask` boundary poll.)
83
+ *
84
+ * Post-Fulu (proposer dep_root(E) = block@startSlot(E - 1) - 1, EIP-7917):
85
+ * previousDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
86
+ * currentDutyDependentRoot ≡ proposer_dep_root(nextEpoch)
87
+ *
88
+ * On a dep_root mismatch (reorg, or initial sync delivering a fresher head) we refetch
89
+ * just the affected epoch, mirroring `AttestationDutiesService.onNewHead`.
90
+ */
91
+ private onNewHead;
92
+ private refetchIfDepRootChanged;
93
+ private pollBeaconProposersBeforeBoundary;
94
+ /**
95
+ * Notify block production for *newly discovered* proposers in this slot. Notifications are
96
+ * deduplicated per-slot so that a late SSE refetch can extend the proposer set without
97
+ * triggering a duplicate `createAndPublishBlock` for already-notified validators.
98
+ *
99
+ * ## Multi-notification safety
100
+ *
101
+ * Within a single slot the cache can be updated from several sources (cold-cache backfill at
102
+ * startup, SSE-driven reorg refetch). Each update may fire this function again. The contract
103
+ * we keep is: each pubkey is notified *at most once per slot*. The additional notifications
104
+ * only carry proposers that were not part of an earlier notification.
105
+ *
106
+ * Is this safe? Firstly, the dedup above guarantees we never ask the same validator to
107
+ * propose twice for the same slot. Secondly, slashing protection in `ValidatorStore` acts as
108
+ * a second line of defense should the dedup ever fail. Together they provide an acceptable
109
+ * level of safety for the "notify-from-cache, refine-after-refetch" pattern.
110
+ */
111
+ private notifyProposersForSlot;
34
112
  private pollBeaconProposers;
35
113
  /** Run once per epoch to prune `this.proposers` map */
36
114
  private pruneOldDuties;
@@ -1 +1 @@
1
- {"version":3,"file":"blockDuties.d.ts","sourceRoot":"","sources":["../../src/services/blockDuties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAS,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,SAAS,EAAkB,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAgB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAYnD,eAAO,MAAM,YAAY,IAAI,CAAC;AAG9B,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;AAE5E,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE;yEACqE;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAEhE,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GAAG,IAAI,EACxC,uBAAuB,EAAE,uBAAuB,EAcjD;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,CAc/C;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAM1C;IAED,OAAO,CAAC,kBAAkB,CAgBxB;YA6BY,4BAA4B;YAwC5B,4BAA4B;YAU5B,mBAAmB;IA4BjC,uDAAuD;IACvD,OAAO,CAAC,cAAc;CAOvB"}
1
+ {"version":3,"file":"blockDuties.d.ts","sourceRoot":"","sources":["../../src/services/blockDuties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAgB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAoBnD,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,MAAM,MAAM,gBAAgB,GAAG;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;CAAC,CAAC;AAC/F,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;AAE5E,qBAAa,kBAAkB;IAsB3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IA3B1B,6DAA6D;IAC7D,OAAO,CAAC,uBAAuB,CAAqC;IACpE;yEACqE;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;IAC1D;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAAS;IAExC,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC/C,kBAAkB,EAAE,kBAAkB,EACrB,OAAO,EAAE,OAAO,GAAG,IAAI,EAWzC;IAED;;;OAGG;IACH,0BAA0B,CAAC,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAEjF;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,CAc/C;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAE9D;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAM1C;IAED;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB,CAuBvB;IAEF;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAqBtB;IAEF;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,SAAS,CAcf;YAEY,uBAAuB;YAuBvB,iCAAiC;IAa/C;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,sBAAsB;YA8BhB,mBAAmB;IA0CjC,uDAAuD;IACvD,OAAO,CAAC,cAAc;CAOvB"}