@lodestar/state-transition 1.43.0-dev.be5f70c0c8 → 1.43.0-dev.c98da75ec7

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 (67) hide show
  1. package/lib/block/processDepositRequest.d.ts +3 -11
  2. package/lib/block/processDepositRequest.d.ts.map +1 -1
  3. package/lib/block/processDepositRequest.js +27 -35
  4. package/lib/block/processDepositRequest.js.map +1 -1
  5. package/lib/block/processParentExecutionPayload.d.ts.map +1 -1
  6. package/lib/block/processParentExecutionPayload.js +4 -3
  7. package/lib/block/processParentExecutionPayload.js.map +1 -1
  8. package/lib/lightClient/spec/index.d.ts +22 -0
  9. package/lib/lightClient/spec/index.d.ts.map +1 -0
  10. package/lib/lightClient/spec/index.js +58 -0
  11. package/lib/lightClient/spec/index.js.map +1 -0
  12. package/lib/lightClient/spec/isBetterUpdate.d.ts +23 -0
  13. package/lib/lightClient/spec/isBetterUpdate.d.ts.map +1 -0
  14. package/lib/lightClient/spec/isBetterUpdate.js +66 -0
  15. package/lib/lightClient/spec/isBetterUpdate.js.map +1 -0
  16. package/lib/lightClient/spec/processLightClientUpdate.d.ts +12 -0
  17. package/lib/lightClient/spec/processLightClientUpdate.d.ts.map +1 -0
  18. package/lib/lightClient/spec/processLightClientUpdate.js +80 -0
  19. package/lib/lightClient/spec/processLightClientUpdate.js.map +1 -0
  20. package/lib/lightClient/spec/store.d.ts +45 -0
  21. package/lib/lightClient/spec/store.d.ts.map +1 -0
  22. package/lib/lightClient/spec/store.js +56 -0
  23. package/lib/lightClient/spec/store.js.map +1 -0
  24. package/lib/lightClient/spec/utils.d.ts +47 -0
  25. package/lib/lightClient/spec/utils.d.ts.map +1 -0
  26. package/lib/lightClient/spec/utils.js +197 -0
  27. package/lib/lightClient/spec/utils.js.map +1 -0
  28. package/lib/lightClient/spec/validateLightClientBootstrap.d.ts +4 -0
  29. package/lib/lightClient/spec/validateLightClientBootstrap.d.ts.map +1 -0
  30. package/lib/lightClient/spec/validateLightClientBootstrap.js +22 -0
  31. package/lib/lightClient/spec/validateLightClientBootstrap.js.map +1 -0
  32. package/lib/lightClient/spec/validateLightClientUpdate.d.ts +5 -0
  33. package/lib/lightClient/spec/validateLightClientUpdate.d.ts.map +1 -0
  34. package/lib/lightClient/spec/validateLightClientUpdate.js +88 -0
  35. package/lib/lightClient/spec/validateLightClientUpdate.js.map +1 -0
  36. package/lib/slot/upgradeStateToGloas.d.ts.map +1 -1
  37. package/lib/slot/upgradeStateToGloas.js +33 -28
  38. package/lib/slot/upgradeStateToGloas.js.map +1 -1
  39. package/lib/stateView/beaconStateView.d.ts +8 -3
  40. package/lib/stateView/beaconStateView.d.ts.map +1 -1
  41. package/lib/stateView/beaconStateView.js +15 -4
  42. package/lib/stateView/beaconStateView.js.map +1 -1
  43. package/lib/stateView/interface.d.ts +1 -1
  44. package/lib/stateView/interface.d.ts.map +1 -1
  45. package/lib/util/index.d.ts +1 -0
  46. package/lib/util/index.d.ts.map +1 -1
  47. package/lib/util/index.js +1 -0
  48. package/lib/util/index.js.map +1 -1
  49. package/lib/util/pendingDepositsLookup.d.ts +40 -0
  50. package/lib/util/pendingDepositsLookup.d.ts.map +1 -0
  51. package/lib/util/pendingDepositsLookup.js +84 -0
  52. package/lib/util/pendingDepositsLookup.js.map +1 -0
  53. package/package.json +12 -7
  54. package/src/block/processDepositRequest.ts +29 -47
  55. package/src/block/processParentExecutionPayload.ts +4 -3
  56. package/src/lightClient/spec/index.ts +101 -0
  57. package/src/lightClient/spec/isBetterUpdate.ts +94 -0
  58. package/src/lightClient/spec/processLightClientUpdate.ts +119 -0
  59. package/src/lightClient/spec/store.ts +106 -0
  60. package/src/lightClient/spec/utils.ts +317 -0
  61. package/src/lightClient/spec/validateLightClientBootstrap.ts +39 -0
  62. package/src/lightClient/spec/validateLightClientUpdate.ts +145 -0
  63. package/src/slot/upgradeStateToGloas.ts +41 -44
  64. package/src/stateView/beaconStateView.ts +15 -4
  65. package/src/stateView/interface.ts +1 -1
  66. package/src/util/index.ts +1 -0
  67. package/src/util/pendingDepositsLookup.ts +105 -0
