@bitgo/account-lib 2.18.0-rc.2 → 2.18.0-rc.3
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/DEVELOPER.md +1 -1
- package/dist/browser/bitgo-account-lib.min.js +1 -1
- package/dist/package.json +6 -4
- package/dist/src/coin/sol/index.d.ts +3 -0
- package/dist/src/coin/sol/index.d.ts.map +1 -1
- package/dist/src/coin/sol/index.js +8 -2
- package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +1 -1
- package/dist/src/coin/stx/sendmanyBuilder.js +5 -2
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/mpc/curves.d.ts +14 -0
- package/dist/src/mpc/curves.d.ts.map +1 -0
- package/dist/src/mpc/curves.js +99 -0
- package/dist/src/mpc/shamir.d.ts +7 -0
- package/dist/src/mpc/shamir.d.ts.map +1 -0
- package/dist/src/mpc/shamir.js +91 -0
- package/dist/src/mpc/tss.d.ts +69 -0
- package/dist/src/mpc/tss.d.ts.map +1 -0
- package/dist/src/mpc/tss.js +255 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts +49 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts.map +1 -0
- package/dist/src/utils/ed25519KeyDeriver.js +92 -0
- package/package.json +6 -4
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/account-lib",
|
|
3
|
-
"version": "2.18.0-rc.
|
|
3
|
+
"version": "2.18.0-rc.3",
|
|
4
4
|
"description": "BitGo's account library functions",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"node": ">=14 <17"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@bitgo/blake2b": "^3.0.
|
|
40
|
+
"@bitgo/blake2b": "^3.0.2-rc.0",
|
|
41
41
|
"@bitgo/bls": "^0.1.0",
|
|
42
|
-
"@bitgo/statics": "^6.16.0-rc.
|
|
42
|
+
"@bitgo/statics": "^6.16.0-rc.2",
|
|
43
43
|
"@celo/contractkit": "^1.2.4",
|
|
44
44
|
"@ethereumjs/common": "^2.4.0",
|
|
45
45
|
"@ethereumjs/tx": "^3.3.0",
|
|
@@ -62,6 +62,7 @@
|
|
|
62
62
|
"bs58": "^4.0.1",
|
|
63
63
|
"bs58check": "^2.1.2",
|
|
64
64
|
"casper-client-sdk": "1.0.39",
|
|
65
|
+
"create-hmac": "^1.1.7",
|
|
65
66
|
"elliptic": "^6.5.2",
|
|
66
67
|
"ethereumjs-abi": "^0.6.5",
|
|
67
68
|
"ethereumjs-util": "6.2.1",
|
|
@@ -70,6 +71,7 @@
|
|
|
70
71
|
"hi-base32": "^0.5.1",
|
|
71
72
|
"joi": "^17.4.0",
|
|
72
73
|
"libsodium-wrappers": "^0.7.6",
|
|
74
|
+
"libsodium-wrappers-sumo": "^0.7.9",
|
|
73
75
|
"lodash": "^4.17.15",
|
|
74
76
|
"long": "^4.0.0",
|
|
75
77
|
"protobufjs": "^6.8.9",
|
|
@@ -119,5 +121,5 @@
|
|
|
119
121
|
"git add"
|
|
120
122
|
]
|
|
121
123
|
},
|
|
122
|
-
"gitHead": "
|
|
124
|
+
"gitHead": "a6654a58f3d9cb49ebb4c35d6b200308f63e0fd6"
|
|
123
125
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as Utils from './utils';
|
|
2
2
|
export { KeyPair } from './keyPair';
|
|
3
|
+
export { Transaction } from './transaction';
|
|
3
4
|
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
5
|
+
export { TransferBuilder } from './transferBuilder';
|
|
6
|
+
export { WalletInitializationBuilder } from './walletInitializationBuilder';
|
|
4
7
|
export { Utils };
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -19,11 +19,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.Utils = exports.TransactionBuilderFactory = exports.KeyPair = void 0;
|
|
22
|
+
exports.Utils = exports.WalletInitializationBuilder = exports.TransferBuilder = exports.TransactionBuilderFactory = exports.Transaction = exports.KeyPair = void 0;
|
|
23
23
|
var Utils = __importStar(require("./utils"));
|
|
24
24
|
exports.Utils = Utils;
|
|
25
25
|
var keyPair_1 = require("./keyPair");
|
|
26
26
|
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
27
|
+
var transaction_1 = require("./transaction");
|
|
28
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
27
29
|
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
28
30
|
Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
|
|
29
|
-
|
|
31
|
+
var transferBuilder_1 = require("./transferBuilder");
|
|
32
|
+
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
33
|
+
var walletInitializationBuilder_1 = require("./walletInitializationBuilder");
|
|
34
|
+
Object.defineProperty(exports, "WalletInitializationBuilder", { enumerable: true, get: function () { return walletInitializationBuilder_1.WalletInitializationBuilder; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUFpQztBQU94QixzQkFBSztBQUxkLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4Qiw2RUFBNEU7QUFBbkUsMElBQUEsMkJBQTJCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBVdGlscyB9O1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendmanyBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/stx/sendmanyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"sendmanyBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/stx/sendmanyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAoD,MAAM,gBAAgB,CAAC;AAkB1G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,uBAAuB;IAC1D,OAAO,CAAC,WAAW,CAAoB;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;WAI/B,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAS1G,OAAO,CAAC,wBAAwB,CAU9B;IAEF,OAAO,CAAC,yBAAyB;IAkBjC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,GAAG,IAAI;IAejD,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAS5D"}
|
|
@@ -55,6 +55,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
55
55
|
};
|
|
56
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
57
|
exports.SendmanyBuilder = void 0;
|
|
58
|
+
var statics_1 = require("@bitgo/statics");
|
|
58
59
|
var bn_js_1 = __importDefault(require("bn.js"));
|
|
59
60
|
var transactions_1 = require("@stacks/transactions");
|
|
60
61
|
var errors_1 = require("../baseCoin/errors");
|
|
@@ -86,7 +87,9 @@ var SendmanyBuilder = /** @class */ (function (_super) {
|
|
|
86
87
|
SendmanyBuilder.prototype.sendParamsToPostcondition = function (sendParams) {
|
|
87
88
|
var sum = sendParams.reduce(function (current, next) { return current.add(new bn_js_1.default(next.amount)); }, new bn_js_1.default(0));
|
|
88
89
|
return [
|
|
89
|
-
transactions_1.makeStandardSTXPostCondition(utils_1.getSTXAddressFromPubKeys(this._fromPubKeys, this._coinConfig.network.type ===
|
|
90
|
+
transactions_1.makeStandardSTXPostCondition(utils_1.getSTXAddressFromPubKeys(this._fromPubKeys, this._coinConfig.network.type === statics_1.NetworkType.MAINNET
|
|
91
|
+
? transactions_1.AddressVersion.MainnetMultiSig
|
|
92
|
+
: transactions_1.AddressVersion.TestnetMultiSig, this._fromPubKeys.length > 1 ? transactions_1.AddressHashMode.SerializeP2SH : transactions_1.AddressHashMode.SerializeP2PKH, this._numberSignatures).address, transactions_1.FungibleConditionCode.Equal, sum),
|
|
90
93
|
];
|
|
91
94
|
};
|
|
92
95
|
SendmanyBuilder.prototype.initBuilder = function (tx) {
|
|
@@ -134,4 +137,4 @@ var SendmanyBuilder = /** @class */ (function (_super) {
|
|
|
134
137
|
return SendmanyBuilder;
|
|
135
138
|
}(abstractContractBuilder_1.AbstractContractBuilder));
|
|
136
139
|
exports.SendmanyBuilder = SendmanyBuilder;
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZG1hbnlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vc3R4L3NlbmRtYW55QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBMEc7QUFDMUcsZ0RBQTJCO0FBQzNCLHFEQWM4QjtBQUM5Qiw2Q0FBMkQ7QUFFM0QsaUNBTWlCO0FBRWpCLHlDQUE2RTtBQUU3RSxxRUFBb0U7QUFFcEU7SUFBcUMsbUNBQXVCO0lBRzFELHlCQUFZLFdBQWlDO1FBQTdDLFlBQ0Usa0JBQU0sV0FBVyxDQUFDLFNBQ25CO1FBSk8saUJBQVcsR0FBaUIsRUFBRSxDQUFDO1FBZS9CLDhCQUF3QixHQUFHLFVBQUMsVUFBd0IsSUFBcUIsT0FBQTtZQUMvRSxxQkFBTSxDQUNKLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBQyxTQUFTO2dCQUN2QixPQUFBLHNCQUFPLENBQUM7b0JBQ04sRUFBRSxFQUFFLGtDQUFtQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7b0JBQzFDLElBQUksRUFBRSxxQkFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7b0JBQzlCLElBQUksRUFBRSxpQ0FBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztpQkFDL0MsQ0FBQztZQUpGLENBSUUsQ0FDSCxDQUNGO1NBQ0YsRUFWZ0YsQ0FVaEYsQ0FBQzs7SUFyQkYsQ0FBQztJQUVhLG1DQUFtQixHQUFqQyxVQUFrQyxVQUFnQyxFQUFFLE9BQTRCO1FBQzlGLE9BQU8sQ0FDSixVQUFVLENBQUMsT0FBOEIsQ0FBQywyQkFBMkI7WUFDcEUsOEJBQWUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1lBQzFDLGtDQUFzQixLQUFLLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTztZQUN2RCxrQ0FBc0IsS0FBSyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFjTyxtREFBeUIsR0FBakMsVUFBa0MsVUFBd0I7UUFDeEQsSUFBTSxHQUFHLEdBQVcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFDLE9BQU8sRUFBRSxJQUFJLElBQUssT0FBQSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksZUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFwQyxDQUFvQyxFQUFFLElBQUksZUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUcsT0FBTztZQUNMLDJDQUE0QixDQUMxQixnQ0FBd0IsQ0FDdEIsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHFCQUFXLENBQUMsT0FBTztnQkFDbkQsQ0FBQyxDQUFDLDZCQUFjLENBQUMsZUFBZTtnQkFDaEMsQ0FBQyxDQUFDLDZCQUFjLENBQUMsZUFBZSxFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyw4QkFBZSxDQUFDLGNBQWMsRUFDN0YsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDLE9BQU8sRUFDVCxvQ0FBcUIsQ0FBQyxLQUFLLEVBQzNCLEdBQUcsQ0FDSjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQscUNBQVcsR0FBWCxVQUFZLEVBQWU7UUFDekIsaUJBQU0sV0FBVyxZQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0NBQXdCLENBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUErQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDhCQUFJLEdBQUosVUFBSyxFQUFxQztZQUFuQyxPQUFPLGFBQUEsRUFBRSxNQUFNLFlBQUEsRUFBRSxJQUFJLFVBQUE7UUFDMUIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLHNCQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxJQUFJLDhCQUFxQixDQUFDLG1DQUFtQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1NBQ2hGO1FBQ0QsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLHFCQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLDhCQUFxQixDQUFDLGtDQUFrQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1NBQzlFO1FBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxNQUFNLElBQUksOEJBQXFCLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sU0FBQSxFQUFFLE1BQU0sUUFBQSxFQUFFLElBQUksTUFBQSxFQUFFLENBQUMsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDRiw2Q0FBbUIsR0FBbkM7Ozs7O3dCQUNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQThCLENBQUMsMkJBQTJCLENBQUM7d0JBQ3JHLElBQUksQ0FBQyxhQUFhLEdBQUcsa0NBQXNCLENBQUM7d0JBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsa0NBQXNCLENBQUM7d0JBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDckUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGdDQUFpQixDQUFDLElBQUksQ0FBQzt3QkFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUNqRSxxQkFBTSxpQkFBTSxtQkFBbUIsV0FBRSxFQUFBOzRCQUF4QyxzQkFBTyxTQUFpQyxFQUFDOzs7O0tBQzFDO0lBQ0gsc0JBQUM7QUFBRCxDQUFDLEFBbEZELENBQXFDLGlEQUF1QixHQWtGM0Q7QUFsRlksMENBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBOZXR3b3JrVHlwZSwgU3RhY2tzTmV0d29yayBhcyBCaXRnb1N0YWNrc05ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtIGZyb20gJ2JuLmpzJztcbmltcG9ydCB7XG4gIEFkZHJlc3NIYXNoTW9kZSxcbiAgYWRkcmVzc1RvU3RyaW5nLFxuICBBZGRyZXNzVmVyc2lvbixcbiAgYnVmZmVyQ1ZGcm9tU3RyaW5nLFxuICBDbGFyaXR5VmFsdWUsXG4gIEZ1bmdpYmxlQ29uZGl0aW9uQ29kZSxcbiAgbGlzdENWLFxuICBtYWtlU3RhbmRhcmRTVFhQb3N0Q29uZGl0aW9uLFxuICBQb3N0Q29uZGl0aW9uLFxuICBQb3N0Q29uZGl0aW9uTW9kZSxcbiAgc3RhbmRhcmRQcmluY2lwYWxDVixcbiAgdHVwbGVDVixcbiAgdWludENWLFxufSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi9iYXNlQ29pbi9lcnJvcnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7XG4gIGZ1bmN0aW9uQXJnc1RvU2VuZFBhcmFtcyxcbiAgZ2V0U1RYQWRkcmVzc0Zyb21QdWJLZXlzLFxuICBpc1ZhbGlkQWRkcmVzcyxcbiAgaXNWYWxpZEFtb3VudCxcbiAgaXNWYWxpZE1lbW8sXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgU2VuZFBhcmFtcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQ09OVFJBQ1RfTkFNRV9TRU5ETUFOWSwgRlVOQ1RJT05fTkFNRV9TRU5ETUFOWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IENvbnRyYWN0Q2FsbFBheWxvYWQgfSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucy9kaXN0L3BheWxvYWQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIgfSBmcm9tICcuL2Fic3RyYWN0Q29udHJhY3RCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFNlbmRtYW55QnVpbGRlciBleHRlbmRzIEFic3RyYWN0Q29udHJhY3RCdWlsZGVyIHtcbiAgcHJpdmF0ZSBfc2VuZFBhcmFtczogU2VuZFBhcmFtc1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1ZhbGlkQ29udHJhY3RDYWxsKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LCBwYXlsb2FkOiBDb250cmFjdENhbGxQYXlsb2FkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIChjb2luQ29uZmlnLm5ldHdvcmsgYXMgQml0Z29TdGFja3NOZXR3b3JrKS5zZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3MgPT09XG4gICAgICAgIGFkZHJlc3NUb1N0cmluZyhwYXlsb2FkLmNvbnRyYWN0QWRkcmVzcykgJiZcbiAgICAgIENPTlRSQUNUX05BTUVfU0VORE1BTlkgPT09IHBheWxvYWQuY29udHJhY3ROYW1lLmNvbnRlbnQgJiZcbiAgICAgIEZVTkNUSU9OX05BTUVfU0VORE1BTlkgPT09IHBheWxvYWQuZnVuY3Rpb25OYW1lLmNvbnRlbnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZW5kUGFyYW1zVG9GdW5jdGlvbkFyZ3MgPSAoc2VuZFBhcmFtczogU2VuZFBhcmFtc1tdKTogQ2xhcml0eVZhbHVlW10gPT4gW1xuICAgIGxpc3RDVihcbiAgICAgIHNlbmRQYXJhbXMubWFwKChyZWNpcGllbnQpID0+XG4gICAgICAgIHR1cGxlQ1Yoe1xuICAgICAgICAgIHRvOiBzdGFuZGFyZFByaW5jaXBhbENWKHJlY2lwaWVudC5hZGRyZXNzKSxcbiAgICAgICAgICB1c3R4OiB1aW50Q1YocmVjaXBpZW50LmFtb3VudCksXG4gICAgICAgICAgbWVtbzogYnVmZmVyQ1ZGcm9tU3RyaW5nKHJlY2lwaWVudC5tZW1vIHx8ICcnKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICksXG4gIF07XG5cbiAgcHJpdmF0ZSBzZW5kUGFyYW1zVG9Qb3N0Y29uZGl0aW9uKHNlbmRQYXJhbXM6IFNlbmRQYXJhbXNbXSk6IFBvc3RDb25kaXRpb25bXSB7XG4gICAgY29uc3Qgc3VtOiBCaWdOdW0gPSBzZW5kUGFyYW1zLnJlZHVjZSgoY3VycmVudCwgbmV4dCkgPT4gY3VycmVudC5hZGQobmV3IEJpZ051bShuZXh0LmFtb3VudCkpLCBuZXcgQmlnTnVtKDApKTtcbiAgICByZXR1cm4gW1xuICAgICAgbWFrZVN0YW5kYXJkU1RYUG9zdENvbmRpdGlvbihcbiAgICAgICAgZ2V0U1RYQWRkcmVzc0Zyb21QdWJLZXlzKFxuICAgICAgICAgIHRoaXMuX2Zyb21QdWJLZXlzLFxuICAgICAgICAgIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUXG4gICAgICAgICAgICA/IEFkZHJlc3NWZXJzaW9uLk1haW5uZXRNdWx0aVNpZ1xuICAgICAgICAgICAgOiBBZGRyZXNzVmVyc2lvbi5UZXN0bmV0TXVsdGlTaWcsXG4gICAgICAgICAgdGhpcy5fZnJvbVB1YktleXMubGVuZ3RoID4gMSA/IEFkZHJlc3NIYXNoTW9kZS5TZXJpYWxpemVQMlNIIDogQWRkcmVzc0hhc2hNb2RlLlNlcmlhbGl6ZVAyUEtILFxuICAgICAgICAgIHRoaXMuX251bWJlclNpZ25hdHVyZXMsXG4gICAgICAgICkuYWRkcmVzcyxcbiAgICAgICAgRnVuZ2libGVDb25kaXRpb25Db2RlLkVxdWFsLFxuICAgICAgICBzdW0sXG4gICAgICApLFxuICAgIF07XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy5fc2VuZFBhcmFtcyA9IGZ1bmN0aW9uQXJnc1RvU2VuZFBhcmFtcygodHguc3R4VHJhbnNhY3Rpb24ucGF5bG9hZCBhcyBDb250cmFjdENhbGxQYXlsb2FkKS5mdW5jdGlvbkFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqICBTZXQgYSB0cmFuc2ZlclxuICAgKlxuICAgKiBAcGFyYW0ge1NlbmRQYXJhbXN9IHNlbmRQYXJhbXMgLSB0aGUgc2VuZGVyIGFkZHJlc3NcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kKHsgYWRkcmVzcywgYW1vdW50LCBtZW1vIH06IFNlbmRQYXJhbXMpOiB0aGlzIHtcbiAgICBpZiAoIWFkZHJlc3MgfHwgIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYWRkcmVzcywgZ290OiAnICsgYWRkcmVzcyk7XG4gICAgfVxuICAgIGlmICghYW1vdW50IHx8ICFpc1ZhbGlkQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBhbW91bnQsIGdvdDogJyArIGFtb3VudCk7XG4gICAgfVxuICAgIGlmICghIW1lbW8gJiYgIWlzVmFsaWRNZW1vKG1lbW8pKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG1lbW8sIGdvdDogJyArIG1lbW8pO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbmRQYXJhbXMucHVzaCh7IGFkZHJlc3MsIGFtb3VudCwgbWVtbyB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy5fY29udHJhY3RBZGRyZXNzID0gKHRoaXMuX2NvaW5Db25maWcubmV0d29yayBhcyBCaXRnb1N0YWNrc05ldHdvcmspLnNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzcztcbiAgICB0aGlzLl9jb250cmFjdE5hbWUgPSBDT05UUkFDVF9OQU1FX1NFTkRNQU5ZO1xuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IEZVTkNUSU9OX05BTUVfU0VORE1BTlk7XG4gICAgdGhpcy5fZnVuY3Rpb25BcmdzID0gdGhpcy5zZW5kUGFyYW1zVG9GdW5jdGlvbkFyZ3ModGhpcy5fc2VuZFBhcmFtcyk7XG4gICAgdGhpcy5fcG9zdENvbmRpdGlvbk1vZGUgPSBQb3N0Q29uZGl0aW9uTW9kZS5EZW55O1xuICAgIHRoaXMuX3Bvc3RDb25kaXRpb25zID0gdGhpcy5zZW5kUGFyYW1zVG9Qb3N0Y29uZGl0aW9uKHRoaXMuX3NlbmRQYXJhbXMpO1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
2
|
import * as crypto from './utils/crypto';
|
|
3
3
|
export { crypto };
|
|
4
|
+
import { Ed25519KeyDeriver } from './utils/ed25519KeyDeriver';
|
|
5
|
+
export { Ed25519KeyDeriver };
|
|
4
6
|
import * as BaseCoin from './coin/baseCoin';
|
|
5
7
|
export { BaseCoin };
|
|
6
8
|
import * as Trx from './coin/trx';
|
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,OAAO,EAAS,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAG7B,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AACf,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,CAAC;AAkCf;;GAEG;AACH,eAAO,MAAM,cAAc,UAA8B,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,CAO3E;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,CAAC,6BAA6B,EACvE,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE;IAAE,KAAK,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;CAAE,GAC7D,CAAC,CAMH"}
|
package/dist/src/index.js
CHANGED
|
@@ -19,11 +19,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.register = exports.getBuilder = exports.supportedCoins = exports.Dot = exports.Sol = exports.Algo = exports.Stx = exports.Xrp = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth2 = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.crypto = void 0;
|
|
22
|
+
exports.register = exports.getBuilder = exports.supportedCoins = exports.Dot = exports.Sol = exports.Algo = exports.Stx = exports.Xrp = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth2 = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.Ed25519KeyDeriver = exports.crypto = void 0;
|
|
23
23
|
var statics_1 = require("@bitgo/statics");
|
|
24
24
|
var errors_1 = require("./coin/baseCoin/errors");
|
|
25
25
|
var crypto = __importStar(require("./utils/crypto"));
|
|
26
26
|
exports.crypto = crypto;
|
|
27
|
+
var ed25519KeyDeriver_1 = require("./utils/ed25519KeyDeriver");
|
|
28
|
+
Object.defineProperty(exports, "Ed25519KeyDeriver", { enumerable: true, get: function () { return ed25519KeyDeriver_1.Ed25519KeyDeriver; } });
|
|
27
29
|
// coins
|
|
28
30
|
var BaseCoin = __importStar(require("./coin/baseCoin"));
|
|
29
31
|
exports.BaseCoin = BaseCoin;
|
|
@@ -121,4 +123,4 @@ function register(coinName, builderFactory) {
|
|
|
121
123
|
return factory;
|
|
122
124
|
}
|
|
123
125
|
exports.register = register;
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUErRDtBQUMvRCxpREFBK0Q7QUFFL0QscURBQXlDO0FBQ2hDLHdCQUFNO0FBRWYsK0RBQThEO0FBQ3JELGtHQURBLHFDQUFpQixPQUNBO0FBRTFCLFFBQVE7QUFDUix3REFBNEM7QUFDbkMsNEJBQVE7QUFFakIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosa0RBQXNDO0FBQzdCLHNCQUFLO0FBRWQsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBQ1osOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosSUFBTSxjQUFjLEdBQUc7SUFDckIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxjQUFjO0lBQ3ZCLElBQUksRUFBRSxHQUFHLENBQUMsY0FBYztJQUN4QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtDQUNwQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRTFEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLFFBQWdCO0lBQ3pDLElBQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw4QkFBcUIsQ0FBQyxVQUFRLFFBQVEsbUJBQWdCLENBQUMsQ0FBQztLQUNuRTtJQUVELE9BQU8sSUFBSSxZQUFZLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFQRCxnQ0FPQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FDdEIsUUFBZ0IsRUFDaEIsY0FBOEQ7SUFFOUQsSUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxJQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxzQ0FBc0M7SUFDdEMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLGdGQUFnRjtJQUMzSCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBVEQsNEJBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucywgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJy4vY29pbi9iYXNlQ29pbi9lcnJvcnMnO1xuXG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnLi91dGlscy9jcnlwdG8nO1xuZXhwb3J0IHsgY3J5cHRvIH07XG5cbmltcG9ydCB7IEVkMjU1MTlLZXlEZXJpdmVyIH0gZnJvbSAnLi91dGlscy9lZDI1NTE5S2V5RGVyaXZlcic7XG5leHBvcnQgeyBFZDI1NTE5S2V5RGVyaXZlciB9O1xuXG4vLyBjb2luc1xuaW1wb3J0ICogYXMgQmFzZUNvaW4gZnJvbSAnLi9jb2luL2Jhc2VDb2luJztcbmV4cG9ydCB7IEJhc2VDb2luIH07XG5cbmltcG9ydCAqIGFzIFRyeCBmcm9tICcuL2NvaW4vdHJ4JztcbmV4cG9ydCB7IFRyeCB9O1xuXG5pbXBvcnQgKiBhcyBYdHogZnJvbSAnLi9jb2luL3h0eic7XG5leHBvcnQgeyBYdHogfTtcblxuaW1wb3J0ICogYXMgRXRoIGZyb20gJy4vY29pbi9ldGgnO1xuZXhwb3J0IHsgRXRoIH07XG5cbmltcG9ydCAqIGFzIEV0aDIgZnJvbSAnLi9jb2luL2V0aDInO1xuZXhwb3J0IHsgRXRoMiB9O1xuXG5pbXBvcnQgKiBhcyBFdGMgZnJvbSAnLi9jb2luL2V0Yyc7XG5leHBvcnQgeyBFdGMgfTtcblxuaW1wb3J0ICogYXMgQXZheEMgZnJvbSAnLi9jb2luL2F2YXhjJztcbmV4cG9ydCB7IEF2YXhDIH07XG5cbmltcG9ydCAqIGFzIFJidGMgZnJvbSAnLi9jb2luL3JidGMnO1xuZXhwb3J0IHsgUmJ0YyB9O1xuXG5pbXBvcnQgKiBhcyBDZWxvIGZyb20gJy4vY29pbi9jZWxvJztcbmV4cG9ydCB7IENlbG8gfTtcblxuaW1wb3J0ICogYXMgSGJhciBmcm9tICcuL2NvaW4vaGJhcic7XG5leHBvcnQgeyBIYmFyIH07XG5cbmltcG9ydCAqIGFzIENzcHIgZnJvbSAnLi9jb2luL2NzcHInO1xuZXhwb3J0IHsgQ3NwciB9O1xuXG5pbXBvcnQgKiBhcyBYcnAgZnJvbSAnLi9jb2luL3hycCc7XG5leHBvcnQgeyBYcnAgfTtcblxuaW1wb3J0ICogYXMgU3R4IGZyb20gJy4vY29pbi9zdHgnO1xuZXhwb3J0IHsgU3R4IH07XG5cbmltcG9ydCAqIGFzIEFsZ28gZnJvbSAnLi9jb2luL2FsZ28nO1xuZXhwb3J0IHsgQWxnbyB9O1xuXG5pbXBvcnQgKiBhcyBTb2wgZnJvbSAnLi9jb2luL3NvbCc7XG5leHBvcnQgeyBTb2wgfTtcbmltcG9ydCAqIGFzIERvdCBmcm9tICcuL2NvaW4vZG90JztcbmV4cG9ydCB7IERvdCB9O1xuXG5jb25zdCBjb2luQnVpbGRlck1hcCA9IHtcbiAgdHJ4OiBUcnguV3JhcHBlZEJ1aWxkZXIsXG4gIHR0cng6IFRyeC5XcmFwcGVkQnVpbGRlcixcbiAgeHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0eHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZ3RldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHJidGM6IFJidGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0cmJ0YzogUmJ0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGNlbG86IENlbG8uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0Y2VsbzogQ2Vsby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhdmF4YzogQXZheEMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgeHJwOiBYcnAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHhycDogWHJwLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbn07XG5cbi8qKlxuICogR2V0IHRoZSBsaXN0IG9mIGNvaW4gdGlja2VycyBzdXBwb3J0ZWQgYnkgdGhpcyBsaWJyYXJ5LlxuICovXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkQ29pbnMgPSBPYmplY3Qua2V5cyhjb2luQnVpbGRlck1hcCk7XG5cbi8qKlxuICogR2V0IGEgdHJhbnNhY3Rpb24gYnVpbGRlciBmb3IgdGhlIGdpdmVuIGNvaW4uXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIE9uZSBvZiB0aGUge0Bjb2RlIHN1cHBvcnRlZENvaW5zfVxuICogQHJldHVybnMge2FueX0gQW4gaW5zdGFuY2Ugb2YgYSB7QGNvZGUgVHJhbnNhY3Rpb25CdWlsZGVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVpbGRlcihjb2luTmFtZTogc3RyaW5nKTogQmFzZUNvaW4uSW50ZXJmYWNlLkJhc2VCdWlsZGVyIHtcbiAgY29uc3QgYnVpbGRlckNsYXNzID0gY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdO1xuICBpZiAoIWJ1aWxkZXJDbGFzcykge1xuICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYENvaW4gJHtjb2luTmFtZX0gbm90IHN1cHBvcnRlZGApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBidWlsZGVyQ2xhc3MoY29pbnMuZ2V0KGNvaW5OYW1lKSk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBuZXcgY29pbiBpbnN0YW5jZSB3aXRoIGl0cyBidWlsZGVyIGZhY3RvcnlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgY29pbiBuYW1lIGFzIGl0IHdhcyByZWdpc3RlcmVkIGluIEBiaXRnby9zdGF0aWNzXG4gKiBAcGFyYW0ge2FueX0gYnVpbGRlckZhY3RvcnkgdGhlIGJ1aWxkZXIgZmFjdG9yeSBjbGFzcyBmb3IgdGhhdCBjb2luXG4gKiBAcmV0dXJucyB7YW55fSB0aGUgZmFjdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHJlZ2lzdGVyZWQgY29pblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXI8VCBleHRlbmRzIEJhc2VDb2luLkJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5PihcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgYnVpbGRlckZhY3Rvcnk6IHsgbmV3IChfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBUIH0sXG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgYnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gIC8vIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGZhY3Rvcnk7XG4gIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGJ1aWxkZXJGYWN0b3J5OyAvLyBGb3Igbm93IHJlZ2lzdGVyIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB1bnRpbCByZWltcGxlbWVudCBnZXRCdWlsZGVyIG1ldGhvZFxuICByZXR1cm4gZmFjdG9yeTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const Ed25519Curve: () => Promise<{
|
|
2
|
+
scalarRandom: () => Uint8Array;
|
|
3
|
+
scalarReduce: (s: Uint8Array) => Uint8Array;
|
|
4
|
+
scalarNegate: (s: Uint8Array) => Uint8Array;
|
|
5
|
+
scalarInvert: (s: Uint8Array) => Uint8Array;
|
|
6
|
+
scalarAdd: (x: Uint8Array, y: Uint8Array) => Uint8Array;
|
|
7
|
+
scalarSub: (x: Uint8Array, y: Uint8Array) => Uint8Array;
|
|
8
|
+
scalarMult: (x: Uint8Array, y: Uint8Array) => Uint8Array;
|
|
9
|
+
basePointMult: (n: Uint8Array) => Uint8Array;
|
|
10
|
+
pointAdd: (p: Uint8Array, q: Uint8Array) => Uint8Array;
|
|
11
|
+
verify: (y: Uint8Array, signedMessage: Uint8Array) => Uint8Array;
|
|
12
|
+
}>;
|
|
13
|
+
export default Ed25519Curve;
|
|
14
|
+
//# sourceMappingURL=curves.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curves.d.ts","sourceRoot":"","sources":["../../../src/mpc/curves.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY;wBAIS,UAAU;sBAKV,UAAU,KAAG,UAAU;sBAIvB,UAAU,KAAG,UAAU;sBAIvB,UAAU,KAAG,UAAU;mBAI1B,UAAU,KAAK,UAAU,KAAG,UAAU;mBAItC,UAAU,KAAK,UAAU,KAAG,UAAU;oBAIrC,UAAU,KAAK,UAAU,KAAG,UAAU;uBAInC,UAAU,KAAG,UAAU;kBAI5B,UAAU,KAAK,UAAU,KAAG,UAAU;gBAIxC,UAAU,iBAAiB,UAAU,KAAG,UAAU;EAgBtE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var sodium = require('libsodium-wrappers-sumo');
|
|
40
|
+
var crypto_1 = require("crypto");
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
42
|
+
var Ed25519Curve = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
43
|
+
var scalarRandom, scalarReduce, scalarNegate, scalarInvert, scalarAdd, scalarSub, scalarMult, basePointMult, pointAdd, verify;
|
|
44
|
+
return __generator(this, function (_a) {
|
|
45
|
+
switch (_a.label) {
|
|
46
|
+
case 0:
|
|
47
|
+
// sodium requires await for ready within block scope
|
|
48
|
+
return [4 /*yield*/, sodium.ready];
|
|
49
|
+
case 1:
|
|
50
|
+
// sodium requires await for ready within block scope
|
|
51
|
+
_a.sent();
|
|
52
|
+
scalarRandom = function () {
|
|
53
|
+
var random_buffer = crypto_1.randomBytes(64);
|
|
54
|
+
return sodium.crypto_core_ed25519_scalar_reduce(random_buffer);
|
|
55
|
+
};
|
|
56
|
+
scalarReduce = function (s) {
|
|
57
|
+
return sodium.crypto_core_ed25519_scalar_reduce(s);
|
|
58
|
+
};
|
|
59
|
+
scalarNegate = function (s) {
|
|
60
|
+
return sodium.crypto_core_ed25519_scalar_negate(s);
|
|
61
|
+
};
|
|
62
|
+
scalarInvert = function (s) {
|
|
63
|
+
return sodium.crypto_core_ed25519_scalar_invert(s);
|
|
64
|
+
};
|
|
65
|
+
scalarAdd = function (x, y) {
|
|
66
|
+
return sodium.crypto_core_ed25519_scalar_add(x, y);
|
|
67
|
+
};
|
|
68
|
+
scalarSub = function (x, y) {
|
|
69
|
+
return sodium.crypto_core_ed25519_scalar_sub(x, y);
|
|
70
|
+
};
|
|
71
|
+
scalarMult = function (x, y) {
|
|
72
|
+
return sodium.crypto_core_ed25519_scalar_mul(x, y);
|
|
73
|
+
};
|
|
74
|
+
basePointMult = function (n) {
|
|
75
|
+
return sodium.crypto_scalarmult_ed25519_base_noclamp(n);
|
|
76
|
+
};
|
|
77
|
+
pointAdd = function (p, q) {
|
|
78
|
+
return sodium.crypto_core_ed25519_add(p, q);
|
|
79
|
+
};
|
|
80
|
+
verify = function (y, signedMessage) {
|
|
81
|
+
return sodium.crypto_sign_open(signedMessage, y);
|
|
82
|
+
};
|
|
83
|
+
return [2 /*return*/, {
|
|
84
|
+
scalarRandom: scalarRandom,
|
|
85
|
+
scalarReduce: scalarReduce,
|
|
86
|
+
scalarNegate: scalarNegate,
|
|
87
|
+
scalarInvert: scalarInvert,
|
|
88
|
+
scalarAdd: scalarAdd,
|
|
89
|
+
scalarSub: scalarSub,
|
|
90
|
+
scalarMult: scalarMult,
|
|
91
|
+
basePointMult: basePointMult,
|
|
92
|
+
pointAdd: pointAdd,
|
|
93
|
+
verify: verify,
|
|
94
|
+
}];
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}); };
|
|
98
|
+
exports.default = Ed25519Curve;
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VydmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy9jdXJ2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNsRCxpQ0FBMEQ7QUFFMUQsNkVBQTZFO0FBQzdFLElBQU0sWUFBWSxHQUFHOzs7OztZQUNuQixxREFBcUQ7WUFDckQscUJBQU0sTUFBTSxDQUFDLEtBQUssRUFBQTs7Z0JBRGxCLHFEQUFxRDtnQkFDckQsU0FBa0IsQ0FBQztnQkFFYixZQUFZLEdBQUc7b0JBQ25CLElBQU0sYUFBYSxHQUFHLG9CQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM1QyxPQUFPLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDakUsQ0FBQyxDQUFDO2dCQUVJLFlBQVksR0FBRyxVQUFDLENBQWE7b0JBQ2pDLE9BQU8sTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUM7Z0JBRUksWUFBWSxHQUFHLFVBQUMsQ0FBYTtvQkFDakMsT0FBTyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELENBQUMsQ0FBQztnQkFFSSxZQUFZLEdBQUcsVUFBQyxDQUFhO29CQUNqQyxPQUFPLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDO2dCQUVJLFNBQVMsR0FBRyxVQUFDLENBQWEsRUFBRSxDQUFhO29CQUM3QyxPQUFPLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELENBQUMsQ0FBQztnQkFFSSxTQUFTLEdBQUcsVUFBQyxDQUFhLEVBQUUsQ0FBYTtvQkFDN0MsT0FBTyxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUM7Z0JBRUksVUFBVSxHQUFHLFVBQUMsQ0FBYSxFQUFFLENBQWE7b0JBQzlDLE9BQU8sTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDO2dCQUVJLGFBQWEsR0FBRyxVQUFDLENBQWE7b0JBQ2xDLE9BQU8sTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxDQUFDLENBQUM7Z0JBRUksUUFBUSxHQUFHLFVBQUMsQ0FBYSxFQUFFLENBQWE7b0JBQzVDLE9BQU8sTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDOUMsQ0FBQyxDQUFDO2dCQUVJLE1BQU0sR0FBRyxVQUFDLENBQWEsRUFBRSxhQUF5QjtvQkFDdEQsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUM7Z0JBRUYsc0JBQU87d0JBQ0wsWUFBWSxjQUFBO3dCQUNaLFlBQVksY0FBQTt3QkFDWixZQUFZLGNBQUE7d0JBQ1osWUFBWSxjQUFBO3dCQUNaLFNBQVMsV0FBQTt3QkFDVCxTQUFTLFdBQUE7d0JBQ1QsVUFBVSxZQUFBO3dCQUNWLGFBQWEsZUFBQTt3QkFDYixRQUFRLFVBQUE7d0JBQ1IsTUFBTSxRQUFBO3FCQUNQLEVBQUM7OztLQUNILENBQUM7QUFFRixrQkFBZSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzb2RpdW0gPSByZXF1aXJlKCdsaWJzb2RpdW0td3JhcHBlcnMtc3VtbycpO1xuaW1wb3J0IHsgcmFuZG9tQnl0ZXMgYXMgY3J5cHRvUmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuY29uc3QgRWQyNTUxOUN1cnZlID0gYXN5bmMgKCkgPT4ge1xuICAvLyBzb2RpdW0gcmVxdWlyZXMgYXdhaXQgZm9yIHJlYWR5IHdpdGhpbiBibG9jayBzY29wZVxuICBhd2FpdCBzb2RpdW0ucmVhZHk7XG5cbiAgY29uc3Qgc2NhbGFyUmFuZG9tID0gKCk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIGNvbnN0IHJhbmRvbV9idWZmZXIgPSBjcnlwdG9SYW5kb21CeXRlcyg2NCk7XG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9yZWR1Y2UocmFuZG9tX2J1ZmZlcik7XG4gIH07XG5cbiAgY29uc3Qgc2NhbGFyUmVkdWNlID0gKHM6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3JlZHVjZShzKTtcbiAgfTtcblxuICBjb25zdCBzY2FsYXJOZWdhdGUgPSAoczogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfbmVnYXRlKHMpO1xuICB9O1xuXG4gIGNvbnN0IHNjYWxhckludmVydCA9IChzOiBVaW50OEFycmF5KTogVWludDhBcnJheSA9PiB7XG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9pbnZlcnQocyk7XG4gIH07XG5cbiAgY29uc3Qgc2NhbGFyQWRkID0gKHg6IFVpbnQ4QXJyYXksIHk6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX2FkZCh4LCB5KTtcbiAgfTtcblxuICBjb25zdCBzY2FsYXJTdWIgPSAoeDogVWludDhBcnJheSwgeTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfc3ViKHgsIHkpO1xuICB9O1xuXG4gIGNvbnN0IHNjYWxhck11bHQgPSAoeDogVWludDhBcnJheSwgeTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfbXVsKHgsIHkpO1xuICB9O1xuXG4gIGNvbnN0IGJhc2VQb2ludE11bHQgPSAobjogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAobik7XG4gIH07XG5cbiAgY29uc3QgcG9pbnRBZGQgPSAocDogVWludDhBcnJheSwgcTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9hZGQocCwgcSk7XG4gIH07XG5cbiAgY29uc3QgdmVyaWZ5ID0gKHk6IFVpbnQ4QXJyYXksIHNpZ25lZE1lc3NhZ2U6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19zaWduX29wZW4oc2lnbmVkTWVzc2FnZSwgeSk7XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBzY2FsYXJSYW5kb20sXG4gICAgc2NhbGFyUmVkdWNlLFxuICAgIHNjYWxhck5lZ2F0ZSxcbiAgICBzY2FsYXJJbnZlcnQsXG4gICAgc2NhbGFyQWRkLFxuICAgIHNjYWxhclN1YixcbiAgICBzY2FsYXJNdWx0LFxuICAgIGJhc2VQb2ludE11bHQsXG4gICAgcG9pbnRBZGQsXG4gICAgdmVyaWZ5LFxuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRWQyNTUxOUN1cnZlO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
declare const Shamir: (curve: any) => {
|
|
3
|
+
split: (secret: Buffer, threshold: number, numShares: number, indices?: number[] | undefined) => Record<number, Buffer>;
|
|
4
|
+
combine: (shares: Record<number, Buffer>) => Buffer;
|
|
5
|
+
};
|
|
6
|
+
export default Shamir;
|
|
7
|
+
//# sourceMappingURL=shamir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shamir.d.ts","sourceRoot":"","sources":["../../../src/mpc/shamir.ts"],"names":[],"mappings":";AAEA,QAAA,MAAM,MAAM,UAAW,GAAG;oBAad,MAAM,aACH,MAAM,aACN,MAAM,qCAEhB,OAAO,MAAM,EAAE,MAAM,CAAC;sBAsCA,OAAO,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM;CAuCzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var assert = require('assert');
|
|
4
|
+
var Shamir = function (curve) {
|
|
5
|
+
/**
|
|
6
|
+
* Perform Shamir sharing on the secret `secret` to the degree `threshold - 1` split `numShares`
|
|
7
|
+
* ways. The split secret requires `threshold` shares to be reconstructed.
|
|
8
|
+
*
|
|
9
|
+
* @param secret secret to split
|
|
10
|
+
* @param threshold share threshold required to reconstruct secret
|
|
11
|
+
* @param numShares total number of shares to split to split secret into
|
|
12
|
+
* @param indices
|
|
13
|
+
* @returns Dictionary of shares. Each key is an int in the range 1<=x<=numShares
|
|
14
|
+
* representing that share's free term.
|
|
15
|
+
*/
|
|
16
|
+
var split = function (secret, threshold, numShares, indices) {
|
|
17
|
+
if (indices === undefined) {
|
|
18
|
+
// make range(1, n + 1)
|
|
19
|
+
indices = Array.from({ length: numShares }, function (_, i) { return i + 1; });
|
|
20
|
+
}
|
|
21
|
+
assert(threshold > 1);
|
|
22
|
+
assert(threshold <= numShares);
|
|
23
|
+
var coefs = [];
|
|
24
|
+
for (var ind = 0; ind < threshold - 1; ind++) {
|
|
25
|
+
var random_value = curve.scalarRandom();
|
|
26
|
+
coefs.push(random_value);
|
|
27
|
+
}
|
|
28
|
+
coefs.push(secret);
|
|
29
|
+
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);
|
|
35
|
+
var partial = coefs[0];
|
|
36
|
+
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;
|
|
40
|
+
}
|
|
41
|
+
shares[x] = Buffer.from(partial);
|
|
42
|
+
}
|
|
43
|
+
return shares;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Reconstitute a secret from a dictionary of shares. The number of shares must
|
|
47
|
+
* be equal to `t` to reconstitute the original secret.
|
|
48
|
+
*
|
|
49
|
+
* @param shares dictionary of shares. each key is the free term of the share
|
|
50
|
+
* @returns secret
|
|
51
|
+
*/
|
|
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);
|
|
65
|
+
if (xi !== xj) {
|
|
66
|
+
num_buffer = curve.scalarMult(num_buffer, xj_buffer);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
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);
|
|
73
|
+
if (xi !== xj) {
|
|
74
|
+
denum_buffer = curve.scalarMult(denum_buffer, curve.scalarSub(xj_buffer, xi_buffer));
|
|
75
|
+
}
|
|
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);
|
|
82
|
+
}
|
|
83
|
+
return s;
|
|
84
|
+
};
|
|
85
|
+
return {
|
|
86
|
+
split: split,
|
|
87
|
+
combine: combine,
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
exports.default = Shamir;
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsSUFBTSxNQUFNLEdBQUcsVUFBQyxLQUFVO0lBQ3hCOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFNLEtBQUssR0FBRyxVQUNaLE1BQWMsRUFDZCxTQUFpQixFQUNqQixTQUFpQixFQUNqQixPQUF1QjtRQUV2QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsdUJBQXVCO1lBQ3ZCLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLEVBQUwsQ0FBSyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUM7UUFDL0IsSUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQzNCLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVDLElBQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuQixJQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBQzFDLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzdD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QU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEQsSUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0QsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekQsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsS0FBSyxPQUFBO1FBQ0wsT0FBTyxTQUFBO0tBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGtCQUFlLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuXG5jb25zdCBTaGFtaXIgPSAoY3VydmU6IGFueSkgPT4ge1xuICAvKipcbiAgICogUGVyZm9ybSBTaGFtaXIgc2hhcmluZyBvbiB0aGUgc2VjcmV0IGBzZWNyZXRgIHRvIHRoZSBkZWdyZWUgYHRocmVzaG9sZCAtIDFgIHNwbGl0IGBudW1TaGFyZXNgXG4gICAqIHdheXMuIFRoZSBzcGxpdCBzZWNyZXQgcmVxdWlyZXMgYHRocmVzaG9sZGAgc2hhcmVzIHRvIGJlIHJlY29uc3RydWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBzZWNyZXQgc2VjcmV0IHRvIHNwbGl0XG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgc2hhcmUgdGhyZXNob2xkIHJlcXVpcmVkIHRvIHJlY29uc3RydWN0IHNlY3JldFxuICAgKiBAcGFyYW0gbnVtU2hhcmVzIHRvdGFsIG51bWJlciBvZiBzaGFyZXMgdG8gc3BsaXQgdG8gc3BsaXQgc2VjcmV0IGludG9cbiAgICogQHBhcmFtIGluZGljZXNcbiAgICogQHJldHVybnMgRGljdGlvbmFyeSBvZiBzaGFyZXMuIEVhY2gga2V5IGlzIGFuIGludCBpbiB0aGUgcmFuZ2UgMTw9eDw9bnVtU2hhcmVzXG4gICAqIHJlcHJlc2VudGluZyB0aGF0IHNoYXJlJ3MgZnJlZSB0ZXJtLlxuICAgKi9cbiAgY29uc3Qgc3BsaXQgPSAoXG4gICAgc2VjcmV0OiBCdWZmZXIsXG4gICAgdGhyZXNob2xkOiBudW1iZXIsXG4gICAgbnVtU2hhcmVzOiBudW1iZXIsXG4gICAgaW5kaWNlcz86IEFycmF5PG51bWJlcj4sXG4gICk6IFJlY29yZDxudW1iZXIsIEJ1ZmZlcj4gPT4ge1xuICAgIGlmIChpbmRpY2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIG1ha2UgcmFuZ2UoMSwgbiArIDEpXG4gICAgICBpbmRpY2VzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogbnVtU2hhcmVzIH0sIChfLCBpKSA9PiBpICsgMSk7XG4gICAgfVxuICAgIGFzc2VydCh0aHJlc2hvbGQgPiAxKTtcbiAgICBhc3NlcnQodGhyZXNob2xkIDw9IG51bVNoYXJlcyk7XG4gICAgY29uc3QgY29lZnM6IEJ1ZmZlcltdID0gW107XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgdGhyZXNob2xkIC0gMTsgaW5kKyspIHtcbiAgICAgIGNvbnN0IHJhbmRvbV92YWx1ZSA9IGN1cnZlLnNjYWxhclJhbmRvbSgpO1xuICAgICAgY29lZnMucHVzaChyYW5kb21fdmFsdWUpO1xuICAgIH1cbiAgICBjb2Vmcy5wdXNoKHNlY3JldCk7XG5cbiAgICBjb25zdCBzaGFyZXM6IFJlY29yZDxudW1iZXIsIEJ1ZmZlcj4gPSB7fTtcbiAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCBpbmRpY2VzLmxlbmd0aDsgaW5kKyspIHtcbiAgICAgIGNvbnN0IHggPSBpbmRpY2VzW2luZF07XG4gICAgICBjb25zdCB4X2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICAvLyBUT0RPIEJHLTQwOTA4IDogY29udmVydGluZyBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiB0byBidWZmZXJzXG4gICAgICB4X2J1ZmZlci53cml0ZVVJbnQzMkxFKHgsIDApO1xuICAgICAgbGV0IHBhcnRpYWwgPSBjb2Vmc1swXTtcbiAgICAgIGZvciAobGV0IG90aGVyID0gMTsgb3RoZXIgPCBjb2Vmcy5sZW5ndGg7IG90aGVyKyspIHtcbiAgICAgICAgY29uc3Qgc2NhbGFyTXVsdCA9IGN1cnZlLnNjYWxhck11bHQocGFydGlhbCwgeF9idWZmZXIpO1xuICAgICAgICBjb25zdCBuZXdBZGQgPSBjdXJ2ZS5zY2FsYXJBZGQoY29lZnNbb3RoZXJdLCBzY2FsYXJNdWx0KTtcbiAgICAgICAgcGFydGlhbCA9IG5ld0FkZDtcbiAgICAgIH1cbiAgICAgIHNoYXJlc1t4XSA9IEJ1ZmZlci5mcm9tKHBhcnRpYWwpO1xuICAgIH1cbiAgICByZXR1cm4gc2hhcmVzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZWNvbnN0aXR1dGUgYSBzZWNyZXQgZnJvbSBhIGRpY3Rpb25hcnkgb2Ygc2hhcmVzLiBUaGUgbnVtYmVyIG9mIHNoYXJlcyBtdXN0XG4gICAqIGJlIGVxdWFsIHRvIGB0YCB0byByZWNvbnN0aXR1dGUgdGhlIG9yaWdpbmFsIHNlY3JldC5cbiAgICpcbiAgICogQHBhcmFtIHNoYXJlcyBkaWN0aW9uYXJ5IG9mIHNoYXJlcy4gZWFjaCBrZXkgaXMgdGhlIGZyZWUgdGVybSBvZiB0aGUgc2hhcmVcbiAgICogQHJldHVybnMgc2VjcmV0XG4gICAqL1xuICBjb25zdCBjb21iaW5lID0gKHNoYXJlczogUmVjb3JkPG51bWJlciwgQnVmZmVyPik6IEJ1ZmZlciA9PiB7XG4gICAgbGV0IHMgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgIGZvciAoY29uc3QgeGkgaW4gc2hhcmVzKSB7XG4gICAgICBjb25zdCB5aSA9IHNoYXJlc1t4aV07XG4gICAgICBjb25zdCB4aV9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgbGV0IG51bV9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgbGV0IGRlbnVtX2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICB4aV9idWZmZXIud3JpdGVVSW50MzJMRShwYXJzZUludCh4aSwgMTApLCAwKTtcbiAgICAgIG51bV9idWZmZXIud3JpdGVVSW50MzJMRSgxLCAwKTtcbiAgICAgIGRlbnVtX2J1ZmZlci53cml0ZVVJbnQzMkxFKDEsIDApO1xuXG4gICAgICBmb3IgKGNvbnN0IHhqIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB4al9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgICB4al9idWZmZXIud3JpdGVVSW50MzJMRShwYXJzZUludCh4aiwgMTApLCAwKTtcbiAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgIG51bV9idWZmZXIgPSBjdXJ2ZS5zY2FsYXJNdWx0KG51bV9idWZmZXIsIHhqX2J1ZmZlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG51bV9idWZmZXIgPSBCdWZmZXIuZnJvbShudW1fYnVmZmVyKTtcbiAgICAgIGZvciAoY29uc3QgeGogaW4gc2hhcmVzKSB7XG4gICAgICAgIGNvbnN0IHhqX2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICAgIHhqX2J1ZmZlci53cml0ZVVJbnQzMkxFKHBhcnNlSW50KHhqLCAxMCksIDApO1xuICAgICAgICBpZiAoeGkgIT09IHhqKSB7XG4gICAgICAgICAgZGVudW1fYnVmZmVyID0gY3VydmUuc2NhbGFyTXVsdChkZW51bV9idWZmZXIsIGN1cnZlLnNjYWxhclN1Yih4al9idWZmZXIsIHhpX2J1ZmZlcikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkZW51bV9idWZmZXIgPSBCdWZmZXIuZnJvbShkZW51bV9idWZmZXIpO1xuICAgICAgY29uc3QgaW52ZXJ0ZWQgPSBjdXJ2ZS5zY2FsYXJJbnZlcnQoZGVudW1fYnVmZmVyKTtcbiAgICAgIGNvbnN0IGlubmVyTXVsdGlwbGllZCA9IGN1cnZlLnNjYWxhck11bHQobnVtX2J1ZmZlciwgaW52ZXJ0ZWQpO1xuICAgICAgY29uc3QgbXVsdGlwbGllZCA9IGN1cnZlLnNjYWxhck11bHQoaW5uZXJNdWx0aXBsaWVkLCB5aSk7XG4gICAgICBzID0gY3VydmUuc2NhbGFyQWRkKG11bHRpcGxpZWQsIHMpO1xuICAgIH1cbiAgICByZXR1cm4gcztcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIHNwbGl0LFxuICAgIGNvbWJpbmUsXG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTaGFtaXI7XG4iXX0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
interface UShare {
|
|
3
|
+
i: string;
|
|
4
|
+
y: string;
|
|
5
|
+
u: string;
|
|
6
|
+
prefix: string;
|
|
7
|
+
}
|
|
8
|
+
interface YShare {
|
|
9
|
+
i: string;
|
|
10
|
+
j: string;
|
|
11
|
+
y: string;
|
|
12
|
+
u: string;
|
|
13
|
+
}
|
|
14
|
+
interface KeyShare {
|
|
15
|
+
uShare: UShare;
|
|
16
|
+
yShares: Record<string, YShare>;
|
|
17
|
+
}
|
|
18
|
+
interface PShare {
|
|
19
|
+
i: string;
|
|
20
|
+
x: string;
|
|
21
|
+
y: string;
|
|
22
|
+
prefix: string;
|
|
23
|
+
}
|
|
24
|
+
interface JShare {
|
|
25
|
+
i: string;
|
|
26
|
+
j: string;
|
|
27
|
+
}
|
|
28
|
+
interface KeyCombine {
|
|
29
|
+
pShare: PShare;
|
|
30
|
+
jShares: Record<string, JShare>;
|
|
31
|
+
}
|
|
32
|
+
interface XShare {
|
|
33
|
+
i: string;
|
|
34
|
+
y: string;
|
|
35
|
+
x: string;
|
|
36
|
+
r: string;
|
|
37
|
+
R: string;
|
|
38
|
+
}
|
|
39
|
+
interface RShare {
|
|
40
|
+
i: string;
|
|
41
|
+
j: string;
|
|
42
|
+
r: string;
|
|
43
|
+
R: string;
|
|
44
|
+
}
|
|
45
|
+
interface SignShare {
|
|
46
|
+
xShare: XShare;
|
|
47
|
+
rShares: Record<string, RShare>;
|
|
48
|
+
}
|
|
49
|
+
interface GShare {
|
|
50
|
+
i: string;
|
|
51
|
+
y: string;
|
|
52
|
+
gamma: string;
|
|
53
|
+
R: string;
|
|
54
|
+
}
|
|
55
|
+
interface Signature {
|
|
56
|
+
y: string;
|
|
57
|
+
R: string;
|
|
58
|
+
sigma: string;
|
|
59
|
+
}
|
|
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;
|
|
69
|
+
//# sourceMappingURL=tss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/mpc/tss.ts"],"names":[],"mappings":";AA6CA,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,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,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;CACX;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,MAAM;IACd,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,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,MAAM;IACd,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"}
|