@bitgo-beta/sdk-lib-mpc 8.2.1-alpha.61 → 8.2.1-alpha.63

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 (40) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/src/curves/ed25519.js +12 -12
  3. package/dist/src/curves/ed25519Bip32HdTree.js +14 -14
  4. package/dist/src/curves/index.js +6 -2
  5. package/dist/src/curves/secp256k1.js +18 -14
  6. package/dist/src/curves/secp256k1Bip32HdTree.js +10 -10
  7. package/dist/src/hashCommitment.js +5 -5
  8. package/dist/src/index.d.ts +1 -1
  9. package/dist/src/index.d.ts.map +1 -1
  10. package/dist/src/index.js +7 -3
  11. package/dist/src/safePrime.d.ts +3 -0
  12. package/dist/src/safePrime.d.ts.map +1 -0
  13. package/dist/src/safePrime.js +23 -0
  14. package/dist/src/schnorrProof.js +6 -6
  15. package/dist/src/shamir/index.js +6 -2
  16. package/dist/src/shamir/shamir.js +2 -2
  17. package/dist/src/tss/ecdsa/index.js +6 -2
  18. package/dist/src/tss/ecdsa/paillierproof.js +6 -6
  19. package/dist/src/tss/ecdsa/rangeproof.d.ts +0 -1
  20. package/dist/src/tss/ecdsa/rangeproof.d.ts.map +1 -1
  21. package/dist/src/tss/ecdsa/rangeproof.js +99 -108
  22. package/dist/src/tss/ecdsa/types.js +19 -19
  23. package/dist/src/tss/ecdsa/zkVProof.js +7 -7
  24. package/dist/src/tss/ecdsa-dkls/commsLayer.js +6 -2
  25. package/dist/src/tss/ecdsa-dkls/dkg.js +2 -2
  26. package/dist/src/tss/ecdsa-dkls/dsg.js +2 -2
  27. package/dist/src/tss/ecdsa-dkls/index.js +6 -2
  28. package/dist/src/tss/index.js +6 -2
  29. package/dist/src/util.js +6 -6
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +4 -4
  32. package/dist/src/openssl/index.d.ts +0 -2
  33. package/dist/src/openssl/index.d.ts.map +0 -1
  34. package/dist/src/openssl/index.js +0 -14
  35. package/dist/src/openssl/openssl.d.ts +0 -9
  36. package/dist/src/openssl/openssl.d.ts.map +0 -1
  37. package/dist/src/openssl/openssl.js +0 -45
  38. package/dist/src/openssl/opensslbytes.d.ts +0 -4
  39. package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
  40. package/dist/src/openssl/opensslbytes.js +0 -20
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [9.1.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-lib-mpc@9.1.0...@bitgo/sdk-lib-mpc@9.1.1) (2024-03-19)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **sdk-lib-mpc:** add derivation path signing tests to dkls module ([7ab038f](https://github.com/BitGo/BitGoJS/commit/7ab038f1b8e54d93d600f3be4e1aa7c1d75426c4))
11
+
12
+ # [9.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-lib-mpc@9.0.1...@bitgo/sdk-lib-mpc@9.1.0) (2024-03-11)
13
+
14
+ ### Features
15
+
16
+ - **sdk-lib-mpc:** support DSG Dkls primitives ([899082f](https://github.com/BitGo/BitGoJS/commit/899082f3bb99b4e8a5bcfb5bf19a20e4c40d5023))
17
+
6
18
  ## [9.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-lib-mpc@9.0.0...@bitgo/sdk-lib-mpc@9.0.1) (2024-02-28)
7
19
 
8
20
  ### Bug Fixes
@@ -22,40 +22,40 @@ class Ed25519Curve {
22
22
  return new Ed25519Curve();
23
23
  }
24
24
  scalarRandom() {
25
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce(util_1.bigIntFromBufferLE(crypto_1.randomBytes(64)))));
25
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce((0, util_1.bigIntFromBufferLE)((0, crypto_1.randomBytes)(64)))));
26
26
  }
27
27
  scalarReduce(s) {
28
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce(util_1.bigIntToBufferLE(s, 64))));
28
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_reduce((0, util_1.bigIntToBufferLE)(s, 64))));
29
29
  }
30
30
  scalarNegate(s) {
31
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_negate(util_1.bigIntToBufferLE(s, privateKeySize))));
31
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_negate((0, util_1.bigIntToBufferLE)(s, privateKeySize))));
32
32
  }
33
33
  scalarInvert(s) {
34
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_invert(util_1.bigIntToBufferLE(s, privateKeySize))));
34
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_invert((0, util_1.bigIntToBufferLE)(s, privateKeySize))));
35
35
  }
36
36
  scalarAdd(x, y) {
37
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_add(util_1.bigIntToBufferLE(x, privateKeySize), util_1.bigIntToBufferLE(y, privateKeySize))));
37
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_add((0, util_1.bigIntToBufferLE)(x, privateKeySize), (0, util_1.bigIntToBufferLE)(y, privateKeySize))));
38
38
  }
39
39
  scalarSub(x, y) {
40
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_sub(util_1.bigIntToBufferLE(x, privateKeySize), util_1.bigIntToBufferLE(y, privateKeySize))));
40
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_sub((0, util_1.bigIntToBufferLE)(x, privateKeySize), (0, util_1.bigIntToBufferLE)(y, privateKeySize))));
41
41
  }
42
42
  scalarMult(x, y) {
43
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_mul(util_1.bigIntToBufferLE(x, privateKeySize), util_1.bigIntToBufferLE(y, privateKeySize))));
43
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_scalar_mul((0, util_1.bigIntToBufferLE)(x, privateKeySize), (0, util_1.bigIntToBufferLE)(y, privateKeySize))));
44
44
  }
45
45
  basePointMult(n) {
46
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_base_noclamp(util_1.bigIntToBufferLE(n, privateKeySize))));
46
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_base_noclamp((0, util_1.bigIntToBufferLE)(n, privateKeySize))));
47
47
  }
48
48
  pointAdd(p, q) {
49
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_add(util_1.bigIntToBufferLE(p, publicKeySize), util_1.bigIntToBufferLE(q, publicKeySize))));
49
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_core_ed25519_add((0, util_1.bigIntToBufferLE)(p, publicKeySize), (0, util_1.bigIntToBufferLE)(q, publicKeySize))));
50
50
  }
51
51
  pointMultiply(p, s) {
52
- return util_1.bigIntFromBufferLE(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_noclamp(util_1.bigIntToBufferLE(s, publicKeySize), util_1.bigIntToBufferLE(p, publicKeySize))));
52
+ return (0, util_1.bigIntFromBufferLE)(Buffer.from(libsodium_wrappers_sumo_1.default.crypto_scalarmult_ed25519_noclamp((0, util_1.bigIntToBufferLE)(s, publicKeySize), (0, util_1.bigIntToBufferLE)(p, publicKeySize))));
53
53
  }
