@getpara/server-sdk 1.1.0 → 1.3.0
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/cjs/index.js +1 -21
- package/dist/cjs/index.js.br +0 -0
- package/dist/cjs/index.js.gz +0 -0
- package/dist/cjs/workers/worker.js +2 -154
- package/dist/cjs/workers/worker.js.br +0 -0
- package/dist/cjs/workers/worker.js.gz +0 -0
- package/dist/esm/index.js +1 -4
- package/dist/esm/index.js.br +0 -0
- package/dist/esm/index.js.gz +0 -0
- package/dist/esm/workers/chunk-NEJSZOZX.js +1 -0
- package/dist/esm/workers/chunk-NEJSZOZX.js.br +0 -0
- package/dist/esm/workers/chunk-NEJSZOZX.js.gz +0 -0
- package/dist/esm/workers/wasm_exec-TBSO5IWG.js +2 -0
- package/dist/esm/workers/wasm_exec-TBSO5IWG.js.br +0 -0
- package/dist/esm/workers/wasm_exec-TBSO5IWG.js.gz +0 -0
- package/dist/esm/workers/worker.js +1 -124
- package/dist/esm/workers/worker.js.br +0 -0
- package/dist/esm/workers/worker.js.gz +0 -0
- package/package.json +6 -5
- package/dist/cjs/ParaServer.d.ts +0 -4
- package/dist/cjs/ParaServer.js +0 -14
- package/dist/cjs/ServerLocalStorage.d.ts +0 -12
- package/dist/cjs/ServerLocalStorage.js +0 -30
- package/dist/cjs/ServerSessionStorage.d.ts +0 -12
- package/dist/cjs/ServerSessionStorage.js +0 -30
- package/dist/cjs/ServerUtils.d.ts +0 -43
- package/dist/cjs/ServerUtils.js +0 -55
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/wallet/keygen.d.ts +0 -22
- package/dist/cjs/wallet/keygen.js +0 -172
- package/dist/cjs/wallet/privateKey.d.ts +0 -2
- package/dist/cjs/wallet/privateKey.js +0 -62
- package/dist/cjs/wallet/signing.d.ts +0 -5
- package/dist/cjs/wallet/signing.js +0 -133
- package/dist/cjs/wasm/wasm_exec.d.ts +0 -1
- package/dist/cjs/wasm/wasm_exec.js +0 -521
- package/dist/cjs/workers/walletUtils.d.ts +0 -25
- package/dist/cjs/workers/walletUtils.js +0 -247
- package/dist/cjs/workers/worker.d.ts +0 -18
- package/dist/cjs/workers/workerWrapper.d.ts +0 -4
- package/dist/cjs/workers/workerWrapper.js +0 -55
- package/dist/esm/ParaServer.d.ts +0 -4
- package/dist/esm/ParaServer.js +0 -7
- package/dist/esm/ServerLocalStorage.d.ts +0 -12
- package/dist/esm/ServerLocalStorage.js +0 -26
- package/dist/esm/ServerSessionStorage.d.ts +0 -12
- package/dist/esm/ServerSessionStorage.js +0 -26
- package/dist/esm/ServerUtils.d.ts +0 -43
- package/dist/esm/ServerUtils.js +0 -51
- package/dist/esm/index.d.ts +0 -5
- package/dist/esm/package.json +0 -1
- package/dist/esm/wallet/keygen.d.ts +0 -22
- package/dist/esm/wallet/keygen.js +0 -142
- package/dist/esm/wallet/privateKey.d.ts +0 -2
- package/dist/esm/wallet/privateKey.js +0 -35
- package/dist/esm/wallet/signing.d.ts +0 -5
- package/dist/esm/wallet/signing.js +0 -103
- package/dist/esm/wasm/wasm_exec.d.ts +0 -1
- package/dist/esm/wasm/wasm_exec.js +0 -521
- package/dist/esm/workers/walletUtils.d.ts +0 -25
- package/dist/esm/workers/walletUtils.js +0 -234
- package/dist/esm/workers/worker.d.ts +0 -18
- package/dist/esm/workers/workerWrapper.d.ts +0 -4
- package/dist/esm/workers/workerWrapper.js +0 -51
package/dist/cjs/index.js
CHANGED
|
@@ -1,21 +1 @@
|
|
|
1
|
-
"
|
|
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
|
-
exports.Para = void 0;
|
|
18
|
-
__exportStar(require("@getpara/core-sdk"), exports);
|
|
19
|
-
const ParaServer_js_1 = require("./ParaServer.js");
|
|
20
|
-
Object.defineProperty(exports, "Para", { enumerable: true, get: function () { return ParaServer_js_1.Para; } });
|
|
21
|
-
exports.default = ParaServer_js_1.Para;
|
|
1
|
+
var H=Object.create;var v=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var Q=(e,r)=>{for(var s in r)v(e,s,{get:r[s],enumerable:!0})},S=(e,r,s,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of V(r))!z.call(e,i)&&i!==s&&v(e,i,{get:()=>r[i],enumerable:!(t=J(r,i))||t.enumerable});return e},w=(e,r,s)=>(S(e,r,"default"),s&&S(s,r,"default")),b=(e,r,s)=>(s=e!=null?H(q(e)):{},S(r||!e||!e.__esModule?v(s,"default",{value:e,enumerable:!0}):s,e)),X=e=>S(v({},"__esModule",{value:!0}),e);var u={};Q(u,{Para:()=>P,default:()=>x});module.exports=X(u);w(u,require("@getpara/core-sdk"),module.exports);var F=b(require("@getpara/core-sdk"));var C=class{constructor(){this.localStorage={};this.get=r=>this.localStorage[r]||null;this.set=(r,s)=>{this.localStorage[r]=s};this.removeItem=r=>{delete this.localStorage[r]};this.clear=r=>{let s=Object.keys(this.localStorage);for(let t in s)t&&t.startsWith(r)&&this.removeItem(t)}}};var W=class{constructor(){this.sessionStorage={};this.get=r=>this.sessionStorage[r]||null;this.set=(r,s)=>{this.sessionStorage[r]=s};this.removeItem=r=>{delete this.sessionStorage[r]};this.clear=r=>{let s=Object.keys(this.sessionStorage);for(let t in s)t&&t.startsWith(r)&&this.removeItem(t)}}};var f=b(require("uuid")),y=require("@getpara/core-sdk");var M=require("worker_threads"),h=require("@getpara/core-sdk"),Z=1e3*90,p,K={};function R(e,r){let{timeoutId:s}=K[e];delete K[e],!r&&clearTimeout(s)}async function m(e,r,s){let t=setTimeout(()=>{R(s,!0)},Z);if(K[s]={fn:r,timeoutId:t},!p||!p.threadId){let i=await fetch(`${(0,h.getPortalBaseURL)(e)}/static/js/mpcWorkerServer-bundle.js`);p=new M.Worker(await i.text(),{eval:!0});let n=async o=>{let{workId:a}=o;delete o.workId,await K[a].fn(o),R(a)};p.on("message",n),p.on("error",o=>{throw o}),p.on("exit",o=>{console.error(`worker stopped with exit code ${o}`)})}return p}async function L(e,r,s){return!!(await e.client.getWallets(r)).data.wallets.find(n=>n.id===s).address}async function U(e,r,s,t){return!!(await e.client.getPregenWallets({[s]:[r]})).wallets.find(o=>o.id===t)?.address}function O(e,r,s,t,i=!1,n,o={}){return new Promise(async a=>{let l=f.v4();(await m(e,async d=>{await(0,y.waitUntilTrue)(async()=>L(e,r,d.walletId),15e3,1e3),i&&a({signer:d.signer,walletId:d.walletId,recoveryShare:null})},l)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{userId:r,secretKey:t,type:s},functionType:"KEYGEN",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:n,useDKLS:e.useDKLS,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:l})})}function _(e,r,s,t,i,n=!1,o,a){return new Promise(async l=>{let g=f.v4(),d=await m(e,async T=>{await(0,y.waitUntilTrue)(async()=>U(e,r,s,T.walletId),15e3,1e3),l({signer:T.signer,walletId:T.walletId,recoveryShare:null})},g),E={pregenIdentifier:r,pregenIdentifierType:s,secretKey:i,partnerId:o,email:void 0,type:t};s==="EMAIL"&&(E.email=r),d.postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:E,functionType:"PREKEYGEN",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:a,useDKLS:e.useDKLS,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:g})})}function N(e,r,s,t={}){return new Promise(async i=>{let n=f.v4();(await m(e,async a=>{await(0,y.waitUntilTrue)(async()=>L(e,r,a.walletId),15e3,1e3),i({signer:a.signer,walletId:a.walletId,recoveryShare:null})},n)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{userId:r},functionType:"ED25519_KEYGEN",disableWorkers:e.disableWorkers,sessionCookie:s,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:n})})}function D(e,r,s,t){return new Promise(async i=>{let n=f.v4(),o=await m(e,async g=>{await(0,y.waitUntilTrue)(async()=>U(e,r,s,g.walletId),15e3,1e3),i({signer:g.signer,walletId:g.walletId,recoveryShare:null})},n),l={pregenIdentifier:r,pregenIdentifierType:s,email:void 0};s==="EMAIL"&&(l.email=r),o.postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:l,functionType:"ED25519_PREKEYGEN",disableWorkers:e.disableWorkers,sessionCookie:t,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:n})})}var c=b(require("uuid"));async function A(e,r,s,t,i,n,o,a){return await new Promise(async l=>{let g=c.v4();(await m(e,async k=>{l(k)},g)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{share:t,walletId:s,userId:r,tx:i,chainId:n},functionType:"SIGN_TRANSACTION",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:o,useDKLS:a,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:g})})}async function B(e,r,s,t,i,n,o,a){return await new Promise(async l=>{let g=c.v4();(await m(e,async k=>{l(k)},g)).postMessage({env:e.env,apiKey:e.apiKey,params:{share:t,walletId:s,userId:r,tx:i,chainId:n},functionType:"SEND_TRANSACTION",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:o,useDKLS:a,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:g})})}async function G(e,r,s,t,i,n,o){return await new Promise(async a=>{let l=c.v4();(await m(e,async d=>{a(d)},l)).postMessage({env:e.env,apiKey:e.apiKey,params:{share:t,walletId:s,userId:r,message:i},functionType:"SIGN_MESSAGE",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:n,useDKLS:o,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:l})})}async function Y(e,r,s,t,i,n){return await new Promise(async o=>{let a=c.v4();(await m(e,async g=>{o(g)},a)).postMessage({env:e.env,apiKey:e.apiKey,params:{share:t,walletId:s,userId:r,base64Bytes:i},functionType:"ED25519_SIGN",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:n,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:a})})}var j=b(require("uuid"));async function $(e,r,s,t,i){return await new Promise(async n=>{let o=j.v4();(await m(e,async l=>{n(l)},o)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{share:t,walletId:s,userId:r},functionType:"GET_PRIVATE_KEY",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:i,useDKLS:e.useDKLS,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:o})})}var I=class{constructor(){this.localStorage=new C;this.sessionStorage=new W;this.secureStorage=void 0;this.isSyncStorage=!0;this.disableProviderModal=!0}getPrivateKey(r,s,t,i,n){return $(r,s,t,i,n)}keygen(r,s,t,i,n,o){return O(r,s,t,i,!0,n,o)}refresh(r,s,t,i,n,o,a){throw new Error("not implemented")}preKeygen(r,s,t,i,n,o,a){return _(r,t,i,n,o,!1,s,a)}signMessage(r,s,t,i,n,o,a){return G(r,s,t,i,n,o,a)}signTransaction(r,s,t,i,n,o,a,l){return A(r,s,t,i,n,o,a,l)}sendTransaction(r,s,t,i,n,o,a,l){return B(r,s,t,i,n,o,a,l)}signHash(r,s){throw new Error("not implemented")}ed25519Keygen(r,s,t,i){return N(r,s,t,i)}ed25519PreKeygen(r,s,t,i){return D(r,s,t,i)}ed25519Sign(r,s,t,i,n,o){return Y(r,s,t,i,n,o)}openPopup(r){throw new Error("not implemented")}};var P=class extends F.default{getPlatformUtils(){return new I}};var x=P;0&&(module.exports={Para,...require("@getpara/core-sdk")});
|
|
Binary file
|
|
Binary file
|
|
@@ -1,154 +1,2 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.handleMessage = void 0;
|
|
39
|
-
const axios_1 = __importDefault(require("axios"));
|
|
40
|
-
const core_sdk_1 = require("@getpara/core-sdk");
|
|
41
|
-
const walletUtils = __importStar(require("./walletUtils.js"));
|
|
42
|
-
let rawWasm;
|
|
43
|
-
function requestWasmWithRetries(ctx, retries = 3) {
|
|
44
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
for (let i = 0; i < retries; i++) {
|
|
46
|
-
try {
|
|
47
|
-
return yield axios_1.default.get(`${(0, core_sdk_1.getPortalBaseURL)(ctx, true, true)}/static/js/main.wasm`, { responseType: 'arraybuffer' });
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
if (i === retries - 1) {
|
|
51
|
-
throw e;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
function loadWasm(ctx) {
|
|
58
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
yield Promise.resolve().then(() => __importStar(require('../wasm/wasm_exec.js')));
|
|
60
|
-
global.WebSocket = require('ws');
|
|
61
|
-
const goWasm = new global.Go();
|
|
62
|
-
if (!rawWasm) {
|
|
63
|
-
rawWasm = (yield requestWasmWithRetries(ctx)).data;
|
|
64
|
-
}
|
|
65
|
-
const wasmBuffer = new Uint8Array(rawWasm);
|
|
66
|
-
const webAssemblySource = yield WebAssembly.instantiate(wasmBuffer, goWasm.importObject);
|
|
67
|
-
goWasm.run(webAssemblySource.instance);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
function executeMessage(ctx, message) {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
const { functionType, params } = message;
|
|
73
|
-
switch (functionType) {
|
|
74
|
-
case 'KEYGEN': {
|
|
75
|
-
const { userId, secretKey, type = core_sdk_1.WalletType.EVM } = params;
|
|
76
|
-
return walletUtils.keygen(ctx, userId, type, secretKey);
|
|
77
|
-
}
|
|
78
|
-
case 'SIGN_TRANSACTION': {
|
|
79
|
-
const { share, walletId, userId, tx, chainId } = params;
|
|
80
|
-
return walletUtils.signTransaction(ctx, share, walletId, userId, tx, chainId);
|
|
81
|
-
}
|
|
82
|
-
case 'SEND_TRANSACTION': {
|
|
83
|
-
const { share, walletId, userId, tx, chainId } = params;
|
|
84
|
-
return walletUtils.sendTransaction(ctx, share, walletId, userId, tx, chainId);
|
|
85
|
-
}
|
|
86
|
-
case 'SIGN_MESSAGE': {
|
|
87
|
-
const { share, walletId, userId, message } = params;
|
|
88
|
-
return walletUtils.signMessage(ctx, share, walletId, userId, message);
|
|
89
|
-
}
|
|
90
|
-
case 'REFRESH': {
|
|
91
|
-
const { share, walletId, userId } = params;
|
|
92
|
-
return walletUtils.refresh(ctx, share, walletId, userId);
|
|
93
|
-
}
|
|
94
|
-
case 'PREKEYGEN': {
|
|
95
|
-
const { email, partnerId, secretKey, type = core_sdk_1.WalletType.EVM } = params;
|
|
96
|
-
let { pregenIdentifier, pregenIdentifierType } = params;
|
|
97
|
-
if (email !== 'null' && email !== 'undefined' && email !== '' && email != null) {
|
|
98
|
-
pregenIdentifier = email;
|
|
99
|
-
pregenIdentifierType = 'EMAIL';
|
|
100
|
-
}
|
|
101
|
-
const keygenRes = yield walletUtils.preKeygen(ctx, partnerId, pregenIdentifier, pregenIdentifierType, type, secretKey);
|
|
102
|
-
return keygenRes;
|
|
103
|
-
}
|
|
104
|
-
case 'GET_PRIVATE_KEY': {
|
|
105
|
-
const { share, walletId, userId } = params;
|
|
106
|
-
return yield walletUtils.getPrivateKey(ctx, share, walletId, userId);
|
|
107
|
-
}
|
|
108
|
-
case 'ED25519_KEYGEN': {
|
|
109
|
-
const { userId } = params;
|
|
110
|
-
return walletUtils.ed25519Keygen(ctx, userId);
|
|
111
|
-
}
|
|
112
|
-
case 'ED25519_SIGN': {
|
|
113
|
-
const { share, walletId, userId, base64Bytes } = params;
|
|
114
|
-
return walletUtils.ed25519Sign(ctx, share, userId, walletId, base64Bytes);
|
|
115
|
-
}
|
|
116
|
-
case 'ED25519_PREKEYGEN': {
|
|
117
|
-
const { email } = params;
|
|
118
|
-
let { pregenIdentifier, pregenIdentifierType } = params;
|
|
119
|
-
if (email !== 'null' && email !== 'undefined' && email !== '' && email != null) {
|
|
120
|
-
pregenIdentifier = email;
|
|
121
|
-
pregenIdentifierType = 'EMAIL';
|
|
122
|
-
}
|
|
123
|
-
return walletUtils.ed25519PreKeygen(ctx, pregenIdentifier, pregenIdentifierType);
|
|
124
|
-
}
|
|
125
|
-
default: {
|
|
126
|
-
throw new Error(`functionType: ${functionType} not supported`);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
function handleMessage(e) {
|
|
132
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
const { env, apiKey, cosmosPrefix = 'cosmos', offloadMPCComputationURL, disableWorkers, sessionCookie, useDKLS, disableWebSockets, workId, } = e.data;
|
|
134
|
-
const ctx = {
|
|
135
|
-
env,
|
|
136
|
-
apiKey,
|
|
137
|
-
client: (0, core_sdk_1.initClient)({ env, version: core_sdk_1.paraVersion, apiKey, retrieveSessionCookie: () => sessionCookie }),
|
|
138
|
-
offloadMPCComputationURL: offloadMPCComputationURL,
|
|
139
|
-
mpcComputationClient: offloadMPCComputationURL
|
|
140
|
-
? core_sdk_1.mpcComputationClient.initClient(offloadMPCComputationURL, !!disableWorkers)
|
|
141
|
-
: undefined,
|
|
142
|
-
useDKLS,
|
|
143
|
-
disableWebSockets: !!disableWebSockets,
|
|
144
|
-
cosmosPrefix,
|
|
145
|
-
};
|
|
146
|
-
if (!ctx.offloadMPCComputationURL || ctx.useDKLS) {
|
|
147
|
-
yield loadWasm(ctx);
|
|
148
|
-
}
|
|
149
|
-
const result = yield executeMessage(ctx, e.data);
|
|
150
|
-
result.workId = workId;
|
|
151
|
-
return result;
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
exports.handleMessage = handleMessage;
|
|
1
|
+
var G=Object.create;var b=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var B=(t,l)=>()=>(l||t((l={exports:{}}).exports,l),l.exports),Y=(t,l)=>{for(var c in l)b(t,c,{get:l[c],enumerable:!0})},T=(t,l,c,o)=>{if(l&&typeof l=="object"||typeof l=="function")for(let s of F(l))!q.call(t,s)&&s!==c&&b(t,s,{get:()=>l[s],enumerable:!(o=V(l,s))||o.enumerable});return t};var P=(t,l,c)=>(c=t!=null?G($(t)):{},T(l||!t||!t.__esModule?b(c,"default",{value:t,enumerable:!0}):c,t)),H=t=>T(b({},"__esModule",{value:!0}),t);var O=B((ae,N)=>{"use strict";var S=global;S.crypto||(S.crypto=require("crypto"));var X=S.crypto;(()=>{let t=()=>{let o=new Error("not implemented");return o.code="ENOSYS",o};if(!globalThis.fs){let o="";globalThis.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1},writeSync(s,n){o+=c.decode(n);let i=o.lastIndexOf(`
|
|
2
|
+
`);return i!=-1&&(console.log(o.substring(0,i)),o=o.substring(i+1)),n.length},write(s,n,i,a,u,g){if(i!==0||a!==n.length||u!==null){g(t());return}let m=this.writeSync(s,n);g(null,m)},chmod(s,n,i){i(t())},chown(s,n,i,a){a(t())},close(s,n){n(t())},fchmod(s,n,i){i(t())},fchown(s,n,i,a){a(t())},fstat(s,n){n(t())},fsync(s,n){n(null)},ftruncate(s,n,i){i(t())},lchown(s,n,i,a){a(t())},link(s,n,i){i(t())},lstat(s,n){n(t())},mkdir(s,n,i){i(t())},open(s,n,i,a){a(t())},read(s,n,i,a,u,g){g(t())},readdir(s,n){n(t())},readlink(s,n){n(t())},rename(s,n,i){i(t())},rmdir(s,n){n(t())},stat(s,n){n(t())},symlink(s,n,i){i(t())},truncate(s,n,i){i(t())},unlink(s,n){n(t())},utimes(s,n,i,a){a(t())}}}if(globalThis.process||(globalThis.process={getuid(){return-1},getgid(){return-1},geteuid(){return-1},getegid(){return-1},getgroups(){throw t()},pid:-1,ppid:-1,umask(){throw t()},cwd(){throw t()},chdir(){throw t()}}),!globalThis.crypto)throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");if(!globalThis.performance)throw new Error("globalThis.performance is not available, polyfill required (performance.now only)");if(!globalThis.TextEncoder)throw new Error("globalThis.TextEncoder is not available, polyfill required");if(!globalThis.TextDecoder)throw new Error("globalThis.TextDecoder is not available, polyfill required");let l=new TextEncoder("utf-8"),c=new TextDecoder("utf-8");globalThis.Go=class{constructor(){this.argv=["js"],this.env={},this.exit=e=>{e!==0&&console.warn("exit code:",e)},this._exitPromise=new Promise(e=>{this._resolveExitPromise=e}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;let o=(e,r)=>{this.mem.setUint32(e+0,r,!0),this.mem.setUint32(e+4,Math.floor(r/4294967296),!0)},s=(e,r)=>{this.mem.setUint32(e+0,r,!0)},n=e=>{let r=this.mem.getUint32(e+0,!0),d=this.mem.getInt32(e+4,!0);return r+d*4294967296},i=e=>{let r=this.mem.getFloat64(e,!0);if(r===0)return;if(!isNaN(r))return r;let d=this.mem.getUint32(e,!0);return this._values[d]},a=(e,r)=>{if(typeof r=="number"&&r!==0){if(isNaN(r)){this.mem.setUint32(e+4,2146959360,!0),this.mem.setUint32(e,0,!0);return}this.mem.setFloat64(e,r,!0);return}if(r===void 0){this.mem.setFloat64(e,0,!0);return}let h=this._ids.get(r);h===void 0&&(h=this._idPool.pop(),h===void 0&&(h=this._values.length),this._values[h]=r,this._goRefCounts[h]=0,this._ids.set(r,h)),this._goRefCounts[h]++;let y=0;switch(typeof r){case"object":r!==null&&(y=1);break;case"string":y=2;break;case"symbol":y=3;break;case"function":y=4;break}this.mem.setUint32(e+4,2146959360|y,!0),this.mem.setUint32(e,h,!0)},u=e=>{let r=n(e+0),d=n(e+8);return new Uint8Array(this._inst.exports.mem.buffer,r,d)},g=e=>{let r=n(e+0),d=n(e+8),h=new Array(d);for(let y=0;y<d;y++)h[y]=i(r+y*8);return h},m=e=>{let r=n(e+0),d=n(e+8);return c.decode(new DataView(this._inst.exports.mem.buffer,r,d))},f=Date.now()-performance.now();this.importObject={_gotest:{add:(e,r)=>e+r},gojs:{"runtime.wasmExit":e=>{e>>>=0;let r=this.mem.getInt32(e+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(r)},"runtime.wasmWrite":e=>{e>>>=0;let r=n(e+8),d=n(e+16),h=this.mem.getInt32(e+24,!0);fs.writeSync(r,new Uint8Array(this._inst.exports.mem.buffer,d,h))},"runtime.resetMemoryDataView":e=>{e>>>=0,this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":e=>{e>>>=0,o(e+8,(f+performance.now())*1e6)},"runtime.walltime":e=>{e>>>=0;let r=new Date().getTime();o(e+8,r/1e3),this.mem.setInt32(e+16,r%1e3*1e6,!0)},"runtime.scheduleTimeoutEvent":e=>{e>>>=0;let r=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(r,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(r);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},n(e+8))),this.mem.setInt32(e+16,r,!0)},"runtime.clearTimeoutEvent":e=>{e>>>=0;let r=this.mem.getInt32(e+8,!0);clearTimeout(this._scheduledTimeouts.get(r)),this._scheduledTimeouts.delete(r)},"runtime.getRandomData":e=>{e>>>=0,X.getRandomValues(u(e+8))},"syscall/js.finalizeRef":e=>{e>>>=0;let r=this.mem.getUint32(e+8,!0);if(this._goRefCounts[r]--,this._goRefCounts[r]===0){let d=this._values[r];this._values[r]=null,this._ids.delete(d),this._idPool.push(r)}},"syscall/js.stringVal":e=>{e>>>=0,a(e+24,m(e+8))},"syscall/js.valueGet":e=>{e>>>=0;let r=Reflect.get(i(e+8),m(e+16));e=this._inst.exports.getsp()>>>0,a(e+32,r)},"syscall/js.valueSet":e=>{e>>>=0,Reflect.set(i(e+8),m(e+16),i(e+32))},"syscall/js.valueDelete":e=>{e>>>=0,Reflect.deleteProperty(i(e+8),m(e+16))},"syscall/js.valueIndex":e=>{e>>>=0,a(e+24,Reflect.get(i(e+8),n(e+16)))},"syscall/js.valueSetIndex":e=>{e>>>=0,Reflect.set(i(e+8),n(e+16),i(e+24))},"syscall/js.valueCall":e=>{e>>>=0;try{let r=i(e+8),d=Reflect.get(r,m(e+16)),h=g(e+32),y=Reflect.apply(d,r,h);e=this._inst.exports.getsp()>>>0,a(e+56,y),this.mem.setUint8(e+64,1)}catch(r){e=this._inst.exports.getsp()>>>0,a(e+56,r),this.mem.setUint8(e+64,0)}},"syscall/js.valueInvoke":e=>{e>>>=0;try{let r=i(e+8),d=g(e+16),h=Reflect.apply(r,void 0,d);e=this._inst.exports.getsp()>>>0,a(e+40,h),this.mem.setUint8(e+48,1)}catch(r){e=this._inst.exports.getsp()>>>0,a(e+40,r),this.mem.setUint8(e+48,0)}},"syscall/js.valueNew":e=>{e>>>=0;try{let r=i(e+8),d=g(e+16),h=Reflect.construct(r,d);e=this._inst.exports.getsp()>>>0,a(e+40,h),this.mem.setUint8(e+48,1)}catch(r){e=this._inst.exports.getsp()>>>0,a(e+40,r),this.mem.setUint8(e+48,0)}},"syscall/js.valueLength":e=>{e>>>=0,o(e+16,parseInt(i(e+8).length))},"syscall/js.valuePrepareString":e=>{e>>>=0;let r=l.encode(String(i(e+8)));a(e+16,r),o(e+24,r.length)},"syscall/js.valueLoadString":e=>{e>>>=0;let r=i(e+8);u(e+16).set(r)},"syscall/js.valueInstanceOf":e=>{e>>>=0,this.mem.setUint8(e+24,i(e+8)instanceof i(e+16)?1:0)},"syscall/js.copyBytesToGo":e=>{e>>>=0;let r=u(e+8),d=i(e+32);if(!(d instanceof Uint8Array||d instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}let h=d.subarray(0,r.length);r.set(h),o(e+40,h.length),this.mem.setUint8(e+48,1)},"syscall/js.copyBytesToJS":e=>{e>>>=0;let r=i(e+8),d=u(e+16);if(!(r instanceof Uint8Array||r instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}let h=d.subarray(0,r.length);r.set(h),o(e+40,h.length),this.mem.setUint8(e+48,1)},debug:e=>{console.log(e)}}}}async run(o){if(!(o instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=o,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,globalThis,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[globalThis,5],[this,6]]),this._idPool=[],this.exited=!1;let s=4096,n=f=>{let e=s,r=l.encode(f+"\0");return new Uint8Array(this.mem.buffer,s,r.length).set(r),s+=r.length,s%8!==0&&(s+=8-s%8),e},i=this.argv.length,a=[];this.argv.forEach(f=>{a.push(n(f))}),a.push(0),Object.keys(this.env).sort().forEach(f=>{a.push(n(`${f}=${this.env[f]}`))}),a.push(0);let g=s;if(a.forEach(f=>{this.mem.setUint32(s,f,!0),this.mem.setUint32(s+4,0,!0),s+=8}),s>=12288)throw new Error("total length of command line and environment variables exceeds limit");this._inst.exports.run(i,g),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(o){let s=this;return function(){let n={id:o,this:this,args:arguments};return s._pendingEvent=n,s._resume(),n.result}}}})();N.exports={globalThisCopy:S}});var se={};Y(se,{handleMessage:()=>te});module.exports=H(se);var j=P(require("axios")),p=require("@getpara/core-sdk");var w=require("@getpara/core-sdk"),_=(t,l,c)=>`{"ServerUrl":"${t}", "WalletId": "${l}", "Id":"${c}", "Ids":["USER","CAPSULE"], "Threshold":1}`,U=(t,l,c)=>`{"walletId": "${t}", "id":"${l}", "otherId":"CAPSULE", "isReceiver": false, "disableWebSockets": ${c}}`;async function I(t,l,c,o){let{data:s}=await t.mpcComputationClient.post("/wallets",{userId:l,walletId:c,protocolId:o});return s}async function z(t,l,c,o,s,n){let{data:i}=await t.mpcComputationClient.post(`/wallets/${c}/messages/sign`,{userId:l,protocolId:o,message:s,signer:n});return i}async function v(t,l,c,o,s,n,i){let{data:a}=await t.mpcComputationClient.post(`/wallets/${c}/transactions/send`,{userId:l,protocolId:o,transaction:s,signer:n,chainId:i});return a}async function E(t,l){let{walletId:c,protocolId:o}=await t.client.createWallet(l,{scheme:w.WalletScheme.ED25519,type:w.WalletType.SOLANA}),s=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets);return{signer:await new Promise((i,a)=>global.ed25519CreateAccount(s,c,o,(u,g)=>{u&&a(u),i(g)})),walletId:c}}async function R(t,l,c){let{walletId:o,protocolId:s}=await t.client.createPregenWallet({pregenIdentifier:l,pregenIdentifierType:c,scheme:w.WalletScheme.ED25519,type:w.WalletType.SOLANA}),n=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets);return{signer:await new Promise((a,u)=>global.ed25519CreateAccount(n,o,s,(g,m)=>{g&&u(g),a(m)})),walletId:o}}async function k(t,l,c,o,s){let{protocolId:n}=await t.client.preSignMessage(c,o,s,w.WalletScheme.ED25519);return{signature:await new Promise((a,u)=>global.ed25519Sign(l,n,s,(g,m)=>{g&&u(g),a(m)}))}}async function A(t,l,c,o){let{walletId:s,protocolId:n}=await t.client.createWallet(l,{useTwoSigners:!0,scheme:t.useDKLS?w.WalletScheme.DKLS:w.WalletScheme.CGGMP,type:c,cosmosPrefix:c===w.WalletType.COSMOS?t.cosmosPrefix:void 0});if(t.offloadMPCComputationURL&&!t.useDKLS)return{signer:(await I(t,l,s,n)).signer,walletId:s};let i=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets),a=t.useDKLS?U(s,"USER",t.disableWebSockets):_(i,s,"USER"),u=t.useDKLS?global.dklsCreateAccount:global.createAccountV2;return{signer:await new Promise((m,f)=>u(a,i,n,o,()=>{},(e,r)=>{e&&f(e),m(r)})),walletId:s}}async function D(t,l,c,o,s,n){let{walletId:i,protocolId:a}=await t.client.createPregenWallet({pregenIdentifier:c,pregenIdentifierType:o,type:s,cosmosPrefix:s===w.WalletType.COSMOS?t.cosmosPrefix:void 0});if(t.offloadMPCComputationURL&&!t.useDKLS)return{signer:(await I(t,l,i,a)).signer,walletId:i};let u=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets),g=t.useDKLS?U(i,"USER",t.disableWebSockets):_(u,i,"USER"),m=t.useDKLS?global.dklsCreateAccount:global.createAccountV2;return{signer:await new Promise((e,r)=>m(g,u,a,n,()=>{},(d,h)=>{d&&r(d),e(h)})),walletId:i}}async function L(t,l,c,o,s){let{protocolId:n,pendingTransactionId:i}=await t.client.preSignMessage(o,c,s);if(i)return{pendingTransactionId:i};if(t.offloadMPCComputationURL&&!t.useDKLS)return z(t,o,c,n,s,l);let a=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets),u=t.useDKLS?global.dklsSignMessage:global.signMessage;return new Promise((g,m)=>u(l,a,s,n,(f,e)=>{f&&m(f),g({signature:e})}))}async function W(t,l,c,o,s,n){let{data:{protocolId:i,pendingTransactionId:a}}=await t.client.signTransaction(o,c,{transaction:s,chainId:n});if(a)return{pendingTransactionId:a};if(t.offloadMPCComputationURL&&!t.useDKLS)return v(t,o,c,i,s,l,n);let u=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets),g=t.useDKLS?global.dklsSendTransaction:global.sendTransaction;return new Promise((m,f)=>g(l,u,s,n,i,(e,r)=>{e&&f(e),m({signature:r})}))}async function K(t,l,c,o,s,n){let{data:{protocolId:i,pendingTransactionId:a}}=await t.client.sendTransaction(o,c,{transaction:s,chainId:n});if(a)return{pendingTransactionId:a};if(t.offloadMPCComputationURL&&!t.useDKLS)return v(t,o,c,i,s,l,n);let u=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets),g=t.useDKLS?global.dklsSendTransaction:global.sendTransaction;return new Promise((m,f)=>g(l,u,s,n,i,(e,r)=>{e&&f(e),m({signature:r})}))}async function M(t,l,c,o){let{data:{protocolId:s}}=await t.client.refreshKeys(o,c),n=(0,w.getBaseMPCNetworkUrl)(t.env,!t.disableWebSockets),i=t.useDKLS?global.dklsRefresh:global.refresh;return new Promise((a,u)=>i(l,n,s,(g,m)=>{g&&u(g),a(m)}))}async function x(t,l,c,o){let s=await t.client.getParaShare(o,c);return s?new Promise((n,i)=>global.getPrivateKey(l,s,(a,u)=>{a&&i(a),n(u)})):(console.error("unable to retrieve Para share"),"")}var C;async function Q(t,l=3){for(let c=0;c<l;c++)try{return await j.default.get(`${(0,p.getPortalBaseURL)(t,!0,!0)}/static/js/main.wasm`,{responseType:"arraybuffer"})}catch(o){if(c===l-1)throw o}}async function Z(t){await Promise.resolve().then(()=>P(O())),global.WebSocket=require("ws");let l=new global.Go;C||(C=(await Q(t)).data);let c=new Uint8Array(C),o=await WebAssembly.instantiate(c,l.importObject);l.run(o.instance)}async function ee(t,l){let{functionType:c,params:o}=l;switch(c){case"KEYGEN":{let{userId:s,secretKey:n,type:i=p.WalletType.EVM}=o;return A(t,s,i,n)}case"SIGN_TRANSACTION":{let{share:s,walletId:n,userId:i,tx:a,chainId:u}=o;return W(t,s,n,i,a,u)}case"SEND_TRANSACTION":{let{share:s,walletId:n,userId:i,tx:a,chainId:u}=o;return K(t,s,n,i,a,u)}case"SIGN_MESSAGE":{let{share:s,walletId:n,userId:i,message:a}=o;return L(t,s,n,i,a)}case"REFRESH":{let{share:s,walletId:n,userId:i}=o;return M(t,s,n,i)}case"PREKEYGEN":{let{email:s,partnerId:n,secretKey:i,type:a=p.WalletType.EVM}=o,{pregenIdentifier:u,pregenIdentifierType:g}=o;return s!=="null"&&s!=="undefined"&&s!==""&&s!=null&&(u=s,g="EMAIL"),await D(t,n,u,g,a,i)}case"GET_PRIVATE_KEY":{let{share:s,walletId:n,userId:i}=o;return await x(t,s,n,i)}case"ED25519_KEYGEN":{let{userId:s}=o;return E(t,s)}case"ED25519_SIGN":{let{share:s,walletId:n,userId:i,base64Bytes:a}=o;return k(t,s,i,n,a)}case"ED25519_PREKEYGEN":{let{email:s}=o,{pregenIdentifier:n,pregenIdentifierType:i}=o;return s!=="null"&&s!=="undefined"&&s!==""&&s!=null&&(n=s,i="EMAIL"),R(t,n,i)}default:throw new Error(`functionType: ${c} not supported`)}}async function te(t){let{env:l,apiKey:c,cosmosPrefix:o="cosmos",offloadMPCComputationURL:s,disableWorkers:n,sessionCookie:i,useDKLS:a,disableWebSockets:u,workId:g}=t.data,m={env:l,apiKey:c,client:(0,p.initClient)({env:l,version:p.paraVersion,apiKey:c,retrieveSessionCookie:()=>i}),offloadMPCComputationURL:s,mpcComputationClient:s?p.mpcComputationClient.initClient(s,!!n):void 0,useDKLS:a,disableWebSockets:!!u,cosmosPrefix:o};(!m.offloadMPCComputationURL||m.useDKLS)&&await Z(m);let f=await ee(m,t.data);return f.workId=g,f}0&&(module.exports={handleMessage});
|
|
Binary file
|
|
Binary file
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
import { Para as ParaServer } from './ParaServer.js';
|
|
3
|
-
export { ParaServer as Para };
|
|
4
|
-
export default ParaServer;
|
|
1
|
+
export*from"@getpara/core-sdk";import G from"@getpara/core-sdk";var y=class{constructor(){this.localStorage={};this.get=r=>this.localStorage[r]||null;this.set=(r,s)=>{this.localStorage[r]=s};this.removeItem=r=>{delete this.localStorage[r]};this.clear=r=>{let s=Object.keys(this.localStorage);for(let t in s)t&&t.startsWith(r)&&this.removeItem(t)}}};var c=class{constructor(){this.sessionStorage={};this.get=r=>this.sessionStorage[r]||null;this.set=(r,s)=>{this.sessionStorage[r]=s};this.removeItem=r=>{delete this.sessionStorage[r]};this.clear=r=>{let s=Object.keys(this.sessionStorage);for(let t in s)t&&t.startsWith(r)&&this.removeItem(t)}}};import*as u from"uuid";import{waitUntilTrue as k}from"@getpara/core-sdk";import{Worker as D}from"worker_threads";import{getPortalBaseURL as A}from"@getpara/core-sdk";var B=1e3*90,p,P={};function W(e,r){let{timeoutId:s}=P[e];delete P[e],!r&&clearTimeout(s)}async function m(e,r,s){let t=setTimeout(()=>{W(s,!0)},B);if(P[s]={fn:r,timeoutId:t},!p||!p.threadId){let i=await fetch(`${A(e)}/static/js/mpcWorkerServer-bundle.js`);p=new D(await i.text(),{eval:!0});let n=async o=>{let{workId:a}=o;delete o.workId,await P[a].fn(o),W(a)};p.on("message",n),p.on("error",o=>{throw o}),p.on("exit",o=>{console.error(`worker stopped with exit code ${o}`)})}return p}async function K(e,r,s){return!!(await e.client.getWallets(r)).data.wallets.find(n=>n.id===s).address}async function I(e,r,s,t){return!!(await e.client.getPregenWallets({[s]:[r]})).wallets.find(o=>o.id===t)?.address}function T(e,r,s,t,i=!1,n,o={}){return new Promise(async a=>{let l=u.v4();(await m(e,async d=>{await k(async()=>K(e,r,d.walletId),15e3,1e3),i&&a({signer:d.signer,walletId:d.walletId,recoveryShare:null})},l)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{userId:r,secretKey:t,type:s},functionType:"KEYGEN",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:n,useDKLS:e.useDKLS,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:l})})}function E(e,r,s,t,i,n=!1,o,a){return new Promise(async l=>{let g=u.v4(),d=await m(e,async b=>{await k(async()=>I(e,r,s,b.walletId),15e3,1e3),l({signer:b.signer,walletId:b.walletId,recoveryShare:null})},g),C={pregenIdentifier:r,pregenIdentifierType:s,secretKey:i,partnerId:o,email:void 0,type:t};s==="EMAIL"&&(C.email=r),d.postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:C,functionType:"PREKEYGEN",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:a,useDKLS:e.useDKLS,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:g})})}function R(e,r,s,t={}){return new Promise(async i=>{let n=u.v4();(await m(e,async a=>{await k(async()=>K(e,r,a.walletId),15e3,1e3),i({signer:a.signer,walletId:a.walletId,recoveryShare:null})},n)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{userId:r},functionType:"ED25519_KEYGEN",disableWorkers:e.disableWorkers,sessionCookie:s,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:n})})}function M(e,r,s,t){return new Promise(async i=>{let n=u.v4(),o=await m(e,async g=>{await k(async()=>I(e,r,s,g.walletId),15e3,1e3),i({signer:g.signer,walletId:g.walletId,recoveryShare:null})},n),l={pregenIdentifier:r,pregenIdentifierType:s,email:void 0};s==="EMAIL"&&(l.email=r),o.postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:l,functionType:"ED25519_PREKEYGEN",disableWorkers:e.disableWorkers,sessionCookie:t,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:n})})}import*as w from"uuid";async function h(e,r,s,t,i,n,o,a){return await new Promise(async l=>{let g=w.v4();(await m(e,async f=>{l(f)},g)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{share:t,walletId:s,userId:r,tx:i,chainId:n},functionType:"SIGN_TRANSACTION",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:o,useDKLS:a,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:g})})}async function L(e,r,s,t,i,n,o,a){return await new Promise(async l=>{let g=w.v4();(await m(e,async f=>{l(f)},g)).postMessage({env:e.env,apiKey:e.apiKey,params:{share:t,walletId:s,userId:r,tx:i,chainId:n},functionType:"SEND_TRANSACTION",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:o,useDKLS:a,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:g})})}async function U(e,r,s,t,i,n,o){return await new Promise(async a=>{let l=w.v4();(await m(e,async d=>{a(d)},l)).postMessage({env:e.env,apiKey:e.apiKey,params:{share:t,walletId:s,userId:r,message:i},functionType:"SIGN_MESSAGE",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:n,useDKLS:o,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:l})})}async function O(e,r,s,t,i,n){return await new Promise(async o=>{let a=w.v4();(await m(e,async g=>{o(g)},a)).postMessage({env:e.env,apiKey:e.apiKey,params:{share:t,walletId:s,userId:r,base64Bytes:i},functionType:"ED25519_SIGN",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:n,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:a})})}import*as _ from"uuid";async function N(e,r,s,t,i){return await new Promise(async n=>{let o=_.v4();(await m(e,async l=>{n(l)},o)).postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:{share:t,walletId:s,userId:r},functionType:"GET_PRIVATE_KEY",offloadMPCComputationURL:e.offloadMPCComputationURL,disableWorkers:e.disableWorkers,sessionCookie:i,useDKLS:e.useDKLS,disableWebSockets:e.disableWebSockets,wasmOverride:e.wasmOverride,workId:o})})}var S=class{constructor(){this.localStorage=new y;this.sessionStorage=new c;this.secureStorage=void 0;this.isSyncStorage=!0;this.disableProviderModal=!0}getPrivateKey(r,s,t,i,n){return N(r,s,t,i,n)}keygen(r,s,t,i,n,o){return T(r,s,t,i,!0,n,o)}refresh(r,s,t,i,n,o,a){throw new Error("not implemented")}preKeygen(r,s,t,i,n,o,a){return E(r,t,i,n,o,!1,s,a)}signMessage(r,s,t,i,n,o,a){return U(r,s,t,i,n,o,a)}signTransaction(r,s,t,i,n,o,a,l){return h(r,s,t,i,n,o,a,l)}sendTransaction(r,s,t,i,n,o,a,l){return L(r,s,t,i,n,o,a,l)}signHash(r,s){throw new Error("not implemented")}ed25519Keygen(r,s,t,i){return R(r,s,t,i)}ed25519PreKeygen(r,s,t,i){return M(r,s,t,i)}ed25519Sign(r,s,t,i,n,o){return O(r,s,t,i,n,o)}openPopup(r){throw new Error("not implemented")}};var v=class extends G{getPlatformUtils(){return new S}};var ue=v;export{v as Para,ue as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var d=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var e=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);export{d as a,e as b};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as b,b as x}from"./chunk-NEJSZOZX.js";var v=x((U,w)=>{var g=global;g.crypto||(g.crypto=b("crypto"));var T=g.crypto;(()=>{let o=()=>{let h=new Error("not implemented");return h.code="ENOSYS",h};if(!globalThis.fs){let h="";globalThis.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1},writeSync(n,s){h+=_.decode(s);let i=h.lastIndexOf(`
|
|
2
|
+
`);return i!=-1&&(console.log(h.substring(0,i)),h=h.substring(i+1)),s.length},write(n,s,i,r,f,u){if(i!==0||r!==s.length||f!==null){u(o());return}let d=this.writeSync(n,s);u(null,d)},chmod(n,s,i){i(o())},chown(n,s,i,r){r(o())},close(n,s){s(o())},fchmod(n,s,i){i(o())},fchown(n,s,i,r){r(o())},fstat(n,s){s(o())},fsync(n,s){s(null)},ftruncate(n,s,i){i(o())},lchown(n,s,i,r){r(o())},link(n,s,i){i(o())},lstat(n,s){s(o())},mkdir(n,s,i){i(o())},open(n,s,i,r){r(o())},read(n,s,i,r,f,u){u(o())},readdir(n,s){s(o())},readlink(n,s){s(o())},rename(n,s,i){i(o())},rmdir(n,s){s(o())},stat(n,s){s(o())},symlink(n,s,i){i(o())},truncate(n,s,i){i(o())},unlink(n,s){s(o())},utimes(n,s,i,r){r(o())}}}if(globalThis.process||(globalThis.process={getuid(){return-1},getgid(){return-1},geteuid(){return-1},getegid(){return-1},getgroups(){throw o()},pid:-1,ppid:-1,umask(){throw o()},cwd(){throw o()},chdir(){throw o()}}),!globalThis.crypto)throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");if(!globalThis.performance)throw new Error("globalThis.performance is not available, polyfill required (performance.now only)");if(!globalThis.TextEncoder)throw new Error("globalThis.TextEncoder is not available, polyfill required");if(!globalThis.TextDecoder)throw new Error("globalThis.TextDecoder is not available, polyfill required");let y=new TextEncoder("utf-8"),_=new TextDecoder("utf-8");globalThis.Go=class{constructor(){this.argv=["js"],this.env={},this.exit=t=>{t!==0&&console.warn("exit code:",t)},this._exitPromise=new Promise(t=>{this._resolveExitPromise=t}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;let h=(t,e)=>{this.mem.setUint32(t+0,e,!0),this.mem.setUint32(t+4,Math.floor(e/4294967296),!0)},n=(t,e)=>{this.mem.setUint32(t+0,e,!0)},s=t=>{let e=this.mem.getUint32(t+0,!0),l=this.mem.getInt32(t+4,!0);return e+l*4294967296},i=t=>{let e=this.mem.getFloat64(t,!0);if(e===0)return;if(!isNaN(e))return e;let l=this.mem.getUint32(t,!0);return this._values[l]},r=(t,e)=>{if(typeof e=="number"&&e!==0){if(isNaN(e)){this.mem.setUint32(t+4,2146959360,!0),this.mem.setUint32(t,0,!0);return}this.mem.setFloat64(t,e,!0);return}if(e===void 0){this.mem.setFloat64(t,0,!0);return}let a=this._ids.get(e);a===void 0&&(a=this._idPool.pop(),a===void 0&&(a=this._values.length),this._values[a]=e,this._goRefCounts[a]=0,this._ids.set(e,a)),this._goRefCounts[a]++;let c=0;switch(typeof e){case"object":e!==null&&(c=1);break;case"string":c=2;break;case"symbol":c=3;break;case"function":c=4;break}this.mem.setUint32(t+4,2146959360|c,!0),this.mem.setUint32(t,a,!0)},f=t=>{let e=s(t+0),l=s(t+8);return new Uint8Array(this._inst.exports.mem.buffer,e,l)},u=t=>{let e=s(t+0),l=s(t+8),a=new Array(l);for(let c=0;c<l;c++)a[c]=i(e+c*8);return a},d=t=>{let e=s(t+0),l=s(t+8);return _.decode(new DataView(this._inst.exports.mem.buffer,e,l))},m=Date.now()-performance.now();this.importObject={_gotest:{add:(t,e)=>t+e},gojs:{"runtime.wasmExit":t=>{t>>>=0;let e=this.mem.getInt32(t+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(e)},"runtime.wasmWrite":t=>{t>>>=0;let e=s(t+8),l=s(t+16),a=this.mem.getInt32(t+24,!0);fs.writeSync(e,new Uint8Array(this._inst.exports.mem.buffer,l,a))},"runtime.resetMemoryDataView":t=>{t>>>=0,this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":t=>{t>>>=0,h(t+8,(m+performance.now())*1e6)},"runtime.walltime":t=>{t>>>=0;let e=new Date().getTime();h(t+8,e/1e3),this.mem.setInt32(t+16,e%1e3*1e6,!0)},"runtime.scheduleTimeoutEvent":t=>{t>>>=0;let e=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(e,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(e);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},s(t+8))),this.mem.setInt32(t+16,e,!0)},"runtime.clearTimeoutEvent":t=>{t>>>=0;let e=this.mem.getInt32(t+8,!0);clearTimeout(this._scheduledTimeouts.get(e)),this._scheduledTimeouts.delete(e)},"runtime.getRandomData":t=>{t>>>=0,T.getRandomValues(f(t+8))},"syscall/js.finalizeRef":t=>{t>>>=0;let e=this.mem.getUint32(t+8,!0);if(this._goRefCounts[e]--,this._goRefCounts[e]===0){let l=this._values[e];this._values[e]=null,this._ids.delete(l),this._idPool.push(e)}},"syscall/js.stringVal":t=>{t>>>=0,r(t+24,d(t+8))},"syscall/js.valueGet":t=>{t>>>=0;let e=Reflect.get(i(t+8),d(t+16));t=this._inst.exports.getsp()>>>0,r(t+32,e)},"syscall/js.valueSet":t=>{t>>>=0,Reflect.set(i(t+8),d(t+16),i(t+32))},"syscall/js.valueDelete":t=>{t>>>=0,Reflect.deleteProperty(i(t+8),d(t+16))},"syscall/js.valueIndex":t=>{t>>>=0,r(t+24,Reflect.get(i(t+8),s(t+16)))},"syscall/js.valueSetIndex":t=>{t>>>=0,Reflect.set(i(t+8),s(t+16),i(t+24))},"syscall/js.valueCall":t=>{t>>>=0;try{let e=i(t+8),l=Reflect.get(e,d(t+16)),a=u(t+32),c=Reflect.apply(l,e,a);t=this._inst.exports.getsp()>>>0,r(t+56,c),this.mem.setUint8(t+64,1)}catch(e){t=this._inst.exports.getsp()>>>0,r(t+56,e),this.mem.setUint8(t+64,0)}},"syscall/js.valueInvoke":t=>{t>>>=0;try{let e=i(t+8),l=u(t+16),a=Reflect.apply(e,void 0,l);t=this._inst.exports.getsp()>>>0,r(t+40,a),this.mem.setUint8(t+48,1)}catch(e){t=this._inst.exports.getsp()>>>0,r(t+40,e),this.mem.setUint8(t+48,0)}},"syscall/js.valueNew":t=>{t>>>=0;try{let e=i(t+8),l=u(t+16),a=Reflect.construct(e,l);t=this._inst.exports.getsp()>>>0,r(t+40,a),this.mem.setUint8(t+48,1)}catch(e){t=this._inst.exports.getsp()>>>0,r(t+40,e),this.mem.setUint8(t+48,0)}},"syscall/js.valueLength":t=>{t>>>=0,h(t+16,parseInt(i(t+8).length))},"syscall/js.valuePrepareString":t=>{t>>>=0;let e=y.encode(String(i(t+8)));r(t+16,e),h(t+24,e.length)},"syscall/js.valueLoadString":t=>{t>>>=0;let e=i(t+8);f(t+16).set(e)},"syscall/js.valueInstanceOf":t=>{t>>>=0,this.mem.setUint8(t+24,i(t+8)instanceof i(t+16)?1:0)},"syscall/js.copyBytesToGo":t=>{t>>>=0;let e=f(t+8),l=i(t+32);if(!(l instanceof Uint8Array||l instanceof Uint8ClampedArray)){this.mem.setUint8(t+48,0);return}let a=l.subarray(0,e.length);e.set(a),h(t+40,a.length),this.mem.setUint8(t+48,1)},"syscall/js.copyBytesToJS":t=>{t>>>=0;let e=i(t+8),l=f(t+16);if(!(e instanceof Uint8Array||e instanceof Uint8ClampedArray)){this.mem.setUint8(t+48,0);return}let a=l.subarray(0,e.length);e.set(a),h(t+40,a.length),this.mem.setUint8(t+48,1)},debug:t=>{console.log(t)}}}}async run(h){if(!(h instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=h,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,globalThis,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[globalThis,5],[this,6]]),this._idPool=[],this.exited=!1;let n=4096,s=m=>{let t=n,e=y.encode(m+"\0");return new Uint8Array(this.mem.buffer,n,e.length).set(e),n+=e.length,n%8!==0&&(n+=8-n%8),t},i=this.argv.length,r=[];this.argv.forEach(m=>{r.push(s(m))}),r.push(0),Object.keys(this.env).sort().forEach(m=>{r.push(s(`${m}=${this.env[m]}`))}),r.push(0);let u=n;if(r.forEach(m=>{this.mem.setUint32(n,m,!0),this.mem.setUint32(n+4,0,!0),n+=8}),n>=12288)throw new Error("total length of command line and environment variables exceeds limit");this._inst.exports.run(i,u),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(h){let n=this;return function(){let s={id:h,this:this,args:arguments};return n._pendingEvent=s,n._resume(),s.result}}}})();w.exports={globalThisCopy:g}});export default v();
|
|
Binary file
|
|
Binary file
|
|
@@ -1,124 +1 @@
|
|
|
1
|
-
var
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import axios from 'axios';
|
|
11
|
-
import { getPortalBaseURL, initClient, mpcComputationClient, paraVersion, WalletType, } from '@getpara/core-sdk';
|
|
12
|
-
import * as walletUtils from './walletUtils.js';
|
|
13
|
-
let rawWasm;
|
|
14
|
-
function requestWasmWithRetries(ctx, retries = 3) {
|
|
15
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
for (let i = 0; i < retries; i++) {
|
|
17
|
-
try {
|
|
18
|
-
return yield axios.get(`${getPortalBaseURL(ctx, true, true)}/static/js/main.wasm`, { responseType: 'arraybuffer' });
|
|
19
|
-
}
|
|
20
|
-
catch (e) {
|
|
21
|
-
if (i === retries - 1) {
|
|
22
|
-
throw e;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
function loadWasm(ctx) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
yield import('../wasm/wasm_exec.js');
|
|
31
|
-
global.WebSocket = require('ws');
|
|
32
|
-
const goWasm = new global.Go();
|
|
33
|
-
if (!rawWasm) {
|
|
34
|
-
rawWasm = (yield requestWasmWithRetries(ctx)).data;
|
|
35
|
-
}
|
|
36
|
-
const wasmBuffer = new Uint8Array(rawWasm);
|
|
37
|
-
const webAssemblySource = yield WebAssembly.instantiate(wasmBuffer, goWasm.importObject);
|
|
38
|
-
goWasm.run(webAssemblySource.instance);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
function executeMessage(ctx, message) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const { functionType, params } = message;
|
|
44
|
-
switch (functionType) {
|
|
45
|
-
case 'KEYGEN': {
|
|
46
|
-
const { userId, secretKey, type = WalletType.EVM } = params;
|
|
47
|
-
return walletUtils.keygen(ctx, userId, type, secretKey);
|
|
48
|
-
}
|
|
49
|
-
case 'SIGN_TRANSACTION': {
|
|
50
|
-
const { share, walletId, userId, tx, chainId } = params;
|
|
51
|
-
return walletUtils.signTransaction(ctx, share, walletId, userId, tx, chainId);
|
|
52
|
-
}
|
|
53
|
-
case 'SEND_TRANSACTION': {
|
|
54
|
-
const { share, walletId, userId, tx, chainId } = params;
|
|
55
|
-
return walletUtils.sendTransaction(ctx, share, walletId, userId, tx, chainId);
|
|
56
|
-
}
|
|
57
|
-
case 'SIGN_MESSAGE': {
|
|
58
|
-
const { share, walletId, userId, message } = params;
|
|
59
|
-
return walletUtils.signMessage(ctx, share, walletId, userId, message);
|
|
60
|
-
}
|
|
61
|
-
case 'REFRESH': {
|
|
62
|
-
const { share, walletId, userId } = params;
|
|
63
|
-
return walletUtils.refresh(ctx, share, walletId, userId);
|
|
64
|
-
}
|
|
65
|
-
case 'PREKEYGEN': {
|
|
66
|
-
const { email, partnerId, secretKey, type = WalletType.EVM } = params;
|
|
67
|
-
let { pregenIdentifier, pregenIdentifierType } = params;
|
|
68
|
-
if (email !== 'null' && email !== 'undefined' && email !== '' && email != null) {
|
|
69
|
-
pregenIdentifier = email;
|
|
70
|
-
pregenIdentifierType = 'EMAIL';
|
|
71
|
-
}
|
|
72
|
-
const keygenRes = yield walletUtils.preKeygen(ctx, partnerId, pregenIdentifier, pregenIdentifierType, type, secretKey);
|
|
73
|
-
return keygenRes;
|
|
74
|
-
}
|
|
75
|
-
case 'GET_PRIVATE_KEY': {
|
|
76
|
-
const { share, walletId, userId } = params;
|
|
77
|
-
return yield walletUtils.getPrivateKey(ctx, share, walletId, userId);
|
|
78
|
-
}
|
|
79
|
-
case 'ED25519_KEYGEN': {
|
|
80
|
-
const { userId } = params;
|
|
81
|
-
return walletUtils.ed25519Keygen(ctx, userId);
|
|
82
|
-
}
|
|
83
|
-
case 'ED25519_SIGN': {
|
|
84
|
-
const { share, walletId, userId, base64Bytes } = params;
|
|
85
|
-
return walletUtils.ed25519Sign(ctx, share, userId, walletId, base64Bytes);
|
|
86
|
-
}
|
|
87
|
-
case 'ED25519_PREKEYGEN': {
|
|
88
|
-
const { email } = params;
|
|
89
|
-
let { pregenIdentifier, pregenIdentifierType } = params;
|
|
90
|
-
if (email !== 'null' && email !== 'undefined' && email !== '' && email != null) {
|
|
91
|
-
pregenIdentifier = email;
|
|
92
|
-
pregenIdentifierType = 'EMAIL';
|
|
93
|
-
}
|
|
94
|
-
return walletUtils.ed25519PreKeygen(ctx, pregenIdentifier, pregenIdentifierType);
|
|
95
|
-
}
|
|
96
|
-
default: {
|
|
97
|
-
throw new Error(`functionType: ${functionType} not supported`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
export function handleMessage(e) {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
const { env, apiKey, cosmosPrefix = 'cosmos', offloadMPCComputationURL, disableWorkers, sessionCookie, useDKLS, disableWebSockets, workId, } = e.data;
|
|
105
|
-
const ctx = {
|
|
106
|
-
env,
|
|
107
|
-
apiKey,
|
|
108
|
-
client: initClient({ env, version: paraVersion, apiKey, retrieveSessionCookie: () => sessionCookie }),
|
|
109
|
-
offloadMPCComputationURL: offloadMPCComputationURL,
|
|
110
|
-
mpcComputationClient: offloadMPCComputationURL
|
|
111
|
-
? mpcComputationClient.initClient(offloadMPCComputationURL, !!disableWorkers)
|
|
112
|
-
: undefined,
|
|
113
|
-
useDKLS,
|
|
114
|
-
disableWebSockets: !!disableWebSockets,
|
|
115
|
-
cosmosPrefix,
|
|
116
|
-
};
|
|
117
|
-
if (!ctx.offloadMPCComputationURL || ctx.useDKLS) {
|
|
118
|
-
yield loadWasm(ctx);
|
|
119
|
-
}
|
|
120
|
-
const result = yield executeMessage(ctx, e.data);
|
|
121
|
-
result.workId = workId;
|
|
122
|
-
return result;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
1
|
+
import{a as h}from"./chunk-NEJSZOZX.js";import O from"axios";import{getPortalBaseURL as $,initClient as _,mpcComputationClient as F,paraVersion as V,WalletType as A}from"@getpara/core-sdk";import{getBaseMPCNetworkUrl as f,WalletScheme as S,WalletType as p}from"@getpara/core-sdk";var b=(e,a,i)=>`{"ServerUrl":"${e}", "WalletId": "${a}", "Id":"${i}", "Ids":["USER","CAPSULE"], "Threshold":1}`,y=(e,a,i)=>`{"walletId": "${e}", "id":"${a}", "otherId":"CAPSULE", "isReceiver": false, "disableWebSockets": ${i}}`;async function P(e,a,i,r){let{data:n}=await e.mpcComputationClient.post("/wallets",{userId:a,walletId:i,protocolId:r});return n}async function N(e,a,i,r,n,t){let{data:s}=await e.mpcComputationClient.post(`/wallets/${i}/messages/sign`,{userId:a,protocolId:r,message:n,signer:t});return s}async function I(e,a,i,r,n,t,s){let{data:o}=await e.mpcComputationClient.post(`/wallets/${i}/transactions/send`,{userId:a,protocolId:r,transaction:n,signer:t,chainId:s});return o}async function T(e,a){let{walletId:i,protocolId:r}=await e.client.createWallet(a,{scheme:S.ED25519,type:p.SOLANA}),n=f(e.env,!e.disableWebSockets);return{signer:await new Promise((s,o)=>global.ed25519CreateAccount(n,i,r,(l,g)=>{l&&o(l),s(g)})),walletId:i}}async function U(e,a,i){let{walletId:r,protocolId:n}=await e.client.createPregenWallet({pregenIdentifier:a,pregenIdentifierType:i,scheme:S.ED25519,type:p.SOLANA}),t=f(e.env,!e.disableWebSockets);return{signer:await new Promise((o,l)=>global.ed25519CreateAccount(t,r,n,(g,c)=>{g&&l(g),o(c)})),walletId:r}}async function E(e,a,i,r,n){let{protocolId:t}=await e.client.preSignMessage(i,r,n,S.ED25519);return{signature:await new Promise((o,l)=>global.ed25519Sign(a,t,n,(g,c)=>{g&&l(g),o(c)}))}}async function K(e,a,i,r){let{walletId:n,protocolId:t}=await e.client.createWallet(a,{useTwoSigners:!0,scheme:e.useDKLS?S.DKLS:S.CGGMP,type:i,cosmosPrefix:i===p.COSMOS?e.cosmosPrefix:void 0});if(e.offloadMPCComputationURL&&!e.useDKLS)return{signer:(await P(e,a,n,t)).signer,walletId:n};let s=f(e.env,!e.disableWebSockets),o=e.useDKLS?y(n,"USER",e.disableWebSockets):b(s,n,"USER"),l=e.useDKLS?global.dklsCreateAccount:global.createAccountV2;return{signer:await new Promise((c,u)=>l(o,s,t,r,()=>{},(d,w)=>{d&&u(d),c(w)})),walletId:n}}async function L(e,a,i,r,n,t){let{walletId:s,protocolId:o}=await e.client.createPregenWallet({pregenIdentifier:i,pregenIdentifierType:r,type:n,cosmosPrefix:n===p.COSMOS?e.cosmosPrefix:void 0});if(e.offloadMPCComputationURL&&!e.useDKLS)return{signer:(await P(e,a,s,o)).signer,walletId:s};let l=f(e.env,!e.disableWebSockets),g=e.useDKLS?y(s,"USER",e.disableWebSockets):b(l,s,"USER"),c=e.useDKLS?global.dklsCreateAccount:global.createAccountV2;return{signer:await new Promise((d,w)=>c(g,l,o,t,()=>{},(C,D)=>{C&&w(C),d(D)})),walletId:s}}async function k(e,a,i,r,n){let{protocolId:t,pendingTransactionId:s}=await e.client.preSignMessage(r,i,n);if(s)return{pendingTransactionId:s};if(e.offloadMPCComputationURL&&!e.useDKLS)return N(e,r,i,t,n,a);let o=f(e.env,!e.disableWebSockets),l=e.useDKLS?global.dklsSignMessage:global.signMessage;return new Promise((g,c)=>l(a,o,n,t,(u,d)=>{u&&c(u),g({signature:d})}))}async function R(e,a,i,r,n,t){let{data:{protocolId:s,pendingTransactionId:o}}=await e.client.signTransaction(r,i,{transaction:n,chainId:t});if(o)return{pendingTransactionId:o};if(e.offloadMPCComputationURL&&!e.useDKLS)return I(e,r,i,s,n,a,t);let l=f(e.env,!e.disableWebSockets),g=e.useDKLS?global.dklsSendTransaction:global.sendTransaction;return new Promise((c,u)=>g(a,l,n,t,s,(d,w)=>{d&&u(d),c({signature:w})}))}async function W(e,a,i,r,n,t){let{data:{protocolId:s,pendingTransactionId:o}}=await e.client.sendTransaction(r,i,{transaction:n,chainId:t});if(o)return{pendingTransactionId:o};if(e.offloadMPCComputationURL&&!e.useDKLS)return I(e,r,i,s,n,a,t);let l=f(e.env,!e.disableWebSockets),g=e.useDKLS?global.dklsSendTransaction:global.sendTransaction;return new Promise((c,u)=>g(a,l,n,t,s,(d,w)=>{d&&u(d),c({signature:w})}))}async function M(e,a,i,r){let{data:{protocolId:n}}=await e.client.refreshKeys(r,i),t=f(e.env,!e.disableWebSockets),s=e.useDKLS?global.dklsRefresh:global.refresh;return new Promise((o,l)=>s(a,t,n,(g,c)=>{g&&l(g),o(c)}))}async function v(e,a,i,r){let n=await e.client.getParaShare(r,i);return n?new Promise((t,s)=>global.getPrivateKey(a,n,(o,l)=>{o&&s(o),t(l)})):(console.error("unable to retrieve Para share"),"")}var m;async function q(e,a=3){for(let i=0;i<a;i++)try{return await O.get(`${$(e,!0,!0)}/static/js/main.wasm`,{responseType:"arraybuffer"})}catch(r){if(i===a-1)throw r}}async function B(e){await import("./wasm_exec-TBSO5IWG.js"),global.WebSocket=h("ws");let a=new global.Go;m||(m=(await q(e)).data);let i=new Uint8Array(m),r=await WebAssembly.instantiate(i,a.importObject);a.run(r.instance)}async function Y(e,a){let{functionType:i,params:r}=a;switch(i){case"KEYGEN":{let{userId:n,secretKey:t,type:s=A.EVM}=r;return K(e,n,s,t)}case"SIGN_TRANSACTION":{let{share:n,walletId:t,userId:s,tx:o,chainId:l}=r;return R(e,n,t,s,o,l)}case"SEND_TRANSACTION":{let{share:n,walletId:t,userId:s,tx:o,chainId:l}=r;return W(e,n,t,s,o,l)}case"SIGN_MESSAGE":{let{share:n,walletId:t,userId:s,message:o}=r;return k(e,n,t,s,o)}case"REFRESH":{let{share:n,walletId:t,userId:s}=r;return M(e,n,t,s)}case"PREKEYGEN":{let{email:n,partnerId:t,secretKey:s,type:o=A.EVM}=r,{pregenIdentifier:l,pregenIdentifierType:g}=r;return n!=="null"&&n!=="undefined"&&n!==""&&n!=null&&(l=n,g="EMAIL"),await L(e,t,l,g,o,s)}case"GET_PRIVATE_KEY":{let{share:n,walletId:t,userId:s}=r;return await v(e,n,t,s)}case"ED25519_KEYGEN":{let{userId:n}=r;return T(e,n)}case"ED25519_SIGN":{let{share:n,walletId:t,userId:s,base64Bytes:o}=r;return E(e,n,s,t,o)}case"ED25519_PREKEYGEN":{let{email:n}=r,{pregenIdentifier:t,pregenIdentifierType:s}=r;return n!=="null"&&n!=="undefined"&&n!==""&&n!=null&&(t=n,s="EMAIL"),U(e,t,s)}default:throw new Error(`functionType: ${i} not supported`)}}async function ee(e){let{env:a,apiKey:i,cosmosPrefix:r="cosmos",offloadMPCComputationURL:n,disableWorkers:t,sessionCookie:s,useDKLS:o,disableWebSockets:l,workId:g}=e.data,c={env:a,apiKey:i,client:_({env:a,version:V,apiKey:i,retrieveSessionCookie:()=>s}),offloadMPCComputationURL:n,mpcComputationClient:n?F.initClient(n,!!t):void 0,useDKLS:o,disableWebSockets:!!l,cosmosPrefix:r};(!c.offloadMPCComputationURL||c.useDKLS)&&await B(c);let u=await Y(c,e.data);return u.workId=g,u}export{ee as handleMessage};
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpara/server-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
"wasm_exec.js"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@getpara/core-sdk": "1.
|
|
13
|
-
"@getpara/user-management-client": "1.
|
|
12
|
+
"@getpara/core-sdk": "1.3.0",
|
|
13
|
+
"@getpara/user-management-client": "1.3.0",
|
|
14
14
|
"uuid": "^9.0.1",
|
|
15
15
|
"ws": "^8.14.2"
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build": "
|
|
18
|
+
"build": "rm -rf dist && node ./scripts/build.mjs && yarn build:types",
|
|
19
|
+
"old-build": "yarn build:cjs && yarn build:esm && yarn build:types",
|
|
19
20
|
"build:cjs": "rm -rf dist/cjs && tsc --module commonjs --outDir dist/cjs && printf '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
|
|
20
21
|
"build:esm": "rm -rf dist/esm && tsc --module es2020 --outDir dist/esm && printf '{\"type\":\"module\",\"sideEffects\":[\"wasm_exec.js\"]}' > dist/esm/package.json",
|
|
21
22
|
"build:types": "rm -rf dist/types && tsc --module es2020 --declarationDir dist/types --emitDeclarationOnly --declaration",
|
|
@@ -29,5 +30,5 @@
|
|
|
29
30
|
"dist",
|
|
30
31
|
"package.json"
|
|
31
32
|
],
|
|
32
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "2d421556a0a1497abd08e18dca94f08ec3ad640b"
|
|
33
34
|
}
|
package/dist/cjs/ParaServer.d.ts
DELETED
package/dist/cjs/ParaServer.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Para = void 0;
|
|
7
|
-
const core_sdk_1 = __importDefault(require("@getpara/core-sdk"));
|
|
8
|
-
const ServerUtils_js_1 = require("./ServerUtils.js");
|
|
9
|
-
class Para extends core_sdk_1.default {
|
|
10
|
-
getPlatformUtils() {
|
|
11
|
-
return new ServerUtils_js_1.ServerUtils();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.Para = Para;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { StorageUtils } from '@getpara/core-sdk';
|
|
2
|
-
/**
|
|
3
|
-
* Implements `StorageUtils`
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export declare class ServerLocalStorage implements StorageUtils {
|
|
7
|
-
private localStorage;
|
|
8
|
-
get: (key: string) => string | null;
|
|
9
|
-
set: (key: string, value: string) => void;
|
|
10
|
-
removeItem: (key: string) => void;
|
|
11
|
-
clear: (prefix: string) => void;
|
|
12
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ServerLocalStorage = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Implements `StorageUtils`
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
class ServerLocalStorage {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.localStorage = {};
|
|
11
|
-
this.get = (key) => {
|
|
12
|
-
return this.localStorage[key] || null;
|
|
13
|
-
};
|
|
14
|
-
this.set = (key, value) => {
|
|
15
|
-
this.localStorage[key] = value;
|
|
16
|
-
};
|
|
17
|
-
this.removeItem = (key) => {
|
|
18
|
-
delete this.localStorage[key];
|
|
19
|
-
};
|
|
20
|
-
this.clear = (prefix) => {
|
|
21
|
-
const keys = Object.keys(this.localStorage);
|
|
22
|
-
for (let key in keys) {
|
|
23
|
-
if (key && key.startsWith(prefix)) {
|
|
24
|
-
this.removeItem(key);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.ServerLocalStorage = ServerLocalStorage;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { StorageUtils } from '@getpara/core-sdk';
|
|
2
|
-
/**
|
|
3
|
-
* Implements `StorageUtils` using a JavaScript object.
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export declare class ServerSessionStorage implements StorageUtils {
|
|
7
|
-
private sessionStorage;
|
|
8
|
-
get: (key: string) => string | null;
|
|
9
|
-
set: (key: string, value: string) => void;
|
|
10
|
-
removeItem: (key: string) => void;
|
|
11
|
-
clear: (prefix: string) => void;
|
|
12
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ServerSessionStorage = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Implements `StorageUtils` using a JavaScript object.
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
class ServerSessionStorage {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.sessionStorage = {};
|
|
11
|
-
this.get = (key) => {
|
|
12
|
-
return this.sessionStorage[key] || null;
|
|
13
|
-
};
|
|
14
|
-
this.set = (key, value) => {
|
|
15
|
-
this.sessionStorage[key] = value;
|
|
16
|
-
};
|
|
17
|
-
this.removeItem = (key) => {
|
|
18
|
-
delete this.sessionStorage[key];
|
|
19
|
-
};
|
|
20
|
-
this.clear = (prefix) => {
|
|
21
|
-
const keys = Object.keys(this.sessionStorage);
|
|
22
|
-
for (let key in keys) {
|
|
23
|
-
if (key && key.startsWith(prefix)) {
|
|
24
|
-
this.removeItem(key);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.ServerSessionStorage = ServerSessionStorage;
|