@bitgo-beta/sdk-lib-mpc 8.2.1-alpha.81 → 8.2.1-alpha.83
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 +27 -0
- package/dist/src/openssl/index.d.ts +2 -0
- package/dist/src/openssl/index.d.ts.map +1 -0
- package/dist/src/openssl/index.js +18 -0
- package/dist/src/openssl/openssl.d.ts +9 -0
- package/dist/src/openssl/openssl.d.ts.map +1 -0
- package/dist/src/openssl/openssl.js +45 -0
- package/dist/src/openssl/opensslbytes.d.ts +4 -0
- package/dist/src/openssl/opensslbytes.d.ts.map +1 -0
- package/dist/src/openssl/opensslbytes.js +20 -0
- package/dist/src/safePrime.d.ts.map +1 -1
- package/dist/src/safePrime.js +12 -15
- package/dist/src/tss/ecdsa/types.d.ts +11 -0
- package/dist/src/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/types.js +1 -2
- package/dist/src/tss/ecdsa-dkls/dkg.d.ts +7 -2
- package/dist/src/tss/ecdsa-dkls/dkg.d.ts.map +1 -1
- package/dist/src/tss/ecdsa-dkls/dkg.js +83 -13
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts +2 -2
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts.map +1 -1
- package/dist/src/tss/ecdsa-dkls/dsg.js +11 -10
- package/dist/src/tss/ecdsa-dkls/types.d.ts +6 -0
- package/dist/src/tss/ecdsa-dkls/types.d.ts.map +1 -1
- package/dist/src/tss/ecdsa-dkls/types.js +3 -3
- package/dist/src/tss/ecdsa-dkls/util.d.ts +2 -1
- package/dist/src/tss/ecdsa-dkls/util.d.ts.map +1 -1
- package/dist/src/tss/ecdsa-dkls/util.js +20 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
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
|
+
# [9.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-lib-mpc@9.5.0...@bitgo/sdk-lib-mpc@9.6.0) (2024-05-01)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **sdk-lib-mpc:** fix mpcv2 sig combine to pad signatures to 64 bytes ([421698d](https://github.com/BitGo/BitGoJS/commit/421698d3ccd8eaab22ba5e0989474421d11bd773))
|
|
11
|
+
- **sdk-lib-mpc:** fix wasm init in mpcv2 wallets ([efbe63a](https://github.com/BitGo/BitGoJS/commit/efbe63a147000f3c0b601f065b70e4fa0e71eb58))
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
- **sdk-core:** add MPCv2 wallet creation ([3b15e71](https://github.com/BitGo/BitGoJS/commit/3b15e715a5cdb165ce671bd216d1191170ee8980))
|
|
16
|
+
|
|
17
|
+
# [9.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-lib-mpc@9.4.0...@bitgo/sdk-lib-mpc@9.5.0) (2024-04-25)
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
- **sdk-lib-mpc:** add derivation to verify mpcv2 signature ([672b6fb](https://github.com/BitGo/BitGoJS/commit/672b6fbcfca926b2275ec7cc4d9f5b1d5f717f42))
|
|
22
|
+
|
|
23
|
+
# [9.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-lib-mpc@9.3.0...@bitgo/sdk-lib-mpc@9.4.0) (2024-04-22)
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
- **sdk-lib-mpc:** fix mpcv2 commitment and signatureR serialization ([89efa0c](https://github.com/BitGo/BitGoJS/commit/89efa0c1dbcc2aa6cb587692e989a0e8a6c7a984))
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
- **sdk-lib-mpc:** add utility to verify dkls signatures ([eb0824d](https://github.com/BitGo/BitGoJS/commit/eb0824dfaf7e9c2c9bb85df08b2e9012d1bf657b))
|
|
32
|
+
|
|
6
33
|
# [9.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-lib-mpc@9.2.0...@bitgo/sdk-lib-mpc@9.3.0) (2024-04-17)
|
|
7
34
|
|
|
8
35
|
### Features
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/openssl/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./openssl"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbnNzbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vcGVuc3NsJztcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openssl.d.ts","sourceRoot":"","sources":["../../../src/openssl/openssl.ts"],"names":[],"mappings":"AAGA,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAS;IAExB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAI7C,UAAU;YAmBV,YAAY;CAO3B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenSSL = void 0;
|
|
4
|
+
const wasi_1 = require("@wasmer/wasi");
|
|
5
|
+
const opensslbytes_1 = require("./opensslbytes");
|
|
6
|
+
class OpenSSL {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.isInitialized = false;
|
|
9
|
+
}
|
|
10
|
+
async init() {
|
|
11
|
+
await (0, wasi_1.init)();
|
|
12
|
+
this.waModule = await WebAssembly.compile(await this.getWasmBytes());
|
|
13
|
+
this.isInitialized = true;
|
|
14
|
+
}
|
|
15
|
+
async generateSafePrime(bitLength) {
|
|
16
|
+
const bigIntString = await this.runCommand(`prime -bits ${bitLength} -generate -safe`);
|
|
17
|
+
return BigInt(bigIntString);
|
|
18
|
+
}
|
|
19
|
+
async runCommand(openSslCommand) {
|
|
20
|
+
if (!this.isInitialized) {
|
|
21
|
+
throw new Error('The OpenSSl class is not initialized! Please call OpenSSL.init().');
|
|
22
|
+
}
|
|
23
|
+
const command = Array.isArray(openSslCommand) ? openSslCommand : openSslCommand.split(/[\s]{1,}/g).filter(Boolean);
|
|
24
|
+
const wasi = new wasi_1.WASI({
|
|
25
|
+
args: command,
|
|
26
|
+
});
|
|
27
|
+
// Instantiate the WASI module
|
|
28
|
+
// cannot use wasi.instantiate(module, {}); due to the size of the module
|
|
29
|
+
const instance = await WebAssembly.instantiate(this.waModule, {
|
|
30
|
+
...wasi.getImports(this.waModule),
|
|
31
|
+
});
|
|
32
|
+
// Run the start function
|
|
33
|
+
wasi.start(instance);
|
|
34
|
+
return wasi.getStdoutString();
|
|
35
|
+
}
|
|
36
|
+
async getWasmBytes() {
|
|
37
|
+
const waBuffer = (0, opensslbytes_1.loadWebAssembly)();
|
|
38
|
+
if (!waBuffer) {
|
|
39
|
+
throw new Error('Cannot load openssl web-assembly!');
|
|
40
|
+
}
|
|
41
|
+
return waBuffer.buffer;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.OpenSSL = OpenSSL;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNzbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vcGVuc3NsL29wZW5zc2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQTBDO0FBQzFDLGlEQUFpRDtBQUVqRCxNQUFhLE9BQU87SUFBcEI7UUFFVSxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQXNDaEMsQ0FBQztJQXBDQyxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sSUFBQSxXQUFJLEdBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUN2QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxTQUFTLGtCQUFrQixDQUFDLENBQUM7UUFDdkYsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNPLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBaUM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1NBQ3RGO1FBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuSCxNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQztZQUNwQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUMsQ0FBQztRQUVILDhCQUE4QjtRQUM5Qix5RUFBeUU7UUFDekUsTUFBTSxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUQsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUEsOEJBQWUsR0FBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBeENELDBCQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluaXQsIFdBU0kgfSBmcm9tICdAd2FzbWVyL3dhc2knO1xuaW1wb3J0IHsgbG9hZFdlYkFzc2VtYmx5IH0gZnJvbSAnLi9vcGVuc3NsYnl0ZXMnO1xuXG5leHBvcnQgY2xhc3MgT3BlblNTTCB7XG4gIHByaXZhdGUgd2FNb2R1bGU6IFdlYkFzc2VtYmx5Lk1vZHVsZTtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgYXN5bmMgaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBpbml0KCk7XG4gICAgdGhpcy53YU1vZHVsZSA9IGF3YWl0IFdlYkFzc2VtYmx5LmNvbXBpbGUoYXdhaXQgdGhpcy5nZXRXYXNtQnl0ZXMoKSk7XG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlU2FmZVByaW1lKGJpdExlbmd0aDogbnVtYmVyKTogUHJvbWlzZTxiaWdpbnQ+IHtcbiAgICBjb25zdCBiaWdJbnRTdHJpbmcgPSBhd2FpdCB0aGlzLnJ1bkNvbW1hbmQoYHByaW1lIC1iaXRzICR7Yml0TGVuZ3RofSAtZ2VuZXJhdGUgLXNhZmVgKTtcbiAgICByZXR1cm4gQmlnSW50KGJpZ0ludFN0cmluZyk7XG4gIH1cbiAgcHJpdmF0ZSBhc3luYyBydW5Db21tYW5kKG9wZW5Tc2xDb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIE9wZW5TU2wgY2xhc3MgaXMgbm90IGluaXRpYWxpemVkISBQbGVhc2UgY2FsbCBPcGVuU1NMLmluaXQoKS4nKTtcbiAgICB9XG4gICAgY29uc3QgY29tbWFuZCA9IEFycmF5LmlzQXJyYXkob3BlblNzbENvbW1hbmQpID8gb3BlblNzbENvbW1hbmQgOiBvcGVuU3NsQ29tbWFuZC5zcGxpdCgvW1xcc117MSx9L2cpLmZpbHRlcihCb29sZWFuKTtcbiAgICBjb25zdCB3YXNpID0gbmV3IFdBU0koe1xuICAgICAgYXJnczogY29tbWFuZCxcbiAgICB9KTtcblxuICAgIC8vIEluc3RhbnRpYXRlIHRoZSBXQVNJIG1vZHVsZVxuICAgIC8vIGNhbm5vdCB1c2Ugd2FzaS5pbnN0YW50aWF0ZShtb2R1bGUsIHt9KTsgZHVlIHRvIHRoZSBzaXplIG9mIHRoZSBtb2R1bGVcbiAgICBjb25zdCBpbnN0YW5jZSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHRoaXMud2FNb2R1bGUsIHtcbiAgICAgIC4uLndhc2kuZ2V0SW1wb3J0cyh0aGlzLndhTW9kdWxlKSxcbiAgICB9KTtcbiAgICAvLyBSdW4gdGhlIHN0YXJ0IGZ1bmN0aW9uXG4gICAgd2FzaS5zdGFydChpbnN0YW5jZSk7XG4gICAgcmV0dXJuIHdhc2kuZ2V0U3Rkb3V0U3RyaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFdhc21CeXRlcygpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICBjb25zdCB3YUJ1ZmZlciA9IGxvYWRXZWJBc3NlbWJseSgpO1xuICAgIGlmICghd2FCdWZmZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGxvYWQgb3BlbnNzbCB3ZWItYXNzZW1ibHkhJyk7XG4gICAgfVxuICAgIHJldHVybiB3YUJ1ZmZlci5idWZmZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opensslbytes.d.ts","sourceRoot":"","sources":["../../../src/openssl/opensslbytes.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAU/D"}
|