@obolnetwork/obol-sdk 2.12.2 → 2.12.5

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 (37) hide show
  1. package/dist/browser/src/index.js +72 -13
  2. package/dist/browser/src/index.js.map +1 -1
  3. package/dist/cjs/src/index.js +73 -13
  4. package/dist/cjs/src/index.js.map +1 -1
  5. package/dist/cjs/src/verification/clusterLockValidationWorker.js +39 -8
  6. package/dist/cjs/src/verification/clusterLockValidationWorker.js.map +1 -1
  7. package/dist/cjs/src/verification/parallelPool.js +27 -7
  8. package/dist/cjs/src/verification/parallelPool.js.map +1 -1
  9. package/dist/esm/src/{chunk-YSXFCSVK.js → chunk-BJWBUH75.js} +39 -8
  10. package/dist/esm/src/chunk-BJWBUH75.js.map +1 -0
  11. package/dist/esm/src/{chunk-T74RX3N2.js → chunk-L2GZF5CQ.js} +8 -4
  12. package/dist/esm/src/chunk-L2GZF5CQ.js.map +1 -0
  13. package/dist/esm/src/index.js +33 -6
  14. package/dist/esm/src/index.js.map +1 -1
  15. package/dist/esm/src/verification/clusterLockValidationWorker.js +9 -3
  16. package/dist/esm/src/verification/clusterLockValidationWorker.js.map +1 -1
  17. package/dist/esm/src/verification/parallelPool.js +1 -1
  18. package/dist/types/src/errors.d.ts +17 -7
  19. package/dist/types/src/index.d.ts +1 -1
  20. package/dist/types/src/services.d.ts +6 -3
  21. package/dist/types/src/verification/parallelPool.d.ts +4 -0
  22. package/dist/types/src/verification/validationConcurrency.d.ts +11 -0
  23. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  24. package/package.json +2 -2
  25. package/dist/esm/src/chunk-T74RX3N2.js.map +0 -1
  26. package/dist/esm/src/chunk-YSXFCSVK.js.map +0 -1
  27. package/dist/types/test/client/ajv.spec.d.ts +0 -1
  28. package/dist/types/test/client/baseUrl.spec.d.ts +0 -1
  29. package/dist/types/test/client/methods.spec.d.ts +0 -18
  30. package/dist/types/test/eoa/eoa.spec.d.ts +0 -1
  31. package/dist/types/test/exit/ethUtils.spec.d.ts +0 -1
  32. package/dist/types/test/exit/exit.spec.d.ts +0 -1
  33. package/dist/types/test/exit/verificationHelpers.spec.d.ts +0 -1
  34. package/dist/types/test/fixtures.d.ts +0 -359
  35. package/dist/types/test/incentives/incentives.spec.d.ts +0 -1
  36. package/dist/types/test/splits/splits.spec.d.ts +0 -1
  37. package/dist/types/test/verification/parallelPool.spec.d.ts +0 -1
