@bitgo/sdk-core 1.1.0-rc.4 → 1.1.0-rc.7
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/CHANGELOG.md +30 -0
- package/dist/src/account-lib/mpc/index.d.ts +4 -3
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +7 -7
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +25 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +112 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts +4 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +29 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +37 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +3 -0
- package/dist/src/account-lib/mpc/tss/index.d.ts +2 -1
- package/dist/src/account-lib/mpc/tss/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/index.js +5 -2
- package/dist/src/bitgo/coinFactory.d.ts +31 -0
- package/dist/src/bitgo/coinFactory.d.ts.map +1 -0
- package/dist/src/bitgo/coinFactory.js +59 -0
- package/dist/src/bitgo/{tss.d.ts → tss/eddsa/eddsa.d.ts} +21 -46
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/eddsa.js +256 -0
- package/dist/src/bitgo/tss/eddsa/index.d.ts +2 -0
- package/dist/src/bitgo/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/bitgo/tss/eddsa/index.js +14 -0
- package/dist/src/bitgo/tss/index.d.ts +3 -0
- package/dist/src/bitgo/tss/index.d.ts.map +1 -0
- package/dist/src/bitgo/tss/index.js +16 -0
- package/dist/src/bitgo/tss/types.d.ts +28 -0
- package/dist/src/bitgo/tss/types.d.ts.map +1 -0
- package/dist/src/bitgo/tss/types.js +10 -0
- package/dist/tsconfig.tsbuildinfo +278 -132
- package/package.json +6 -4
- package/LICENSE +0 -191
- package/dist/src/bigojsError.d.ts +0 -4
- package/dist/src/bigojsError.d.ts.map +0 -1
- package/dist/src/bigojsError.js +0 -11
- package/dist/src/bitgo/tss.d.ts.map +0 -1
- package/dist/src/bitgo/tss.js +0 -261
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
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
|
+
# [1.1.0-rc.7](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@1.1.0-rc.6...@bitgo/sdk-core@1.1.0-rc.7) (2022-06-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **sdk-core:** add paillier bigint dep ([a8cd71e](https://github.com/BitGo/BitGoJS/commit/a8cd71ea6b7ee9db98b4b004fb1661995dd94916))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [1.1.0-rc.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@1.1.0-rc.5...@bitgo/sdk-core@1.1.0-rc.6) (2022-06-07)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **account-lib:** add support for ecdsa keyshare generation tss ([c71bc34](https://github.com/BitGo/BitGoJS/commit/c71bc3437af7f5bdf0d1ef19d53b05a4a232ffe4))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# [1.1.0-rc.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@1.1.0-rc.4...@bitgo/sdk-core@1.1.0-rc.5) (2022-06-02)
|
|
29
|
+
|
|
30
|
+
**Note:** Version bump only for package @bitgo/sdk-core
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
# [1.1.0-rc.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@1.1.0-rc.3...@bitgo/sdk-core@1.1.0-rc.4) (2022-06-02)
|
|
7
37
|
|
|
8
38
|
**Note:** Version bump only for package @bitgo/sdk-core
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import HDTree, { Ed25519BIP32 } from './hdTree';
|
|
2
|
-
import
|
|
3
|
-
|
|
2
|
+
import { EDDSA } from './tss';
|
|
3
|
+
export { Ecdsa, ECDSA, Eddsa, EDDSA } from './tss';
|
|
4
4
|
export * from './curves';
|
|
5
5
|
export * from './util';
|
|
6
|
-
|
|
6
|
+
declare type KeyShare = EDDSA.KeyShare;
|
|
7
|
+
export { Ed25519BIP32, HDTree, KeyShare };
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/mpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnD,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AAEvB,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -9,15 +9,15 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
9
9
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
-
};
|
|
15
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.Ed25519BIP32 = exports.Eddsa = void 0;
|
|
13
|
+
exports.Ed25519BIP32 = exports.EDDSA = exports.Eddsa = exports.ECDSA = exports.Ecdsa = void 0;
|
|
17
14
|
const hdTree_1 = require("./hdTree");
|
|
18
15
|
Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return hdTree_1.Ed25519BIP32; } });
|
|
19
|
-
|
|
20
|
-
exports
|
|
16
|
+
var tss_1 = require("./tss");
|
|
17
|
+
Object.defineProperty(exports, "Ecdsa", { enumerable: true, get: function () { return tss_1.Ecdsa; } });
|
|
18
|
+
Object.defineProperty(exports, "ECDSA", { enumerable: true, get: function () { return tss_1.ECDSA; } });
|
|
19
|
+
Object.defineProperty(exports, "Eddsa", { enumerable: true, get: function () { return tss_1.Eddsa; } });
|
|
20
|
+
Object.defineProperty(exports, "EDDSA", { enumerable: true, get: function () { return tss_1.EDDSA; } });
|
|
21
21
|
__exportStar(require("./curves"), exports);
|
|
22
22
|
__exportStar(require("./util"), exports);
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FBZ0Q7QUFVdkMsNkZBVlEscUJBQVksT0FVUjtBQVByQiw2QkFBbUQ7QUFBMUMsNEZBQUEsS0FBSyxPQUFBO0FBQUUsNEZBQUEsS0FBSyxPQUFBO0FBQUUsNEZBQUEsS0FBSyxPQUFBO0FBQUUsNEZBQUEsS0FBSyxPQUFBO0FBRW5DLDJDQUF5QjtBQUN6Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSERUcmVlLCB7IEVkMjU1MTlCSVAzMiB9IGZyb20gJy4vaGRUcmVlJztcbmltcG9ydCB7IEVERFNBIH0gZnJvbSAnLi90c3MnO1xuXG5leHBvcnQgeyBFY2RzYSwgRUNEU0EsIEVkZHNhLCBFRERTQSB9IGZyb20gJy4vdHNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jdXJ2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcblxudHlwZSBLZXlTaGFyZSA9IEVERFNBLktleVNoYXJlO1xuXG5leHBvcnQgeyBFZDI1NTE5QklQMzIsIEhEVHJlZSwgS2V5U2hhcmUgfTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Secp256k1Curve } from '../../curves';
|
|
2
|
+
import Shamir from '../../shamir';
|
|
3
|
+
import { NShare, PShare, KeyShare, KeyCombined } from './types';
|
|
4
|
+
export default class Ecdsa {
|
|
5
|
+
static curve: Secp256k1Curve;
|
|
6
|
+
static shamir: Shamir;
|
|
7
|
+
/**
|
|
8
|
+
* Generate shares for participant at index and split keys `(threshold,numShares)` ways.
|
|
9
|
+
* @param {number} index participant index
|
|
10
|
+
* @param {number} threshold Signing threshold
|
|
11
|
+
* @param {number} numShares Number of shares
|
|
12
|
+
* @returns {Promise<KeyShare>} Returns the private p-share
|
|
13
|
+
* and n-shares to be distributed to participants at their corresponding index.
|
|
14
|
+
*/
|
|
15
|
+
keyShare(index: number, threshold: number, numShares: number): Promise<KeyShare>;
|
|
16
|
+
/**
|
|
17
|
+
* Combine data shared during the key generation protocol.
|
|
18
|
+
* @param {KeyShare} participantShares private p-share and
|
|
19
|
+
* n-shares received from all other participants.
|
|
20
|
+
* @returns {KeyCombined} Returns the participant private x-share
|
|
21
|
+
* and y-shares to be used when generating signing shares.
|
|
22
|
+
*/
|
|
23
|
+
keyCombine(pShare: PShare, nShares: NShare[]): KeyCombined;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ecdsa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/mpc/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,MAAM,CAAC,KAAK,EAAE,cAAc,CAAwB;IACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAA2B;IAChD;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsCtF;;;;;;OAMG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW;CA6B3D"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
const paillierBigint = __importStar(require("paillier-bigint"));
|
|
26
|
+
const crypto_1 = require("../../../util/crypto");
|
|
27
|
+
const curves_1 = require("../../curves");
|
|
28
|
+
const shamir_1 = __importDefault(require("../../shamir"));
|
|
29
|
+
class Ecdsa {
|
|
30
|
+
/**
|
|
31
|
+
* Generate shares for participant at index and split keys `(threshold,numShares)` ways.
|
|
32
|
+
* @param {number} index participant index
|
|
33
|
+
* @param {number} threshold Signing threshold
|
|
34
|
+
* @param {number} numShares Number of shares
|
|
35
|
+
* @returns {Promise<KeyShare>} Returns the private p-share
|
|
36
|
+
* and n-shares to be distributed to participants at their corresponding index.
|
|
37
|
+
*/
|
|
38
|
+
async keyShare(index, threshold, numShares) {
|
|
39
|
+
if (!(index > 0 && index <= numShares && threshold <= numShares && threshold > 0)) {
|
|
40
|
+
throw 'Invalid KeyShare Config';
|
|
41
|
+
}
|
|
42
|
+
// Generate additively homomorphic encryption key.
|
|
43
|
+
const { publicKey, privateKey } = await paillierBigint.generateRandomKeys(3072, true);
|
|
44
|
+
const u = Ecdsa.curve.scalarRandom();
|
|
45
|
+
const y = Ecdsa.curve.basePointMult(u);
|
|
46
|
+
// Compute secret shares of the private key
|
|
47
|
+
const uShares = Ecdsa.shamir.split(u, threshold, numShares);
|
|
48
|
+
const currentParticipant = {
|
|
49
|
+
i: index,
|
|
50
|
+
l: crypto_1.bigIntToHex(privateKey.lambda),
|
|
51
|
+
m: crypto_1.bigIntToHex(privateKey.mu),
|
|
52
|
+
n: crypto_1.bigIntToHex(publicKey.n),
|
|
53
|
+
y: crypto_1.bigIntToHex(y),
|
|
54
|
+
u: crypto_1.bigIntToHex(uShares[index]),
|
|
55
|
+
};
|
|
56
|
+
const keyShare = {
|
|
57
|
+
pShare: currentParticipant,
|
|
58
|
+
nShares: {},
|
|
59
|
+
};
|
|
60
|
+
for (const share in uShares) {
|
|
61
|
+
const participantIndex = parseInt(share, 10);
|
|
62
|
+
if (participantIndex !== index) {
|
|
63
|
+
keyShare.nShares[participantIndex] = {
|
|
64
|
+
i: participantIndex,
|
|
65
|
+
j: currentParticipant['i'],
|
|
66
|
+
n: crypto_1.bigIntToHex(publicKey.n),
|
|
67
|
+
y: crypto_1.bigIntToHex(y),
|
|
68
|
+
u: crypto_1.bigIntToHex(uShares[participantIndex]),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return keyShare;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Combine data shared during the key generation protocol.
|
|
76
|
+
* @param {KeyShare} participantShares private p-share and
|
|
77
|
+
* n-shares received from all other participants.
|
|
78
|
+
* @returns {KeyCombined} Returns the participant private x-share
|
|
79
|
+
* and y-shares to be used when generating signing shares.
|
|
80
|
+
*/
|
|
81
|
+
keyCombine(pShare, nShares) {
|
|
82
|
+
const allShares = [pShare, ...nShares];
|
|
83
|
+
// Compute the public key.
|
|
84
|
+
const y = allShares.map((participant) => BigInt(participant['y'])).reduce(Ecdsa.curve.pointAdd);
|
|
85
|
+
// Add secret shares
|
|
86
|
+
const x = allShares.map((participant) => BigInt(participant['u'])).reduce(Ecdsa.curve.scalarAdd);
|
|
87
|
+
const participants = {
|
|
88
|
+
xShare: {
|
|
89
|
+
i: pShare.i,
|
|
90
|
+
l: pShare.l,
|
|
91
|
+
m: pShare.m,
|
|
92
|
+
n: pShare.n,
|
|
93
|
+
y: crypto_1.bigIntToHex(y),
|
|
94
|
+
x: crypto_1.bigIntToHex(x),
|
|
95
|
+
},
|
|
96
|
+
yShares: {},
|
|
97
|
+
};
|
|
98
|
+
for (const share in nShares) {
|
|
99
|
+
const participantIndex = nShares[share]['j'];
|
|
100
|
+
participants.yShares[participantIndex] = {
|
|
101
|
+
i: pShare.i,
|
|
102
|
+
j: nShares[share]['j'],
|
|
103
|
+
n: nShares[share]['n'],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return participants;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.default = Ecdsa;
|
|
110
|
+
Ecdsa.curve = new curves_1.Secp256k1Curve();
|
|
111
|
+
Ecdsa.shamir = new shamir_1.default(Ecdsa.curve);
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9lY2RzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBa0Q7QUFDbEQsaURBQW1EO0FBQ25ELHlDQUE4QztBQUM5QywwREFBa0M7QUFHbEMsTUFBcUIsS0FBSztJQUd4Qjs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxTQUFpQjtRQUNoRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDakYsTUFBTSx5QkFBeUIsQ0FBQztTQUNqQztRQUNELGtEQUFrRDtRQUNsRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLDJDQUEyQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sa0JBQWtCLEdBQVc7WUFDakMsQ0FBQyxFQUFFLEtBQUs7WUFDUixDQUFDLEVBQUUsb0JBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ2pDLENBQUMsRUFBRSxvQkFBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7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ZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhaWxsaWVyQmlnaW50IGZyb20gJ3BhaWxsaWVyLWJpZ2ludCc7XG5pbXBvcnQgeyBiaWdJbnRUb0hleCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvY3J5cHRvJztcbmltcG9ydCB7IFNlY3AyNTZrMUN1cnZlIH0gZnJvbSAnLi4vLi4vY3VydmVzJztcbmltcG9ydCBTaGFtaXIgZnJvbSAnLi4vLi4vc2hhbWlyJztcbmltcG9ydCB7IE5TaGFyZSwgUFNoYXJlLCBLZXlTaGFyZSwgS2V5Q29tYmluZWQgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWNkc2Ege1xuICBzdGF0aWMgY3VydmU6IFNlY3AyNTZrMUN1cnZlID0gbmV3IFNlY3AyNTZrMUN1cnZlKCk7XG4gIHN0YXRpYyBzaGFtaXI6IFNoYW1pciA9IG5ldyBTaGFtaXIoRWNkc2EuY3VydmUpO1xuICAvKipcbiAgICogR2VuZXJhdGUgc2hhcmVzIGZvciBwYXJ0aWNpcGFudCBhdCBpbmRleCBhbmQgc3BsaXQga2V5cyBgKHRocmVzaG9sZCxudW1TaGFyZXMpYCB3YXlzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggcGFydGljaXBhbnQgaW5kZXhcbiAgICogQHBhcmFtIHtudW1iZXJ9IHRocmVzaG9sZCBTaWduaW5nIHRocmVzaG9sZFxuICAgKiBAcGFyYW0ge251bWJlcn0gbnVtU2hhcmVzICBOdW1iZXIgb2Ygc2hhcmVzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEtleVNoYXJlPn0gUmV0dXJucyB0aGUgcHJpdmF0ZSBwLXNoYXJlXG4gICAqIGFuZCBuLXNoYXJlcyB0byBiZSBkaXN0cmlidXRlZCB0byBwYXJ0aWNpcGFudHMgYXQgdGhlaXIgY29ycmVzcG9uZGluZyBpbmRleC5cbiAgICovXG4gIGFzeW5jIGtleVNoYXJlKGluZGV4OiBudW1iZXIsIHRocmVzaG9sZDogbnVtYmVyLCBudW1TaGFyZXM6IG51bWJlcik6IFByb21pc2U8S2V5U2hhcmU+IHtcbiAgICBpZiAoIShpbmRleCA+IDAgJiYgaW5kZXggPD0gbnVtU2hhcmVzICYmIHRocmVzaG9sZCA8PSBudW1TaGFyZXMgJiYgdGhyZXNob2xkID4gMCkpIHtcbiAgICAgIHRocm93ICdJbnZhbGlkIEtleVNoYXJlIENvbmZpZyc7XG4gICAgfVxuICAgIC8vIEdlbmVyYXRlIGFkZGl0aXZlbHkgaG9tb21vcnBoaWMgZW5jcnlwdGlvbiBrZXkuXG4gICAgY29uc3QgeyBwdWJsaWNLZXksIHByaXZhdGVLZXkgfSA9IGF3YWl0IHBhaWxsaWVyQmlnaW50LmdlbmVyYXRlUmFuZG9tS2V5cygzMDcyLCB0cnVlKTtcbiAgICBjb25zdCB1ID0gRWNkc2EuY3VydmUuc2NhbGFyUmFuZG9tKCk7XG4gICAgY29uc3QgeSA9IEVjZHNhLmN1cnZlLmJhc2VQb2ludE11bHQodSk7XG4gICAgLy8gQ29tcHV0ZSBzZWNyZXQgc2hhcmVzIG9mIHRoZSBwcml2YXRlIGtleVxuICAgIGNvbnN0IHVTaGFyZXMgPSBFY2RzYS5zaGFtaXIuc3BsaXQodSwgdGhyZXNob2xkLCBudW1TaGFyZXMpO1xuICAgIGNvbnN0IGN1cnJlbnRQYXJ0aWNpcGFudDogUFNoYXJlID0ge1xuICAgICAgaTogaW5kZXgsXG4gICAgICBsOiBiaWdJbnRUb0hleChwcml2YXRlS2V5LmxhbWJkYSksXG4gICAgICBtOiBiaWdJbnRUb0hleChwcml2YXRlS2V5Lm11KSxcbiAgICAgIG46IGJpZ0ludFRvSGV4KHB1YmxpY0tleS5uKSxcbiAgICAgIHk6IGJpZ0ludFRvSGV4KHkpLFxuICAgICAgdTogYmlnSW50VG9IZXgodVNoYXJlc1tpbmRleF0pLFxuICAgIH07XG4gICAgY29uc3Qga2V5U2hhcmU6IEtleVNoYXJlID0ge1xuICAgICAgcFNoYXJlOiBjdXJyZW50UGFydGljaXBhbnQsXG4gICAgICBuU2hhcmVzOiB7fSxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBzaGFyZSBpbiB1U2hhcmVzKSB7XG4gICAgICBjb25zdCBwYXJ0aWNpcGFudEluZGV4ID0gcGFyc2VJbnQoc2hhcmUsIDEwKTtcbiAgICAgIGlmIChwYXJ0aWNpcGFudEluZGV4ICE9PSBpbmRleCkge1xuICAgICAgICBrZXlTaGFyZS5uU2hhcmVzW3BhcnRpY2lwYW50SW5kZXhdID0ge1xuICAgICAgICAgIGk6IHBhcnRpY2lwYW50SW5kZXgsXG4gICAgICAgICAgajogY3VycmVudFBhcnRpY2lwYW50WydpJ10sXG4gICAgICAgICAgbjogYmlnSW50VG9IZXgocHVibGljS2V5Lm4pLFxuICAgICAgICAgIHk6IGJpZ0ludFRvSGV4KHkpLFxuICAgICAgICAgIHU6IGJpZ0ludFRvSGV4KHVTaGFyZXNbcGFydGljaXBhbnRJbmRleF0pLFxuICAgICAgICB9IGFzIE5TaGFyZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGtleVNoYXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbWJpbmUgZGF0YSBzaGFyZWQgZHVyaW5nIHRoZSBrZXkgZ2VuZXJhdGlvbiBwcm90b2NvbC5cbiAgICogQHBhcmFtIHtLZXlTaGFyZX0gcGFydGljaXBhbnRTaGFyZXMgcHJpdmF0ZSBwLXNoYXJlIGFuZFxuICAgKiBuLXNoYXJlcyByZWNlaXZlZCBmcm9tIGFsbCBvdGhlciBwYXJ0aWNpcGFudHMuXG4gICAqIEByZXR1cm5zIHtLZXlDb21iaW5lZH0gUmV0dXJucyB0aGUgcGFydGljaXBhbnQgcHJpdmF0ZSB4LXNoYXJlXG4gICAqIGFuZCB5LXNoYXJlcyB0byBiZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyBzaWduaW5nIHNoYXJlcy5cbiAgICovXG4gIGtleUNvbWJpbmUocFNoYXJlOiBQU2hhcmUsIG5TaGFyZXM6IE5TaGFyZVtdKTogS2V5Q29tYmluZWQge1xuICAgIGNvbnN0IGFsbFNoYXJlcyA9IFtwU2hhcmUsIC4uLm5TaGFyZXNdO1xuICAgIC8vIENvbXB1dGUgdGhlIHB1YmxpYyBrZXkuXG4gICAgY29uc3QgeSA9IGFsbFNoYXJlcy5tYXAoKHBhcnRpY2lwYW50KSA9PiBCaWdJbnQocGFydGljaXBhbnRbJ3knXSkpLnJlZHVjZShFY2RzYS5jdXJ2ZS5wb2ludEFkZCk7XG4gICAgLy8gQWRkIHNlY3JldCBzaGFyZXNcbiAgICBjb25zdCB4ID0gYWxsU2hhcmVzLm1hcCgocGFydGljaXBhbnQpID0+IEJpZ0ludChwYXJ0aWNpcGFudFsndSddKSkucmVkdWNlKEVjZHNhLmN1cnZlLnNjYWxhckFkZCk7XG5cbiAgICBjb25zdCBwYXJ0aWNpcGFudHM6IEtleUNvbWJpbmVkID0ge1xuICAgICAgeFNoYXJlOiB7XG4gICAgICAgIGk6IHBTaGFyZS5pLFxuICAgICAgICBsOiBwU2hhcmUubCxcbiAgICAgICAgbTogcFNoYXJlLm0sXG4gICAgICAgIG46IHBTaGFyZS5uLFxuICAgICAgICB5OiBiaWdJbnRUb0hleCh5KSxcbiAgICAgICAgeDogYmlnSW50VG9IZXgoeCksXG4gICAgICB9LFxuICAgICAgeVNoYXJlczoge30sXG4gICAgfTtcblxuICAgIGZvciAoY29uc3Qgc2hhcmUgaW4gblNoYXJlcykge1xuICAgICAgY29uc3QgcGFydGljaXBhbnRJbmRleCA9IG5TaGFyZXNbc2hhcmVdWydqJ107XG4gICAgICBwYXJ0aWNpcGFudHMueVNoYXJlc1twYXJ0aWNpcGFudEluZGV4XSA9IHtcbiAgICAgICAgaTogcFNoYXJlLmksXG4gICAgICAgIGo6IG5TaGFyZXNbc2hhcmVdWydqJ10sXG4gICAgICAgIG46IG5TaGFyZXNbc2hhcmVdWyduJ10sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gcGFydGljaXBhbnRzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/mpc/tss/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.ECDSA = void 0;
|
|
26
|
+
const ecdsa_1 = __importDefault(require("./ecdsa"));
|
|
27
|
+
exports.ECDSA = __importStar(require("./types"));
|
|
28
|
+
exports.default = ecdsa_1.default;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLGlEQUFpQztBQUVqQyxrQkFBZSxlQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRWNkc2EgZnJvbSAnLi9lY2RzYSc7XG5cbmV4cG9ydCAqIGFzIEVDRFNBIGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBFY2RzYTtcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface PShare {
|
|
2
|
+
i: number;
|
|
3
|
+
l: string;
|
|
4
|
+
m: string;
|
|
5
|
+
u: string;
|
|
6
|
+
n: string;
|
|
7
|
+
y: string;
|
|
8
|
+
}
|
|
9
|
+
export interface NShare {
|
|
10
|
+
i: number;
|
|
11
|
+
j: number;
|
|
12
|
+
n: string;
|
|
13
|
+
u: string;
|
|
14
|
+
y: string;
|
|
15
|
+
}
|
|
16
|
+
export declare type KeyShare = {
|
|
17
|
+
pShare: PShare;
|
|
18
|
+
nShares: Record<number, NShare>;
|
|
19
|
+
};
|
|
20
|
+
export interface XShare {
|
|
21
|
+
i: number;
|
|
22
|
+
l: string;
|
|
23
|
+
m: string;
|
|
24
|
+
n: string;
|
|
25
|
+
y: string;
|
|
26
|
+
x: string;
|
|
27
|
+
}
|
|
28
|
+
export interface YShare {
|
|
29
|
+
i: number;
|
|
30
|
+
j: number;
|
|
31
|
+
n: string;
|
|
32
|
+
}
|
|
33
|
+
export interface KeyCombined {
|
|
34
|
+
xShare: XShare;
|
|
35
|
+
yShares: Record<number, YShare>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/mpc/tss/ecdsa/types.ts"],"names":[],"mappings":"AACA,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;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,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,oBAAY,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAGF,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;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUHJpdmF0ZSBzaGFyZSBvZiB0aGUgdXNlciBnZW5lcmF0ZWQgZHVyaW5nIGtleSBnZW5lcmF0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFBTaGFyZSB7XG4gIGk6IG51bWJlcjsgLy8gcGFydGljaXBhbnQgaW5kZXhcbiAgbDogc3RyaW5nOyAvLyBsYW1iZGEgdmFsdWUgZm9yIHBhaWxsaWVyIHNlY3JldCBrZXlcbiAgbTogc3RyaW5nOyAvLyBtdSB2YWx1ZSBmb3IgcGFpbGxpZXIgc2VjcmV0IGtleVxuICB1OiBzdHJpbmc7IC8vIHNoYW1pciBzaGFyZSBvZiBzZWNyZXRcbiAgbjogc3RyaW5nOyAvLyBuID0+IChwIC4gcSkgd2hlcmUgcCBhbmQgcSBhcmUgdGhlIHR3byByYW5kb20gcHJpbWUgbnVtYmVycyBjaG9zZW4gZm9yIHBhaWxsaWVyIGVuY3J5cHRpb25cbiAgeTogc3RyaW5nO1xufVxuXG4vLyBOU2hhcmVzIHdoaWNoIGlzIHNoYXJlZCB0byB0aGUgb3RoZXIgcGFydGljaXBhbnRzIGR1cmluZyBrZXkgZ2VuZXJhdGlvblxuZXhwb3J0IGludGVyZmFjZSBOU2hhcmUge1xuICBpOiBudW1iZXI7IC8vIHBhcnRpY2lwYW50IGluZGV4XG4gIGo6IG51bWJlcjsgLy8gdGFyZ2V0IHBhcnRpY2lwYW50IGluZGV4XG4gIG46IHN0cmluZztcbiAgdTogc3RyaW5nOyAvLyBzaGFtaXIgc2hhcmUgb2Ygc2VjcmV0IGF0IGondGggaW5kZXhcbiAgeTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBLZXlTaGFyZSA9IHtcbiAgcFNoYXJlOiBQU2hhcmU7XG4gIG5TaGFyZXM6IFJlY29yZDxudW1iZXIsIE5TaGFyZT47XG59O1xuXG4vLyBQcml2YXRlIFhTaGFyZSBvZiB0aGUgY3VycmVudCBwYXJ0aWNpcGFudFxuZXhwb3J0IGludGVyZmFjZSBYU2hhcmUge1xuICBpOiBudW1iZXI7XG4gIGw6IHN0cmluZztcbiAgbTogc3RyaW5nO1xuICBuOiBzdHJpbmc7XG4gIHk6IHN0cmluZzsgLy8gY29tYmluZWQgcHVibGljIGtleVxuICB4OiBzdHJpbmc7IC8vIGNvbWJpbmVkIHNlY3JldFxufVxuXG4vLyBZU2hhcmVzIHVzZWQgZHVyaW5nIHNpZ25hdHVyZSBnZW5lcmF0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFlTaGFyZSB7XG4gIGk6IG51bWJlcjtcbiAgajogbnVtYmVyO1xuICBuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Q29tYmluZWQge1xuICB4U2hhcmU6IFhTaGFyZTtcbiAgeVNoYXJlczogUmVjb3JkPG51bWJlciwgWVNoYXJlPjtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/mpc/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGvC,cAAc,eAAe,CAAC;AAC9B,eAAe,KAAK,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/mpc/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGvC,cAAc,eAAe,CAAC;AAC9B,eAAe,KAAK,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -22,11 +22,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
22
22
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.EDDSA = exports.Eddsa = void 0;
|
|
25
|
+
exports.ECDSA = exports.Ecdsa = exports.EDDSA = exports.Eddsa = void 0;
|
|
26
26
|
const eddsa_1 = __importStar(require("./eddsa"));
|
|
27
27
|
exports.Eddsa = eddsa_1.default;
|
|
28
28
|
Object.defineProperty(exports, "EDDSA", { enumerable: true, get: function () { return eddsa_1.EDDSA; } });
|
|
29
|
+
const ecdsa_1 = __importStar(require("./ecdsa"));
|
|
30
|
+
exports.Ecdsa = ecdsa_1.default;
|
|
31
|
+
Object.defineProperty(exports, "ECDSA", { enumerable: true, get: function () { return ecdsa_1.ECDSA; } });
|
|
29
32
|
// exporting all eddsa types and making eddsa as default for backward compatibility
|
|
30
33
|
__exportStar(require("./eddsa/types"), exports);
|
|
31
34
|
exports.default = eddsa_1.default;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQXVDO0FBTzlCLGdCQVBGLGVBQUssQ0FPRTtBQUFFLHNGQVBBLGFBQUssT0FPQTtBQU5yQixpREFBdUM7QUFNaEIsZ0JBTmhCLGVBQUssQ0FNZ0I7QUFBRSxzRkFOZCxhQUFLLE9BTWM7QUFKbkMsbUZBQW1GO0FBQ25GLGdEQUE4QjtBQUM5QixrQkFBZSxlQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRWRkc2EsIHsgRUREU0EgfSBmcm9tICcuL2VkZHNhJztcbmltcG9ydCBFY2RzYSwgeyBFQ0RTQSB9IGZyb20gJy4vZWNkc2EnO1xuXG4vLyBleHBvcnRpbmcgYWxsIGVkZHNhIHR5cGVzIGFuZCBtYWtpbmcgZWRkc2EgYXMgZGVmYXVsdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0ICogZnJvbSAnLi9lZGRzYS90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBFZGRzYTtcblxuZXhwb3J0IHsgRWRkc2EsIEVERFNBLCBFY2RzYSwgRUNEU0EgfTtcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
|
|
5
|
+
import { BaseCoin } from './baseCoin';
|
|
6
|
+
import { BitGoBase } from './bitgoBase';
|
|
7
|
+
export declare type CoinConstructor = (bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>) => BaseCoin;
|
|
8
|
+
export declare class CoinFactory {
|
|
9
|
+
private coinConstructors;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* @param name Name of coin or address
|
|
13
|
+
* @returns {(Object|undefined)}
|
|
14
|
+
*/
|
|
15
|
+
private getCoinConstructor;
|
|
16
|
+
/**
|
|
17
|
+
* @param name Name of coin or address
|
|
18
|
+
* @param coin Coin plugin's constructor
|
|
19
|
+
* @throws Error
|
|
20
|
+
*/
|
|
21
|
+
register(name: string, coin: CoinConstructor): void;
|
|
22
|
+
/**
|
|
23
|
+
* @param bitgo Instance of BitGo
|
|
24
|
+
* @param name Name of coin or address
|
|
25
|
+
* @throws CoinNotDefinedError
|
|
26
|
+
* @throws UnsupportedCoinError
|
|
27
|
+
*/
|
|
28
|
+
getInstance(bitgo: BitGoBase, name: string): BaseCoin;
|
|
29
|
+
}
|
|
30
|
+
export declare const GlobalCoinFactory: CoinFactory;
|
|
31
|
+
//# sourceMappingURL=coinFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coinFactory.d.ts","sourceRoot":"","sources":["../../../src/bitgo/coinFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAS,QAAQ,IAAI,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,oBAAY,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC;AAEtG,qBAAa,WAAW;IACtB,OAAO,CAAC,gBAAgB,CAA+B;;IAMvD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAO1D;;;;;OAKG;IACI,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ;CAmB7D;AAED,eAAO,MAAM,iBAAiB,EAAE,WAA+B,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GlobalCoinFactory = exports.CoinFactory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @prettier
|
|
6
|
+
*/
|
|
7
|
+
const statics_1 = require("@bitgo/statics");
|
|
8
|
+
const errors_1 = require("./errors");
|
|
9
|
+
class CoinFactory {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.coinConstructors = new Map();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @param name Name of coin or address
|
|
15
|
+
* @returns {(Object|undefined)}
|
|
16
|
+
*/
|
|
17
|
+
getCoinConstructor(name) {
|
|
18
|
+
if (this.coinConstructors === undefined) {
|
|
19
|
+
this.coinConstructors = new Map();
|
|
20
|
+
}
|
|
21
|
+
return this.coinConstructors.get(name);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @param name Name of coin or address
|
|
25
|
+
* @param coin Coin plugin's constructor
|
|
26
|
+
* @throws Error
|
|
27
|
+
*/
|
|
28
|
+
register(name, coin) {
|
|
29
|
+
if (this.coinConstructors.has(name)) {
|
|
30
|
+
throw new Error(`coin '${name}' is already defined`);
|
|
31
|
+
}
|
|
32
|
+
this.coinConstructors.set(name, coin);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @param bitgo Instance of BitGo
|
|
36
|
+
* @param name Name of coin or address
|
|
37
|
+
* @throws CoinNotDefinedError
|
|
38
|
+
* @throws UnsupportedCoinError
|
|
39
|
+
*/
|
|
40
|
+
getInstance(bitgo, name) {
|
|
41
|
+
let staticsCoin;
|
|
42
|
+
try {
|
|
43
|
+
staticsCoin = statics_1.coins.get(name);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
if (!(e instanceof statics_1.CoinNotDefinedError)) {
|
|
47
|
+
throw e;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const constructor = this.getCoinConstructor(name);
|
|
51
|
+
if (constructor) {
|
|
52
|
+
return constructor(bitgo, staticsCoin);
|
|
53
|
+
}
|
|
54
|
+
throw new errors_1.UnsupportedCoinError(name);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.CoinFactory = CoinFactory;
|
|
58
|
+
exports.GlobalCoinFactory = new CoinFactory();
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCw0Q0FBeUY7QUFHekYscUNBQWdEO0FBSWhELE1BQWEsV0FBVztJQUd0QjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxrQkFBa0IsQ0FBQyxJQUFZO1FBQ3JDLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtZQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNuQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBcUI7UUFDakQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLHNCQUFzQixDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsS0FBZ0IsRUFBRSxJQUFZO1FBQy9DLElBQUksV0FBVyxDQUFDO1FBRWhCLElBQUk7WUFDRixXQUFXLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLDZCQUFtQixDQUFDLEVBQUU7Z0JBQ3ZDLE1BQU0sQ0FBQyxDQUFDO2FBQ1Q7U0FDRjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsRCxJQUFJLFdBQVcsRUFBRTtZQUNmLE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN4QztRQUVELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUF2REQsa0NBdURDO0FBRVksUUFBQSxpQkFBaUIsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5Ob3REZWZpbmVkRXJyb3IgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJy4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRDb2luRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCB0eXBlIENvaW5Db25zdHJ1Y3RvciA9IChiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pID0+IEJhc2VDb2luO1xuXG5leHBvcnQgY2xhc3MgQ29pbkZhY3Rvcnkge1xuICBwcml2YXRlIGNvaW5Db25zdHJ1Y3RvcnM6IE1hcDxzdHJpbmcsIENvaW5Db25zdHJ1Y3Rvcj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb2luQ29uc3RydWN0b3JzID0gbmV3IE1hcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgY29pbiBvciBhZGRyZXNzXG4gICAqIEByZXR1cm5zIHsoT2JqZWN0fHVuZGVmaW5lZCl9XG4gICAqL1xuICBwcml2YXRlIGdldENvaW5Db25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcpOiBDb2luQ29uc3RydWN0b3IgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmNvaW5Db25zdHJ1Y3RvcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb2luQ29uc3RydWN0b3JzID0gbmV3IE1hcCgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb2luQ29uc3RydWN0b3JzLmdldChuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNvaW4gb3IgYWRkcmVzc1xuICAgKiBAcGFyYW0gY29pbiBDb2luIHBsdWdpbidzIGNvbnN0cnVjdG9yXG4gICAqIEB0aHJvd3MgRXJyb3JcbiAgICovXG4gIHB1YmxpYyByZWdpc3RlcihuYW1lOiBzdHJpbmcsIGNvaW46IENvaW5Db25zdHJ1Y3Rvcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvaW5Db25zdHJ1Y3RvcnMuaGFzKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvaW4gJyR7bmFtZX0nIGlzIGFscmVhZHkgZGVmaW5lZGApO1xuICAgIH1cbiAgICB0aGlzLmNvaW5Db25zdHJ1Y3RvcnMuc2V0KG5hbWUsIGNvaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBiaXRnbyBJbnN0YW5jZSBvZiBCaXRHb1xuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNvaW4gb3IgYWRkcmVzc1xuICAgKiBAdGhyb3dzIENvaW5Ob3REZWZpbmVkRXJyb3JcbiAgICogQHRocm93cyBVbnN1cHBvcnRlZENvaW5FcnJvclxuICAgKi9cbiAgcHVibGljIGdldEluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIG5hbWU6IHN0cmluZyk6IEJhc2VDb2luIHtcbiAgICBsZXQgc3RhdGljc0NvaW47XG5cbiAgICB0cnkge1xuICAgICAgc3RhdGljc0NvaW4gPSBjb2lucy5nZXQobmFtZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIENvaW5Ob3REZWZpbmVkRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY29uc3RydWN0b3IgPSB0aGlzLmdldENvaW5Db25zdHJ1Y3RvcihuYW1lKTtcblxuICAgIGlmIChjb25zdHJ1Y3Rvcikge1xuICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKG5hbWUpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBHbG9iYWxDb2luRmFjdG9yeTogQ29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcbiJdfQ==
|
|
@@ -1,49 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { GShare, KeyShare, PShare, SignShare,
|
|
3
|
-
import { BitGoBase } from '
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
i: number;
|
|
7
|
-
j: number;
|
|
8
|
-
publicShare: string;
|
|
9
|
-
encryptedPrivateShare: string;
|
|
10
|
-
};
|
|
11
|
-
export declare type DecryptableYShare = {
|
|
12
|
-
yShare: EncryptedYShare;
|
|
13
|
-
recipientPrivateArmor: string;
|
|
14
|
-
senderPublicArmor: string;
|
|
15
|
-
};
|
|
16
|
-
export declare type CombinedKey = {
|
|
17
|
-
commonKeychain: string;
|
|
18
|
-
signingMaterial: SigningMaterial;
|
|
19
|
-
};
|
|
20
|
-
export declare type SigningMaterial = {
|
|
21
|
-
uShare: UShare;
|
|
22
|
-
bitgoYShare: YShare;
|
|
23
|
-
backupYShare?: YShare;
|
|
24
|
-
userYShare?: YShare;
|
|
25
|
-
};
|
|
26
|
-
export declare enum ShareKeyPosition {
|
|
27
|
-
USER = 1,
|
|
28
|
-
BACKUP = 2,
|
|
29
|
-
BITGO = 3
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Prepares a YShare to be exchanged with other key holders.
|
|
33
|
-
* Output is in a format that is usable within BitGo's ecosystem.
|
|
34
|
-
*
|
|
35
|
-
* @param params.keyShare - TSS key share of the party preparing exchange materials
|
|
36
|
-
* @param params.recipientIndex - index of the recipient (1, 2, or 3)
|
|
37
|
-
* @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
|
|
38
|
-
* @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
|
|
39
|
-
* @returns { EncryptedYShare } encrypted Y Share
|
|
40
|
-
*/
|
|
41
|
-
export declare function encryptYShare(params: {
|
|
42
|
-
keyShare: KeyShare;
|
|
43
|
-
recipientIndex: number;
|
|
44
|
-
recipientGpgPublicArmor: string;
|
|
45
|
-
senderGpgPrivateArmor: string;
|
|
46
|
-
}): Promise<EncryptedYShare>;
|
|
2
|
+
import { GShare, KeyShare, PShare, SignShare, YShare } from './../../../account-lib/mpc/tss';
|
|
3
|
+
import { BitGoBase } from './../../bitgoBase';
|
|
4
|
+
import { DecryptableYShare, CombinedKey, EncryptedYShare } from './../types';
|
|
5
|
+
import { SignatureShareRecord, TxRequest } from './../../utils';
|
|
47
6
|
/**
|
|
48
7
|
* Combines YShares to combine the final TSS key
|
|
49
8
|
* This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
|
|
@@ -124,4 +83,20 @@ export declare function getTxRequest(bitgo: BitGoBase, walletId: string, txReque
|
|
|
124
83
|
* @returns {Promise<SignatureShareRecord>} - a Signature Share
|
|
125
84
|
*/
|
|
126
85
|
export declare function sendSignatureShare(bitgo: BitGoBase, walletId: string, txRequestId: string, signatureShare: SignatureShareRecord, signerShare?: string): Promise<SignatureShareRecord>;
|
|
127
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Prepares a YShare to be exchanged with other key holders.
|
|
88
|
+
* Output is in a format that is usable within BitGo's ecosystem.
|
|
89
|
+
*
|
|
90
|
+
* @param params.keyShare - TSS key share of the party preparing exchange materials
|
|
91
|
+
* @param params.recipientIndex - index of the recipient (1, 2, or 3)
|
|
92
|
+
* @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
|
|
93
|
+
* @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
|
|
94
|
+
* @returns { EncryptedYShare } encrypted Y Share
|
|
95
|
+
*/
|
|
96
|
+
export declare function encryptYShare(params: {
|
|
97
|
+
keyShare: KeyShare;
|
|
98
|
+
recipientIndex: number;
|
|
99
|
+
recipientGpgPublicArmor: string;
|
|
100
|
+
senderGpgPrivateArmor: string;
|
|
101
|
+
}): Promise<EncryptedYShare>;
|
|
102
|
+
//# sourceMappingURL=eddsa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/eddsa/eddsa.ts"],"names":[],"mappings":";AAAA,OAAc,EAAE,MAAM,EAAU,QAAQ,EAAE,MAAM,EAAU,SAAS,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACpH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAqC,eAAe,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EAGL,oBAAoB,EAEpB,SAAS,EACV,MAAM,eAAe,CAAC;AAGvB;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8DvB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAQrG;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,SAAS,EACxB,iBAAiB,EAAE,oBAAoB,EACvC,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,SAAS,EACxB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAW9G;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,oBAAoB,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAQ/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,eAAe,CAAC,CAyB3B"}
|