@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.
Files changed (57) hide show
  1. package/dist/browser/bitgo-account-lib.js +1 -1
  2. package/dist/package.json +3 -3
  3. package/dist/src/coin/hbar/ifaces.d.ts +4 -0
  4. package/dist/src/coin/hbar/ifaces.d.ts.map +1 -1
  5. package/dist/src/coin/hbar/ifaces.js +1 -1
  6. package/dist/src/coin/hbar/utils.d.ts +36 -0
  7. package/dist/src/coin/hbar/utils.d.ts.map +1 -1
  8. package/dist/src/coin/hbar/utils.js +90 -6
  9. package/dist/src/coin/near/constants.d.ts +9 -0
  10. package/dist/src/coin/near/constants.d.ts.map +1 -0
  11. package/dist/src/coin/near/constants.js +12 -0
  12. package/dist/src/coin/near/contractCallWrapper.d.ts +33 -0
  13. package/dist/src/coin/near/contractCallWrapper.d.ts.map +1 -0
  14. package/dist/src/coin/near/contractCallWrapper.js +87 -0
  15. package/dist/src/coin/near/iface.d.ts +13 -1
  16. package/dist/src/coin/near/iface.d.ts.map +1 -1
  17. package/dist/src/coin/near/iface.js +1 -1
  18. package/dist/src/coin/near/stakingActivateBuilder.d.ts +32 -0
  19. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -0
  20. package/dist/src/coin/near/stakingActivateBuilder.js +159 -0
  21. package/dist/src/coin/near/transaction.d.ts +18 -0
  22. package/dist/src/coin/near/transaction.d.ts.map +1 -1
  23. package/dist/src/coin/near/transaction.js +87 -12
  24. package/dist/src/coin/near/transactionBuilder.d.ts +1 -1
  25. package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
  26. package/dist/src/coin/near/transactionBuilder.js +1 -1
  27. package/dist/src/coin/near/transactionBuilderFactory.d.ts +2 -0
  28. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -1
  29. package/dist/src/coin/near/transactionBuilderFactory.js +7 -1
  30. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
  31. package/dist/src/coin/sol/ataInitializationBuilder.js +6 -9
  32. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +1 -1
  33. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -1
  34. package/dist/src/coin/sol/tokenTransferBuilder.js +6 -9
  35. package/dist/src/coin/sol/utils.d.ts +12 -1
  36. package/dist/src/coin/sol/utils.d.ts.map +1 -1
  37. package/dist/src/coin/sol/utils.js +77 -2
  38. package/dist/src/coin/stx/utils.js +3 -3
  39. package/dist/src/mpc/curves.d.ts +28 -13
  40. package/dist/src/mpc/curves.d.ts.map +1 -1
  41. package/dist/src/mpc/curves.js +56 -59
  42. package/dist/src/mpc/hdTree.d.ts +24 -0
  43. package/dist/src/mpc/hdTree.d.ts.map +1 -0
  44. package/dist/src/mpc/hdTree.js +143 -0
  45. package/dist/src/mpc/shamir.d.ts +25 -6
  46. package/dist/src/mpc/shamir.d.ts.map +1 -1
  47. package/dist/src/mpc/shamir.js +41 -45
  48. package/dist/src/mpc/tss.d.ts +48 -27
  49. package/dist/src/mpc/tss.d.ts.map +1 -1
  50. package/dist/src/mpc/tss.js +242 -175
  51. package/dist/src/mpc/util.d.ts +7 -0
  52. package/dist/src/mpc/util.d.ts.map +1 -0
  53. package/dist/src/mpc/util.js +38 -0
  54. package/package.json +3 -3
  55. package/dist/src/coin/dot/walletInitializationBuilder.d.ts +0 -60
  56. package/dist/src/coin/dot/walletInitializationBuilder.d.ts.map +0 -1
  57. package/dist/src/coin/dot/walletInitializationBuilder.js +0 -144
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var assert = require('assert');
4
- var Shamir = function (curve) {
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
- var split = function (secret, threshold, numShares, indices) {
17
- if (indices === undefined) {
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
- indices = Array.from({ length: numShares }, function (_, i) { return i + 1; });
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 random_value = curve.scalarRandom();
26
- coefs.push(random_value);
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 < indices.length; ind++) {
31
- var x = indices[ind];
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
- var scalarMult = curve.scalarMult(partial, x_buffer);
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] = Buffer.from(partial);
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
- var combine = function (shares) {
53
- var s = Buffer.alloc(32);
54
- for (var xi in shares) {
55
- var yi = shares[xi];
56
- var xi_buffer = Buffer.alloc(32);
57
- var num_buffer = Buffer.alloc(32);
58
- var denum_buffer = Buffer.alloc(32);
59
- xi_buffer.writeUInt32LE(parseInt(xi, 10), 0);
60
- num_buffer.writeUInt32LE(1, 0);
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
- num_buffer = curve.scalarMult(num_buffer, xj_buffer);
68
+ num = this.curve.scalarMult(num, xj);
67
69
  }
68
70
  }
69
- num_buffer = Buffer.from(num_buffer);
70
- for (var xj in shares) {
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
- denum_buffer = curve.scalarMult(denum_buffer, curve.scalarSub(xj_buffer, xi_buffer));
74
+ denum = this.curve.scalarMult(denum, this.curve.scalarSub(xj, xi));
75
75
  }
76
76
  }
77
- denum_buffer = Buffer.from(denum_buffer);
78
- var inverted = curve.scalarInvert(denum_buffer);
79
- var innerMultiplied = curve.scalarMult(num_buffer, inverted);
80
- var multiplied = curve.scalarMult(innerMultiplied, yi);
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
- split: split,
87
- combine: combine,
88
- };
89
- };
84
+ return Shamir;
85
+ }());
90
86
  exports.default = Shamir;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsSUFBTSxNQUFNLEdBQUcsVUFBQyxLQUFVO0lBQ3hCOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFNLEtBQUssR0FBRyxVQUNaLE1BQWMsRUFDZCxTQUFpQixFQUNqQixTQUFpQixFQUNqQixPQUF1QjtRQUV2QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsdUJBQXVCO1lBQ3ZCLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLEVBQUwsQ0FBSyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUM7UUFDL0IsSUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQzNCLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVDLElBQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuQixJQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBQzFDLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzdD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QU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEQsSUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0QsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekQsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsS0FBSyxPQUFBO1FBQ0wsT0FBTyxTQUFBO0tBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGtCQUFlLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuXG5jb25zdCBTaGFtaXIgPSAoY3VydmU6IGFueSkgPT4ge1xuICAvKipcbiAgICogUGVyZm9ybSBTaGFtaXIgc2hhcmluZyBvbiB0aGUgc2VjcmV0IGBzZWNyZXRgIHRvIHRoZSBkZWdyZWUgYHRocmVzaG9sZCAtIDFgIHNwbGl0IGBudW1TaGFyZXNgXG4gICAqIHdheXMuIFRoZSBzcGxpdCBzZWNyZXQgcmVxdWlyZXMgYHRocmVzaG9sZGAgc2hhcmVzIHRvIGJlIHJlY29uc3RydWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBzZWNyZXQgc2VjcmV0IHRvIHNwbGl0XG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgc2hhcmUgdGhyZXNob2xkIHJlcXVpcmVkIHRvIHJlY29uc3RydWN0IHNlY3JldFxuICAgKiBAcGFyYW0gbnVtU2hhcmVzIHRvdGFsIG51bWJlciBvZiBzaGFyZXMgdG8gc3BsaXQgdG8gc3BsaXQgc2VjcmV0IGludG9cbiAgICogQHBhcmFtIGluZGljZXNcbiAgICogQHJldHVybnMgRGljdGlvbmFyeSBvZiBzaGFyZXMuIEVhY2gga2V5IGlzIGFuIGludCBpbiB0aGUgcmFuZ2UgMTw9eDw9bnVtU2hhcmVzXG4gICAqIHJlcHJlc2VudGluZyB0aGF0IHNoYXJlJ3MgZnJlZSB0ZXJtLlxuICAgKi9cbiAgY29uc3Qgc3BsaXQgPSAoXG4gICAgc2VjcmV0OiBCdWZmZXIsXG4gICAgdGhyZXNob2xkOiBudW1iZXIsXG4gICAgbnVtU2hhcmVzOiBudW1iZXIsXG4gICAgaW5kaWNlcz86IEFycmF5PG51bWJlcj4sXG4gICk6IFJlY29yZDxudW1iZXIsIEJ1ZmZlcj4gPT4ge1xuICAgIGlmIChpbmRpY2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIG1ha2UgcmFuZ2UoMSwgbiArIDEpXG4gICAgICBpbmRpY2VzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogbnVtU2hhcmVzIH0sIChfLCBpKSA9PiBpICsgMSk7XG4gICAgfVxuICAgIGFzc2VydCh0aHJlc2hvbGQgPiAxKTtcbiAgICBhc3NlcnQodGhyZXNob2xkIDw9IG51bVNoYXJlcyk7XG4gICAgY29uc3QgY29lZnM6IEJ1ZmZlcltdID0gW107XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgdGhyZXNob2xkIC0gMTsgaW5kKyspIHtcbiAgICAgIGNvbnN0IHJhbmRvbV92YWx1ZSA9IGN1cnZlLnNjYWxhclJhbmRvbSgpO1xuICAgICAgY29lZnMucHVzaChyYW5kb21fdmFsdWUpO1xuICAgIH1cbiAgICBjb2Vmcy5wdXNoKHNlY3JldCk7XG5cbiAgICBjb25zdCBzaGFyZXM6IFJlY29yZDxudW1iZXIsIEJ1ZmZlcj4gPSB7fTtcbiAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCBpbmRpY2VzLmxlbmd0aDsgaW5kKyspIHtcbiAgICAgIGNvbnN0IHggPSBpbmRpY2VzW2luZF07XG4gICAgICBjb25zdCB4X2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICAvLyBUT0RPIEJHLTQwOTA4IDogY29udmVydGluZyBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiB0byBidWZmZXJzXG4gICAgICB4X2J1ZmZlci53cml0ZVVJbnQzMkxFKHgsIDApO1xuICAgICAgbGV0IHBhcnRpYWwgPSBjb2Vmc1swXTtcbiAgICAgIGZvciAobGV0IG90aGVyID0gMTsgb3RoZXIgPCBjb2Vmcy5sZW5ndGg7IG90aGVyKyspIHtcbiAgICAgICAgY29uc3Qgc2NhbGFyTXVsdCA9IGN1cnZlLnNjYWxhck11bHQocGFydGlhbCwgeF9idWZmZXIpO1xuICAgICAgICBjb25zdCBuZXdBZGQgPSBjdXJ2ZS5zY2FsYXJBZGQoY29lZnNbb3RoZXJdLCBzY2FsYXJNdWx0KTtcbiAgICAgICAgcGFydGlhbCA9IG5ld0FkZDtcbiAgICAgIH1cbiAgICAgIHNoYXJlc1t4XSA9IEJ1ZmZlci5mcm9tKHBhcnRpYWwpO1xuICAgIH1cbiAgICByZXR1cm4gc2hhcmVzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZWNvbnN0aXR1dGUgYSBzZWNyZXQgZnJvbSBhIGRpY3Rpb25hcnkgb2Ygc2hhcmVzLiBUaGUgbnVtYmVyIG9mIHNoYXJlcyBtdXN0XG4gICAqIGJlIGVxdWFsIHRvIGB0YCB0byByZWNvbnN0aXR1dGUgdGhlIG9yaWdpbmFsIHNlY3JldC5cbiAgICpcbiAgICogQHBhcmFtIHNoYXJlcyBkaWN0aW9uYXJ5IG9mIHNoYXJlcy4gZWFjaCBrZXkgaXMgdGhlIGZyZWUgdGVybSBvZiB0aGUgc2hhcmVcbiAgICogQHJldHVybnMgc2VjcmV0XG4gICAqL1xuICBjb25zdCBjb21iaW5lID0gKHNoYXJlczogUmVjb3JkPG51bWJlciwgQnVmZmVyPik6IEJ1ZmZlciA9PiB7XG4gICAgbGV0IHMgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgIGZvciAoY29uc3QgeGkgaW4gc2hhcmVzKSB7XG4gICAgICBjb25zdCB5aSA9IHNoYXJlc1t4aV07XG4gICAgICBjb25zdCB4aV9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgbGV0IG51bV9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgbGV0IGRlbnVtX2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICB4aV9idWZmZXIud3JpdGVVSW50MzJMRShwYXJzZUludCh4aSwgMTApLCAwKTtcbiAgICAgIG51bV9idWZmZXIud3JpdGVVSW50MzJMRSgxLCAwKTtcbiAgICAgIGRlbnVtX2J1ZmZlci53cml0ZVVJbnQzMkxFKDEsIDApO1xuXG4gICAgICBmb3IgKGNvbnN0IHhqIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB4al9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgICB4al9idWZmZXIud3JpdGVVSW50MzJMRShwYXJzZUludCh4aiwgMTApLCAwKTtcbiAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgIG51bV9idWZmZXIgPSBjdXJ2ZS5zY2FsYXJNdWx0KG51bV9idWZmZXIsIHhqX2J1ZmZlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG51bV9idWZmZXIgPSBCdWZmZXIuZnJvbShudW1fYnVmZmVyKTtcbiAgICAgIGZvciAoY29uc3QgeGogaW4gc2hhcmVzKSB7XG4gICAgICAgIGNvbnN0IHhqX2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICAgIHhqX2J1ZmZlci53cml0ZVVJbnQzMkxFKHBhcnNlSW50KHhqLCAxMCksIDApO1xuICAgICAgICBpZiAoeGkgIT09IHhqKSB7XG4gICAgICAgICAgZGVudW1fYnVmZmVyID0gY3VydmUuc2NhbGFyTXVsdChkZW51bV9idWZmZXIsIGN1cnZlLnNjYWxhclN1Yih4al9idWZmZXIsIHhpX2J1ZmZlcikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkZW51bV9idWZmZXIgPSBCdWZmZXIuZnJvbShkZW51bV9idWZmZXIpO1xuICAgICAgY29uc3QgaW52ZXJ0ZWQgPSBjdXJ2ZS5zY2FsYXJJbnZlcnQoZGVudW1fYnVmZmVyKTtcbiAgICAgIGNvbnN0IGlubmVyTXVsdGlwbGllZCA9IGN1cnZlLnNjYWxhck11bHQobnVtX2J1ZmZlciwgaW52ZXJ0ZWQpO1xuICAgICAgY29uc3QgbXVsdGlwbGllZCA9IGN1cnZlLnNjYWxhck11bHQoaW5uZXJNdWx0aXBsaWVkLCB5aSk7XG4gICAgICBzID0gY3VydmUuc2NhbGFyQWRkKG11bHRpcGxpZWQsIHMpO1xuICAgIH1cbiAgICByZXR1cm4gcztcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIHNwbGl0LFxuICAgIGNvbWJpbmUsXG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTaGFtaXI7XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakMsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWpDLCtCQUFxRTtBQUVyRTtJQUdFLGdCQUFZLEtBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxzQkFBSyxHQUFMLFVBQU0sTUFBYyxFQUFFLFNBQWlCLEVBQUUsU0FBaUIsRUFBRSxPQUF1QjtRQUNqRixJQUFJLFVBQXlCLENBQUM7UUFDOUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBVCxDQUFTLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsdUJBQXVCO1lBQ3ZCLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2lCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFiLENBQWEsQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLElBQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsU0FBUyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM1QyxJQUFNLEtBQUss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QUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDSCxhQUFDO0FBQUQsQ0FBQyxBQXJGRCxJQXFGQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuY29uc3QgY3J5cHRvID0gcmVxdWlyZSgnY3J5cHRvJyk7XG5pbXBvcnQgQ3VydmUgZnJvbSAnLi9jdXJ2ZXMnO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckxFLCBiaWdJbnRUb0J1ZmZlckxFLCBjbGFtcCB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNoYW1pciB7XG4gIGN1cnZlOiBDdXJ2ZTtcblxuICBjb25zdHJ1Y3RvcihjdXJ2ZTogQ3VydmUpIHtcbiAgICB0aGlzLmN1cnZlID0gY3VydmU7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBTaGFtaXIgc2hhcmluZyBvbiB0aGUgc2VjcmV0IGBzZWNyZXRgIHRvIHRoZSBkZWdyZWUgYHRocmVzaG9sZCAtIDFgIHNwbGl0IGBudW1TaGFyZXNgXG4gICAqIHdheXMuIFRoZSBzcGxpdCBzZWNyZXQgcmVxdWlyZXMgYHRocmVzaG9sZGAgc2hhcmVzIHRvIGJlIHJlY29uc3RydWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBzZWNyZXQgc2VjcmV0IHRvIHNwbGl0XG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgc2hhcmUgdGhyZXNob2xkIHJlcXVpcmVkIHRvIHJlY29uc3RydWN0IHNlY3JldFxuICAgKiBAcGFyYW0gbnVtU2hhcmVzIHRvdGFsIG51bWJlciBvZiBzaGFyZXMgdG8gc3BsaXQgdG8gc3BsaXQgc2VjcmV0IGludG9cbiAgICogQHBhcmFtIGluZGljZXNcbiAgICogQHJldHVybnMgRGljdGlvbmFyeSBvZiBzaGFyZXMuIEVhY2gga2V5IGlzIGFuIGludCBpbiB0aGUgcmFuZ2UgMTw9eDw9bnVtU2hhcmVzXG4gICAqIHJlcHJlc2VudGluZyB0aGF0IHNoYXJlJ3MgZnJlZSB0ZXJtLlxuICAgKi9cbiAgc3BsaXQoc2VjcmV0OiBiaWdpbnQsIHRocmVzaG9sZDogbnVtYmVyLCBudW1TaGFyZXM6IG51bWJlciwgaW5kaWNlcz86IEFycmF5PG51bWJlcj4pOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+IHtcbiAgICBsZXQgYmlnSW5kaWNlczogQXJyYXk8YmlnaW50PjtcbiAgICBpZiAoaW5kaWNlcykge1xuICAgICAgYmlnSW5kaWNlcyA9IGluZGljZXMubWFwKChpKSA9PiBCaWdJbnQoaSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBtYWtlIHJhbmdlKDEsIG4gKyAxKVxuICAgICAgYmlnSW5kaWNlcyA9IEFycmF5KG51bVNoYXJlcylcbiAgICAgICAgLmZpbGwobnVsbClcbiAgICAgICAgLm1hcCgoXywgaSkgPT4gQmlnSW50KGkgKyAxKSk7XG4gICAgfVxuICAgIGFzc2VydCh0aHJlc2hvbGQgPiAxKTtcbiAgICBhc3NlcnQodGhyZXNob2xkIDw9IG51bVNoYXJlcyk7XG4gICAgY29uc3QgY29lZnM6IGJpZ2ludFtdID0gW107XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgdGhyZXNob2xkIC0gMTsgaW5kKyspIHtcbiAgICAgIGNvbnN0IGNvZWZmID0gY2xhbXAoXG4gICAgICAgIGJpZ0ludEZyb21CdWZmZXJMRShjcnlwdG8uY3JlYXRlSG1hYygnc2hhMjU2JywgaW5kLnRvU3RyaW5nKDEwKSkudXBkYXRlKGJpZ0ludFRvQnVmZmVyTEUoc2VjcmV0LCAzMikpLmRpZ2VzdCgpKSxcbiAgICAgICk7XG4gICAgICBjb2Vmcy5wdXNoKGNvZWZmKTtcbiAgICB9XG4gICAgY29lZnMucHVzaChzZWNyZXQpO1xuXG4gICAgY29uc3Qgc2hhcmVzOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+ID0ge307XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgYmlnSW5kaWNlcy5sZW5ndGg7IGluZCsrKSB7XG4gICAgICBjb25zdCB4ID0gYmlnSW5kaWNlc1tpbmRdO1xuICAgICAgbGV0IHBhcnRpYWwgPSBjb2Vmc1swXTtcbiAgICAgIGZvciAobGV0IG90aGVyID0gMTsgb3RoZXIgPCBjb2Vmcy5sZW5ndGg7IG90aGVyKyspIHtcbiAgICAgICAgcGFydGlhbCA9IHRoaXMuY3VydmUuc2NhbGFyQWRkKGNvZWZzW290aGVyXSwgdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KHBhcnRpYWwsIHgpKTtcbiAgICAgIH1cbiAgICAgIHNoYXJlc1twYXJzZUludCh4LnRvU3RyaW5nKCksIDEwKV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgICByZXR1cm4gc2hhcmVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY29uc3RpdHV0ZSBhIHNlY3JldCBmcm9tIGEgZGljdGlvbmFyeSBvZiBzaGFyZXMuIFRoZSBudW1iZXIgb2Ygc2hhcmVzIG11c3RcbiAgICogYmUgZXF1YWwgdG8gYHRgIHRvIHJlY29uc3RpdHV0ZSB0aGUgb3JpZ2luYWwgc2VjcmV0LlxuICAgKlxuICAgKiBAcGFyYW0gc2hhcmVzIGRpY3Rpb25hcnkgb2Ygc2hhcmVzLiBlYWNoIGtleSBpcyB0aGUgZnJlZSB0ZXJtIG9mIHRoZSBzaGFyZVxuICAgKiBAcmV0dXJucyBzZWNyZXRcbiAgICovXG4gIGNvbWJpbmUoc2hhcmVzOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+KTogYmlnaW50IHtcbiAgICBsZXQgcyA9IEJpZ0ludCgwKTtcbiAgICBmb3IgKGNvbnN0IGkgaW4gc2hhcmVzKSB7XG4gICAgICBjb25zdCB5aSA9IHNoYXJlc1tpXTtcbiAgICAgIGNvbnN0IHhpID0gQmlnSW50KGkpO1xuICAgICAgbGV0IG51bSA9IEJpZ0ludCgxKTtcbiAgICAgIGxldCBkZW51bSA9IEJpZ0ludCgxKTtcblxuICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB4aiA9IEJpZ0ludChqKTtcbiAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgIG51bSA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdChudW0sIHhqKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBqIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB4aiA9IEJpZ0ludChqKTtcbiAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgIGRlbnVtID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KGRlbnVtLCB0aGlzLmN1cnZlLnNjYWxhclN1Yih4aiwgeGkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgaW52ZXJ0ZWQgPSB0aGlzLmN1cnZlLnNjYWxhckludmVydChkZW51bSk7XG4gICAgICBjb25zdCBpbm5lck11bHRpcGxpZWQgPSB0aGlzLmN1cnZlLnNjYWxhck11bHQobnVtLCBpbnZlcnRlZCk7XG4gICAgICBjb25zdCBtdWx0aXBsaWVkID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KGlubmVyTXVsdGlwbGllZCwgeWkpO1xuICAgICAgcyA9IHRoaXMuY3VydmUuc2NhbGFyQWRkKG11bHRpcGxpZWQsIHMpO1xuICAgIH1cbiAgICByZXR1cm4gcztcbiAgfVxufVxuIl19
