@lodestar/validator 1.51.0-dev.c99cf49add → 1.51.0-dev.e22f67e7bc

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 (53) hide show
  1. package/lib/services/attestationDuties.d.ts.map +1 -1
  2. package/lib/services/attestationDuties.js +12 -4
  3. package/lib/services/attestationDuties.js.map +1 -1
  4. package/lib/services/chainHeaderTracker.d.ts.map +1 -1
  5. package/lib/services/chainHeaderTracker.js +6 -1
  6. package/lib/services/chainHeaderTracker.js.map +1 -1
  7. package/lib/services/emitter.d.ts +10 -1
  8. package/lib/services/emitter.d.ts.map +1 -1
  9. package/lib/services/emitter.js +4 -0
  10. package/lib/services/emitter.js.map +1 -1
  11. package/lib/services/inclusionList.d.ts +25 -0
  12. package/lib/services/inclusionList.d.ts.map +1 -0
  13. package/lib/services/inclusionList.js +101 -0
  14. package/lib/services/inclusionList.js.map +1 -0
  15. package/lib/services/inclusionListDuties.d.ts +59 -0
  16. package/lib/services/inclusionListDuties.d.ts.map +1 -0
  17. package/lib/services/inclusionListDuties.js +252 -0
  18. package/lib/services/inclusionListDuties.js.map +1 -0
  19. package/lib/services/syncCommitteeDuties.d.ts.map +1 -1
  20. package/lib/services/syncCommitteeDuties.js +10 -5
  21. package/lib/services/syncCommitteeDuties.js.map +1 -1
  22. package/lib/services/validatorStore.d.ts +7 -1
  23. package/lib/services/validatorStore.d.ts.map +1 -1
  24. package/lib/services/validatorStore.js +29 -3
  25. package/lib/services/validatorStore.js.map +1 -1
  26. package/lib/slashingProtection/attestation/index.d.ts +1 -0
  27. package/lib/slashingProtection/attestation/index.d.ts.map +1 -1
  28. package/lib/slashingProtection/attestation/index.js +77 -44
  29. package/lib/slashingProtection/attestation/index.js.map +1 -1
  30. package/lib/slashingProtection/index.d.ts +2 -0
  31. package/lib/slashingProtection/index.d.ts.map +1 -1
  32. package/lib/slashingProtection/index.js +48 -5
  33. package/lib/slashingProtection/index.js.map +1 -1
  34. package/lib/util/externalSignerClient.d.ts +6 -2
  35. package/lib/util/externalSignerClient.d.ts.map +1 -1
  36. package/lib/util/externalSignerClient.js +4 -0
  37. package/lib/util/externalSignerClient.js.map +1 -1
  38. package/lib/validator.d.ts +4 -1
  39. package/lib/validator.d.ts.map +1 -1
  40. package/lib/validator.js +7 -1
  41. package/lib/validator.js.map +1 -1
  42. package/package.json +12 -12
  43. package/src/services/attestationDuties.ts +18 -4
  44. package/src/services/chainHeaderTracker.ts +8 -1
  45. package/src/services/emitter.ts +10 -0
  46. package/src/services/inclusionList.ts +140 -0
  47. package/src/services/inclusionListDuties.ts +306 -0
  48. package/src/services/syncCommitteeDuties.ts +13 -5
  49. package/src/services/validatorStore.ts +43 -3
  50. package/src/slashingProtection/attestation/index.ts +81 -46
  51. package/src/slashingProtection/index.ts +50 -6
  52. package/src/util/externalSignerClient.ts +8 -1
  53. package/src/validator.ts +18 -0
