@bitgo-beta/sdk-lib-mpc 8.2.0-beta.2 → 8.2.0-beta.4
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.
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/tss/ecdsa/pallierproof.d.ts +2 -2
- package/dist/src/tss/ecdsa/pallierproof.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/pallierproof.js +30 -23
- package/dist/src/tss/ecdsa/primes.d.ts +2 -0
- package/dist/src/tss/ecdsa/primes.d.ts.map +1 -0
- package/dist/src/tss/ecdsa/primes.js +1846 -0
- package/dist/src/tss/ecdsa/rangeproof.d.ts +1 -1
- package/dist/src/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/rangeproof.js +2 -2
- package/dist/src/tss/ecdsa/types.d.ts +65 -13
- package/dist/src/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/types.js +76 -14
- package/dist/src/util.d.ts +2 -1
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +4 -3
- package/dist/tsconfig.tsbuildinfo +19 -10
- package/package.json +2 -2
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
__exportStar(require("./tss"), exports);
|
|
14
14
|
__exportStar(require("./curves"), exports);
|
|
15
15
|
__exportStar(require("./util"), exports);
|
|
16
|
-
|
|
16
|
+
__exportStar(require("./openssl"), exports);
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90c3MnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXJ2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlbnNzbCc7XG4iXX0=
|
|
@@ -12,12 +12,12 @@ export declare function generateP(n: bigint): Promise<Array<bigint>>;
|
|
|
12
12
|
* @param p - array of challenges $p$
|
|
13
13
|
* @returns {Promise<Array<bigint>>} - array of proofs $\sigma$
|
|
14
14
|
*/
|
|
15
|
-
export declare function prove(n: bigint, lambda: bigint, p: Array<bigint>):
|
|
15
|
+
export declare function prove(n: bigint, lambda: bigint, p: Array<bigint>): bigint[];
|
|
16
16
|
/**
|
|
17
17
|
* Verify a set of proofs $\sigma$ on the modulus $n$ using the challenges $p$ that were provided to the prover to generate the proofs.
|
|
18
18
|
* @param n - pallier public key modulus $n$
|
|
19
19
|
* @param p - array of challenges $p$
|
|
20
20
|
* @param sigma - array of proofs $\sigma$
|
|
21
21
|
*/
|
|
22
|
-
export declare function verify(n: bigint, p: Array<bigint>, sigma: Array<bigint>):
|
|
22
|
+
export declare function verify(n: bigint, p: Array<bigint>, sigma: Array<bigint>): boolean;
|
|
23
23
|
//# sourceMappingURL=pallierproof.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pallierproof.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/pallierproof.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pallierproof.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/pallierproof.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,CAAC,QAAkC,CAAC;AAEjD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CASjE;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAM3E;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAkCjF"}
|
|
@@ -5,9 +5,12 @@ const bigint_crypto_utils_1 = require("bigint-crypto-utils");
|
|
|
5
5
|
const bigint_mod_arith_1 = require("bigint-mod-arith");
|
|
6
6
|
const util_1 = require("../../util");
|
|
7
7
|
const index_1 = require("./index");
|
|
8
|
+
const primes_1 = require("./primes");
|
|
8
9
|
// Security parameters.
|
|
9
10
|
const k = 128;
|
|
10
|
-
|
|
11
|
+
// eprint.iacr.org/2018/057.pdf#page6 section 5
|
|
12
|
+
// https://github.com/BitGo/BitGoJS/pull/3502#discussion_r1203070392
|
|
13
|
+
const alpha = 319567;
|
|
11
14
|
exports.m = Math.ceil(k / Math.log2(alpha));
|
|
12
15
|
/**
|
|
13
16
|
* Generate a set of challenges $p$ for a given pallier public key modulus $n$.
|
|
@@ -30,13 +33,12 @@ exports.generateP = generateP;
|
|
|
30
33
|
* @param p - array of challenges $p$
|
|
31
34
|
* @returns {Promise<Array<bigint>>} - array of proofs $\sigma$
|
|
32
35
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
36
|
+
function prove(n, lambda, p) {
|
|
37
|
+
if (!p.every((p_i) => p_i > 0)) {
|
|
38
|
+
throw new Error('All pallier challenge values must be positive.');
|
|
39
|
+
}
|
|
40
|
+
const n_inv = bigint_mod_arith_1.modInv(n, lambda);
|
|
41
|
+
return p.map((p_i) => bigint_mod_arith_1.modPow(p_i, n_inv, n));
|
|
40
42
|
}
|
|
41
43
|
exports.prove = prove;
|
|
42
44
|
/**
|
|
@@ -45,16 +47,26 @@ exports.prove = prove;
|
|
|
45
47
|
* @param p - array of challenges $p$
|
|
46
48
|
* @param sigma - array of proofs $\sigma$
|
|
47
49
|
*/
|
|
48
|
-
|
|
50
|
+
function verify(n, p, sigma) {
|
|
51
|
+
if (!p.every((p_i) => p_i > 0)) {
|
|
52
|
+
throw new Error('All pallier challenge values must be positive.');
|
|
53
|
+
}
|
|
54
|
+
if (!sigma.every((sigma_i) => sigma_i > 0)) {
|
|
55
|
+
throw new Error('All pallier challenge proof values must be positive.');
|
|
56
|
+
}
|
|
49
57
|
// a) Check that $N$ is a positive integer and is not divisible by all
|
|
50
58
|
// the primes less than $\alpha$.
|
|
51
|
-
// (Since is $\alpha = 2$, we only check that $N$ is positive.
|
|
52
59
|
if (n <= 0) {
|
|
53
60
|
return false;
|
|
54
61
|
}
|
|
55
|
-
if (alpha
|
|
62
|
+
if (alpha !== 319567) {
|
|
56
63
|
throw new Error('unsupported alpha value');
|
|
57
64
|
}
|
|
65
|
+
for (const prime of primes_1.primesSmallerThan319567) {
|
|
66
|
+
if (n % BigInt(prime) === BigInt(0)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
58
70
|
// b) Check that $\sigma_i$ is a positive integer $i = 1...m$.
|
|
59
71
|
if (sigma.length !== exports.m) {
|
|
60
72
|
return false;
|
|
@@ -63,17 +75,12 @@ async function verify(n, p, sigma) {
|
|
|
63
75
|
return false;
|
|
64
76
|
}
|
|
65
77
|
// c) Verify that $p_i = \sigma_i^N \mod N$ for $i = 1...m$.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
resolve(true);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
78
|
+
for (let i = 0; i < exports.m; i++) {
|
|
79
|
+
if (p[i] !== bigint_mod_arith_1.modPow(sigma[i], n, n)) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
77
84
|
}
|
|
78
85
|
exports.verify = verify;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsbGllcnByb29mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rzcy9lY2RzYS9wYWxsaWVycHJvb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQWdEO0FBQ2hELHVEQUFrRDtBQUVsRCxxQ0FBMkQ7QUFDM0QsbUNBQThDO0FBQzlDLHFDQUFtRDtBQUVuRCx1QkFBdUI7QUFDdkIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ2QsK0NBQStDO0FBQy9DLG9FQUFvRTtBQUNwRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDUixRQUFBLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFakQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxTQUFTLENBQUMsQ0FBUztJQUN2QyxJQUFJLCtCQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsMkJBQW1CLEVBQUU7UUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO0tBQ2xGO0lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNoQixLQUFLLENBQUMsU0FBQyxDQUFDO1NBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNWLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQ0FBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMvQyxDQUFDO0FBQ0osQ0FBQztBQVRELDhCQVNDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsS0FBSyxDQUFDLENBQVMsRUFBRSxNQUFjLEVBQUUsQ0FBZ0I7SUFDL0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7S0FDbkU7SUFDRCxNQUFNLEtBQUssR0FBRyx5QkFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLHlCQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFORCxzQkFNQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLENBQVMsRUFBRSxDQUFnQixFQUFFLEtBQW9CO0lBQ3RFLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0tBQ25FO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRTtRQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7S0FDekU7SUFDRCxzRUFBc0U7SUFDdEUsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QsS0FBSyxNQUFNLEtBQUssSUFBSSxnQ0FBdUIsRUFBRTtRQUMzQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUNELDhEQUE4RDtJQUM5RCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBQyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQzFDLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCw0REFBNEQ7SUFDNUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyx5QkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxLQUFLLENBQUM7U0FDZDtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBbENELHdCQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJpdExlbmd0aCB9IGZyb20gJ2JpZ2ludC1jcnlwdG8tdXRpbHMnO1xuaW1wb3J0IHsgbW9kSW52LCBtb2RQb3cgfSBmcm9tICdiaWdpbnQtbW9kLWFyaXRoJztcblxuaW1wb3J0IHsgcmFuZG9tUG9zaXRpdmVDb1ByaW1lTGVzc1RoYW4gfSBmcm9tICcuLi8uLi91dGlsJztcbmltcG9ydCB7IG1pbk1vZHVsdXNCaXRMZW5ndGggfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IHByaW1lc1NtYWxsZXJUaGFuMzE5NTY3IH0gZnJvbSAnLi9wcmltZXMnO1xuXG4vLyBTZWN1cml0eSBwYXJhbWV0ZXJzLlxuY29uc3QgayA9IDEyODtcbi8vIGVwcmludC5pYWNyLm9yZy8yMDE4LzA1Ny5wZGYjcGFnZTYgc2VjdGlvbiA1XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQml0R28vQml0R29KUy9wdWxsLzM1MDIjZGlzY3Vzc2lvbl9yMTIwMzA3MDM5MlxuY29uc3QgYWxwaGEgPSAzMTk1Njc7XG5leHBvcnQgY29uc3QgbSA9IE1hdGguY2VpbChrIC8gTWF0aC5sb2cyKGFscGhhKSk7XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzZXQgb2YgY2hhbGxlbmdlcyAkcCQgZm9yIGEgZ2l2ZW4gcGFsbGllciBwdWJsaWMga2V5IG1vZHVsdXMgJG4kLlxuICogQHBhcmFtIG4gLSBwYWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1c1xuICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8YmlnaW50Pj59IC0gYXJyYXkgb2YgY2hhbGxlbmdlcyAkcF9pJFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVQKG46IGJpZ2ludCk6IFByb21pc2U8QXJyYXk8YmlnaW50Pj4ge1xuICBpZiAoYml0TGVuZ3RoKG4pIDwgbWluTW9kdWx1c0JpdExlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbW9kdWx1cyBuIG11c3QgaGF2ZSBhIGJpdCBsZW5ndGggbGFyZ2VyIHRoYW4gb3IgZXF1YWwgdG8gMzA3MicpO1xuICB9XG4gIHJldHVybiBQcm9taXNlLmFsbChcbiAgICBBcnJheShtKVxuICAgICAgLmZpbGwobnVsbClcbiAgICAgIC5tYXAoKCkgPT4gcmFuZG9tUG9zaXRpdmVDb1ByaW1lTGVzc1RoYW4obikpXG4gICk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzZXQgb2YgcHJvb2ZzICRzaWdtYSQgZm9yIGEgZ2l2ZW4gc2V0IG9mIGNoYWxsZW5nZXMgJHAkIHVzaW5nIHRoZSBwYWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1cyAkbiQgYW5kIHRoZSBwcml2YXRlIGtleSAkXFxsYW1iZGEkLlxuICogQHBhcmFtIG4gLSBwYWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1cyAkbiRcbiAqIEBwYXJhbSBsYW1iZGEgLSBwcml2YXRlIGtleSAkXFxsYW1iZGEsICB3aGljaCBpcyB0aGUgJFxcZXVsZXIoTikgPSAocC0xKShxLTEpJFxuICogQHBhcmFtIHAgLSBhcnJheSBvZiBjaGFsbGVuZ2VzICRwJFxuICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8YmlnaW50Pj59IC0gYXJyYXkgb2YgcHJvb2ZzICRcXHNpZ21hJFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmUobjogYmlnaW50LCBsYW1iZGE6IGJpZ2ludCwgcDogQXJyYXk8YmlnaW50Pik6IGJpZ2ludFtdIHtcbiAgaWYgKCFwLmV2ZXJ5KChwX2kpID0+IHBfaSA+IDApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBbGwgcGFsbGllciBjaGFsbGVuZ2UgdmFsdWVzIG11c3QgYmUgcG9zaXRpdmUuJyk7XG4gIH1cbiAgY29uc3Qgbl9pbnYgPSBtb2RJbnYobiwgbGFtYmRhKTtcbiAgcmV0dXJuIHAubWFwKChwX2kpID0+IG1vZFBvdyhwX2ksIG5faW52LCBuKSk7XG59XG5cbi8qKlxuICogVmVyaWZ5IGEgc2V0IG9mIHByb29mcyAkXFxzaWdtYSQgb24gdGhlIG1vZHVsdXMgJG4kIHVzaW5nIHRoZSBjaGFsbGVuZ2VzICRwJCB0aGF0IHdlcmUgcHJvdmlkZWQgdG8gdGhlIHByb3ZlciB0byBnZW5lcmF0ZSB0aGUgcHJvb2ZzLlxuICogQHBhcmFtIG4gLSBwYWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1cyAkbiRcbiAqIEBwYXJhbSBwIC0gYXJyYXkgb2YgY2hhbGxlbmdlcyAkcCRcbiAqIEBwYXJhbSBzaWdtYSAtIGFycmF5IG9mIHByb29mcyAkXFxzaWdtYSRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeShuOiBiaWdpbnQsIHA6IEFycmF5PGJpZ2ludD4sIHNpZ21hOiBBcnJheTxiaWdpbnQ+KTogYm9vbGVhbiB7XG4gIGlmICghcC5ldmVyeSgocF9pKSA9PiBwX2kgPiAwKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQWxsIHBhbGxpZXIgY2hhbGxlbmdlIHZhbHVlcyBtdXN0IGJlIHBvc2l0aXZlLicpO1xuICB9XG4gIGlmICghc2lnbWEuZXZlcnkoKHNpZ21hX2kpID0+IHNpZ21hX2kgPiAwKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQWxsIHBhbGxpZXIgY2hhbGxlbmdlIHByb29mIHZhbHVlcyBtdXN0IGJlIHBvc2l0aXZlLicpO1xuICB9XG4gIC8vIGEpIENoZWNrIHRoYXQgJE4kIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBhbmQgaXMgbm90IGRpdmlzaWJsZSBieSBhbGxcbiAgLy8gdGhlIHByaW1lcyBsZXNzIHRoYW4gJFxcYWxwaGEkLlxuICBpZiAobiA8PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChhbHBoYSAhPT0gMzE5NTY3KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCBhbHBoYSB2YWx1ZScpO1xuICB9XG4gIGZvciAoY29uc3QgcHJpbWUgb2YgcHJpbWVzU21hbGxlclRoYW4zMTk1NjcpIHtcbiAgICBpZiAobiAlIEJpZ0ludChwcmltZSkgPT09IEJpZ0ludCgwKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICAvLyBiKSBDaGVjayB0aGF0ICRcXHNpZ21hX2kkIGlzIGEgcG9zaXRpdmUgaW50ZWdlciAkaSA9IDEuLi5tJC5cbiAgaWYgKHNpZ21hLmxlbmd0aCAhPT0gbSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoIXNpZ21hLmV2ZXJ5KChzaWdtYV9pKSA9PiBzaWdtYV9pID4gMCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gYykgVmVyaWZ5IHRoYXQgJHBfaSA9IFxcc2lnbWFfaV5OIFxcbW9kIE4kIGZvciAkaSA9IDEuLi5tJC5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBtOyBpKyspIHtcbiAgICBpZiAocFtpXSAhPT0gbW9kUG93KHNpZ21hW2ldLCBuLCBuKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primes.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/primes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,UAizDnC,CAAC"}
|