54
54
  verify(message, signature, publicKey) {
55
55
  const signedMessage = Buffer.concat([signature, message]);
56
56
  try {
57
57
  // Returns the message which was signed if the signature is valid
58
- const result = Buffer.from(libsodium_wrappers_sumo_1.default.crypto_sign_open(signedMessage, util_1.bigIntToBufferLE(publicKey, publicKeySize)));
58
+ const result = Buffer.from(libsodium_wrappers_sumo_1.default.crypto_sign_open(signedMessage, (0, util_1.bigIntToBufferLE)(publicKey, publicKeySize)));
59
59
  return Buffer.compare(message, result) === 0;
60
60
  }
61
61
  catch (error) {
@@ -69,4 +69,4 @@ class Ed25519Curve {
69
69
  }
70
70
  exports.Ed25519Curve = Ed25519Curve;
71
71
  Ed25519Curve.initialized = false;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvZWQyNTUxOS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzRkFBNkM7QUFDN0MsbUNBQXFDO0FBQ3JDLGtDQUErRDtBQUcvRCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQWEsWUFBWTtJQUF6QjtRQWdHRSxnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQUU3QixlQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzdCLENBQUM7SUFoR0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzdCLE1BQU0saUNBQU0sQ0FBQyxLQUFLLENBQUM7WUFDbkIsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDakM7UUFFRCxPQUFPLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLHlCQUFrQixDQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLGlDQUFNLENBQUMsaUNBQWlDLENBQUMseUJBQWtCLENBQUMsb0JBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLHlCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQU0sQ0FBQyxpQ0FBaUMsQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFTO1FBQ3BCLE9BQU8seUJBQWtCLENBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQU0sQ0FBQyxpQ0FBaUMsQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsY0FBYyxD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Q0FBQzs7QUE5Rkgsb0NBbUdDO0FBbEdRLHdCQUFXLEdBQUcsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNvZGl1bSBmcm9tICdsaWJzb2RpdW0td3JhcHBlcnMtc3Vtbyc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBiaWdJbnRGcm9tQnVmZmVyTEUsIGJpZ0ludFRvQnVmZmVyTEUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEJhc2VDdXJ2ZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBwcml2YXRlS2V5U2l6ZSA9IDMyO1xuY29uc3QgcHVibGljS2V5U2l6ZSA9IDMyO1xuXG5leHBvcnQgY2xhc3MgRWQyNTUxOUN1cnZlIGltcGxlbWVudHMgQmFzZUN1cnZlIHtcbiAgc3RhdGljIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgc3RhdGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTxFZDI1NTE5Q3VydmU+IHtcbiAgICBpZiAoIUVkMjU1MTlDdXJ2ZS5pbml0aWFsaXplZCkge1xuICAgICAgYXdhaXQgc29kaXVtLnJlYWR5O1xuICAgICAgRWQyNTUxOUN1cnZlLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEVkMjU1MTlDdXJ2ZSgpO1xuICB9XG5cbiAgc2NhbGFyUmFuZG9tKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9yZWR1Y2UoYmlnSW50RnJvbUJ1ZmZlckxFKHJhbmRvbUJ5dGVzKDY0KSkpKVxuICAgICk7XG4gIH1cblxuICBzY2FsYXJSZWR1Y2UoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9yZWR1Y2UoYmlnSW50VG9CdWZmZXJMRShzLCA2NCkpKSk7XG4gIH1cblxuICBzY2FsYXJOZWdhdGUoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX25lZ2F0ZShiaWdJbnRUb0J1ZmZlckxFKHMsIHByaXZhdGVLZXlTaXplKSkpXG4gICAgKTtcbiAgfVxuXG4gIHNjYWxhckludmVydChzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfaW52ZXJ0KGJpZ0ludFRvQnVmZmVyTEUocywgcHJpdmF0ZUtleVNpemUpKSlcbiAgICApO1xuICB9XG5cbiAgc2NhbGFyQWRkKHg6IGJpZ2ludCwgeTogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oXG4gICAgICAgIHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9hZGQoYmlnSW50VG9CdWZmZXJMRSh4LCBwcml2YXRlS2V5U2l6ZSksIGJpZ0ludFRvQnVmZmVyTEUoeSwgcHJpdmF0ZUtleVNpemUpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzY2FsYXJTdWIoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3N1YihiaWdJbnRUb0J1ZmZlckxFKHgsIHByaXZhdGVLZXlTaXplKSwgYmlnSW50VG9CdWZmZXJMRSh5LCBwcml2YXRlS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNjYWxhck11bHQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX211bChiaWdJbnRUb0J1ZmZlckxFKHgsIHByaXZhdGVLZXlTaXplKSwgYmlnSW50VG9CdWZmZXJMRSh5LCBwcml2YXRlS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGJhc2VQb2ludE11bHQobjogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfYmFzZV9ub2NsYW1wKGJpZ0ludFRvQnVmZmVyTEUobiwgcHJpdmF0ZUtleVNpemUpKSlcbiAgICApO1xuICB9XG5cbiAgcG9pbnRBZGQocDogYmlnaW50LCBxOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfYWRkKGJpZ0ludFRvQnVmZmVyTEUocCwgcHVibGljS2V5U2l6ZSksIGJpZ0ludFRvQnVmZmVyTEUocSwgcHVibGljS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHBvaW50TXVsdGlwbHkocDogYmlnaW50LCBzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfbm9jbGFtcChiaWdJbnRUb0J1ZmZlckxFKHMsIHB1YmxpY0tleVNpemUpLCBiaWdJbnRUb0J1ZmZlckxFKHAsIHB1YmxpY0tleVNpemUpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICB2ZXJpZnkobWVzc2FnZTogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlciwgcHVibGljS2V5OiBiaWdpbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaWduZWRNZXNzYWdlID0gQnVmZmVyLmNvbmNhdChbc2lnbmF0dXJlLCBtZXNzYWdlXSk7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFJldHVybnMgdGhlIG1lc3NhZ2Ugd2hpY2ggd2FzIHNpZ25lZCBpZiB0aGUgc2lnbmF0dXJlIGlzIHZhbGlkXG4gICAgICBjb25zdCByZXN1bHQgPSBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX3NpZ25fb3BlbihzaWduZWRNZXNzYWdlLCBiaWdJbnRUb0J1ZmZlckxFKHB1YmxpY0tleSwgcHVibGljS2V5U2l6ZSkpKTtcbiAgICAgIHJldHVybiBCdWZmZXIuY29tcGFyZShtZXNzYWdlLCByZXN1bHQpID09PSAwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBJbnZhbGlkIHNpZ25hdHVyZSBjYXVzZXMgYW4gZXhjZXB0aW9uXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3JkZXIoKTogYmlnaW50IHtcbiAgICByZXR1cm4gQmlnSW50KCcweDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRkZWY5ZGVhMmY3OWNkNjU4MTI2MzFhNWNmNWQzZWQnKSAqIEJpZ0ludCgnMHgwOCcpO1xuICB9XG5cbiAgc2NhbGFyQnl0ZXMgPSBwcml2YXRlS2V5U2l6ZTtcblxuICBwb2ludEJ5dGVzID0gcHVibGljS2V5U2l6ZTtcbn1cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvZWQyNTUxOS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzRkFBNkM7QUFDN0MsbUNBQXFDO0FBQ3JDLGtDQUErRDtBQUcvRCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQWEsWUFBWTtJQUF6QjtRQWdHRSxnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQUU3QixlQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzdCLENBQUM7SUFoR0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzdCLE1BQU0saUNBQU0sQ0FBQyxLQUFLLENBQUM7WUFDbkIsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDakM7UUFFRCxPQUFPLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUEseUJBQWtCLEVBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFBLHlCQUFrQixFQUFDLElBQUEsb0JBQVcsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLElBQUEseUJBQWtCLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQ0FBTSxDQUFDLGlDQUFpQyxDQUFDLElBQUEsdUJBQWdCLEVBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLElBQUEseUJBQWtCLEVBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQU0sQ0FBQyxpQ0FBaUMsQ0FB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QUFLLEVBQUU7WUFDZCx3Q0FBd0M7WUFDeEMsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxNQUFNLENBQUMsb0VBQW9FLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkcsQ0FBQzs7QUE5Rkgsb0NBbUdDO0FBbEdRLHdCQUFXLEdBQUcsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNvZGl1bSBmcm9tICdsaWJzb2RpdW0td3JhcHBlcnMtc3Vtbyc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBiaWdJbnRGcm9tQnVmZmVyTEUsIGJpZ0ludFRvQnVmZmVyTEUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEJhc2VDdXJ2ZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBwcml2YXRlS2V5U2l6ZSA9IDMyO1xuY29uc3QgcHVibGljS2V5U2l6ZSA9IDMyO1xuXG5leHBvcnQgY2xhc3MgRWQyNTUxOUN1cnZlIGltcGxlbWVudHMgQmFzZUN1cnZlIHtcbiAgc3RhdGljIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgc3RhdGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTxFZDI1NTE5Q3VydmU+IHtcbiAgICBpZiAoIUVkMjU1MTlDdXJ2ZS5pbml0aWFsaXplZCkge1xuICAgICAgYXdhaXQgc29kaXVtLnJlYWR5O1xuICAgICAgRWQyNTUxOUN1cnZlLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEVkMjU1MTlDdXJ2ZSgpO1xuICB9XG5cbiAgc2NhbGFyUmFuZG9tKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJMRShcbiAgICAgIEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9yZWR1Y2UoYmlnSW50RnJvbUJ1ZmZlckxFKHJhbmRvbUJ5dGVzKDY0KSkpKVxuICAgICk7XG4gIH1cblxuICBzY2FsYXJSZWR1Y2UoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKEJ1ZmZlci5mcm9tKHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9yZWR1Y2UoYmlnSW50VG9CdWZmZXJMRShzLCA2NCkpKSk7XG4gIH1cblxuICBzY2FsYXJOZWdhdGUoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX25lZ2F0ZShiaWdJbnRUb0J1ZmZlckxFKHMsIHByaXZhdGVLZXlTaXplKSkpXG4gICAgKTtcbiAgfVxuXG4gIHNjYWxhckludmVydChzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfaW52ZXJ0KGJpZ0ludFRvQnVmZmVyTEUocywgcHJpdmF0ZUtleVNpemUpKSlcbiAgICApO1xuICB9XG5cbiAgc2NhbGFyQWRkKHg6IGJpZ2ludCwgeTogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oXG4gICAgICAgIHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9hZGQoYmlnSW50VG9CdWZmZXJMRSh4LCBwcml2YXRlS2V5U2l6ZSksIGJpZ0ludFRvQnVmZmVyTEUoeSwgcHJpdmF0ZUtleVNpemUpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzY2FsYXJTdWIoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3N1YihiaWdJbnRUb0J1ZmZlckxFKHgsIHByaXZhdGVLZXlTaXplKSwgYmlnSW50VG9CdWZmZXJMRSh5LCBwcml2YXRlS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNjYWxhck11bHQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX211bChiaWdJbnRUb0J1ZmZlckxFKHgsIHByaXZhdGVLZXlTaXplKSwgYmlnSW50VG9CdWZmZXJMRSh5LCBwcml2YXRlS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGJhc2VQb2ludE11bHQobjogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckxFKFxuICAgICAgQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfYmFzZV9ub2NsYW1wKGJpZ0ludFRvQnVmZmVyTEUobiwgcHJpdmF0ZUtleVNpemUpKSlcbiAgICApO1xuICB9XG5cbiAgcG9pbnRBZGQocDogYmlnaW50LCBxOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfYWRkKGJpZ0ludFRvQnVmZmVyTEUocCwgcHVibGljS2V5U2l6ZSksIGJpZ0ludFRvQnVmZmVyTEUocSwgcHVibGljS2V5U2l6ZSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHBvaW50TXVsdGlwbHkocDogYmlnaW50LCBzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyTEUoXG4gICAgICBCdWZmZXIuZnJvbShcbiAgICAgICAgc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfbm9jbGFtcChiaWdJbnRUb0J1ZmZlckxFKHMsIHB1YmxpY0tleVNpemUpLCBiaWdJbnRUb0J1ZmZlckxFKHAsIHB1YmxpY0tleVNpemUpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICB2ZXJpZnkobWVzc2FnZTogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlciwgcHVibGljS2V5OiBiaWdpbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaWduZWRNZXNzYWdlID0gQnVmZmVyLmNvbmNhdChbc2lnbmF0dXJlLCBtZXNzYWdlXSk7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFJldHVybnMgdGhlIG1lc3NhZ2Ugd2hpY2ggd2FzIHNpZ25lZCBpZiB0aGUgc2lnbmF0dXJlIGlzIHZhbGlkXG4gICAgICBjb25zdCByZXN1bHQgPSBCdWZmZXIuZnJvbShzb2RpdW0uY3J5cHRvX3NpZ25fb3BlbihzaWduZWRNZXNzYWdlLCBiaWdJbnRUb0J1ZmZlckxFKHB1YmxpY0tleSwgcHVibGljS2V5U2l6ZSkpKTtcbiAgICAgIHJldHVybiBCdWZmZXIuY29tcGFyZShtZXNzYWdlLCByZXN1bHQpID09PSAwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBJbnZhbGlkIHNpZ25hdHVyZSBjYXVzZXMgYW4gZXhjZXB0aW9uXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb3JkZXIoKTogYmlnaW50IHtcbiAgICByZXR1cm4gQmlnSW50KCcweDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRkZWY5ZGVhMmY3OWNkNjU4MTI2MzFhNWNmNWQzZWQnKSAqIEJpZ0ludCgnMHgwOCcpO1xuICB9XG5cbiAgc2NhbGFyQnl0ZXMgPSBwcml2YXRlS2V5U2l6ZTtcblxuICBwb2ludEJ5dGVzID0gcHVibGljS2V5U2l6ZTtcbn1cbiJdfQ==
@@ -15,33 +15,33 @@ class Ed25519Bip32HdTree {
15
15
  return new Ed25519Bip32HdTree();
16
16
  }
17
17
  publicDerive(keychain, path) {
18
- const indices = util_2.pathToIndices(path);
18
+ const indices = (0, util_2.pathToIndices)(path);
19
19
  function deriveIndex(acc, index) {
20
20
  const [pk, chaincode] = acc;
21
21
  const [zout, iout] = deriveEd25519Helper(index, chaincode, pk);
22
22
  const zl = zout.slice(0, 32);
23
23
  // left = kl + 8 * trunc28(zl)
24
- const t = BigInt(8) * util_1.bigIntFromBufferLE(zl.slice(0, 28));
24
+ const t = BigInt(8) * (0, util_1.bigIntFromBufferLE)(zl.slice(0, 28));
25
25
  const left = Ed25519Bip32HdTree.curve.pointAdd(pk, Ed25519Bip32HdTree.curve.basePointMult(t));
26
- return [left, util_1.bigIntFromBufferBE(iout.slice(32))];
26
+ return [left, (0, util_1.bigIntFromBufferBE)(iout.slice(32))];
27
27
  }
28
28
  const subkey = indices.reduce(deriveIndex, deriveIndex([keychain.pk, keychain.chaincode], indices.shift()));
29
29
  return { pk: subkey[0], chaincode: subkey[1] };
30
30
  }
31
31
  privateDerive(keychain, path) {
32
- const indices = util_2.pathToIndices(path);
32
+ const indices = (0, util_2.pathToIndices)(path);
33
33
  function deriveIndex(acc, index) {
34
34
  const [pk, sk, prefix, chaincode] = acc;
35
35
  const [zout, iout] = deriveEd25519Helper(index, chaincode, pk, sk);
36
36
  const zl = zout.slice(0, 32);
37
37
  const zr = zout.slice(32);
38
38
  // left = kl + 8 * trunc28(zl)
39
- const t = BigInt(8) * util_1.bigIntFromBufferLE(zl.slice(0, 28));
39
+ const t = BigInt(8) * (0, util_1.bigIntFromBufferLE)(zl.slice(0, 28));
40
40
  const left_pk = Ed25519Bip32HdTree.curve.pointAdd(pk, Ed25519Bip32HdTree.curve.basePointMult(t));
41
41
  const left_sk = Ed25519Bip32HdTree.curve.scalarAdd(sk, t);
42
42
  // right = zr + kr
43
- const right = (prefix + util_1.bigIntFromBufferBE(zr)) % constant_1.chaincodeBase;
44
- return [left_pk, left_sk, right, util_1.bigIntFromBufferBE(iout.slice(32))];
43
+ const right = (prefix + (0, util_1.bigIntFromBufferBE)(zr)) % constant_1.chaincodeBase;
44
+ return [left_pk, left_sk, right, (0, util_1.bigIntFromBufferBE)(iout.slice(32))];
45
45
  }
46
46
  const [pk, sk, prefix, chaincode] = indices.reduce(deriveIndex, deriveIndex([keychain.pk, keychain.sk, keychain.prefix, keychain.chaincode], indices.shift()));
47
47
  return { pk, sk, prefix, chaincode };
@@ -51,8 +51,8 @@ exports.Ed25519Bip32HdTree = Ed25519Bip32HdTree;
51
51
  Ed25519Bip32HdTree.curve = new ed25519_1.Ed25519Curve();
52
52
  Ed25519Bip32HdTree.initialized = false;
53
53
  function deriveEd25519Helper(index = 0, chaincode, pk, sk) {
54
- const zmac = crypto_1.createHmac('sha512', util_1.bigIntToBufferBE(chaincode, 32));
55
- const imac = crypto_1.createHmac('sha512', util_1.bigIntToBufferBE(chaincode, 32));
54
+ const zmac = (0, crypto_1.createHmac)('sha512', (0, util_1.bigIntToBufferBE)(chaincode, 32));
55
+ const imac = (0, crypto_1.createHmac)('sha512', (0, util_1.bigIntToBufferBE)(chaincode, 32));
56
56
  const seri = Buffer.alloc(4);
57
57
  seri.writeUInt32LE(index, 0);
58
58
  if (((index >>> 0) & 0x80000000) === 0) {
@@ -60,10 +60,10 @@ function deriveEd25519Helper(index = 0, chaincode, pk, sk) {
60
60
  // Z = HMAC-SHA512(Key = cpar, Data = 0x02 || serP(point(kpar)) || ser32(i)).
61
61
  // I = HMAC-SHA512(Key = cpar, Data = 0x03 || serP(point(kpar)) || ser32(i)).
62
62
  zmac.update('\x02');
63
- zmac.update(util_1.bigIntToBufferLE(pk, 32));
63
+ zmac.update((0, util_1.bigIntToBufferLE)(pk, 32));
64
64
  zmac.update(seri);
65
65
  imac.update('\x03');
66
- imac.update(util_1.bigIntToBufferLE(pk, 32));
66
+ imac.update((0, util_1.bigIntToBufferLE)(pk, 32));
67
67
  imac.update(seri);
68
68
  }
69
69
  else {
@@ -74,12 +74,12 @@ function deriveEd25519Helper(index = 0, chaincode, pk, sk) {
74
74
  // Z = HMAC-SHA512(Key = cpar, Data = 0x00 || ser256(left(kpar)) || ser32(i)).
75
75
  // I = HMAC-SHA512(Key = cpar, Data = 0x01 || ser256(left(kpar)) || ser32(i)).
76
76
  zmac.update('\x00');
77
- zmac.update(util_1.bigIntToBufferLE(sk, 32));
77
+ zmac.update((0, util_1.bigIntToBufferLE)(sk, 32));
78
78
  zmac.update(seri);
79
79
  imac.update('\x01');
80
- imac.update(util_1.bigIntToBufferLE(sk, 32));
80
+ imac.update((0, util_1.bigIntToBufferLE)(sk, 32));
81
81
  imac.update(seri);
82
82
  }
83
83
  return [zmac.digest(), imac.digest()];
84
84
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOUJpcDMySGRUcmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1cnZlcy9lZDI1NTE5QmlwMzJIZFRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW9DO0FBQ3BDLGtDQUFxRztBQUNyRyx1Q0FBeUM7QUFFekMsaUNBQXVDO0FBQ3ZDLHlDQUEyQztBQUUzQyxNQUFhLGtCQUFrQjtJQUk3QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtZQUNuQyxNQUFNLHNCQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN2QztRQUVELE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBd0IsRUFBRSxJQUFZO1FBQ2pELE1BQU0sT0FBTyxHQUFHLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsU0FBUyxXQUFXLENBQUMsR0FBYSxFQUFFLEtBQXlCO1lBQzNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3Qiw4QkFBOEI7WUFDOUIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLHlCQUFrQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUQsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFD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LENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNuQjtJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhtYWMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckJFLCBiaWdJbnRGcm9tQnVmZmVyTEUsIGJpZ0ludFRvQnVmZmVyQkUsIGJpZ0ludFRvQnVmZmVyTEUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEVkMjU1MTlDdXJ2ZSB9IGZyb20gJy4vZWQyNTUxOSc7XG5pbXBvcnQgeyBQcml2YXRlS2V5Y2hhaW4sIFB1YmxpY0tleWNoYWluIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBwYXRoVG9JbmRpY2VzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IGNoYWluY29kZUJhc2UgfSBmcm9tICcuL2NvbnN0YW50JztcblxuZXhwb3J0IGNsYXNzIEVkMjU1MTlCaXAzMkhkVHJlZSB7XG4gIHN0YXRpYyBjdXJ2ZTogRWQyNTUxOUN1cnZlID0gbmV3IEVkMjU1MTlDdXJ2ZSgpO1xuICBzdGF0aWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPEVkMjU1MTlCaXAzMkhkVHJlZT4ge1xuICAgIGlmICghRWQyNTUxOUJpcDMySGRUcmVlLmluaXRpYWxpemVkKSB7XG4gICAgICBhd2FpdCBFZDI1NTE5Q3VydmUuaW5pdGlhbGl6ZSgpO1xuICAgICAgRWQyNTUxOUJpcDMySGRUcmVlLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEVkMjU1MTlCaXAzMkhkVHJlZSgpO1xuICB9XG5cbiAgcHVibGljRGVyaXZlKGtleWNoYWluOiBQdWJsaWNLZXljaGFpbiwgcGF0aDogc3RyaW5nKTogUHVibGljS2V5Y2hhaW4ge1xuICAgIGNvbnN0IGluZGljZXMgPSBwYXRoVG9JbmRpY2VzKHBhdGgpO1xuICAgIGZ1bmN0aW9uIGRlcml2ZUluZGV4KGFjYzogYmlnaW50W10sIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQpOiBiaWdpbnRbXSB7XG4gICAgICBjb25zdCBbcGssIGNoYWluY29kZV0gPSBhY2M7XG4gICAgICBjb25zdCBbem91dCwgaW91dF0gPSBkZXJpdmVFZDI1NTE5SGVscGVyKGluZGV4LCBjaGFpbmNvZGUsIHBrKTtcbiAgICAgIGNvbnN0IHpsID0gem91dC5zbGljZSgwLCAzMik7XG4gICAgICAvLyBsZWZ0ID0ga2wgKyA4ICogdHJ1bmMyOCh6bClcbiAgICAgIGNvbnN0IHQgPSBCaWdJbnQoOCkgKiBiaWdJbnRGcm9tQnVmZmVyTEUoemwuc2xpY2UoMCwgMjgpKTtcbiAgICAgIGNvbnN0IGxlZnQgPSBFZDI1NTE5QmlwMzJIZFRyZWUuY3VydmUucG9pbnRBZGQocGssIEVkMjU1MTlCaXAzMkhkVHJlZS5jdXJ2ZS5iYXNlUG9pbnRNdWx0KHQpKTtcbiAgICAgIHJldHVybiBbbGVmdCwgYmlnSW50RnJvbUJ1ZmZlckJFKGlvdXQuc2xpY2UoMzIpKV07XG4gICAgfVxuICAgIGNvbnN0IHN1YmtleSA9IGluZGljZXMucmVkdWNlKGRlcml2ZUluZGV4LCBkZXJpdmVJbmRleChba2V5Y2hhaW4ucGssIGtleWNoYWluLmNoYWluY29kZV0sIGluZGljZXMuc2hpZnQoKSkpO1xuICAgIHJldHVybiB7IHBrOiBzdWJrZXlbMF0sIGNoYWluY29kZTogc3Via2V5WzFdIH07XG4gIH1cblxuICBwcml2YXRlRGVyaXZlKGtleWNoYWluOiBQcml2YXRlS2V5Y2hhaW4sIHBhdGg6IHN0cmluZyk6IFByaXZhdGVLZXljaGFpbiB7XG4gICAgY29uc3QgaW5kaWNlcyA9IHBhdGhUb0luZGljZXMocGF0aCk7XG4gICAgZnVuY3Rpb24gZGVyaXZlSW5kZXgoYWNjOiBiaWdpbnRbXSwgaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCk6IGJpZ2ludFtdIHtcbiAgICAgIGNvbnN0IFtwaywgc2ssIHByZWZpeCwgY2hhaW5jb2RlXSA9IGFjYztcbiAgICAgIGNvbnN0IFt6b3V0LCBpb3V0XSA9IGRlcml2ZUVkMjU1MTlIZWxwZXIoaW5kZXgsIGNoYWluY29kZSwgcGssIHNrKTtcbiAgICAgIGNvbnN0IHpsID0gem91dC5zbGljZSgwLCAzMik7XG4gICAgICBjb25zdCB6ciA9IHpvdXQuc2xpY2UoMzIpO1xuICAgICAgLy8gbGVmdCA9IGtsICsgOCAqIHRydW5jMjgoemwpXG4gICAgICBjb25zdCB0ID0gQmlnSW50KDgpICogYmlnSW50RnJvbUJ1ZmZlckxFKHpsLnNsaWNlKDAsIDI4KSk7XG4gICAgICBjb25zdCBsZWZ0X3BrID0gRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLnBvaW50QWRkKHBrLCBFZDI1NTE5QmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdCh0KSk7XG4gICAgICBjb25zdCBsZWZ0X3NrID0gRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLnNjYWxhckFkZChzaywgdCk7XG4gICAgICAvLyByaWdodCA9IHpyICsga3JcbiAgICAgIGNvbnN0IHJpZ2h0ID0gKHByZWZpeCArIGJpZ0ludEZyb21CdWZmZXJCRSh6cikpICUgY2hhaW5jb2RlQmFzZTtcbiAgICAgIHJldHVybiBbbGVmdF9waywgbGVmdF9zaywgcmlnaHQsIGJpZ0ludEZyb21CdWZmZXJCRShpb3V0LnNsaWNlKDMyKSldO1xuICAgIH1cbiAgICBjb25zdCBbcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZV0gPSBpbmRpY2VzLnJlZHVjZShcbiAgICAgIGRlcml2ZUluZGV4LFxuICAgICAgZGVyaXZlSW5kZXgoW2tleWNoYWluLnBrLCBrZXljaGFpbi5zaywga2V5Y2hhaW4ucHJlZml4ISwga2V5Y2hhaW4uY2hhaW5jb2RlXSwgaW5kaWNlcy5zaGlmdCgpKVxuICAgICk7XG4gICAgcmV0dXJuIHsgcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZSB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlcml2ZUVkMjU1MTlIZWxwZXIoaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IDAsIGNoYWluY29kZTogYmlnaW50LCBwazogYmlnaW50LCBzaz86IGJpZ2ludCk6IEJ1ZmZlcltdIHtcbiAgY29uc3Qgem1hYyA9IGNyZWF0ZUhtYWMoJ3NoYTUxMicsIGJpZ0ludFRvQnVmZmVyQkUoY2hhaW5jb2RlLCAzMikpO1xuICBjb25zdCBpbWFjID0gY3JlYXRlSG1hYygnc2hhNTEyJywgYmlnSW50VG9CdWZmZXJCRShjaGFpbmNvZGUsIDMyKSk7XG4gIGNvbnN0IHNlcmkgPSBCdWZmZXIuYWxsb2MoNCk7XG4gIHNlcmkud3JpdGVVSW50MzJMRShpbmRleCwgMCk7XG4gIGlmICgoKGluZGV4ID4+PiAwKSAmIDB4ODAwMDAwMDApID09PSAwKSB7XG4gICAgLy8gTm9ybWFsIGRlcml2YXRpb246XG4gICAgLy8gWiA9IEhNQUMtU0hBNTEyKEtleSA9IGNwYXIsIERhdGEgPSAweDAyIHx8IHNlclAocG9pbnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICAvLyBJID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDMgfHwgc2VyUChwb2ludChrcGFyKSkgfHwgc2VyMzIoaSkpLlxuICAgIHptYWMudXBkYXRlKCdcXHgwMicpO1xuICAgIHptYWMudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUocGssIDMyKSk7XG4gICAgem1hYy51cGRhdGUoc2VyaSk7XG4gICAgaW1hYy51cGRhdGUoJ1xceDAzJyk7XG4gICAgaW1hYy51cGRhdGUoYmlnSW50VG9CdWZmZXJMRShwaywgMzIpKTtcbiAgICBpbWFjLnVwZGF0ZShzZXJpKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoc2sgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgcGVyZm9ybWVkIGhhcmRlbmVkIGRlcml2YXRpb24gd2l0aG91dCBwcml2YXRlIGtleVwiKTtcbiAgICB9XG4gICAgLy8gSGFyZGVuZWQgZGVyaXZhdGlvbjpcbiAgICAvLyBaID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDAgfHwgc2VyMjU2KGxlZnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICAvLyBJID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDEgfHwgc2VyMjU2KGxlZnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICB6bWFjLnVwZGF0ZSgnXFx4MDAnKTtcbiAgICB6bWFjLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckxFKHNrLCAzMikpO1xuICAgIHptYWMudXBkYXRlKHNlcmkpO1xuICAgIGltYWMudXBkYXRlKCdcXHgwMScpO1xuICAgIGltYWMudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUoc2ssIDMyKSk7XG4gICAgaW1hYy51cGRhdGUoc2VyaSk7XG4gIH1cbiAgcmV0dXJuIFt6bWFjLmRpZ2VzdCgpLCBpbWFjLmRpZ2VzdCgpXTtcbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWQyNTUxOUJpcDMySGRUcmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1cnZlcy9lZDI1NTE5QmlwMzJIZFRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW9DO0FBQ3BDLGtDQUFxRztBQUNyRyx1Q0FBeUM7QUFFekMsaUNBQXVDO0FBQ3ZDLHlDQUEyQztBQUUzQyxNQUFhLGtCQUFrQjtJQUk3QixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtZQUNuQyxNQUFNLHNCQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN2QztRQUVELE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBd0IsRUFBRSxJQUFZO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxTQUFTLFdBQVcsQ0FBQyxHQUFhLEVBQUUsS0FBeUI7WUFDM0QsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDNUIsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLDhCQUE4QjtZQUM5QixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBQSx5QkFBa0IsRUFBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFELE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFD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QUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFBLHVCQUFnQixFQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNuQjtJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhtYWMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckJFLCBiaWdJbnRGcm9tQnVmZmVyTEUsIGJpZ0ludFRvQnVmZmVyQkUsIGJpZ0ludFRvQnVmZmVyTEUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEVkMjU1MTlDdXJ2ZSB9IGZyb20gJy4vZWQyNTUxOSc7XG5pbXBvcnQgeyBQcml2YXRlS2V5Y2hhaW4sIFB1YmxpY0tleWNoYWluIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBwYXRoVG9JbmRpY2VzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IGNoYWluY29kZUJhc2UgfSBmcm9tICcuL2NvbnN0YW50JztcblxuZXhwb3J0IGNsYXNzIEVkMjU1MTlCaXAzMkhkVHJlZSB7XG4gIHN0YXRpYyBjdXJ2ZTogRWQyNTUxOUN1cnZlID0gbmV3IEVkMjU1MTlDdXJ2ZSgpO1xuICBzdGF0aWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPEVkMjU1MTlCaXAzMkhkVHJlZT4ge1xuICAgIGlmICghRWQyNTUxOUJpcDMySGRUcmVlLmluaXRpYWxpemVkKSB7XG4gICAgICBhd2FpdCBFZDI1NTE5Q3VydmUuaW5pdGlhbGl6ZSgpO1xuICAgICAgRWQyNTUxOUJpcDMySGRUcmVlLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEVkMjU1MTlCaXAzMkhkVHJlZSgpO1xuICB9XG5cbiAgcHVibGljRGVyaXZlKGtleWNoYWluOiBQdWJsaWNLZXljaGFpbiwgcGF0aDogc3RyaW5nKTogUHVibGljS2V5Y2hhaW4ge1xuICAgIGNvbnN0IGluZGljZXMgPSBwYXRoVG9JbmRpY2VzKHBhdGgpO1xuICAgIGZ1bmN0aW9uIGRlcml2ZUluZGV4KGFjYzogYmlnaW50W10sIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQpOiBiaWdpbnRbXSB7XG4gICAgICBjb25zdCBbcGssIGNoYWluY29kZV0gPSBhY2M7XG4gICAgICBjb25zdCBbem91dCwgaW91dF0gPSBkZXJpdmVFZDI1NTE5SGVscGVyKGluZGV4LCBjaGFpbmNvZGUsIHBrKTtcbiAgICAgIGNvbnN0IHpsID0gem91dC5zbGljZSgwLCAzMik7XG4gICAgICAvLyBsZWZ0ID0ga2wgKyA4ICogdHJ1bmMyOCh6bClcbiAgICAgIGNvbnN0IHQgPSBCaWdJbnQoOCkgKiBiaWdJbnRGcm9tQnVmZmVyTEUoemwuc2xpY2UoMCwgMjgpKTtcbiAgICAgIGNvbnN0IGxlZnQgPSBFZDI1NTE5QmlwMzJIZFRyZWUuY3VydmUucG9pbnRBZGQocGssIEVkMjU1MTlCaXAzMkhkVHJlZS5jdXJ2ZS5iYXNlUG9pbnRNdWx0KHQpKTtcbiAgICAgIHJldHVybiBbbGVmdCwgYmlnSW50RnJvbUJ1ZmZlckJFKGlvdXQuc2xpY2UoMzIpKV07XG4gICAgfVxuICAgIGNvbnN0IHN1YmtleSA9IGluZGljZXMucmVkdWNlKGRlcml2ZUluZGV4LCBkZXJpdmVJbmRleChba2V5Y2hhaW4ucGssIGtleWNoYWluLmNoYWluY29kZV0sIGluZGljZXMuc2hpZnQoKSkpO1xuICAgIHJldHVybiB7IHBrOiBzdWJrZXlbMF0sIGNoYWluY29kZTogc3Via2V5WzFdIH07XG4gIH1cblxuICBwcml2YXRlRGVyaXZlKGtleWNoYWluOiBQcml2YXRlS2V5Y2hhaW4sIHBhdGg6IHN0cmluZyk6IFByaXZhdGVLZXljaGFpbiB7XG4gICAgY29uc3QgaW5kaWNlcyA9IHBhdGhUb0luZGljZXMocGF0aCk7XG4gICAgZnVuY3Rpb24gZGVyaXZlSW5kZXgoYWNjOiBiaWdpbnRbXSwgaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCk6IGJpZ2ludFtdIHtcbiAgICAgIGNvbnN0IFtwaywgc2ssIHByZWZpeCwgY2hhaW5jb2RlXSA9IGFjYztcbiAgICAgIGNvbnN0IFt6b3V0LCBpb3V0XSA9IGRlcml2ZUVkMjU1MTlIZWxwZXIoaW5kZXgsIGNoYWluY29kZSwgcGssIHNrKTtcbiAgICAgIGNvbnN0IHpsID0gem91dC5zbGljZSgwLCAzMik7XG4gICAgICBjb25zdCB6ciA9IHpvdXQuc2xpY2UoMzIpO1xuICAgICAgLy8gbGVmdCA9IGtsICsgOCAqIHRydW5jMjgoemwpXG4gICAgICBjb25zdCB0ID0gQmlnSW50KDgpICogYmlnSW50RnJvbUJ1ZmZlckxFKHpsLnNsaWNlKDAsIDI4KSk7XG4gICAgICBjb25zdCBsZWZ0X3BrID0gRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLnBvaW50QWRkKHBrLCBFZDI1NTE5QmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdCh0KSk7XG4gICAgICBjb25zdCBsZWZ0X3NrID0gRWQyNTUxOUJpcDMySGRUcmVlLmN1cnZlLnNjYWxhckFkZChzaywgdCk7XG4gICAgICAvLyByaWdodCA9IHpyICsga3JcbiAgICAgIGNvbnN0IHJpZ2h0ID0gKHByZWZpeCArIGJpZ0ludEZyb21CdWZmZXJCRSh6cikpICUgY2hhaW5jb2RlQmFzZTtcbiAgICAgIHJldHVybiBbbGVmdF9waywgbGVmdF9zaywgcmlnaHQsIGJpZ0ludEZyb21CdWZmZXJCRShpb3V0LnNsaWNlKDMyKSldO1xuICAgIH1cbiAgICBjb25zdCBbcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZV0gPSBpbmRpY2VzLnJlZHVjZShcbiAgICAgIGRlcml2ZUluZGV4LFxuICAgICAgZGVyaXZlSW5kZXgoW2tleWNoYWluLnBrLCBrZXljaGFpbi5zaywga2V5Y2hhaW4ucHJlZml4ISwga2V5Y2hhaW4uY2hhaW5jb2RlXSwgaW5kaWNlcy5zaGlmdCgpKVxuICAgICk7XG4gICAgcmV0dXJuIHsgcGssIHNrLCBwcmVmaXgsIGNoYWluY29kZSB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlcml2ZUVkMjU1MTlIZWxwZXIoaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IDAsIGNoYWluY29kZTogYmlnaW50LCBwazogYmlnaW50LCBzaz86IGJpZ2ludCk6IEJ1ZmZlcltdIHtcbiAgY29uc3Qgem1hYyA9IGNyZWF0ZUhtYWMoJ3NoYTUxMicsIGJpZ0ludFRvQnVmZmVyQkUoY2hhaW5jb2RlLCAzMikpO1xuICBjb25zdCBpbWFjID0gY3JlYXRlSG1hYygnc2hhNTEyJywgYmlnSW50VG9CdWZmZXJCRShjaGFpbmNvZGUsIDMyKSk7XG4gIGNvbnN0IHNlcmkgPSBCdWZmZXIuYWxsb2MoNCk7XG4gIHNlcmkud3JpdGVVSW50MzJMRShpbmRleCwgMCk7XG4gIGlmICgoKGluZGV4ID4+PiAwKSAmIDB4ODAwMDAwMDApID09PSAwKSB7XG4gICAgLy8gTm9ybWFsIGRlcml2YXRpb246XG4gICAgLy8gWiA9IEhNQUMtU0hBNTEyKEtleSA9IGNwYXIsIERhdGEgPSAweDAyIHx8IHNlclAocG9pbnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICAvLyBJID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDMgfHwgc2VyUChwb2ludChrcGFyKSkgfHwgc2VyMzIoaSkpLlxuICAgIHptYWMudXBkYXRlKCdcXHgwMicpO1xuICAgIHptYWMudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUocGssIDMyKSk7XG4gICAgem1hYy51cGRhdGUoc2VyaSk7XG4gICAgaW1hYy51cGRhdGUoJ1xceDAzJyk7XG4gICAgaW1hYy51cGRhdGUoYmlnSW50VG9CdWZmZXJMRShwaywgMzIpKTtcbiAgICBpbWFjLnVwZGF0ZShzZXJpKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoc2sgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgcGVyZm9ybWVkIGhhcmRlbmVkIGRlcml2YXRpb24gd2l0aG91dCBwcml2YXRlIGtleVwiKTtcbiAgICB9XG4gICAgLy8gSGFyZGVuZWQgZGVyaXZhdGlvbjpcbiAgICAvLyBaID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDAgfHwgc2VyMjU2KGxlZnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICAvLyBJID0gSE1BQy1TSEE1MTIoS2V5ID0gY3BhciwgRGF0YSA9IDB4MDEgfHwgc2VyMjU2KGxlZnQoa3BhcikpIHx8IHNlcjMyKGkpKS5cbiAgICB6bWFjLnVwZGF0ZSgnXFx4MDAnKTtcbiAgICB6bWFjLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckxFKHNrLCAzMikpO1xuICAgIHptYWMudXBkYXRlKHNlcmkpO1xuICAgIGltYWMudXBkYXRlKCdcXHgwMScpO1xuICAgIGltYWMudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUoc2ssIDMyKSk7XG4gICAgaW1hYy51cGRhdGUoc2VyaSk7XG4gIH1cbiAgcmV0dXJuIFt6bWFjLmRpZ2VzdCgpLCBpbWFjLmRpZ2VzdCgpXTtcbn1cbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -17,4 +21,4 @@ __exportStar(require("./secp256k1"), exports);
17
21
  __exportStar(require("./secp256k1Bip32HdTree"), exports);
18
22
  __exportStar(require("./ed25519"), exports);
19
23
  __exportStar(require("./ed25519Bip32HdTree"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VydmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1Qix5REFBdUM7QUFDdkMsNENBQTBCO0FBQzFCLHVEQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWNwMjU2azEnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWNwMjU2azFCaXAzMkhkVHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL2VkMjU1MTknO1xuZXhwb3J0ICogZnJvbSAnLi9lZDI1NTE5QmlwMzJIZFRyZWUnO1xuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VydmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw4Q0FBNEI7QUFDNUIseURBQXVDO0FBQ3ZDLDRDQUEwQjtBQUMxQix1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VjcDI1NmsxJztcbmV4cG9ydCAqIGZyb20gJy4vc2VjcDI1NmsxQmlwMzJIZFRyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi9lZDI1NTE5JztcbmV4cG9ydCAqIGZyb20gJy4vZWQyNTUxOUJpcDMySGRUcmVlJztcbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -32,14 +36,14 @@ class Secp256k1Curve {
32
36
  this.pointBytes = publicKeySize;
33
37
  }
34
38
  scalarRandom() {
35
- return util_1.bigIntFromU8ABE(secp.utils.randomPrivateKey());
39
+ return (0, util_1.bigIntFromU8ABE)(secp.utils.randomPrivateKey());
36
40
  }
37
41
  scalarAdd(x, y) {
38
- return util_1.bigIntFromU8ABE(secp.utils.privateAdd(x, util_1.bigIntToBufferBE(y, privateKeySize)));
42
+ return (0, util_1.bigIntFromU8ABE)(secp.utils.privateAdd(x, (0, util_1.bigIntToBufferBE)(y, privateKeySize)));
39
43
  }
40
44
  scalarSub(x, y) {
41
45
  const negatedY = secp.utils.privateNegate(y);
42
- return util_1.bigIntFromU8ABE(secp.utils.privateAdd(x, negatedY));
46
+ return (0, util_1.bigIntFromU8ABE)(secp.utils.privateAdd(x, negatedY));
43
47
  }
44
48
  scalarMult(x, y) {
45
49
  return secp.utils.mod(x * y, order);
@@ -48,30 +52,30 @@ class Secp256k1Curve {
48
52
  return secp.utils.mod(s, order);
49
53
  }
50
54
  scalarNegate(s) {
51
- return util_1.bigIntFromU8ABE(secp.utils.privateNegate(s));
55
+ return (0, util_1.bigIntFromU8ABE)(secp.utils.privateNegate(s));
52
56
  }
53
57
  scalarInvert(s) {
54
58
  return secp.utils.invert(s, order);
55
59
  }
56
60
  pointAdd(a, b) {
57
- const pointA = secp.Point.fromHex(util_1.bigIntToBufferBE(a, privateKeySize));
58
- const pointB = secp.Point.fromHex(util_1.bigIntToBufferBE(b, privateKeySize));
59
- return util_1.bigIntFromU8ABE(pointA.add(pointB).toRawBytes(true));
61
+ const pointA = secp.Point.fromHex((0, util_1.bigIntToBufferBE)(a, privateKeySize));
62
+ const pointB = secp.Point.fromHex((0, util_1.bigIntToBufferBE)(b, privateKeySize));
63
+ return (0, util_1.bigIntFromU8ABE)(pointA.add(pointB).toRawBytes(true));
60
64
  }
61
65
  pointMultiply(p, s) {
62
- const pointA = secp.Point.fromHex(util_1.bigIntToBufferBE(p, privateKeySize));
63
- return util_1.bigIntFromU8ABE(pointA.multiply(s).toRawBytes(true));
66
+ const pointA = secp.Point.fromHex((0, util_1.bigIntToBufferBE)(p, privateKeySize));
67
+ return (0, util_1.bigIntFromU8ABE)(pointA.multiply(s).toRawBytes(true));
64
68
  }
65
69
  basePointMult(n) {
66
- const point = util_1.bigIntToBufferBE(n, privateKeySize);
67
- return util_1.bigIntFromU8ABE(secp.getPublicKey(point, true));
70
+ const point = (0, util_1.bigIntToBufferBE)(n, privateKeySize);
71
+ return (0, util_1.bigIntFromU8ABE)(secp.getPublicKey(point, true));
68
72
  }
69
73
  verify(message, signature, publicKey) {
70
- return Buffer.from(secp.recoverPublicKey(message, signature.subarray(1), signature[0], true)).equals(util_1.bigIntToBufferBE(publicKey, publicKeySize));
74
+ return Buffer.from(secp.recoverPublicKey(message, signature.subarray(1), signature[0], true)).equals((0, util_1.bigIntToBufferBE)(publicKey, publicKeySize));
71
75
  }
72
76
  order() {
73
77
  return order;
74
78
  }
75
79
  }
76
80
  exports.Secp256k1Curve = Secp256k1Curve;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1cnZlcy9zZWNwMjU2azEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtDQUE0RDtBQUU1RCx1REFBeUM7QUFFekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0IsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUV6QixNQUFhLGNBQWM7SUFBM0I7UUF3REUsZ0JBQVcsR0FBRyxjQUFjLENBQUM7UUFFN0IsZ0NBQWdDO1FBQ2hDLGVBQVUsR0FBRyxhQUFhLENBQUM7SUFDN0IsQ0FBQztJQTNEQyxZQUFZO1FBQ1YsT0FBTyxzQkFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDNUIsT0FBTyxzQkFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxzQkFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsT0FBTyxzQkFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFTO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsdUJBQWdCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsdUJBQWdCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxzQkFBZSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN2RSxPQUFPLHNCQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVM7UUFDckIsTUFBTSxLQUFLLEdBQUcsdUJBQWdCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sc0JBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZSxFQUFFLFNBQWlCLEVBQUUsU0FBaUI7UUFDMUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQ2xHLHVCQUFnQixDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBTUY7QUE1REQsd0NBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmlnSW50RnJvbVU4QUJFLCBiaWdJbnRUb0J1ZmZlckJFIH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBCYXNlQ3VydmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIHNlY3AgZnJvbSAnQG5vYmxlL3NlY3AyNTZrMSc7XG5cbmNvbnN0IG9yZGVyID0gc2VjcC5DVVJWRS5uO1xuY29uc3QgcHJpdmF0ZUtleVNpemUgPSAzMjtcbmNvbnN0IHB1YmxpY0tleVNpemUgPSAzMztcblxuZXhwb3J0IGNsYXNzIFNlY3AyNTZrMUN1cnZlIGltcGxlbWVudHMgQmFzZUN1cnZlIHtcbiAgc2NhbGFyUmFuZG9tKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21VOEFCRShzZWNwLnV0aWxzLnJhbmRvbVByaXZhdGVLZXkoKSk7XG4gIH1cblxuICBzY2FsYXJBZGQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tVThBQkUoc2VjcC51dGlscy5wcml2YXRlQWRkKHgsIGJpZ0ludFRvQnVmZmVyQkUoeSwgcHJpdmF0ZUtleVNpemUpKSk7XG4gIH1cblxuICBzY2FsYXJTdWIoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIGNvbnN0IG5lZ2F0ZWRZID0gc2VjcC51dGlscy5wcml2YXRlTmVnYXRlKHkpO1xuICAgIHJldHVybiBiaWdJbnRGcm9tVThBQkUoc2VjcC51dGlscy5wcml2YXRlQWRkKHgsIG5lZ2F0ZWRZKSk7XG4gIH1cblxuICBzY2FsYXJNdWx0KHg6IGJpZ2ludCwgeTogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gc2VjcC51dGlscy5tb2QoeCAqIHksIG9yZGVyKTtcbiAgfVxuXG4gIHNjYWxhclJlZHVjZShzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBzZWNwLnV0aWxzLm1vZChzLCBvcmRlcik7XG4gIH1cblxuICBzY2FsYXJOZWdhdGUoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbVU4QUJFKHNlY3AudXRpbHMucHJpdmF0ZU5lZ2F0ZShzKSk7XG4gIH1cblxuICBzY2FsYXJJbnZlcnQoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gc2VjcC51dGlscy5pbnZlcnQocywgb3JkZXIpO1xuICB9XG5cbiAgcG9pbnRBZGQoYTogYmlnaW50LCBiOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIGNvbnN0IHBvaW50QSA9IHNlY3AuUG9pbnQuZnJvbUhleChiaWdJbnRUb0J1ZmZlckJFKGEsIHByaXZhdGVLZXlTaXplKSk7XG4gICAgY29uc3QgcG9pbnRCID0gc2VjcC5Qb2ludC5mcm9tSGV4KGJpZ0ludFRvQnVmZmVyQkUoYiwgcHJpdmF0ZUtleVNpemUpKTtcbiAgICByZXR1cm4gYmlnSW50RnJvbVU4QUJFKHBvaW50QS5hZGQocG9pbnRCKS50b1Jhd0J5dGVzKHRydWUpKTtcbiAgfVxuXG4gIHBvaW50TXVsdGlwbHkocDogYmlnaW50LCBzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIGNvbnN0IHBvaW50QSA9IHNlY3AuUG9pbnQuZnJvbUhleChiaWdJbnRUb0J1ZmZlckJFKHAsIHByaXZhdGVLZXlTaXplKSk7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21VOEFCRShwb2ludEEubXVsdGlwbHkocykudG9SYXdCeXRlcyh0cnVlKSk7XG4gIH1cblxuICBiYXNlUG9pbnRNdWx0KG46IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgY29uc3QgcG9pbnQgPSBiaWdJbnRUb0J1ZmZlckJFKG4sIHByaXZhdGVLZXlTaXplKTtcbiAgICByZXR1cm4gYmlnSW50RnJvbVU4QUJFKHNlY3AuZ2V0UHVibGljS2V5KHBvaW50LCB0cnVlKSk7XG4gIH1cblxuICB2ZXJpZnkobWVzc2FnZTogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlciwgcHVibGljS2V5OiBiaWdpbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oc2VjcC5yZWNvdmVyUHVibGljS2V5KG1lc3NhZ2UsIHNpZ25hdHVyZS5zdWJhcnJheSgxKSwgc2lnbmF0dXJlWzBdLCB0cnVlKSkuZXF1YWxzKFxuICAgICAgYmlnSW50VG9CdWZmZXJCRShwdWJsaWNLZXksIHB1YmxpY0tleVNpemUpXG4gICAgKTtcbiAgfVxuXG4gIG9yZGVyKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIG9yZGVyO1xuICB9XG5cbiAgc2NhbGFyQnl0ZXMgPSBwcml2YXRlS2V5U2l6ZTtcblxuICAvLyBBbHdheXMgdXNlIGNvbXByZXNzZWQgcG9pbnRzLlxuICBwb2ludEJ5dGVzID0gcHVibGljS2V5U2l6ZTtcbn1cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1cnZlcy9zZWNwMjU2azEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQ0FBNEQ7QUFFNUQsdURBQXlDO0FBRXpDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUMxQixNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFFekIsTUFBYSxjQUFjO0lBQTNCO1FBd0RFLGdCQUFXLEdBQUcsY0FBYyxDQUFDO1FBRTdCLGdDQUFnQztRQUNoQyxlQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzdCLENBQUM7SUEzREMsWUFBWTtRQUNWLE9BQU8sSUFBQSxzQkFBZSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDNUIsT0FBTyxJQUFBLHNCQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUEsdUJBQWdCLEVBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsU0FBUyxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBQSxzQkFBZSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsT0FBTyxJQUFBLHNCQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFBLHVCQUFnQixFQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUEsdUJBQWdCLEVBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxJQUFBLHNCQUFlLEVBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUEsdUJBQWdCLEVBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxJQUFBLHNCQUFlLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVM7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBQSx1QkFBZ0IsRUFBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFBLHNCQUFlLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWUsRUFBRSxTQUFpQixFQUFFLFNBQWlCO1FBQzFELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUNsRyxJQUFBLHVCQUFnQixFQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBTUY7QUE1REQsd0NBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmlnSW50RnJvbVU4QUJFLCBiaWdJbnRUb0J1ZmZlckJFIH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBCYXNlQ3VydmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIHNlY3AgZnJvbSAnQG5vYmxlL3NlY3AyNTZrMSc7XG5cbmNvbnN0IG9yZGVyID0gc2VjcC5DVVJWRS5uO1xuY29uc3QgcHJpdmF0ZUtleVNpemUgPSAzMjtcbmNvbnN0IHB1YmxpY0tleVNpemUgPSAzMztcblxuZXhwb3J0IGNsYXNzIFNlY3AyNTZrMUN1cnZlIGltcGxlbWVudHMgQmFzZUN1cnZlIHtcbiAgc2NhbGFyUmFuZG9tKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21VOEFCRShzZWNwLnV0aWxzLnJhbmRvbVByaXZhdGVLZXkoKSk7XG4gIH1cblxuICBzY2FsYXJBZGQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBiaWdJbnRGcm9tVThBQkUoc2VjcC51dGlscy5wcml2YXRlQWRkKHgsIGJpZ0ludFRvQnVmZmVyQkUoeSwgcHJpdmF0ZUtleVNpemUpKSk7XG4gIH1cblxuICBzY2FsYXJTdWIoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIGNvbnN0IG5lZ2F0ZWRZID0gc2VjcC51dGlscy5wcml2YXRlTmVnYXRlKHkpO1xuICAgIHJldHVybiBiaWdJbnRGcm9tVThBQkUoc2VjcC51dGlscy5wcml2YXRlQWRkKHgsIG5lZ2F0ZWRZKSk7XG4gIH1cblxuICBzY2FsYXJNdWx0KHg6IGJpZ2ludCwgeTogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gc2VjcC51dGlscy5tb2QoeCAqIHksIG9yZGVyKTtcbiAgfVxuXG4gIHNjYWxhclJlZHVjZShzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIHJldHVybiBzZWNwLnV0aWxzLm1vZChzLCBvcmRlcik7XG4gIH1cblxuICBzY2FsYXJOZWdhdGUoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gYmlnSW50RnJvbVU4QUJFKHNlY3AudXRpbHMucHJpdmF0ZU5lZ2F0ZShzKSk7XG4gIH1cblxuICBzY2FsYXJJbnZlcnQoczogYmlnaW50KTogYmlnaW50IHtcbiAgICByZXR1cm4gc2VjcC51dGlscy5pbnZlcnQocywgb3JkZXIpO1xuICB9XG5cbiAgcG9pbnRBZGQoYTogYmlnaW50LCBiOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIGNvbnN0IHBvaW50QSA9IHNlY3AuUG9pbnQuZnJvbUhleChiaWdJbnRUb0J1ZmZlckJFKGEsIHByaXZhdGVLZXlTaXplKSk7XG4gICAgY29uc3QgcG9pbnRCID0gc2VjcC5Qb2ludC5mcm9tSGV4KGJpZ0ludFRvQnVmZmVyQkUoYiwgcHJpdmF0ZUtleVNpemUpKTtcbiAgICByZXR1cm4gYmlnSW50RnJvbVU4QUJFKHBvaW50QS5hZGQocG9pbnRCKS50b1Jhd0J5dGVzKHRydWUpKTtcbiAgfVxuXG4gIHBvaW50TXVsdGlwbHkocDogYmlnaW50LCBzOiBiaWdpbnQpOiBiaWdpbnQge1xuICAgIGNvbnN0IHBvaW50QSA9IHNlY3AuUG9pbnQuZnJvbUhleChiaWdJbnRUb0J1ZmZlckJFKHAsIHByaXZhdGVLZXlTaXplKSk7XG4gICAgcmV0dXJuIGJpZ0ludEZyb21VOEFCRShwb2ludEEubXVsdGlwbHkocykudG9SYXdCeXRlcyh0cnVlKSk7XG4gIH1cblxuICBiYXNlUG9pbnRNdWx0KG46IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgY29uc3QgcG9pbnQgPSBiaWdJbnRUb0J1ZmZlckJFKG4sIHByaXZhdGVLZXlTaXplKTtcbiAgICByZXR1cm4gYmlnSW50RnJvbVU4QUJFKHNlY3AuZ2V0UHVibGljS2V5KHBvaW50LCB0cnVlKSk7XG4gIH1cblxuICB2ZXJpZnkobWVzc2FnZTogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlciwgcHVibGljS2V5OiBiaWdpbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oc2VjcC5yZWNvdmVyUHVibGljS2V5KG1lc3NhZ2UsIHNpZ25hdHVyZS5zdWJhcnJheSgxKSwgc2lnbmF0dXJlWzBdLCB0cnVlKSkuZXF1YWxzKFxuICAgICAgYmlnSW50VG9CdWZmZXJCRShwdWJsaWNLZXksIHB1YmxpY0tleVNpemUpXG4gICAgKTtcbiAgfVxuXG4gIG9yZGVyKCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIG9yZGVyO1xuICB9XG5cbiAgc2NhbGFyQnl0ZXMgPSBwcml2YXRlS2V5U2l6ZTtcblxuICAvLyBBbHdheXMgdXNlIGNvbXByZXNzZWQgcG9pbnRzLlxuICBwb2ludEJ5dGVzID0gcHVibGljS2V5U2l6ZTtcbn1cbiJdfQ==
@@ -7,12 +7,12 @@ const util_1 = require("../util");
7
7
  const util_2 = require("./util");
8
8
  class Secp256k1Bip32HdTree {
9
9
  publicDerive(keychain, path) {
10
- const indices = util_2.pathToIndices(path);
10
+ const indices = (0, util_2.pathToIndices)(path);
11
11
  function deriveIndex(acc, index) {
12
12
  const [pk, chaincode] = acc;
13
13
  const I = deriveSecp256k1Helper(index, chaincode, pk);
14
- const il = util_1.bigIntFromBufferBE(I.slice(0, 32));
15
- const ir = util_1.bigIntFromBufferBE(I.slice(32));
14
+ const il = (0, util_1.bigIntFromBufferBE)(I.slice(0, 32));
15
+ const ir = (0, util_1.bigIntFromBufferBE)(I.slice(32));
16
16
  const left_pk = Secp256k1Bip32HdTree.curve.pointAdd(pk, Secp256k1Bip32HdTree.curve.basePointMult(il));
17
17
  return [left_pk, ir];
18
18
  }
@@ -20,12 +20,12 @@ class Secp256k1Bip32HdTree {
20
20
  return { pk, chaincode };
21
21
  }
22
22
  privateDerive(keychain, path) {
23
- const indices = util_2.pathToIndices(path);
23
+ const indices = (0, util_2.pathToIndices)(path);
24
24
  function deriveIndex(acc, index) {
25
25
  const [pk, sk, chaincode] = acc;
26
26
  const I = deriveSecp256k1Helper(index, chaincode, pk, sk);
27
- const il = util_1.bigIntFromBufferBE(I.slice(0, 32));
28
- const ir = util_1.bigIntFromBufferBE(I.slice(32));
27
+ const il = (0, util_1.bigIntFromBufferBE)(I.slice(0, 32));
28
+ const ir = (0, util_1.bigIntFromBufferBE)(I.slice(32));
29
29
  const left_pk = Secp256k1Bip32HdTree.curve.pointAdd(pk, Secp256k1Bip32HdTree.curve.basePointMult(il));
30
30
  const left_sk = Secp256k1Bip32HdTree.curve.scalarAdd(sk, il);
31
31
  return [left_pk, left_sk, ir];
@@ -39,16 +39,16 @@ Secp256k1Bip32HdTree.curve = new secp256k1_1.Secp256k1Curve();
39
39
  function deriveSecp256k1Helper(index = 0, chaincode, pk, sk) {
40
40
  const data = Buffer.alloc(33 + 4);
41
41
  if (((index >>> 0) & 0x80000000) === 0) {
42
- util_1.bigIntToBufferBE(pk, 33).copy(data);
42
+ (0, util_1.bigIntToBufferBE)(pk, 33).copy(data);
43
43
  }
44
44
  else {
45
45
  if (sk === undefined) {
46
46
  throw new Error("Can't performed hardened derivation without private key");
47
47
  }
48
48
  data[0] = 0;
49
- util_1.bigIntToBufferBE(sk, 32).copy(data, 1);
49
+ (0, util_1.bigIntToBufferBE)(sk, 32).copy(data, 1);
50
50
  }
51
51
  data.writeUInt32BE(index, 33);
52
- return crypto_1.createHmac('sha512', util_1.bigIntToBufferBE(chaincode, 32)).update(data).digest();
52
+ return (0, crypto_1.createHmac)('sha512', (0, util_1.bigIntToBufferBE)(chaincode, 32)).update(data).digest();
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxQmlwMzJIZFRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VydmVzL3NlY3AyNTZrMUJpcDMySGRUcmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFvQztBQUdwQywyQ0FBNkM7QUFDN0Msa0NBQStEO0FBQy9ELGlDQUF1QztBQUV2QyxNQUFhLG9CQUFvQjtJQUcvQixZQUFZLENBQUMsUUFBd0IsRUFBRSxJQUFZO1FBQ2pELE1BQU0sT0FBTyxHQUFHLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsU0FBUyxXQUFXLENBQUMsR0FBYSxFQUFFLEtBQXlCO1lBQzNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEQsTUFBTSxFQUFFLEdBQUcseUJBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyx5QkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDcEMsV0FBVyxFQUNYLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUNoRSxDQUFDO1FBQ0YsT0FBTyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQXlCLEVBQUUsSUFBWTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxvQkFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLFNBQVMsV0FBVyxDQUFDLEdBQWEsRUFBRSxLQUF5QjtZQUMzRCxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDaEMsTUFBTSxDQUFDLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUQsTUFBTSxFQUFFLEdBQUcseUJBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyx5QkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdELE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUN4QyxXQUFXLEVBQ1gsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FDN0UsQ0FBQztRQUNGLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7O0FBcENILG9EQXFDQztBQXBDUSwwQkFBSyxHQUFtQixJQUFJLDBCQUFjLEVBQUUsQ0FBQztBQXNDdEQsU0FBUyxxQkFBcUIsQ0FBQyxRQUE0QixDQUFDLEVBQUUsU0FBaUIsRUFBRSxFQUFVLEVBQUUsRUFBVztJQUN0RyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3RDLHVCQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDckM7U0FBTTtRQUNMLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7U0FDNUU7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1osdUJBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDeEM7SUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5QixPQUFPLG1CQUFVLENBQUMsUUFBUSxFQUFFLHVCQUFnQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlSG1hYyB9IGZyb20gJ2NyeXB0byc7XG5cbmltcG9ydCB7IFByaXZhdGVLZXljaGFpbiwgUHVibGljS2V5Y2hhaW4gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNlY3AyNTZrMUN1cnZlIH0gZnJvbSAnLi9zZWNwMjU2azEnO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckJFLCBiaWdJbnRUb0J1ZmZlckJFIH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBwYXRoVG9JbmRpY2VzIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGNsYXNzIFNlY3AyNTZrMUJpcDMySGRUcmVlIHtcbiAgc3RhdGljIGN1cnZlOiBTZWNwMjU2azFDdXJ2ZSA9IG5ldyBTZWNwMjU2azFDdXJ2ZSgpO1xuXG4gIHB1YmxpY0Rlcml2ZShrZXljaGFpbjogUHVibGljS2V5Y2hhaW4sIHBhdGg6IHN0cmluZyk6IFB1YmxpY0tleWNoYWluIHtcbiAgICBjb25zdCBpbmRpY2VzID0gcGF0aFRvSW5kaWNlcyhwYXRoKTtcbiAgICBmdW5jdGlvbiBkZXJpdmVJbmRleChhY2M6IGJpZ2ludFtdLCBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkKTogYmlnaW50W10ge1xuICAgICAgY29uc3QgW3BrLCBjaGFpbmNvZGVdID0gYWNjO1xuICAgICAgY29uc3QgSSA9IGRlcml2ZVNlY3AyNTZrMUhlbHBlcihpbmRleCwgY2hhaW5jb2RlLCBwayk7XG4gICAgICBjb25zdCBpbCA9IGJpZ0ludEZyb21CdWZmZXJCRShJLnNsaWNlKDAsIDMyKSk7XG4gICAgICBjb25zdCBpciA9IGJpZ0ludEZyb21CdWZmZXJCRShJLnNsaWNlKDMyKSk7XG4gICAgICBjb25zdCBsZWZ0X3BrID0gU2VjcDI1NmsxQmlwMzJIZFRyZWUuY3VydmUucG9pbnRBZGQocGssIFNlY3AyNTZrMUJpcDMySGRUcmVlLmN1cnZlLmJhc2VQb2ludE11bHQoaWwpKTtcbiAgICAgIHJldHVybiBbbGVmdF9waywgaXJdO1xuICAgIH1cbiAgICBjb25zdCBbcGssIGNoYWluY29kZV0gPSBpbmRpY2VzLnJlZHVjZShcbiAgICAgIGRlcml2ZUluZGV4LFxuICAgICAgZGVyaXZlSW5kZXgoW2tleWNoYWluLnBrLCBrZXljaGFpbi5jaGFpbmNvZGVdLCBpbmRpY2VzLnNoaWZ0KCkpXG4gICAgKTtcbiAgICByZXR1cm4geyBwaywgY2hhaW5jb2RlIH07XG4gIH1cblxuICBwcml2YXRlRGVyaXZlKGtleWNoYWluOiBQcml2YXRlS2V5Y2hhaW4sIHBhdGg6IHN0cmluZyk6IFByaXZhdGVLZXljaGFpbiB7XG4gICAgY29uc3QgaW5kaWNlcyA9IHBhdGhUb0luZGljZXMocGF0aCk7XG4gICAgZnVuY3Rpb24gZGVyaXZlSW5kZXgoYWNjOiBiaWdpbnRbXSwgaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCk6IGJpZ2ludFtdIHtcbiAgICAgIGNvbnN0IFtwaywgc2ssIGNoYWluY29kZV0gPSBhY2M7XG4gICAgICBjb25zdCBJID0gZGVyaXZlU2VjcDI1NmsxSGVscGVyKGluZGV4LCBjaGFpbmNvZGUsIHBrLCBzayk7XG4gICAgICBjb25zdCBpbCA9IGJpZ0ludEZyb21CdWZmZXJCRShJLnNsaWNlKDAsIDMyKSk7XG4gICAgICBjb25zdCBpciA9IGJpZ0ludEZyb21CdWZmZXJCRShJLnNsaWNlKDMyKSk7XG4gICAgICBjb25zdCBsZWZ0X3BrID0gU2VjcDI1NmsxQmlwMzJIZFRyZWUuY3VydmUucG9pbnRBZGQocGssIFNlY3AyNTZrMUJpcDMySGRUcmVlLmN1cnZlLmJhc2VQb2ludE11bHQoaWwpKTtcbiAgICAgIGNvbnN0IGxlZnRfc2sgPSBTZWNwMjU2azFCaXAzMkhkVHJlZS5jdXJ2ZS5zY2FsYXJBZGQoc2ssIGlsKTtcbiAgICAgIHJldHVybiBbbGVmdF9waywgbGVmdF9zaywgaXJdO1xuICAgIH1cbiAgICBjb25zdCBbcGssIHNrLCBjaGFpbmNvZGVdID0gaW5kaWNlcy5yZWR1Y2UoXG4gICAgICBkZXJpdmVJbmRleCxcbiAgICAgIGRlcml2ZUluZGV4KFtrZXljaGFpbi5waywga2V5Y2hhaW4uc2ssIGtleWNoYWluLmNoYWluY29kZV0sIGluZGljZXMuc2hpZnQoKSlcbiAgICApO1xuICAgIHJldHVybiB7IHBrLCBzaywgY2hhaW5jb2RlIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVyaXZlU2VjcDI1NmsxSGVscGVyKGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSAwLCBjaGFpbmNvZGU6IGJpZ2ludCwgcGs6IGJpZ2ludCwgc2s/OiBiaWdpbnQpOiBCdWZmZXIge1xuICBjb25zdCBkYXRhID0gQnVmZmVyLmFsbG9jKDMzICsgNCk7XG4gIGlmICgoKGluZGV4ID4+PiAwKSAmIDB4ODAwMDAwMDApID09PSAwKSB7XG4gICAgYmlnSW50VG9CdWZmZXJCRShwaywgMzMpLmNvcHkoZGF0YSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHNrID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IHBlcmZvcm1lZCBoYXJkZW5lZCBkZXJpdmF0aW9uIHdpdGhvdXQgcHJpdmF0ZSBrZXlcIik7XG4gICAgfVxuICAgIGRhdGFbMF0gPSAwO1xuICAgIGJpZ0ludFRvQnVmZmVyQkUoc2ssIDMyKS5jb3B5KGRhdGEsIDEpO1xuICB9XG4gIGRhdGEud3JpdGVVSW50MzJCRShpbmRleCwgMzMpO1xuICByZXR1cm4gY3JlYXRlSG1hYygnc2hhNTEyJywgYmlnSW50VG9CdWZmZXJCRShjaGFpbmNvZGUsIDMyKSkudXBkYXRlKGRhdGEpLmRpZ2VzdCgpO1xufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxQmlwMzJIZFRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VydmVzL3NlY3AyNTZrMUJpcDMySGRUcmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFvQztBQUdwQywyQ0FBNkM7QUFDN0Msa0NBQStEO0FBQy9ELGlDQUF1QztBQUV2QyxNQUFhLG9CQUFvQjtJQUcvQixZQUFZLENBQUMsUUFBd0IsRUFBRSxJQUFZO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxTQUFTLFdBQVcsQ0FBQyxHQUFhLEVBQUUsS0FBeUI7WUFDM0QsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDNUIsTUFBTSxDQUFDLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RCxNQUFNLEVBQUUsR0FBRyxJQUFBLHlCQUFrQixFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBQSx5QkFBa0IsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDcEMsV0FBVyxFQUNYLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUNoRSxDQUFDO1FBQ0YsT0FBTyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQXlCLEVBQUUsSUFBWTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsU0FBUyxXQUFXLENBQUMsR0FBYSxFQUFFLEtBQXlCO1lBQzNELE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUNoQyxNQUFNLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxRCxNQUFNLEVBQUUsR0FBRyxJQUFBLHlCQUFrQixFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBQSx5QkFBa0IsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdELE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUN4QyxXQUFXLEVBQ1gsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FDN0UsQ0FBQztRQUNGLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7O0FBcENILG9EQXFDQztBQXBDUSwwQkFBSyxHQUFtQixJQUFJLDBCQUFjLEVBQUUsQ0FBQztBQXNDdEQsU0FBUyxxQkFBcUIsQ0FBQyxRQUE0QixDQUFDLEVBQUUsU0FBaUIsRUFBRSxFQUFVLEVBQUUsRUFBVztJQUN0RyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3RDLElBQUEsdUJBQWdCLEVBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0wsSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztTQUM1RTtRQUNELElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFBLHVCQUFnQixFQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3hDO0lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUIsT0FBTyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxFQUFFLElBQUEsdUJBQWdCLEVBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3JGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVIbWFjIH0gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHsgUHJpdmF0ZUtleWNoYWluLCBQdWJsaWNLZXljaGFpbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2VjcDI1NmsxQ3VydmUgfSBmcm9tICcuL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBiaWdJbnRGcm9tQnVmZmVyQkUsIGJpZ0ludFRvQnVmZmVyQkUgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IHBhdGhUb0luZGljZXMgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgY2xhc3MgU2VjcDI1NmsxQmlwMzJIZFRyZWUge1xuICBzdGF0aWMgY3VydmU6IFNlY3AyNTZrMUN1cnZlID0gbmV3IFNlY3AyNTZrMUN1cnZlKCk7XG5cbiAgcHVibGljRGVyaXZlKGtleWNoYWluOiBQdWJsaWNLZXljaGFpbiwgcGF0aDogc3RyaW5nKTogUHVibGljS2V5Y2hhaW4ge1xuICAgIGNvbnN0IGluZGljZXMgPSBwYXRoVG9JbmRpY2VzKHBhdGgpO1xuICAgIGZ1bmN0aW9uIGRlcml2ZUluZGV4KGFjYzogYmlnaW50W10sIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQpOiBiaWdpbnRbXSB7XG4gICAgICBjb25zdCBbcGssIGNoYWluY29kZV0gPSBhY2M7XG4gICAgICBjb25zdCBJID0gZGVyaXZlU2VjcDI1NmsxSGVscGVyKGluZGV4LCBjaGFpbmNvZGUsIHBrKTtcbiAgICAgIGNvbnN0IGlsID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMCwgMzIpKTtcbiAgICAgIGNvbnN0IGlyID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMzIpKTtcbiAgICAgIGNvbnN0IGxlZnRfcGsgPSBTZWNwMjU2azFCaXAzMkhkVHJlZS5jdXJ2ZS5wb2ludEFkZChwaywgU2VjcDI1NmsxQmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdChpbCkpO1xuICAgICAgcmV0dXJuIFtsZWZ0X3BrLCBpcl07XG4gICAgfVxuICAgIGNvbnN0IFtwaywgY2hhaW5jb2RlXSA9IGluZGljZXMucmVkdWNlKFxuICAgICAgZGVyaXZlSW5kZXgsXG4gICAgICBkZXJpdmVJbmRleChba2V5Y2hhaW4ucGssIGtleWNoYWluLmNoYWluY29kZV0sIGluZGljZXMuc2hpZnQoKSlcbiAgICApO1xuICAgIHJldHVybiB7IHBrLCBjaGFpbmNvZGUgfTtcbiAgfVxuXG4gIHByaXZhdGVEZXJpdmUoa2V5Y2hhaW46IFByaXZhdGVLZXljaGFpbiwgcGF0aDogc3RyaW5nKTogUHJpdmF0ZUtleWNoYWluIHtcbiAgICBjb25zdCBpbmRpY2VzID0gcGF0aFRvSW5kaWNlcyhwYXRoKTtcbiAgICBmdW5jdGlvbiBkZXJpdmVJbmRleChhY2M6IGJpZ2ludFtdLCBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkKTogYmlnaW50W10ge1xuICAgICAgY29uc3QgW3BrLCBzaywgY2hhaW5jb2RlXSA9IGFjYztcbiAgICAgIGNvbnN0IEkgPSBkZXJpdmVTZWNwMjU2azFIZWxwZXIoaW5kZXgsIGNoYWluY29kZSwgcGssIHNrKTtcbiAgICAgIGNvbnN0IGlsID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMCwgMzIpKTtcbiAgICAgIGNvbnN0IGlyID0gYmlnSW50RnJvbUJ1ZmZlckJFKEkuc2xpY2UoMzIpKTtcbiAgICAgIGNvbnN0IGxlZnRfcGsgPSBTZWNwMjU2azFCaXAzMkhkVHJlZS5jdXJ2ZS5wb2ludEFkZChwaywgU2VjcDI1NmsxQmlwMzJIZFRyZWUuY3VydmUuYmFzZVBvaW50TXVsdChpbCkpO1xuICAgICAgY29uc3QgbGVmdF9zayA9IFNlY3AyNTZrMUJpcDMySGRUcmVlLmN1cnZlLnNjYWxhckFkZChzaywgaWwpO1xuICAgICAgcmV0dXJuIFtsZWZ0X3BrLCBsZWZ0X3NrLCBpcl07XG4gICAgfVxuICAgIGNvbnN0IFtwaywgc2ssIGNoYWluY29kZV0gPSBpbmRpY2VzLnJlZHVjZShcbiAgICAgIGRlcml2ZUluZGV4LFxuICAgICAgZGVyaXZlSW5kZXgoW2tleWNoYWluLnBrLCBrZXljaGFpbi5zaywga2V5Y2hhaW4uY2hhaW5jb2RlXSwgaW5kaWNlcy5zaGlmdCgpKVxuICAgICk7XG4gICAgcmV0dXJuIHsgcGssIHNrLCBjaGFpbmNvZGUgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXJpdmVTZWNwMjU2azFIZWxwZXIoaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IDAsIGNoYWluY29kZTogYmlnaW50LCBwazogYmlnaW50LCBzaz86IGJpZ2ludCk6IEJ1ZmZlciB7XG4gIGNvbnN0IGRhdGEgPSBCdWZmZXIuYWxsb2MoMzMgKyA0KTtcbiAgaWYgKCgoaW5kZXggPj4+IDApICYgMHg4MDAwMDAwMCkgPT09IDApIHtcbiAgICBiaWdJbnRUb0J1ZmZlckJFKHBrLCAzMykuY29weShkYXRhKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoc2sgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgcGVyZm9ybWVkIGhhcmRlbmVkIGRlcml2YXRpb24gd2l0aG91dCBwcml2YXRlIGtleVwiKTtcbiAgICB9XG4gICAgZGF0YVswXSA9IDA7XG4gICAgYmlnSW50VG9CdWZmZXJCRShzaywgMzIpLmNvcHkoZGF0YSwgMSk7XG4gIH1cbiAgZGF0YS53cml0ZVVJbnQzMkJFKGluZGV4LCAzMyk7XG4gIHJldHVybiBjcmVhdGVIbWFjKCdzaGE1MTInLCBiaWdJbnRUb0J1ZmZlckJFKGNoYWluY29kZSwgMzIpKS51cGRhdGUoZGF0YSkuZGlnZXN0KCk7XG59XG4iXX0=
@@ -10,7 +10,7 @@ const minRandomnessLength = 32;
10
10
  * @param r The randomness/nonce to be added to the commmitment.
11
11
  * @returns The created commitment and decommitment.
12
12
  */
13
- function createCommitment(secret, r = crypto_1.randomBytes(minRandomnessLength)) {
13
+ function createCommitment(secret, r = (0, crypto_1.randomBytes)(minRandomnessLength)) {
14
14
  if (r.length < minRandomnessLength) {
15
15
  throw new Error(`randomness must be at least ${minRandomnessLength} bytes long`);
16
16
  }
@@ -25,10 +25,10 @@ function createCommitment(secret, r = crypto_1.randomBytes(minRandomnessLength))
25
25
  exports.createCommitment = createCommitment;
26
26
  const bytesPerUint32 = 4;
27
27
  function hash(secret, r) {
28
- return crypto_1.createHash('sha256')
29
- .update(util_1.bigIntToBufferBE(BigInt(secret.length), bytesPerUint32))
28
+ return (0, crypto_1.createHash)('sha256')
29
+ .update((0, util_1.bigIntToBufferBE)(BigInt(secret.length), bytesPerUint32))
30
30
  .update(secret)
31
- .update(util_1.bigIntToBufferBE(BigInt(r.length), bytesPerUint32))
31
+ .update((0, util_1.bigIntToBufferBE)(BigInt(r.length), bytesPerUint32))
32
32
  .update(r)
33
33
  .digest();
34
34
  }
@@ -42,4 +42,4 @@ function verifyCommitment(commitment, decommietment) {
42
42
  return hash(decommietment.secret, decommietment.blindingFactor).compare(commitment) === 0;
43
43
  }
44
44
  exports.verifyCommitment = verifyCommitment;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaENvbW1pdG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFzaENvbW1pdG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWlEO0FBRWpELGlDQUEwQztBQUUxQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUUvQjs7Ozs7R0FLRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxJQUFZLG9CQUFXLENBQUMsbUJBQW1CLENBQUM7SUFDM0YsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLG1CQUFtQixFQUFFO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLG1CQUFtQixhQUFhLENBQUMsQ0FBQztLQUNsRjtJQUNELE9BQU87UUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDM0IsWUFBWSxFQUFFO1lBQ1osY0FBYyxFQUFFLENBQUM7WUFDakIsTUFBTSxFQUFFLE1BQU07U0FDZjtLQUNGLENBQUM7QUFDSixDQUFDO0FBWEQsNENBV0M7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFekIsU0FBUyxJQUFJLENBQUMsTUFBYyxFQUFFLENBQVM7SUFDckMsT0FBTyxtQkFBVSxDQUFDLFFBQVEsQ0FBQztTQUN4QixNQUFNLENBQUMsdUJBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUMvRCxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ2QsTUFBTSxDQUFDLHVCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDMUQsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNULE1BQU0sRUFBRSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxhQUErQjtJQUNsRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFGRCw0Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2gsIHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEhhc2hDb21taXREZWNvbW1pdCwgSGFzaERlY29tbWl0bWVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYmlnSW50VG9CdWZmZXJCRSB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IG1pblJhbmRvbW5lc3NMZW5ndGggPSAzMjtcblxuLyoqXG4gKiBDcmVhdGUgaGFzaCBjb21taXRtZW50IGFuZCBkZWNvbW1pZXRtZW50IG9mIGEgc2VjcmV0IHZhbHVlLlxuICogQHBhcmFtIHNlY3JldCBUaGUgc2VjcmV0IHZhbHVlL21lc3NhZ2UuXG4gKiBAcGFyYW0gciBUaGUgcmFuZG9tbmVzcy9ub25jZSB0byBiZSBhZGRlZCB0byB0aGUgY29tbW1pdG1lbnQuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBjb21taXRtZW50IGFuZCBkZWNvbW1pdG1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb21taXRtZW50KHNlY3JldDogQnVmZmVyLCByOiBCdWZmZXIgPSByYW5kb21CeXRlcyhtaW5SYW5kb21uZXNzTGVuZ3RoKSk6IEhhc2hDb21taXREZWNvbW1pdCB7XG4gIGlmIChyLmxlbmd0aCA8IG1pblJhbmRvbW5lc3NMZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHJhbmRvbW5lc3MgbXVzdCBiZSBhdCBsZWFzdCAke21pblJhbmRvbW5lc3NMZW5ndGh9IGJ5dGVzIGxvbmdgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGNvbW1pdG1lbnQ6IGhhc2goc2VjcmV0LCByKSxcbiAgICBkZWNvbW1pdG1lbnQ6IHtcbiAgICAgIGJsaW5kaW5nRmFjdG9yOiByLFxuICAgICAgc2VjcmV0OiBzZWNyZXQsXG4gICAgfSxcbiAgfTtcbn1cblxuY29uc3QgYnl0ZXNQZXJVaW50MzIgPSA0O1xuXG5mdW5jdGlvbiBoYXNoKHNlY3JldDogQnVmZmVyLCByOiBCdWZmZXIpOiBCdWZmZXIge1xuICByZXR1cm4gY3JlYXRlSGFzaCgnc2hhMjU2JylcbiAgICAudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoQmlnSW50KHNlY3JldC5sZW5ndGgpLCBieXRlc1BlclVpbnQzMikpXG4gICAgLnVwZGF0ZShzZWNyZXQpXG4gICAgLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKEJpZ0ludChyLmxlbmd0aCksIGJ5dGVzUGVyVWludDMyKSlcbiAgICAudXBkYXRlKHIpXG4gICAgLmRpZ2VzdCgpO1xufVxuXG4vKipcbiAqIFZlcmlmeSBoYXNoIGNvbW1pdG1lbnQgYW5kIGRlY29tbWlldG1lbnQgb2YgYSBzZWNyZXQgdmFsdWUuXG4gKiBAcGFyYW0gY29tbWl0bWVudCBUaGUgY29tbWl0bWVudC5cbiAqIEBwYXJhbSBkZWNvbW1pZXRtZW50IFRoZSBkZWNvbW1pdG1lbnQuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHZlcmlmaWNhdGlvbiBzdWNjZWVkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUNvbW1pdG1lbnQoY29tbWl0bWVudDogQnVmZmVyLCBkZWNvbW1pZXRtZW50OiBIYXNoRGVjb21taXRtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBoYXNoKGRlY29tbWlldG1lbnQuc2VjcmV0LCBkZWNvbW1pZXRtZW50LmJsaW5kaW5nRmFjdG9yKS5jb21wYXJlKGNvbW1pdG1lbnQpID09PSAwO1xufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaENvbW1pdG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFzaENvbW1pdG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWlEO0FBRWpELGlDQUEwQztBQUUxQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUUvQjs7Ozs7R0FLRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxJQUFZLElBQUEsb0JBQVcsRUFBQyxtQkFBbUIsQ0FBQztJQUMzRixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsbUJBQW1CLEVBQUU7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsbUJBQW1CLGFBQWEsQ0FBQyxDQUFDO0tBQ2xGO0lBQ0QsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzQixZQUFZLEVBQUU7WUFDWixjQUFjLEVBQUUsQ0FBQztZQUNqQixNQUFNLEVBQUUsTUFBTTtTQUNmO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFYRCw0Q0FXQztBQUVELE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV6QixTQUFTLElBQUksQ0FBQyxNQUFjLEVBQUUsQ0FBUztJQUNyQyxPQUFPLElBQUEsbUJBQVUsRUFBQyxRQUFRLENBQUM7U0FDeEIsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUMvRCxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ2QsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUMxRCxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ1QsTUFBTSxFQUFFLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLGFBQStCO0lBQ2xGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUYsQ0FBQztBQUZELDRDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlSGFzaCwgcmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgSGFzaENvbW1pdERlY29tbWl0LCBIYXNoRGVjb21taXRtZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBiaWdJbnRUb0J1ZmZlckJFIH0gZnJvbSAnLi91dGlsJztcblxuY29uc3QgbWluUmFuZG9tbmVzc0xlbmd0aCA9IDMyO1xuXG4vKipcbiAqIENyZWF0ZSBoYXNoIGNvbW1pdG1lbnQgYW5kIGRlY29tbWlldG1lbnQgb2YgYSBzZWNyZXQgdmFsdWUuXG4gKiBAcGFyYW0gc2VjcmV0IFRoZSBzZWNyZXQgdmFsdWUvbWVzc2FnZS5cbiAqIEBwYXJhbSByIFRoZSByYW5kb21uZXNzL25vbmNlIHRvIGJlIGFkZGVkIHRvIHRoZSBjb21tbWl0bWVudC5cbiAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIGNvbW1pdG1lbnQgYW5kIGRlY29tbWl0bWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbW1pdG1lbnQoc2VjcmV0OiBCdWZmZXIsIHI6IEJ1ZmZlciA9IHJhbmRvbUJ5dGVzKG1pblJhbmRvbW5lc3NMZW5ndGgpKTogSGFzaENvbW1pdERlY29tbWl0IHtcbiAgaWYgKHIubGVuZ3RoIDwgbWluUmFuZG9tbmVzc0xlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgcmFuZG9tbmVzcyBtdXN0IGJlIGF0IGxlYXN0ICR7bWluUmFuZG9tbmVzc0xlbmd0aH0gYnl0ZXMgbG9uZ2ApO1xuICB9XG4gIHJldHVybiB7XG4gICAgY29tbWl0bWVudDogaGFzaChzZWNyZXQsIHIpLFxuICAgIGRlY29tbWl0bWVudDoge1xuICAgICAgYmxpbmRpbmdGYWN0b3I6IHIsXG4gICAgICBzZWNyZXQ6IHNlY3JldCxcbiAgICB9LFxuICB9O1xufVxuXG5jb25zdCBieXRlc1BlclVpbnQzMiA9IDQ7XG5cbmZ1bmN0aW9uIGhhc2goc2VjcmV0OiBCdWZmZXIsIHI6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gIHJldHVybiBjcmVhdGVIYXNoKCdzaGEyNTYnKVxuICAgIC51cGRhdGUoYmlnSW50VG9CdWZmZXJCRShCaWdJbnQoc2VjcmV0Lmxlbmd0aCksIGJ5dGVzUGVyVWludDMyKSlcbiAgICAudXBkYXRlKHNlY3JldClcbiAgICAudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoQmlnSW50KHIubGVuZ3RoKSwgYnl0ZXNQZXJVaW50MzIpKVxuICAgIC51cGRhdGUocilcbiAgICAuZGlnZXN0KCk7XG59XG5cbi8qKlxuICogVmVyaWZ5IGhhc2ggY29tbWl0bWVudCBhbmQgZGVjb21taWV0bWVudCBvZiBhIHNlY3JldCB2YWx1ZS5cbiAqIEBwYXJhbSBjb21taXRtZW50IFRoZSBjb21taXRtZW50LlxuICogQHBhcmFtIGRlY29tbWlldG1lbnQgVGhlIGRlY29tbWl0bWVudC5cbiAqIEByZXR1cm5zIFRydWUgaWYgdmVyaWZpY2F0aW9uIHN1Y2NlZWRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5Q29tbWl0bWVudChjb21taXRtZW50OiBCdWZmZXIsIGRlY29tbWlldG1lbnQ6IEhhc2hEZWNvbW1pdG1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGhhc2goZGVjb21taWV0bWVudC5zZWNyZXQsIGRlY29tbWlldG1lbnQuYmxpbmRpbmdGYWN0b3IpLmNvbXBhcmUoY29tbWl0bWVudCkgPT09IDA7XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  export * from './curves';
2
- export * from './openssl';
2
+ export * from './safePrime';
3
3
  export * from './shamir';
4
4
  export * from './tss';
5
5
  export * as HashCommitment from './hashCommitment';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AAEtB,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AAEtB,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -24,11 +28,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
28
  Object.defineProperty(exports, "__esModule", { value: true });
25
29
  exports.Schnorr = exports.HashCommitment = void 0;
26
30
  __exportStar(require("./curves"), exports);
27
- __exportStar(require("./openssl"), exports);
31
+ __exportStar(require("./safePrime"), exports);
28
32
  __exportStar(require("./shamir"), exports);
29
33
  __exportStar(require("./tss"), exports);
30
34
  exports.HashCommitment = __importStar(require("./hashCommitment"));
31
35
  exports.Schnorr = __importStar(require("./schnorrProof"));
32
36
  __exportStar(require("./types"), exports);
33
37
  __exportStar(require("./util"), exports);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIsMkNBQXlCO0FBQ3pCLHdDQUFzQjtBQUV0QixtRUFBbUQ7QUFDbkQsMERBQTBDO0FBQzFDLDBDQUF3QjtBQUN4Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1cnZlcyc7XG5leHBvcnQgKiBmcm9tICcuL29wZW5zc2wnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFtaXInO1xuZXhwb3J0ICogZnJvbSAnLi90c3MnO1xuXG5leHBvcnQgKiBhcyBIYXNoQ29tbWl0bWVudCBmcm9tICcuL2hhc2hDb21taXRtZW50JztcbmV4cG9ydCAqIGFzIFNjaG5vcnIgZnJvbSAnLi9zY2hub3JyUHJvb2YnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUI7QUFDekIsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6Qix3Q0FBc0I7QUFFdEIsbUVBQW1EO0FBQ25ELDBEQUEwQztBQUMxQywwQ0FBd0I7QUFDeEIseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXJ2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYWZlUHJpbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFtaXInO1xuZXhwb3J0ICogZnJvbSAnLi90c3MnO1xuXG5leHBvcnQgKiBhcyBIYXNoQ29tbWl0bWVudCBmcm9tICcuL2hhc2hDb21taXRtZW50JztcbmV4cG9ydCAqIGFzIFNjaG5vcnIgZnJvbSAnLi9zY2hub3JyUHJvb2YnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuIl19
@@ -0,0 +1,3 @@
1
+ export declare function generateSafePrime(bitlength: number): Promise<bigint>;
2
+ export declare function generateSafePrimes(bitLengths: number[]): Promise<bigint[]>;
3
+ //# sourceMappingURL=safePrime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safePrime.d.ts","sourceRoot":"","sources":["../../src/safePrime.ts"],"names":[],"mappings":"AAEA,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB1E;AACD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1E"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSafePrimes = exports.generateSafePrime = void 0;
4
+ const crypto_1 = require("crypto");
5
+ async function generateSafePrime(bitlength) {
6
+ return new Promise((resolve, reject) => {
7
+ (0, crypto_1.generatePrime)(bitlength, {
8
+ safe: true,
9
+ bigint: true,
10
+ }, (err, prime) => {
11
+ if (err) {
12
+ reject(err);
13
+ }
14
+ resolve(prime);
15
+ });
16
+ });
17
+ }
18
+ exports.generateSafePrime = generateSafePrime;
19
+ function generateSafePrimes(bitLengths) {
20
+ return Promise.all(bitLengths.map(generateSafePrime));
21
+ }
22
+ exports.generateSafePrimes = generateSafePrimes;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZVByaW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NhZmVQcmltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBdUM7QUFFaEMsS0FBSyxVQUFVLGlCQUFpQixDQUFDLFNBQWlCO0lBQ3ZELE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDN0MsSUFBQSxzQkFBYSxFQUNYLFNBQVMsRUFDVDtZQUNFLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLElBQUk7U0FDYixFQUNELENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2IsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2I7WUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFoQkQsOENBZ0JDO0FBQ0QsU0FBZ0Isa0JBQWtCLENBQUMsVUFBb0I7SUFDckQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFGRCxnREFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlUHJpbWUgfSBmcm9tICdjcnlwdG8nO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVTYWZlUHJpbWUoYml0bGVuZ3RoOiBudW1iZXIpOiBQcm9taXNlPGJpZ2ludD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8YmlnaW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgZ2VuZXJhdGVQcmltZShcbiAgICAgIGJpdGxlbmd0aCxcbiAgICAgIHtcbiAgICAgICAgc2FmZTogdHJ1ZSxcbiAgICAgICAgYmlnaW50OiB0cnVlLFxuICAgICAgfSxcbiAgICAgIChlcnIsIHByaW1lKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgfVxuICAgICAgICByZXNvbHZlKHByaW1lKTtcbiAgICAgIH1cbiAgICApO1xuICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVNhZmVQcmltZXMoYml0TGVuZ3RoczogbnVtYmVyW10pOiBQcm9taXNlPGJpZ2ludFtdPiB7XG4gIHJldHVybiBQcm9taXNlLmFsbChiaXRMZW5ndGhzLm1hcChnZW5lcmF0ZVNhZmVQcmltZSkpO1xufVxuIl19