@@ -1 +1 @@
1
- {"version":3,"file":"attestationDuties.d.ts","sourceRoot":"","sources":["../../src/services/attestationDuties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,MAAM,EAIP,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,YAAY,EAAkB,IAAI,EAAiB,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAa,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAgB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAanD,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;IACpC,qGAAqG;IACrG,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,uGAAuG;IACvG,qBAAqB,CAAC,EAAE,YAAY,CAAC;CACtC,CAAC;AAKF,KAAK,4BAA4B,GAAG;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,qBAAa,wBAAwB;IAUjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ,CAAC,cAAc;IAG/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAhBxB,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsC;IAC3E;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA6B;IAEzE,YACmB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACvB,KAAK,EAAE,MAAM,EACJ,cAAc,EAAE,cAAc,EAC/C,gBAAgB,EAAE,kBAAkB,EACpC,oBAAoB,EAAE,oBAAoB,EACzB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,CAAC,EAAE,4BAA4B,YAAA,EAqCrD;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAW1C;IAED,uDAAuD;IACvD,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,EAAE,CAe7C;IAED;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAkBzB;IAEF,OAAO,CAAC,cAAc,CAkBpB;IAEF;;;;;;;;;OASG;YACW,mBAAmB;IAuDjC;;OAEG;YACW,2BAA2B;IAwDzC;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,CAmDf;YAEY,yBAAyB;YA2CzB,iCAAiC;YAejC,eAAe;IAoB7B,6CAA6C;IAC7C,OAAO,CAAC,cAAc;IAUtB;;;;;;OAMG;YACW,uCAAuC;CAoDtD"}
1
+ {"version":3,"file":"attestationDuties.d.ts","sourceRoot":"","sources":["../../src/services/attestationDuties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,MAAM,EAIP,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,YAAY,EAAkB,IAAI,EAAiB,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAa,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAgB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAanD,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;IACpC,qGAAqG;IACrG,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,uGAAuG;IACvG,qBAAqB,CAAC,EAAE,YAAY,CAAC;CACtC,CAAC;AAKF,KAAK,4BAA4B,GAAG;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,qBAAa,wBAAwB;IAUjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ,CAAC,cAAc;IAG/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAhBxB,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsC;IAC3E;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA6B;IAEzE,YACmB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACvB,KAAK,EAAE,MAAM,EACJ,cAAc,EAAE,cAAc,EAC/C,gBAAgB,EAAE,kBAAkB,EACpC,oBAAoB,EAAE,oBAAoB,EACzB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,CAAC,EAAE,4BAA4B,YAAA,EAqCrD;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAW1C;IAED,uDAAuD;IACvD,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,EAAE,CAe7C;IAED;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAkBzB;IAEF,OAAO,CAAC,cAAc,CAkBpB;IAEF;;;;;;;;;OASG;YACW,mBAAmB;IAuDjC;;OAEG;YACW,2BAA2B;IAsEzC;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,CAmDf;YAEY,yBAAyB;YA2CzB,iCAAiC;YAejC,eAAe;IAoB7B,6CAA6C;IAC7C,OAAO,CAAC,cAAc;IAUtB;;;;;;OAMG;YACW,uCAAuC;CAoDtD"}
@@ -210,8 +210,12 @@ export class AttestationDutiesService {
210
210
  if (!priorDependentRoot || dependentRootChanged) {
211
211
  const dutiesByIndex = new Map();
212
212
  for (const duty of relevantDuties) {
213
- const dutyAndProof = await this.getDutyAndProof(duty);
214
- dutiesByIndex.set(duty.validatorIndex, dutyAndProof);
213
+ try {
214
+ dutiesByIndex.set(duty.validatorIndex, await this.getDutyAndProof(duty));
215
+ }
216
+ catch (e) {
217
+ this.logger.error("Error signing attestation selection proof", { epoch, validatorIndex: duty.validatorIndex }, e);
218
+ }
215
219
  }
216
220
  this.dutiesByIndexByEpoch.set(epoch, { dependentRoot, dutiesByIndex });
217
221
  if (priorDependentRoot && dependentRootChanged) {
@@ -228,8 +232,12 @@ export class AttestationDutiesService {
228
232
  const existingDutiesCount = existingDuties.size;
229
233
  for (const duty of relevantDuties) {
230
234
  if (!existingDuties.has(duty.validatorIndex)) {
231
- const dutyAndProof = await this.getDutyAndProof(duty);
232
- existingDuties.set(duty.validatorIndex, dutyAndProof);
235
+ try {
236
+ existingDuties.set(duty.validatorIndex, await this.getDutyAndProof(duty));
237
+ }
238
+ catch (e) {
239
+ this.logger.error("Error signing attestation selection proof", { epoch, validatorIndex: duty.validatorIndex }, e);
240
+ }
233
241
  }
234
242
  }
235
243
  if (existingDuties.size > existingDutiesCount) {
@@ -1 +1 @@
1
- {"version":3,"file":"attestationDuties.js","sourceRoot":"","sources":["../../src/services/attestationDuties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestationDuties.js","sourceRoot":"","sources":["../../src/services/attestationDuties.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chainHeaderTracker.d.ts","sourceRoot":"","sources":["../../src/services/chainHeaderTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAS,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,MAAM,EAAU,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAiB,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAInE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,IAAI,CAAC;IACX,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1D;;GAEG;AACH,qBAAa,kBAAkB;IAO3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IAExC,YACmB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,qBAAqB,EAC7C;IAEJ,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAuB/B;IAED,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAE3C;IAED,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAQpD;IAED,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CAEjC;IAED,OAAO,CAAC,OAAO,CAqCb;CACH"}
1
+ {"version":3,"file":"chainHeaderTracker.d.ts","sourceRoot":"","sources":["../../src/services/chainHeaderTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAS,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,MAAM,EAAU,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAiB,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAInE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,IAAI,CAAC;IACX,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1D;;GAEG;AACH,qBAAa,kBAAkB;IAO3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IAExC,YACmB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,qBAAqB,EAC7C;IAEJ,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAuB/B;IAED,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAE3C;IAED,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAQpD;IAED,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CAEjC;IAED,OAAO,CAAC,OAAO,CA4Cb;CACH"}
@@ -27,7 +27,7 @@ export class ChainHeaderTracker {
27
27
  // We wait until the gloas fork is configured to avoid breaking
28
28
  // connections with pre-gloas beacon nodes
29
29
  if (this.config.GLOAS_FORK_EPOCH !== Infinity) {
30
- topics.push(EventType.executionPayloadAvailable);
30
+ topics.push(EventType.executionPayloadAvailable, EventType.executionPayload);
31
31
  }
32
32
  this.api.events
33
33
  .eventstream({
@@ -89,6 +89,11 @@ export class ChainHeaderTracker {
89
89
  blockRoot: event.message.blockRoot,
90
90
  });
91
91
  }
92
+ if (event.type === EventType.executionPayload) {
93
+ const { slot, blockRoot } = event.message;
94
+ this.emitter.emit(ValidatorEvent.executionPayloadImported, { slot, blockRoot });
95
+ this.logger.verbose("Found execution payload imported", { slot, blockRoot });
96
+ }
92
97
  };
93
98
  }
94
99
  //# sourceMappingURL=chainHeaderTracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chainHeaderTracker.js","sourceRoot":"","sources":["../../src/services/chainHeaderTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chainHeaderTracker.js","sourceRoot":"","sources":["../../src/services/chainHeaderTracker.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,24 @@ export declare enum ValidatorEvent {
10
10
  /**
11
11
  * This event signals that an execution payload and blobs are available for payload attestation.
12
12
  */
13
- executionPayloadAvailable = "executionPayloadAvailable"
13
+ executionPayloadAvailable = "executionPayloadAvailable",
14
+ /**
15
+ * This event signals that an execution payload was verified by the execution client and imported to fork choice.
16
+ */
17
+ executionPayloadImported = "executionPayloadImported"
14
18
  }
15
19
  export type ExecutionPayloadAvailableEventData = {
16
20
  slot: Slot;
17
21
  blockRoot: string;
18
22
  };
23
+ export type ExecutionPayloadImportedEventData = {
24
+ slot: Slot;
25
+ blockRoot: string;
26
+ };
19
27
  export type ValidatorEvents = {
20
28
  [ValidatorEvent.chainHead]: (head: HeadEventData) => void;
21
29
  [ValidatorEvent.executionPayloadAvailable]: (payload: ExecutionPayloadAvailableEventData) => void;
30
+ [ValidatorEvent.executionPayloadImported]: (payload: ExecutionPayloadImportedEventData) => void;
22
31
  };
23
32
  declare const ValidatorEventEmitter_base: new () => StrictEventEmitter<EventEmitter, ValidatorEvents>;
24
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/services/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,oBAAY,cAAc;IACxB;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,yBAAyB,8BAA8B;CACxD;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,kCAAkC,KAAK,IAAI,CAAC;CACnG,CAAC;oDAMQ,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC;AAJ3D;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,0BAEzC;IACA;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhD;CACF"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/services/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,oBAAY,cAAc;IACxB;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,yBAAyB,8BAA8B;IACvD;;OAEG;IACH,wBAAwB,6BAA6B;CACtD;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,kCAAkC,KAAK,IAAI,CAAC;IAClG,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,IAAI,CAAC;CACjG,CAAC;oDAMQ,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC;AAJ3D;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,0BAEzC;IACA;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhD;CACF"}
@@ -9,6 +9,10 @@ export var ValidatorEvent;
9
9
  * This event signals that an execution payload and blobs are available for payload attestation.
10
10
  */
11
11
  ValidatorEvent["executionPayloadAvailable"] = "executionPayloadAvailable";
12
+ /**
13
+ * This event signals that an execution payload was verified by the execution client and imported to fork choice.
14
+ */
15
+ ValidatorEvent["executionPayloadImported"] = "executionPayloadImported";
12
16
  })(ValidatorEvent || (ValidatorEvent = {}));
13
17
  /**
14
18
  * Emit important validator events.
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/services/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAKzC,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB;;OAEG;IACH,yCAAuB,CAAA;IACvB;;OAEG;IACH,yEAAuD,CAAA;AACzD,CAAC,EATW,cAAc,KAAd,cAAc,QASzB;AAYD;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAS,YAE1C;IACA;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAU;QAC/B,IAAI,YAA2C,CAAC;QAEhD,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,YAAY,GAAG,CAAC,IAAmB,EAAQ,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;oBACtB,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/services/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAKzC,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,yCAAuB,CAAA;IACvB;;OAEG;IACH,yEAAuD,CAAA;IACvD;;OAEG;IACH,uEAAqD,CAAA;AACvD,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB;AAkBD;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAS,YAE1C;IACA;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAU;QAC/B,IAAI,YAA2C,CAAC;QAEhD,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,YAAY,GAAG,CAAC,IAAmB,EAAQ,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;oBACtB,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ import { ApiClient } from "@lodestar/api";
2
+ import { ChainForkConfig } from "@lodestar/config";
3
+ import { IClock } from "@lodestar/state-transition";
4
+ import { PubkeyHex } from "../types.js";
5
+ import { LoggerVc } from "../util/index.js";
6
+ import { ChainHeaderTracker } from "./chainHeaderTracker.js";
7
+ import { ValidatorEventEmitter } from "./emitter.js";
8
+ import { SyncingStatusTracker } from "./syncingStatusTracker.js";
9
+ import { ValidatorStore } from "./validatorStore.js";
10
+ export declare class InclusionListService {
11
+ private readonly config;
12
+ private readonly logger;
13
+ private readonly api;
14
+ private readonly clock;
15
+ private readonly validatorStore;
16
+ private readonly emitter;
17
+ private readonly dutiesService;
18
+ constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, chainHeadTracker: ChainHeaderTracker, syncingStatusTracker: SyncingStatusTracker, emitter: ValidatorEventEmitter);
19
+ removeDutiesForKey(pubkey: PubkeyHex): void;
20
+ private runInclusionListTasks;
21
+ private produceInclusionList;
22
+ /** One inclusion list per slot, signed by every validator on duty */
23
+ private signAndPublishInclusionList;
24
+ }
25
+ //# sourceMappingURL=inclusionList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inclusionList.d.ts","sourceRoot":"","sources":["../../src/services/inclusionList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAS,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAGlD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAoD,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEtG,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,oBAAoB;IAI7B,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;IAG/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAE3D,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC/C,gBAAgB,EAAE,kBAAkB,EACpC,oBAAoB,EAAE,oBAAoB,EACzB,OAAO,EAAE,qBAAqB,EAchD;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE1C;IAED,OAAO,CAAC,qBAAqB,CA4C3B;YAEY,oBAAoB;IAIlC,qEAAqE;YACvD,2BAA2B;CA4C1C"}
@@ -0,0 +1,101 @@
1
+ import { sleep } from "@lodestar/utils";
2
+ import { ValidatorEvent } from "./emitter.js";
3
+ import { InclusionListDutiesService } from "./inclusionListDuties.js";
4
+ export class InclusionListService {
5
+ config;
6
+ logger;
7
+ api;
8
+ clock;
9
+ validatorStore;
10
+ emitter;
11
+ dutiesService;
12
+ constructor(config, logger, api, clock, validatorStore, chainHeadTracker, syncingStatusTracker, emitter) {
13
+ this.config = config;
14
+ this.logger = logger;
15
+ this.api = api;
16
+ this.clock = clock;
17
+ this.validatorStore = validatorStore;
18
+ this.emitter = emitter;
19
+ this.dutiesService = new InclusionListDutiesService(config, logger, api, clock, validatorStore, chainHeadTracker, syncingStatusTracker);
20
+ // At most every slot, check existing duties from InclusionListDutiesService and run tasks
21
+ clock.runEverySlot(this.runInclusionListTasks);
22
+ }
23
+ removeDutiesForKey(pubkey) {
24
+ this.dutiesService.removeDutiesForKey(pubkey);
25
+ }
26
+ runInclusionListTasks = async (slot, signal) => {
27
+ if (this.dutiesService.getDutiesAtSlot(slot).length === 0) {
28
+ return;
29
+ }
30
+ // Spec: broadcast by get_inclusion_list_due_ms(). Wait until the beacon node imported the slot's payload,
31
+ // emitted once the execution client verified it and the fork choice update was queued, so the list is built
32
+ // from a mempool without that payload's transactions. Fall back to the deadline for empty or late slots.
33
+ const dueMs = Math.max(0, this.config.getInclusionListDueMs(this.config.getForkName(slot)) - this.clock.msFromSlot(slot));
34
+ // Publish ahead of the deadline so the list still counts as timely for peers
35
+ const beforeDueMs = 1000;
36
+ let resolvePayloadImported = () => { };
37
+ const payloadImported = new Promise((resolve) => {
38
+ resolvePayloadImported = resolve;
39
+ });
40
+ const onPayloadImported = (payload) => {
41
+ if (payload.slot === slot) {
42
+ resolvePayloadImported();
43
+ }
44
+ };
45
+ this.emitter.on(ValidatorEvent.executionPayloadImported, onPayloadImported);
46
+ try {
47
+ await Promise.race([sleep(Math.max(0, dueMs - beforeDueMs), signal), payloadImported]);
48
+ }
49
+ finally {
50
+ this.emitter.off(ValidatorEvent.executionPayloadImported, onPayloadImported);
51
+ }
52
+ const inclusionListTransactions = await this.produceInclusionList(slot);
53
+ // Empty lists are ignored by gossip validation (consensus-specs#5576)
54
+ if (inclusionListTransactions.length === 0) {
55
+ this.logger.debug("Produced inclusion list has no transactions, skipping publish", { slot });
56
+ return;
57
+ }
58
+ // Read the duties after the wait, a reorg handled meanwhile may have changed the dependent root
59
+ const duties = this.dutiesService.getDutiesAtSlot(slot);
60
+ if (duties.length === 0) {
61
+ return;
62
+ }
63
+ await this.signAndPublishInclusionList(inclusionListTransactions, duties);
64
+ };
65
+ async produceInclusionList(slot) {
66
+ return (await this.api.validator.produceInclusionList({ slot })).value();
67
+ }
68
+ /** One inclusion list per slot, signed by every validator on duty */
69
+ async signAndPublishInclusionList(inclusionListTransactions, duties) {
70
+ const signedInclusionLists = [];
71
+ await Promise.all(duties.map(async (duty) => {
72
+ const inclusionList = {
73
+ slot: duty.slot,
74
+ validatorIndex: duty.validatorIndex,
75
+ dependentRoot: duty.dependentRoot,
76
+ transactions: inclusionListTransactions,
77
+ };
78
+ try {
79
+ signedInclusionLists.push(await this.validatorStore.signInclusionList(duty, inclusionList));
80
+ }
81
+ catch (e) {
82
+ this.logger.error("Error signing inclusion list", { slot: duty.slot, validatorIndex: duty.validatorIndex }, e);
83
+ }
84
+ }));
85
+ for (const signedInclusionList of signedInclusionLists) {
86
+ const { slot, validatorIndex, transactions } = signedInclusionList.message;
87
+ try {
88
+ (await this.api.validator.publishInclusionList({ signedInclusionList })).assertOk();
89
+ this.logger.info("Published inclusionList", {
90
+ slot,
91
+ validatorIndex,
92
+ transactions: transactions.length,
93
+ });
94
+ }
95
+ catch (e) {
96
+ this.logger.error("Error publishing inclusionList", { slot, validatorIndex, transactions: transactions.length }, e);
97
+ }
98
+ }
99
+ }
100
+ }
101
+ //# sourceMappingURL=inclusionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inclusionList.js","sourceRoot":"","sources":["../../src/services/inclusionList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { ApiClient, routes } from "@lodestar/api";
2
+ import { ChainForkConfig } from "@lodestar/config";
3
+ import { IClock } from "@lodestar/state-transition";
4
+ import { Slot } from "@lodestar/types";
5
+ import { PubkeyHex } from "../types.js";
6
+ import { LoggerVc } from "../util/index.js";
7
+ import { ChainHeaderTracker } from "./chainHeaderTracker.js";
8
+ import { SyncingStatusTracker } from "./syncingStatusTracker.js";
9
+ import { ValidatorStore } from "./validatorStore.js";
10
+ type InclusionListDuty = routes.validator.InclusionListDuty;
11
+ /**
12
+ * Similar to AttestationDutiesService but
13
+ * - No generating and caching selection proof
14
+ * - No handling and maintaining subnet subscription
15
+ */
16
+ export declare class InclusionListDutiesService {
17
+ private readonly config;
18
+ private readonly logger;
19
+ private readonly api;
20
+ private clock;
21
+ private readonly validatorStore;
22
+ /** Maps a validator index to its duty for each epoch */
23
+ private readonly dutiesByIndexByEpoch;
24
+ /**
25
+ * We may receive new dependentRoot of an epoch but it's not the last slot of epoch
26
+ * so we have to wait for getting close to the next epoch to redownload new inclusionListDuties.
27
+ */
28
+ private readonly pendingDependentRootByEpoch;
29
+ constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, chainHeadTracker: ChainHeaderTracker, syncingStatusTracker: SyncingStatusTracker);
30
+ removeDutiesForKey(pubkey: PubkeyHex): void;
31
+ /** Returns all `ValidatorDuty` for the given `slot` */
32
+ getDutiesAtSlot(slot: Slot): InclusionListDuty[];
33
+ /**
34
+ * If a reorg dependent root comes at a slot other than last slot of epoch
35
+ * just update this.pendingDependentRootByEpoch() and process here
36
+ */
37
+ private prepareForNextEpoch;
38
+ private runDutiesTasks;
39
+ private pollInclusionListCommittee;
40
+ /**
41
+ * For the given `indexArr`, download the duties for the given `epoch` and store them in duties.
42
+ */
43
+ private pollInclusionListCommitteeForEpoch;
44
+ private handleInclusionListDutiesReorg;
45
+ /**
46
+ * inclusion list duties may be reorged due to 2 scenarios:
47
+ * 1. node is syncing (for nextEpoch duties)
48
+ * 2. node is reorged
49
+ * previousDutyDependentRoot = get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch - 1) - 1)
50
+ * => dependent root of current epoch
51
+ * currentDutyDependentRoot = get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch) - 1)
52
+ * => dependent root of next epoch
53
+ */
54
+ private onNewHead;
55
+ /** Run once per epoch to prune duties map */
56
+ private pruneOldDuties;
57
+ }
58
+ export {};
59
+ //# sourceMappingURL=inclusionListDuties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inclusionListDuties.d.ts","sourceRoot":"","sources":["../../src/services/inclusionListDuties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAyC,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAiB,IAAI,EAAiB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,kBAAkB,EAAgB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAKnD,KAAK,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,0BAA0B;IAUnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ,CAAC,cAAc;IAbjC,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgD;IACrF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA6B;IAEzE,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACvB,KAAK,EAAE,MAAM,EACJ,cAAc,EAAE,cAAc,EAC/C,gBAAgB,EAAE,kBAAkB,EACpC,oBAAoB,EAAE,oBAAoB,EAY3C;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAW1C;IAED,uDAAuD;IACvD,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,iBAAiB,EAAE,CAe/C;IAED;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAiBzB;IAEF,OAAO,CAAC,cAAc,CAuBpB;YAEY,0BAA0B;IAgBxC;;OAEG;YACW,kCAAkC;YA0DlC,8BAA8B;IAkB5C;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,CAwDf;IAEF,6CAA6C;IAC7C,OAAO,CAAC,cAAc;CASvB"}