@@ -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: string;
6
+ i: number;
7
+ t: number;
8
+ n: number;
4
9
  y: string;
5
- u: string;
6
- prefix: string;
10
+ seed: string;
11
+ chaincode: string;
7
12
  }
8
- interface YShare {
9
- i: string;
10
- j: string;
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<string, YShare>;
22
+ yShares: Record<number, YShare>;
17
23
  }
18
24
  export interface PShare {
19
- i: string;
20
- x: string;
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: string;
26
- j: string;
34
+ i: number;
35
+ j: number;
27
36
  }
28
37
  interface KeyCombine {
29
38
  pShare: PShare;
30
- jShares: Record<string, JShare>;
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: string;
46
+ i: number;
34
47
  y: string;
35
- x: string;
48
+ u: string;
36
49
  r: string;
37
50
  R: string;
38
51
  }
39
52
  export interface RShare {
40
- i: string;
41
- j: string;
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<string, RShare>;
61
+ rShares: Record<number, RShare>;
48
62
  }
49
63
  export interface GShare {
50
- i: string;
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
- declare const Eddsa: () => Promise<{
61
- keyShare: (index: number, threshold: number, numShares: number) => KeyShare;
62
- keyCombine: (uShare: UShare, distributedShares: YShare[]) => KeyCombine;
63
- signShare: (message: Buffer, pShare: PShare, jShares: JShare[]) => SignShare;
64
- sign: (message: Buffer, playerShare: XShare, distributedShares: RShare[]) => GShare;
65
- signCombine: (shares: GShare[]) => Signature;
66
- verify: (message: Buffer, signature: Signature) => Buffer;
67
- }>;
68
- export default Eddsa;
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":";AA8CA,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,SAAS;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,KAAK;sBAIgB,MAAM,aAAa,MAAM,aAAa,MAAM,KAAG,QAAQ;yBA8CpD,MAAM,qBAAqB,MAAM,EAAE,KAAG,UAAU;yBA6BhD,MAAM,UAAU,MAAM,WAAW,MAAM,EAAE,KAAG,SAAS;oBA4C1D,MAAM,eAAe,MAAM,qBAAqB,MAAM,EAAE,KAAG,MAAM;0BAyB3D,MAAM,EAAE,KAAG,SAAS;sBAqBxB,MAAM,aAAa,SAAS,KAAG,MAAM;EAW/D,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/mpc/tss.ts"],"names":[],"mappings":"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"}