@bitgo-beta/sdk-lib-mpc 8.2.0-beta.320 → 8.2.0-beta.321
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -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"}
|