@@ -77,10 +77,15 @@ export declare class BeaconStateView implements IBeaconStateViewLatestFork {
77
77
  */
78
78
  getEpochPTCs(epoch: Epoch): Uint32Array[];
79
79
  /**
80
- * Return the index of the validator in the PTC committee for the given slot.
81
- * return -1 if validator is not in the PTC committee for the given slot.
80
+ * Return all positions of the validator in the PTC committee for the given slot.
81
+ *
82
+ * `compute_ptc` samples by effective balance and may place the same validator at multiple
83
+ * positions, so a validator can have more than one index. Returns an empty array if the
84
+ * validator is not in the PTC for the given slot.
85
+ *
86
+ * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
82
87
  */
83
- getIndexInPayloadTimelinessCommittee(validatorIndex: ValidatorIndex, slot: Slot): number;
88
+ getIndicesInPayloadTimelinessCommittee(validatorIndex: ValidatorIndex, slot: Slot): number[];
84
89
  getShufflingAtEpoch(epoch: Epoch): EpochShuffling;
85
90
  get previousDecisionRoot(): RootHex;
86
91
  get currentDecisionRoot(): RootHex;
@@ -1 +1 @@
1
- {"version":3,"file":"beaconStateView.d.ts","sourceRoot":"","sources":["../../src/stateView/beaconStateView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beaconStateView.d.ts","sourceRoot":"","sources":["../../src/stateView/beaconStateView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAA+B,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAC,QAAQ,EAAqC,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,sBAAsB,EACtB,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,wBAAwB,EACxB,IAAI,EACJ,aAAa,EACb,cAAc,EACd,OAAO,EACP,OAAO,EACP,IAAI,EAEJ,KAAK,EAEL,MAAM,EACN,OAAO,EACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAC,qBAAqB,EAA2B,MAAM,kCAAkC,CAAC;AAEjG,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,yBAAyB,EAS1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAGlE,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAI7D,OAAO,EAAC,sBAAsB,EAAE,mBAAmB,EAAgC,MAAM,uBAAuB,CAAC;AAKjH,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAWzD,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAAmB,MAAM,gBAAgB,CAAC;AAErH,qBAAa,eAAgB,YAAW,0BAA0B;IA0BpD,QAAQ,CAAC,WAAW,EAAE,yBAAyB;IAzB3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAGtC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,kBAAkB,CAAyC;IAEnE,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,2BAA2B,CAA2B;IAC9D,OAAO,CAAC,0BAA0B,CAA2B;IAE7D,OAAO,CAAC,6BAA6B,CAAuC;IAE5E,OAAO,CAAC,oBAAoB,CAA4C;IAExE,OAAO,CAAC,0BAA0B,CAAkD;IACpF,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,gBAAgB,CAAwC;IAEhE,OAAO,CAAC,kBAAkB,CAAuC;IAEjE,OAAO,CAAC,6BAA6B,CAAyB;IAC9D,OAAO,CAAC,0BAA0B,CAAoC;IACtE,OAAO,CAAC,2BAA2B,CAAqC;IAExE,YAAqB,WAAW,EAAE,yBAAyB,EAE1D;IAID,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,IAAI,CAKf;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,qBAAqB,IAAI,IAAI,CAEhC;IAED,IAAI,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAE9B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAKhD;IAED,IAAI,2BAA2B,IAAI,UAAU,CAE5C;IAED,IAAI,0BAA0B,IAAI,UAAU,CAE3C;IAED,IAAI,mBAAmB,IAAI,UAAU,CAEpC;IAED,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEnC;IAED,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAEtC;IAED,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEnC;IAED,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAElC;IAED,IAAI,0BAA0B,IAAI,UAAU,CAY3C;IAID,IAAI,yBAAyB,IAAI,UAAU,CAY1C;IAED,6BAA6B,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAKpE;IAED,4BAA4B,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAKnE;IAID,IAAI,4BAA4B,IAAI,sBAAsB,CAgBzD;IAED;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAS/B;IAID,IAAI,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAUrD;IAID,IAAI,eAAe,IAAI,OAAO,CAAC,eAAe,CAU7C;IAED,IAAI,oBAAoB,IAAI,MAAM,CAMjC;IAED,IAAI,yBAAyB,IAAI,OAAO,CAAC,yBAAyB,CAYjE;IAED,IAAI,8BAA8B,IAAI,MAAM,CAM3C;IAED,IAAI,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAUzD;IAED,IAAI,0BAA0B,IAAI,MAAM,CAMvC;IAID,IAAI,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAU9C;IAID,IAAI,eAAe,IAAI,OAAO,CAK7B;IAED,IAAI,4BAA4B,IAAI,QAAQ,CAY3C;IAED,IAAI,yBAAyB,IAAI,mBAAmB,CAWnD;IAED,IAAI,0BAA0B,IAAI,OAAO,CAAC,UAAU,EAAE,CAWrD;IAED,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,OAAO,CAM7C;IAED,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAMzE;IAED;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,CAaxC;IACD;;;;;;;;OAQG;IACH,sCAAsC,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAa3F;IAID,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAEhD;IAED,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE9C;IAED,oBAAoB,IAAI,cAAc,CAErC;IAED,mBAAmB,IAAI,cAAc,CAEpC;IAED,gBAAgB,IAAI,cAAc,CAEjC;IAID,IAAI,iBAAiB,IAAI,cAAc,EAAE,GAAG,IAAI,CAE/C;IAED,IAAI,gBAAgB,IAAI,cAAc,EAAE,CAEvC;IAED,IAAI,aAAa,IAAI,cAAc,EAAE,CAEpC;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAE9C;IAED,uBAAuB,IAAI;QAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAA;KAAC,CAEhG;IAID,IAAI,oBAAoB,IAAI,aAAa,CAUxC;IAED,IAAI,iBAAiB,IAAI,aAAa,CAUrC;IAED,IAAI,2BAA2B,IAAI,kBAAkB,CAEpD;IAED,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,kBAAkB,CAEtD;IAED,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAE/D;IAID,IAAI,0BAA0B,IAAI,0BAA0B,CAE3D;IAED,yCAAyC,IAAI,0BAA0B,CAEtE;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhC;IAED,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,SAAS,CAEpD;IAED,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAWpF;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,gBAAgB,IAAI,MAAM,CAAC,SAAS,EAAE,CAErC;IAED,cAAc,IAAI,MAAM,EAAE,CAEzB;IAID,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,GAAG,OAAO,CAMnE;IAED,IAAI,yBAAyB,IAAI,OAAO,CAKvC;IAID,sBAAsB,IAAI;QACxB,mBAAmB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1C,gCAAgC,EAAE,MAAM,CAAC;QACzC,gCAAgC,EAAE,MAAM,CAAC;QACzC,2BAA2B,EAAE,MAAM,CAAC;QACpC,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAMA;IAID,IAAI,eAAe,IAAI,WAAW,CAEjC;IAEK,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAE1G;IAEK,0BAA0B,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAOjH;IAEK,2BAA2B,CAC/B,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,GACxC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAQvC;IAED,wCAAwC,IAAI,KAAK,CAEhD;IAID,wBAAwB,CACtB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAC/C,eAAe,UAAO,GACrB,qBAAqB,CAGvB;IAED,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAEvG;IAID,qBAAqB,IAAI,UAAU,EAAE,CAEpC;IAED,wBAAwB,IAAI,oBAAoB,CAO/C;IAED,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAE3C;IAED,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAG1D;IAID,4BAA4B,IAAI;QAC9B,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC;QACvC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC;KACxC,CAEA;IAID,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,4BAA4B,IAAI,MAAM,CAEzC;IAED,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IAED,+BAA+B,IAAI,OAAO,CAEzC;IAID,cAAc,CACZ,UAAU,EAAE,UAAU,EACtB,mBAAmB,CAAC,EAAE,UAAU,EAChC,IAAI,CAAC,EAAE;QAAC,4BAA4B,CAAC,EAAE,OAAO,CAAA;KAAC,GAC9C,gBAAgB,CAqBlB;IAED,OAAO,IAAI,WAAW,CAErB;IAED,SAAS,IAAI,UAAU,CAEtB;IAED,cAAc,IAAI,MAAM,CAEvB;IAED,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;IAED,mBAAmB,IAAI,UAAU,CAEhC;IAED,wBAAwB,IAAI,MAAM,CAGjC;IAED,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;IAED,YAAY,IAAI,UAAU,CAEzB;IAID,eAAe,CACb,WAAW,EAAE,iBAAiB,GAAG,wBAAwB,EACzD,OAAO,EAAE,mBAAmB,EAC5B,EAAC,OAAO,EAAE,gBAAgB,EAAC,EAAE,sBAAsB,GAClD,gBAAgB,CAGlB;IAED,YAAY,CACV,IAAI,EAAE,IAAI,EACV,wBAAwB,CAAC,EAAE,wBAAwB,GAAG;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAC,EACnF,OAAO,CAAC,EAAE,sBAAsB,GAC/B,gBAAgB,CAGlB;IAED;;OAEG;IACH,wBAAwB,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,GAAG,qBAAqB,CAc5F;CACF"}
@@ -292,15 +292,26 @@ export class BeaconStateView {
292
292
  throw new Error(`PTC committees are not available for epoch=${epoch}`);
293
293
  }
294
294
  /**
295
- * Return the index of the validator in the PTC committee for the given slot.
296
- * return -1 if validator is not in the PTC committee for the given slot.
295
+ * Return all positions of the validator in the PTC committee for the given slot.
296
+ *
297
+ * `compute_ptc` samples by effective balance and may place the same validator at multiple
298
+ * positions, so a validator can have more than one index. Returns an empty array if the
299
+ * validator is not in the PTC for the given slot.
300
+ *
301
+ * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
297
302
  */
298
- getIndexInPayloadTimelinessCommittee(validatorIndex, slot) {
303
+ getIndicesInPayloadTimelinessCommittee(validatorIndex, slot) {
299
304
  if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
300
305
  throw new Error("PTC committees are not supported before Gloas");
301
306
  }
302
307
  const ptcCommittee = this.cachedState.epochCtx.getPayloadTimelinessCommittee(slot);
303
- return ptcCommittee.indexOf(validatorIndex);
308
+ const indices = [];
309
+ for (let i = 0; i < ptcCommittee.length; i++) {
310
+ if (ptcCommittee[i] === validatorIndex) {
311
+ indices.push(i);
312
+ }
313
+ }
314
+ return indices;
304
315
  }
305
316
  // Shuffling and committees
306
317
  getShufflingAtEpoch(epoch) {
@@ -1 +1 @@
1
- {"version":3,"file":"beaconStateView.js","sourceRoot":"","sources":["../../src/stateView/beaconStateView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beaconStateView.js","sourceRoot":"","sources":["../../src/stateView/beaconStateView.ts"],"names":[],"mappings":"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"}
@@ -167,7 +167,7 @@ export interface IBeaconStateViewGloas extends IBeaconStateViewFulu {
167
167
  getBuilder(index: BuilderIndex): gloas.Builder;
168
168
  canBuilderCoverBid(builderIndex: BuilderIndex, bidAmount: number): boolean;
169
169
  getEpochPTCs(epoch: Epoch): Uint32Array[];
170
- getIndexInPayloadTimelinessCommittee(validatorIndex: ValidatorIndex, slot: Slot): number;
170
+ getIndicesInPayloadTimelinessCommittee(validatorIndex: ValidatorIndex, slot: Slot): number[];
171
171
  /**
172
172
  * Clone the state and apply parent execution payload effects.
173
173
  * Used during block production and prepareNextSlot so that withdrawals and
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export * from "./genesis.js";
18
18
  export * from "./gloas.js";
19
19
  export * from "./interop.js";
20
20
  export * from "./loadState/index.js";
21
+ export * from "./pendingDepositsLookup.js";
21
22
  export * from "./rootCache.js";
22
23
  export * from "./seed.js";
23
24
  export * from "./shuffling.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
package/lib/util/index.js CHANGED
@@ -18,6 +18,7 @@ export * from "./genesis.js";
18
18
  export * from "./gloas.js";
19
19
  export * from "./interop.js";
20
20
  export * from "./loadState/index.js";
21
+ export * from "./pendingDepositsLookup.js";
21
22
  export * from "./rootCache.js";
22
23
  export * from "./seed.js";
23
24
  export * from "./shuffling.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { BeaconConfig } from "@lodestar/config";
2
+ import { PubkeyHex, electra } from "@lodestar/types";
3
+ import { CachedBeaconStateGloas } from "../types.js";
4
+ /**
5
+ * Mutable lookup for the pending-deposit sequence used by builder-routing logic.
6
+ *
7
+ * This is to implement the spec's `is_pending_validator(pending_deposits, pubkey)` lazily:
8
+ * deposits are grouped by pubkey without verifying signatures, and BLS verification is
9
+ * deferred until a builder deposit needs to know whether the same pubkey already has a
10
+ * valid pending validator deposit.
11
+ *
12
+ * Call `add()` whenever a deposit is appended to the represented sequence. A cached `true`
13
+ * result short-circuits all subsequent checks for that pubkey; a cached `false` records
14
+ * how many deposits were already verified, so appending a new deposit only verifies the
15
+ * newly-appended tail rather than re-running BLS on previously-invalid entries.
16
+ */
17
+ export declare class PendingDepositsLookup {
18
+ private readonly depositsByPubkey;
19
+ private readonly validationCache;
20
+ private constructor();
21
+ /** Build an empty lookup for a sequence that will be populated incrementally. */
22
+ static buildEmpty(): PendingDepositsLookup;
23
+ /**
24
+ * Build a pubkey -> pending-deposits lookup from `state.pendingDeposits`.
25
+ * No BLS work is done here; signature verification happens lazily in `hasPendingValidator`.
26
+ */
27
+ static build(state: CachedBeaconStateGloas): PendingDepositsLookup;
28
+ /**
29
+ * Append a pending deposit to the represented sequence.
30
+ * Pass `pubkeyHex` if the caller has already computed it.
31
+ */
32
+ add(pendingDeposit: electra.PendingDeposit, pubkeyHex?: PubkeyHex): void;
33
+ /**
34
+ * Returns true if any pending deposit for `pubkeyHex` has a valid BLS deposit signature.
35
+ * Memoizes the result in `validationCache` so repeated checks for the same pubkey
36
+ * within a block only verify deposits that have not already been checked.
37
+ */
38
+ hasPendingValidator(config: BeaconConfig, pubkeyHex: PubkeyHex): boolean;
39
+ }
40
+ //# sourceMappingURL=pendingDepositsLookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pendingDepositsLookup.d.ts","sourceRoot":"","sources":["../../src/util/pendingDepositsLookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAOnD;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAFlC,OAAO,eAGH;IAEJ,iFAAiF;IACjF,MAAM,CAAC,UAAU,IAAI,qBAAqB,CAEzC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,qBAAqB,CAMjE;IAED;;;OAGG;IACH,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAQvE;IAED;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAqCvE;CACF"}
@@ -0,0 +1,84 @@
1
+ import { toPubkeyHex } from "@lodestar/utils";
2
+ import { isValidDepositSignature } from "../block/processDeposit.js";
3
+ /**
4
+ * Mutable lookup for the pending-deposit sequence used by builder-routing logic.
5
+ *
6
+ * This is to implement the spec's `is_pending_validator(pending_deposits, pubkey)` lazily:
7
+ * deposits are grouped by pubkey without verifying signatures, and BLS verification is
8
+ * deferred until a builder deposit needs to know whether the same pubkey already has a
9
+ * valid pending validator deposit.
10
+ *
11
+ * Call `add()` whenever a deposit is appended to the represented sequence. A cached `true`
12
+ * result short-circuits all subsequent checks for that pubkey; a cached `false` records
13
+ * how many deposits were already verified, so appending a new deposit only verifies the
14
+ * newly-appended tail rather than re-running BLS on previously-invalid entries.
15
+ */
16
+ export class PendingDepositsLookup {
17
+ depositsByPubkey;
18
+ validationCache;
19
+ constructor(depositsByPubkey, validationCache) {
20
+ this.depositsByPubkey = depositsByPubkey;
21
+ this.validationCache = validationCache;
22
+ }
23
+ /** Build an empty lookup for a sequence that will be populated incrementally. */
24
+ static buildEmpty() {
25
+ return new PendingDepositsLookup(new Map(), new Map());
26
+ }
27
+ /**
28
+ * Build a pubkey -> pending-deposits lookup from `state.pendingDeposits`.
29
+ * No BLS work is done here; signature verification happens lazily in `hasPendingValidator`.
30
+ */
31
+ static build(state) {
32
+ const lookup = PendingDepositsLookup.buildEmpty();
33
+ for (const pendingDeposit of state.pendingDeposits.getAllReadonly()) {
34
+ lookup.add(pendingDeposit);
35
+ }
36
+ return lookup;
37
+ }
38
+ /**
39
+ * Append a pending deposit to the represented sequence.
40
+ * Pass `pubkeyHex` if the caller has already computed it.
41
+ */
42
+ add(pendingDeposit, pubkeyHex) {
43
+ const key = pubkeyHex ?? toPubkeyHex(pendingDeposit.pubkey);
44
+ const existing = this.depositsByPubkey.get(key);
45
+ if (existing) {
46
+ existing.push(pendingDeposit);
47
+ }
48
+ else {
49
+ this.depositsByPubkey.set(key, [pendingDeposit]);
50
+ }
51
+ }
52
+ /**
53
+ * Returns true if any pending deposit for `pubkeyHex` has a valid BLS deposit signature.
54
+ * Memoizes the result in `validationCache` so repeated checks for the same pubkey
55
+ * within a block only verify deposits that have not already been checked.
56
+ */
57
+ hasPendingValidator(config, pubkeyHex) {
58
+ const validation = this.validationCache.get(pubkeyHex);
59
+ if (validation?.hasValidSignature === true) {
60
+ return true;
61
+ }
62
+ const deposits = this.depositsByPubkey.get(pubkeyHex);
63
+ if (deposits === undefined) {
64
+ return false;
65
+ }
66
+ // hasValidSignature is false or undefined; resume from the last validatedCount so
67
+ // previously-checked invalid deposits are not re-verified.
68
+ const startIndex = validation?.validatedCount ?? 0;
69
+ if (startIndex === deposits.length) {
70
+ // Nothing new to check; the cached false result still holds.
71
+ return false;
72
+ }
73
+ for (let i = startIndex; i < deposits.length; i++) {
74
+ const deposit = deposits[i];
75
+ if (isValidDepositSignature(config, deposit.pubkey, deposit.withdrawalCredentials, deposit.amount, deposit.signature)) {
76
+ this.validationCache.set(pubkeyHex, { hasValidSignature: true, validatedCount: i + 1 });
77
+ return true;
78
+ }
79
+ }
80
+ this.validationCache.set(pubkeyHex, { hasValidSignature: false, validatedCount: deposits.length });
81
+ return false;
82
+ }
83
+ }
84
+ //# sourceMappingURL=pendingDepositsLookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pendingDepositsLookup.js","sourceRoot":"","sources":["../../src/util/pendingDepositsLookup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.43.0-dev.be5f70c0c8",
14
+ "version": "1.43.0-dev.c98da75ec7",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -34,6 +34,11 @@
34
34
  "types": "./lib/slot/index.d.ts",
35
35
  "import": "./lib/slot/index.js"
36
36
  },
37
+ "./light-client": {
38
+ "bun": "./src/lightClient/spec/index.ts",
39
+ "types": "./lib/lightClient/spec/index.d.ts",
40
+ "import": "./lib/lightClient/spec/index.js"
41
+ },
37
42
  "./test-utils": {
38
43
  "bun": "./src/testUtils/index.ts",
39
44
  "types": "./lib/testUtils/index.d.ts",
@@ -67,14 +72,14 @@
67
72
  "@chainsafe/pubkey-index-map": "^3.0.0",
68
73
  "@chainsafe/ssz": "^1.4.0",
69
74
  "@chainsafe/swap-or-not-shuffle": "^1.2.1",
70
- "@lodestar/config": "^1.43.0-dev.be5f70c0c8",
71
- "@lodestar/params": "^1.43.0-dev.be5f70c0c8",
72
- "@lodestar/types": "^1.43.0-dev.be5f70c0c8",
73
- "@lodestar/utils": "^1.43.0-dev.be5f70c0c8",
75
+ "@lodestar/config": "^1.43.0-dev.c98da75ec7",
76
+ "@lodestar/params": "^1.43.0-dev.c98da75ec7",
77
+ "@lodestar/types": "^1.43.0-dev.c98da75ec7",
78
+ "@lodestar/utils": "^1.43.0-dev.c98da75ec7",
74
79
  "@vekexasia/bigint-buffer2": "^1.1.1"
75
80
  },
76
81
  "devDependencies": {
77
- "@lodestar/api": "^1.43.0-dev.be5f70c0c8"
82
+ "@lodestar/api": "^1.43.0-dev.c98da75ec7"
78
83
  },
79
84
  "keywords": [
80
85
  "ethereum",
@@ -82,5 +87,5 @@
82
87
  "beacon",
83
88
  "blockchain"
84
89
  ],
85
- "gitHead": "245f0dd5f56995913d563b3b96562ec2aa090e5e"
90
+ "gitHead": "d44b10862beae5c59469c81b1aed99df3871dbe9"
86
91
  }
@@ -1,10 +1,10 @@
1
- import {BeaconConfig} from "@lodestar/config";
2
1
  import {FAR_FUTURE_EPOCH, ForkSeq, UNSET_DEPOSIT_REQUESTS_START_INDEX} from "@lodestar/params";
3
- import {BLSPubkey, Bytes32, PubkeyHex, UintNum64, electra, ssz} from "@lodestar/types";
2
+ import {BLSPubkey, Bytes32, UintNum64, electra, ssz} from "@lodestar/types";
4
3
  import {toPubkeyHex} from "@lodestar/utils";
5
4
  import {CachedBeaconStateElectra, CachedBeaconStateGloas} from "../types.js";
6
5
  import {findBuilderIndexByPubkey, isBuilderWithdrawalCredential} from "../util/gloas.js";
7
6
  import {computeEpochAtSlot, isValidatorKnown} from "../util/index.js";
7
+ import {PendingDepositsLookup} from "../util/pendingDepositsLookup.js";
8
8
  import {isValidDepositSignature} from "./processDeposit.js";
9
9
 
10
10
  /**
@@ -76,53 +76,60 @@ function addBuilderToRegistry(
76
76
  }
77
77
  }
78
78
 
79
- // TODO GLOAS: pendingValidatorPubkeys cache is currently naive and has room for improvement.
80
- // Currently the cache lives in process_block, but we should put it in epochCache or elsewhere that has longer
81
- // lifetime to avoid duplicated deposit signature computation
79
+ // TODO GLOAS: the PendingDepositsLookup is currently scoped to a single envelope of
80
+ // deposit-requests. We can track it as ephemeral within EpochCache and transfer to the next block
81
+ // transition to reuse cached signature verifications.
82
82
  // See https://github.com/ChainSafe/lodestar/issues/9181
83
83
  export function processDepositRequest(
84
84
  fork: ForkSeq,
85
85
  state: CachedBeaconStateElectra | CachedBeaconStateGloas,
86
86
  depositRequest: electra.DepositRequest,
87
- pendingValidatorPubkeysCache?: Set<PubkeyHex>
87
+ pendingDepositsLookup?: PendingDepositsLookup
88
88
  ): void {
89
89
  const {pubkey, withdrawalCredentials, amount, signature} = depositRequest;
90
90
 
91
- // Check if this is a builder or validator deposit
92
91
  if (fork >= ForkSeq.gloas) {
93
92
  const stateGloas = state as CachedBeaconStateGloas;
94
- const pendingValidatorPubkeys =
95
- pendingValidatorPubkeysCache ?? getPendingValidatorPubkeys(state.config, stateGloas);
93
+ const lookup = pendingDepositsLookup ?? PendingDepositsLookup.build(stateGloas);
96
94
  const pubkeyHex = toPubkeyHex(pubkey);
97
95
  const builderIndex = findBuilderIndexByPubkey(stateGloas, pubkey);
98
96
  const validatorIndex = state.epochCtx.getValidatorIndex(pubkey);
99
97
 
100
- // Regardless of the withdrawal credentials prefix, if a builder/validator
101
- // already exists with this pubkey, apply the deposit to their balance
102
98
  const isBuilder = builderIndex !== null;
103
99
  const isValidator = isValidatorKnown(state, validatorIndex);
104
- const isPendingValidator = pendingValidatorPubkeys.has(pubkeyHex);
105
100
 
106
- if (isBuilder || (isBuilderWithdrawalCredential(withdrawalCredentials) && !isValidator && !isPendingValidator)) {
107
- // Apply builder deposits immediately
101
+ if (isBuilder) {
102
+ // Top up an existing builder regardless of withdrawal credential prefix
108
103
  applyDepositForBuilder(stateGloas, pubkey, withdrawalCredentials, amount, signature, state.slot);
109
104
  return;
110
105
  }
111
106
 
112
- // Keep the shared cache in sync: if this deposit has a valid signature, subsequent
113
- // deposit requests for the same pubkey in this envelope must see it as a pending validator
107
+ // Only check the (expensive) "pending validator" condition when needed
114
108
  if (
115
- pendingValidatorPubkeysCache &&
109
+ isBuilderWithdrawalCredential(withdrawalCredentials) &&
116
110
  !isValidator &&
117
- !isPendingValidator &&
118
- isValidDepositSignature(state.config, pubkey, withdrawalCredentials, amount, signature)
111
+ !lookup.hasPendingValidator(state.config, pubkeyHex)
119
112
  ) {
120
- pendingValidatorPubkeys.add(pubkeyHex);
113
+ applyDepositForBuilder(stateGloas, pubkey, withdrawalCredentials, amount, signature, state.slot);
114
+ return;
121
115
  }
116
+
117
+ const pendingDeposit = ssz.electra.PendingDeposit.toViewDU({
118
+ pubkey,
119
+ withdrawalCredentials,
120
+ amount,
121
+ signature,
122
+ slot: state.slot,
123
+ });
124
+ // Keep the lookup in sync with state.pendingDeposits so later deposit-requests
125
+ // in the same envelope see this deposit
126
+ lookup.add(pendingDeposit, pubkeyHex);
127
+ state.pendingDeposits.push(pendingDeposit);
128
+ return;
122
129
  }
123
130
 
124
- // Only set deposit_requests_start_index in Electra fork, not Gloas
125
- if (fork < ForkSeq.gloas && state.depositRequestsStartIndex === UNSET_DEPOSIT_REQUESTS_START_INDEX) {
131
+ // Pre-Gloas (Electra) path
132
+ if (state.depositRequestsStartIndex === UNSET_DEPOSIT_REQUESTS_START_INDEX) {
126
133
  state.depositRequestsStartIndex = depositRequest.index;
127
134
  }
128
135
 
@@ -136,28 +143,3 @@ export function processDepositRequest(
136
143
  });
137
144
  state.pendingDeposits.push(pendingDeposit);
138
145
  }
139
-
140
- /**
141
- * Build a set of pubkeys (hex-encoded) from pending deposits that have valid signatures.
142
- * This is computed once and passed to each processDepositRequest call to avoid
143
- * repeatedly iterating state.pendingDeposits.
144
- *
145
- * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.3/specs/gloas/beacon-chain.md#new-is_pending_validator
146
- */
147
- export function getPendingValidatorPubkeys(config: BeaconConfig, state: CachedBeaconStateGloas): Set<PubkeyHex> {
148
- const result = new Set<PubkeyHex>();
149
- for (const pendingDeposit of state.pendingDeposits.getAllReadonly()) {
150
- if (
151
- isValidDepositSignature(
152
- config,
153
- pendingDeposit.pubkey,
154
- pendingDeposit.withdrawalCredentials,
155
- pendingDeposit.amount,
156
- pendingDeposit.signature
157
- )
158
- ) {
159
- result.add(toPubkeyHex(pendingDeposit.pubkey));
160
- }
161
- }
162
- return result;
163
- }
@@ -3,8 +3,9 @@ import {BeaconBlock, electra, ssz} from "@lodestar/types";
3
3
  import {byteArrayEquals, toRootHex} from "@lodestar/utils";
4
4
  import {CachedBeaconStateGloas} from "../types.js";
5
5
  import {computeEpochAtSlot} from "../util/epoch.js";
6
+ import {PendingDepositsLookup} from "../util/pendingDepositsLookup.js";
6
7
  import {processConsolidationRequest} from "./processConsolidationRequest.js";
7
- import {getPendingValidatorPubkeys, processDepositRequest} from "./processDepositRequest.js";
8
+ import {processDepositRequest} from "./processDepositRequest.js";
8
9
  import {processWithdrawalRequest} from "./processWithdrawalRequest.js";
9
10
 
10
11
  /**
@@ -54,9 +55,9 @@ export function applyParentExecutionPayload(state: CachedBeaconStateGloas, reque
54
55
  // Process execution requests from parent's payload. The execution
55
56
  // requests are processed at state.slot (child's slot), not the parent's slot.
56
57
  if (requests.deposits.length > 0) {
57
- const pendingValidatorPubkeys = getPendingValidatorPubkeys(state.config, state);
58
+ const pendingDepositsLookup = PendingDepositsLookup.build(state);
58
59
  for (const deposit of requests.deposits) {
59
- processDepositRequest(fork, state, deposit, pendingValidatorPubkeys);
60
+ processDepositRequest(fork, state, deposit, pendingDepositsLookup);
60
61
  }
61
62
  }
62
63