@bitgo/account-lib 2.19.0-rc.14 → 2.19.0-rc.17
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/browser/bitgo-account-lib.js +1 -1
- package/dist/package.json +3 -3
- package/dist/src/coin/hbar/ifaces.d.ts +4 -0
- package/dist/src/coin/hbar/ifaces.d.ts.map +1 -1
- package/dist/src/coin/hbar/ifaces.js +1 -1
- package/dist/src/coin/hbar/utils.d.ts +36 -0
- package/dist/src/coin/hbar/utils.d.ts.map +1 -1
- package/dist/src/coin/hbar/utils.js +90 -6
- package/dist/src/coin/near/constants.d.ts +9 -0
- package/dist/src/coin/near/constants.d.ts.map +1 -0
- package/dist/src/coin/near/constants.js +12 -0
- package/dist/src/coin/near/contractCallWrapper.d.ts +33 -0
- package/dist/src/coin/near/contractCallWrapper.d.ts.map +1 -0
- package/dist/src/coin/near/contractCallWrapper.js +87 -0
- package/dist/src/coin/near/iface.d.ts +13 -1
- package/dist/src/coin/near/iface.d.ts.map +1 -1
- package/dist/src/coin/near/iface.js +1 -1
- package/dist/src/coin/near/stakingActivateBuilder.d.ts +32 -0
- package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/stakingActivateBuilder.js +159 -0
- package/dist/src/coin/near/transaction.d.ts +18 -0
- package/dist/src/coin/near/transaction.d.ts.map +1 -1
- package/dist/src/coin/near/transaction.js +87 -12
- package/dist/src/coin/near/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/transactionBuilder.js +1 -1
- package/dist/src/coin/near/transactionBuilderFactory.d.ts +2 -0
- package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/near/transactionBuilderFactory.js +7 -1
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/ataInitializationBuilder.js +6 -9
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts +1 -1
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/tokenTransferBuilder.js +6 -9
- package/dist/src/coin/sol/utils.d.ts +12 -1
- package/dist/src/coin/sol/utils.d.ts.map +1 -1
- package/dist/src/coin/sol/utils.js +77 -2
- package/dist/src/coin/stx/utils.js +3 -3
- package/dist/src/mpc/curves.d.ts +28 -13
- package/dist/src/mpc/curves.d.ts.map +1 -1
- package/dist/src/mpc/curves.js +56 -59
- package/dist/src/mpc/hdTree.d.ts +24 -0
- package/dist/src/mpc/hdTree.d.ts.map +1 -0
- package/dist/src/mpc/hdTree.js +143 -0
- package/dist/src/mpc/shamir.d.ts +25 -6
- package/dist/src/mpc/shamir.d.ts.map +1 -1
- package/dist/src/mpc/shamir.js +41 -45
- package/dist/src/mpc/tss.d.ts +48 -27
- package/dist/src/mpc/tss.d.ts.map +1 -1
- package/dist/src/mpc/tss.js +242 -175
- package/dist/src/mpc/util.d.ts +7 -0
- package/dist/src/mpc/util.d.ts.map +1 -0
- package/dist/src/mpc/util.js +38 -0
- package/package.json +3 -3
- package/dist/src/coin/dot/walletInitializationBuilder.d.ts +0 -60
- package/dist/src/coin/dot/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/coin/dot/walletInitializationBuilder.js +0 -144
package/dist/src/mpc/shamir.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var assert = require('assert');
|
|
4
|
-
var
|
|
4
|
+
var crypto = require('crypto');
|
|
5
|
+
var util_1 = require("./util");
|
|
6
|
+
var Shamir = /** @class */ (function () {
|
|
7
|
+
function Shamir(curve) {
|
|
8
|
+
this.curve = curve;
|
|
9
|
+
}
|
|
5
10
|
/**
|
|
6
11
|
* Perform Shamir sharing on the secret `secret` to the degree `threshold - 1` split `numShares`
|
|
7
12
|
* ways. The split secret requires `threshold` shares to be reconstructed.
|
|
@@ -13,32 +18,33 @@ var Shamir = function (curve) {
|
|
|
13
18
|
* @returns Dictionary of shares. Each key is an int in the range 1<=x<=numShares
|
|
14
19
|
* representing that share's free term.
|
|
15
20
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
Shamir.prototype.split = function (secret, threshold, numShares, indices) {
|
|
22
|
+
var bigIndices;
|
|
23
|
+
if (indices) {
|
|
24
|
+
bigIndices = indices.map(function (i) { return BigInt(i); });
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
18
27
|
// make range(1, n + 1)
|
|
19
|
-
|
|
28
|
+
bigIndices = Array(numShares)
|
|
29
|
+
.fill(null)
|
|
30
|
+
.map(function (_, i) { return BigInt(i + 1); });
|
|
20
31
|
}
|
|
21
32
|
assert(threshold > 1);
|
|
22
33
|
assert(threshold <= numShares);
|
|
23
34
|
var coefs = [];
|
|
24
35
|
for (var ind = 0; ind < threshold - 1; ind++) {
|
|
25
|
-
var
|
|
26
|
-
coefs.push(
|
|
36
|
+
var coeff = util_1.clamp(util_1.bigIntFromBufferLE(crypto.createHmac('sha256', ind.toString(10)).update(util_1.bigIntToBufferLE(secret, 32)).digest()));
|
|
37
|
+
coefs.push(coeff);
|
|
27
38
|
}
|
|
28
39
|
coefs.push(secret);
|
|
29
40
|
var shares = {};
|
|
30
|
-
for (var ind = 0; ind <
|
|
31
|
-
var x =
|
|
32
|
-
var x_buffer = Buffer.alloc(32);
|
|
33
|
-
// TODO BG-40908 : converting internal representation to buffers
|
|
34
|
-
x_buffer.writeUInt32LE(x, 0);
|
|
41
|
+
for (var ind = 0; ind < bigIndices.length; ind++) {
|
|
42
|
+
var x = bigIndices[ind];
|
|
35
43
|
var partial = coefs[0];
|
|
36
44
|
for (var other = 1; other < coefs.length; other++) {
|
|
37
|
-
|
|
38
|
-
var newAdd = curve.scalarAdd(coefs[other], scalarMult);
|
|
39
|
-
partial = newAdd;
|
|
45
|
+
partial = this.curve.scalarAdd(coefs[other], this.curve.scalarMult(partial, x));
|
|
40
46
|
}
|
|
41
|
-
shares[x] =
|
|
47
|
+
shares[parseInt(x.toString(), 10)] = partial;
|
|
42
48
|
}
|
|
43
49
|
return shares;
|
|
44
50
|
};
|
|
@@ -49,43 +55,33 @@ var Shamir = function (curve) {
|
|
|
49
55
|
* @param shares dictionary of shares. each key is the free term of the share
|
|
50
56
|
* @returns secret
|
|
51
57
|
*/
|
|
52
|
-
|
|
53
|
-
var s =
|
|
54
|
-
for (var
|
|
55
|
-
var yi = shares[
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
denum_buffer.writeUInt32LE(1, 0);
|
|
62
|
-
for (var xj in shares) {
|
|
63
|
-
var xj_buffer = Buffer.alloc(32);
|
|
64
|
-
xj_buffer.writeUInt32LE(parseInt(xj, 10), 0);
|
|
58
|
+
Shamir.prototype.combine = function (shares) {
|
|
59
|
+
var s = BigInt(0);
|
|
60
|
+
for (var i in shares) {
|
|
61
|
+
var yi = shares[i];
|
|
62
|
+
var xi = BigInt(i);
|
|
63
|
+
var num = BigInt(1);
|
|
64
|
+
var denum = BigInt(1);
|
|
65
|
+
for (var j in shares) {
|
|
66
|
+
var xj = BigInt(j);
|
|
65
67
|
if (xi !== xj) {
|
|
66
|
-
|
|
68
|
+
num = this.curve.scalarMult(num, xj);
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
var xj_buffer = Buffer.alloc(32);
|
|
72
|
-
xj_buffer.writeUInt32LE(parseInt(xj, 10), 0);
|
|
71
|
+
for (var j in shares) {
|
|
72
|
+
var xj = BigInt(j);
|
|
73
73
|
if (xi !== xj) {
|
|
74
|
-
|
|
74
|
+
denum = this.curve.scalarMult(denum, this.curve.scalarSub(xj, xi));
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
var
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
s = curve.scalarAdd(multiplied, s);
|
|
77
|
+
var inverted = this.curve.scalarInvert(denum);
|
|
78
|
+
var innerMultiplied = this.curve.scalarMult(num, inverted);
|
|
79
|
+
var multiplied = this.curve.scalarMult(innerMultiplied, yi);
|
|
80
|
+
s = this.curve.scalarAdd(multiplied, s);
|
|
82
81
|
}
|
|
83
82
|
return s;
|
|
84
83
|
};
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
combine: combine,
|
|
88
|
-
};
|
|
89
|
-
};
|
|
84
|
+
return Shamir;
|
|
85
|
+
}());
|
|
90
86
|
exports.default = Shamir;
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakMsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWpDLCtCQUFxRTtBQUVyRTtJQUdFLGdCQUFZLEtBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxzQkFBSyxHQUFMLFVBQU0sTUFBYyxFQUFFLFNBQWlCLEVBQUUsU0FBaUIsRUFBRSxPQUF1QjtRQUNqRixJQUFJLFVBQXlCLENBQUM7UUFDOUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBVCxDQUFTLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsdUJBQXVCO1lBQ3ZCLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2lCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFiLENBQWEsQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLElBQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsU0FBUyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM1QyxJQUFNLEtBQUss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QUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDSCxhQUFDO0FBQUQsQ0FBQyxBQXJGRCxJQXFGQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuY29uc3QgY3J5cHRvID0gcmVxdWlyZSgnY3J5cHRvJyk7XG5pbXBvcnQgQ3VydmUgZnJvbSAnLi9jdXJ2ZXMnO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckxFLCBiaWdJbnRUb0J1ZmZlckxFLCBjbGFtcCB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNoYW1pciB7XG4gIGN1cnZlOiBDdXJ2ZTtcblxuICBjb25zdHJ1Y3RvcihjdXJ2ZTogQ3VydmUpIHtcbiAgICB0aGlzLmN1cnZlID0gY3VydmU7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBTaGFtaXIgc2hhcmluZyBvbiB0aGUgc2VjcmV0IGBzZWNyZXRgIHRvIHRoZSBkZWdyZWUgYHRocmVzaG9sZCAtIDFgIHNwbGl0IGBudW1TaGFyZXNgXG4gICAqIHdheXMuIFRoZSBzcGxpdCBzZWNyZXQgcmVxdWlyZXMgYHRocmVzaG9sZGAgc2hhcmVzIHRvIGJlIHJlY29uc3RydWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBzZWNyZXQgc2VjcmV0IHRvIHNwbGl0XG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgc2hhcmUgdGhyZXNob2xkIHJlcXVpcmVkIHRvIHJlY29uc3RydWN0IHNlY3JldFxuICAgKiBAcGFyYW0gbnVtU2hhcmVzIHRvdGFsIG51bWJlciBvZiBzaGFyZXMgdG8gc3BsaXQgdG8gc3BsaXQgc2VjcmV0IGludG9cbiAgICogQHBhcmFtIGluZGljZXNcbiAgICogQHJldHVybnMgRGljdGlvbmFyeSBvZiBzaGFyZXMuIEVhY2gga2V5IGlzIGFuIGludCBpbiB0aGUgcmFuZ2UgMTw9eDw9bnVtU2hhcmVzXG4gICAqIHJlcHJlc2VudGluZyB0aGF0IHNoYXJlJ3MgZnJlZSB0ZXJtLlxuICAgKi9cbiAgc3BsaXQoc2VjcmV0OiBiaWdpbnQsIHRocmVzaG9sZDogbnVtYmVyLCBudW1TaGFyZXM6IG51bWJlciwgaW5kaWNlcz86IEFycmF5PG51bWJlcj4pOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+IHtcbiAgICBsZXQgYmlnSW5kaWNlczogQXJyYXk8YmlnaW50PjtcbiAgICBpZiAoaW5kaWNlcykge1xuICAgICAgYmlnSW5kaWNlcyA9IGluZGljZXMubWFwKChpKSA9PiBCaWdJbnQoaSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBtYWtlIHJhbmdlKDEsIG4gKyAxKVxuICAgICAgYmlnSW5kaWNlcyA9IEFycmF5KG51bVNoYXJlcylcbiAgICAgICAgLmZpbGwobnVsbClcbiAgICAgICAgLm1hcCgoXywgaSkgPT4gQmlnSW50KGkgKyAxKSk7XG4gICAgfVxuICAgIGFzc2VydCh0aHJlc2hvbGQgPiAxKTtcbiAgICBhc3NlcnQodGhyZXNob2xkIDw9IG51bVNoYXJlcyk7XG4gICAgY29uc3QgY29lZnM6IGJpZ2ludFtdID0gW107XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgdGhyZXNob2xkIC0gMTsgaW5kKyspIHtcbiAgICAgIGNvbnN0IGNvZWZmID0gY2xhbXAoXG4gICAgICAgIGJpZ0ludEZyb21CdWZmZXJMRShjcnlwdG8uY3JlYXRlSG1hYygnc2hhMjU2JywgaW5kLnRvU3RyaW5nKDEwKSkudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUoc2VjcmV0LCAzMikpLmRpZ2VzdCgpKSxcbiAgICAgICk7XG4gICAgICBjb2Vmcy5wdXNoKGNvZWZmKTtcbiAgICB9XG4gICAgY29lZnMucHVzaChzZWNyZXQpO1xuXG4gICAgY29uc3Qgc2hhcmVzOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+ID0ge307XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgYmlnSW5kaWNlcy5sZW5ndGg7IGluZCsrKSB7XG4gICAgICBjb25zdCB4ID0gYmlnSW5kaWNlc1tpbmRdO1xuICAgICAgbGV0IHBhcnRpYWwgPSBjb2Vmc1swXTtcbiAgICAgIGZvciAobGV0IG90aGVyID0gMTsgb3RoZXIgPCBjb2Vmcy5sZW5ndGg7IG90aGVyKyspIHtcbiAgICAgICAgcGFydGlhbCA9IHRoaXMuY3VydmUuc2NhbGFyQWRkKGNvZWZzW290aGVyXSwgdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KHBhcnRpYWwsIHgpKTtcbiAgICAgIH1cbiAgICAgIHNoYXJlc1twYXJzZUludCh4LnRvU3RyaW5nKCksIDEwKV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgICByZXR1cm4gc2hhcmVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY29uc3RpdHV0ZSBhIHNlY3JldCBmcm9tIGEgZGljdGlvbmFyeSBvZiBzaGFyZXMuIFRoZSBudW1iZXIgb2Ygc2hhcmVzIG11c3RcbiAgICogYmUgZXF1YWwgdG8gYHRgIHRvIHJlY29uc3RpdHV0ZSB0aGUgb3JpZ2luYWwgc2VjcmV0LlxuICAgKlxuICAgKiBAcGFyYW0gc2hhcmVzIGRpY3Rpb25hcnkgb2Ygc2hhcmVzLiBlYWNoIGtleSBpcyB0aGUgZnJlZSB0ZXJtIG9mIHRoZSBzaGFyZVxuICAgKiBAcmV0dXJucyBzZWNyZXRcbiAgICovXG4gIGNvbWJpbmUoc2hhcmVzOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+KTogYmlnaW50IHtcbiAgICBsZXQgcyA9IEJpZ0ludCgwKTtcbiAgICBmb3IgKGNvbnN0IGkgaW4gc2hhcmVzKSB7XG4gICAgICBjb25zdCB5aSA9IHNoYXJlc1tpXTtcbiAgICAgIGNvbnN0IHhpID0gQmlnSW50KGkpO1xuICAgICAgbGV0IG51bSA9IEJpZ0ludCgxKTtcbiAgICAgIGxldCBkZW51bSA9IEJpZ0ludCgxKTtcblxuICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB4aiA9IEJpZ0ludChqKTtcbiAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgIG51bSA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChudW0sIHhqKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB4aiA9IEJpZ0ludChqKTtcbiAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgIGRlbnVtID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KGRlbnVtLCB0aGlzLmN1cnZlLnNjYWxhclN1Yih4aiwgeGkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgaW52ZXJ0ZWQgPSB0aGlzLmN1cnZlLnNjYWxhckludmVydChkZW51bSk7XG4gICAgICBjb25zdCBpbm5lck11bHRpcGxpZWQgPSB0aGlzLmN1cnZlLnNjYWxhck11bHQobnVtLCBpbnZlcnRlZCk7XG4gICAgICBjb25zdCBtdWx0aXBsaWVkID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KGlubmVyTXVsdGlwbGllZCwgeWkpO1xuICAgICAgcyA9IHRoaXMuY3VydmUuc2NhbGFyQWRkKG11bHRpcGxpZWQsIHMpO1xuICAgIH1cbiAgICByZXR1cm4gcztcbiAgfVxufVxuIl19
|
package/dist/src/mpc/tss.d.ts
CHANGED
|
@@ -1,53 +1,67 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { Ed25519Curve } from './curves';
|
|
3
|
+
import Shamir from './shamir';
|
|
4
|
+
import HDTree from './hdTree';
|
|
2
5
|
interface UShare {
|
|
3
|
-
i:
|
|
6
|
+
i: number;
|
|
7
|
+
t: number;
|
|
8
|
+
n: number;
|
|
4
9
|
y: string;
|
|
5
|
-
|
|
6
|
-
|
|
10
|
+
seed: string;
|
|
11
|
+
chaincode: string;
|
|
7
12
|
}
|
|
8
|
-
interface YShare {
|
|
9
|
-
i:
|
|
10
|
-
j:
|
|
13
|
+
export interface YShare {
|
|
14
|
+
i: number;
|
|
15
|
+
j: number;
|
|
11
16
|
y: string;
|
|
12
17
|
u: string;
|
|
18
|
+
chaincode: string;
|
|
13
19
|
}
|
|
14
20
|
export interface KeyShare {
|
|
15
21
|
uShare: UShare;
|
|
16
|
-
yShares: Record<
|
|
22
|
+
yShares: Record<number, YShare>;
|
|
17
23
|
}
|
|
18
24
|
export interface PShare {
|
|
19
|
-
i:
|
|
20
|
-
|
|
25
|
+
i: number;
|
|
26
|
+
t: number;
|
|
27
|
+
n: number;
|
|
21
28
|
y: string;
|
|
29
|
+
u: string;
|
|
22
30
|
prefix: string;
|
|
31
|
+
chaincode: string;
|
|
23
32
|
}
|
|
24
33
|
export interface JShare {
|
|
25
|
-
i:
|
|
26
|
-
j:
|
|
34
|
+
i: number;
|
|
35
|
+
j: number;
|
|
27
36
|
}
|
|
28
37
|
interface KeyCombine {
|
|
29
38
|
pShare: PShare;
|
|
30
|
-
jShares: Record<
|
|
39
|
+
jShares: Record<number, JShare>;
|
|
40
|
+
}
|
|
41
|
+
interface SubkeyShare {
|
|
42
|
+
pShare: PShare;
|
|
43
|
+
yShares: Record<number, YShare>;
|
|
31
44
|
}
|
|
32
45
|
export interface XShare {
|
|
33
|
-
i:
|
|
46
|
+
i: number;
|
|
34
47
|
y: string;
|
|
35
|
-
|
|
48
|
+
u: string;
|
|
36
49
|
r: string;
|
|
37
50
|
R: string;
|
|
38
51
|
}
|
|
39
52
|
export interface RShare {
|
|
40
|
-
i:
|
|
41
|
-
j:
|
|
53
|
+
i: number;
|
|
54
|
+
j: number;
|
|
55
|
+
u: string;
|
|
42
56
|
r: string;
|
|
43
57
|
R: string;
|
|
44
58
|
}
|
|
45
59
|
export interface SignShare {
|
|
46
60
|
xShare: XShare;
|
|
47
|
-
rShares: Record<
|
|
61
|
+
rShares: Record<number, RShare>;
|
|
48
62
|
}
|
|
49
63
|
export interface GShare {
|
|
50
|
-
i:
|
|
64
|
+
i: number;
|
|
51
65
|
y: string;
|
|
52
66
|
gamma: string;
|
|
53
67
|
R: string;
|
|
@@ -57,13 +71,20 @@ interface Signature {
|
|
|
57
71
|
R: string;
|
|
58
72
|
sigma: string;
|
|
59
73
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
74
|
+
export default class Eddsa {
|
|
75
|
+
static curve: Ed25519Curve;
|
|
76
|
+
static shamir: Shamir;
|
|
77
|
+
static initialized: boolean;
|
|
78
|
+
static initialize(): Promise<void>;
|
|
79
|
+
hdTree?: HDTree;
|
|
80
|
+
constructor(hdTree?: HDTree);
|
|
81
|
+
keyShare(index: number, threshold: number, numShares: number): KeyShare;
|
|
82
|
+
keyCombine(uShare: UShare, yShares: YShare[]): KeyCombine;
|
|
83
|
+
keyDerive(uShare: UShare, yShares: YShare[], path: string): SubkeyShare;
|
|
84
|
+
signShare(message: Buffer, pShare: PShare, jShares: JShare[]): SignShare;
|
|
85
|
+
sign(message: Buffer, playerShare: XShare, rShares: RShare[], yShares?: YShare[]): GShare;
|
|
86
|
+
signCombine(shares: GShare[]): Signature;
|
|
87
|
+
verify(message: Buffer, signature: Signature): Buffer;
|
|
88
|
+
}
|
|
89
|
+
export {};
|
|
69
90
|
//# sourceMappingURL=tss.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/mpc/tss.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/mpc/tss.ts"],"names":[],"mappings":"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"}
|