@obolnetwork/obol-sdk 2.12.0 → 2.12.2

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 (42) hide show
  1. package/README.md +6 -4
  2. package/dist/browser/src/index.js +374 -170
  3. package/dist/browser/src/index.js.map +1 -1
  4. package/dist/cjs/src/blsUtils.js +19 -2
  5. package/dist/cjs/src/blsUtils.js.map +1 -1
  6. package/dist/cjs/src/index.js +382 -170
  7. package/dist/cjs/src/index.js.map +1 -1
  8. package/dist/cjs/src/verification/clusterLockValidationWorker.js +14694 -0
  9. package/dist/cjs/src/verification/clusterLockValidationWorker.js.map +1 -0
  10. package/dist/cjs/src/verification/lockWorker.js +13 -1
  11. package/dist/cjs/src/verification/lockWorker.js.map +1 -1
  12. package/dist/cjs/src/verification/parallelPool.js +227 -35
  13. package/dist/cjs/src/verification/parallelPool.js.map +1 -1
  14. package/dist/esm/src/blsUtils.js +7 -3
  15. package/dist/esm/src/{chunk-267HIPEB.js → chunk-LOSYOJC3.js} +16 -1
  16. package/dist/esm/src/{chunk-267HIPEB.js.map → chunk-LOSYOJC3.js.map} +1 -1
  17. package/dist/esm/src/chunk-T74RX3N2.js +10240 -0
  18. package/dist/esm/src/chunk-T74RX3N2.js.map +1 -0
  19. package/dist/esm/src/chunk-YSXFCSVK.js +389 -0
  20. package/dist/esm/src/chunk-YSXFCSVK.js.map +1 -0
  21. package/dist/esm/src/index.js +234 -10339
  22. package/dist/esm/src/index.js.map +1 -1
  23. package/dist/esm/src/verification/clusterLockValidationWorker.js +18 -0
  24. package/dist/esm/src/verification/clusterLockValidationWorker.js.map +1 -0
  25. package/dist/esm/src/verification/lockWorker.js +7 -2
  26. package/dist/esm/src/verification/lockWorker.js.map +1 -1
  27. package/dist/esm/src/verification/parallelPool.js +8 -2
  28. package/dist/types/src/base.d.ts +5 -3
  29. package/dist/types/src/blsUtils.d.ts +3 -0
  30. package/dist/types/src/errors.d.ts +21 -0
  31. package/dist/types/src/index.d.ts +5 -6
  32. package/dist/types/src/services.d.ts +4 -1
  33. package/dist/types/src/types.d.ts +6 -0
  34. package/dist/types/src/verification/clusterLockValidationWorker.d.ts +1 -0
  35. package/dist/types/src/verification/common.d.ts +17 -7
  36. package/dist/types/src/verification/lockWorker.d.ts +7 -2
  37. package/dist/types/src/verification/parallelPool.d.ts +9 -0
  38. package/dist/types/test/client/baseUrl.spec.d.ts +1 -0
  39. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  40. package/package.json +2 -2
  41. package/dist/esm/src/chunk-OYZHSNKR.js +0 -186
  42. package/dist/esm/src/chunk-OYZHSNKR.js.map +0 -1
@@ -3712,6 +3712,12 @@ function mapToG2(scalars) {
3712
3712
  // src/blsUtils.ts
3713
3713
  var { longSignatures: ls } = bls12_381;
3714
3714
  var ETH2_DST = "BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_";
3715
+ function blsAggregatePublicKeys(pubkeys) {
3716
+ if (pubkeys.length === 0) {
3717
+ throw new Error("cannot aggregate empty pubkey set");
3718
+ }
3719
+ return ls.aggregatePublicKeys(pubkeys).toBytes();
3720
+ }
3715
3721
  function blsVerifyMultiple(pubkeys, messages, signature) {
3716
3722
  try {
3717
3723
  if (pubkeys.length !== messages.length) return false;
@@ -3724,6 +3730,9 @@ function blsVerifyMultiple(pubkeys, messages, signature) {
3724
3730
  return false;
3725
3731
  }
3726
3732
  }
3733
+ function blsAggregateSignatures(signatures) {
3734
+ return ls.Signature.toBytes(ls.aggregateSignatures(signatures));
3735
+ }
3727
3736
  function lagrangeCoeffAtZero(shareIndex, indices) {
3728
3737
  const { Fr } = bls12_381.fields;
3729
3738
  let num = BigInt(1);
@@ -3799,12 +3808,15 @@ function verifyBatchChunk(input) {
3799
3808
  return blsVerifyMultiple(
3800
3809
  input.pubkeys,
3801
3810
  input.messages,
3802
- input.aggregateSignature
3811
+ blsAggregateSignatures(input.signatures)
3803
3812
  );
3804
3813
  }
3805
3814
  function dispatch(input) {
3806
3815
  if (input.mode === "shareBinding") return verifyShareBindingChunk(input);
3807
3816
  if (input.mode === "verifyBatch") return verifyBatchChunk(input);
3817
+ if (input.mode === "aggregatePubkeys") {
3818
+ return blsAggregatePublicKeys(input.pubkeys);
3819
+ }
3808
3820
  return false;
3809
3821
  }
3810
3822
  if (import_node_worker_threads.parentPort) {