@@ -3833,7 +3833,8 @@ function blsVerifyExtraShares(pubshares, threshold, distributedPubkey) {
3833
3833
  // src/errors.ts
3834
3834
  var ClusterLockValidationTimeoutError = class _ClusterLockValidationTimeoutError extends Error {
3835
3835
  /**
3836
- * @param timeoutMs - Same value as SDK whole-lock validation worker timeout.
3836
+ * @param timeoutMs - Worker deadline that was exceeded (`VALIDATION_WORKER_TIMEOUT_MS`
3837
+ * for the whole-lock worker, `WORKER_TIMEOUT_MS` for per-chunk BLS workers).
3837
3838
  */
3838
3839
  constructor(timeoutMs) {
3839
3840
  super(
@@ -3854,8 +3855,11 @@ var MIN_PAIRS_PER_WORKER = 50;
3854
3855
  var MIN_PARALLEL_AGGREGATE_KEYS = 400;
3855
3856
  var MIN_KEYS_PER_WORKER_AGG = 100;
3856
3857
  var MIN_VALIDATORS_FOR_VALIDATION_WORKER = 50;
3857
- var VALIDATION_WORKER_TIMEOUT_MS = 12e4;
3858
- var WORKER_TIMEOUT_MS = 6e4;
3858
+ var VALIDATION_WORKER_TIMEOUT_MS = 3e5;
3859
+ var WORKER_TIMEOUT_MS = 18e4;
3860
+ function isValidationTimeoutReply(msg) {
3861
+ return typeof msg === "object" && msg !== null && "validationTimeoutMs" in msg && typeof msg.validationTimeoutMs === "number";
3862
+ }
3859
3863
  var MAX_CONCURRENT_WORKERS_CAP = 8;
3860
3864
  function maxConcurrentWorkers(numWorkers) {
3861
3865
  return Math.min(numWorkers, MAX_CONCURRENT_WORKERS_CAP);
@@ -3952,7 +3956,7 @@ function verifySharesSync(shares, distributedKeys, threshold) {
3952
3956
  }
3953
3957
  function runWorkerAggregatePubkeys(wt, workerFile, data) {
3954
3958
  return __async(this, null, function* () {
3955
- return yield new Promise((resolve) => {
3959
+ return yield new Promise((resolve, reject) => {
3956
3960
  let settled = false;
3957
3961
  const worker = new wt.Worker(workerFile, { workerData: data });
3958
3962
  const finish = (result) => {
@@ -3963,7 +3967,11 @@ function runWorkerAggregatePubkeys(wt, workerFile, data) {
3963
3967
  resolve(result);
3964
3968
  };
3965
3969
  const timer = setTimeout(() => {
3966
- finish(null);
3970
+ if (settled) return;
3971
+ settled = true;
3972
+ clearTimeout(timer);
3973
+ worker.terminate();
3974
+ reject(new ClusterLockValidationTimeoutError(WORKER_TIMEOUT_MS));
3967
3975
  }, WORKER_TIMEOUT_MS);
3968
3976
  worker.once("message", (msg) => {
3969
3977
  finish(msg instanceof Uint8Array ? msg : null);
@@ -3979,7 +3987,7 @@ function runWorkerAggregatePubkeys(wt, workerFile, data) {
3979
3987
  }
3980
3988
  function runWorker(wt, workerFile, data) {
3981
3989
  return __async(this, null, function* () {
3982
- return yield new Promise((resolve) => {
3990
+ return yield new Promise((resolve, reject) => {
3983
3991
  let settled = false;
3984
3992
  const worker = new wt.Worker(workerFile, { workerData: data });
3985
3993
  const finish = (result) => {
@@ -3990,7 +3998,11 @@ function runWorker(wt, workerFile, data) {
3990
3998
  resolve(result);
3991
3999
  };
3992
4000
  const timer = setTimeout(() => {
3993
- finish(false);
4001
+ if (settled) return;
4002
+ settled = true;
4003
+ clearTimeout(timer);
4004
+ worker.terminate();
4005
+ reject(new ClusterLockValidationTimeoutError(WORKER_TIMEOUT_MS));
3994
4006
  }, WORKER_TIMEOUT_MS);
3995
4007
  worker.once("message", (msg) => {
3996
4008
  finish(msg === true);
@@ -4151,6 +4163,14 @@ function validateClusterLockInWorker(lock, safeRpcUrl) {
4151
4163
  resolve(result);
4152
4164
  };
4153
4165
  worker.once("message", (msg) => {
4166
+ if (isValidationTimeoutReply(msg)) {
4167
+ if (settled) return;
4168
+ settled = true;
4169
+ clearTimeout(timer);
4170
+ worker.terminate();
4171
+ reject(new ClusterLockValidationTimeoutError(msg.validationTimeoutMs));
4172
+ return;
4173
+ }
4154
4174
  finish(msg === true);
4155
4175
  });
4156
4176
  worker.once("error", () => {