@getpara/server-sdk 1.4.3 → 1.5.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 CHANGED
@@ -1 +1,506 @@
1
- var H=Object.create;var C=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var X=(e,r)=>{for(var s in r)C(e,s,{get:r[s],enumerable:!0})},b=(e,r,s,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of q(r))!Q.call(e,i)&&i!==s&&C(e,i,{get:()=>r[i],enumerable:!(t=J(r,i))||t.enumerable});return e},f=(e,r,s)=>(b(e,r,"default"),s&&b(s,r,"default")),w=(e,r,s)=>(s=e!=null?H(z(e)):{},b(r||!e||!e.__esModule?C(s,"default",{value:e,enumerable:!0}):s,e)),Z=e=>b(C({},"__esModule",{value:!0}),e);var u={};X(u,{Para:()=>S,default:()=>ee});module.exports=Z(u);f(u,require("@getpara/core-sdk"),module.exports);var k=w(require("@getpara/core-sdk")),F=w(require("@sentry/node"));var W=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 K=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 c=w(require("uuid")),y=require("@getpara/core-sdk");var M=require("worker_threads"),L=require("@getpara/core-sdk"),x=1e3*90,p,I={};function h(e,r){let{timeoutId:s}=I[e];delete I[e],!r&&clearTimeout(s)}async function m(e,r,s){let t=setTimeout(()=>{h(s,!0)},x);if(I[s]={fn:r,timeoutId:t},!p||!p.threadId){let i=await fetch(`${(0,L.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 I[a].fn(o),h(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 O(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 _(e,r,s,t,i=!1,n,o={}){return new Promise(async a=>{let l=c.v4();(await m(e,async d=>{await(0,y.waitUntilTrue)(async()=>O(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 D(e,r,s,t,i,n=!1,o,a){return new Promise(async l=>{let g=c.v4(),d=await m(e,async E=>{await(0,y.waitUntilTrue)(async()=>U(e,r,s,E.walletId),15e3,1e3),l({signer:E.signer,walletId:E.walletId,recoveryShare:null})},g),R={pregenIdentifier:r,pregenIdentifierType:s,secretKey:i,partnerId:o,email:void 0,type:t};s==="EMAIL"&&(R.email=r),d.postMessage({env:e.env,apiKey:e.apiKey,cosmosPrefix:e.cosmosPrefix,params:R,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=c.v4();(await m(e,async a=>{await(0,y.waitUntilTrue)(async()=>O(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 A(e,r,s,t){return new Promise(async i=>{let n=c.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 P=w(require("uuid"));async function B(e,r,s,t,i,n,o,a){return await new Promise(async l=>{let g=P.v4();(await m(e,async v=>{l(v)},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 G(e,r,s,t,i,n,o,a){return await new Promise(async l=>{let g=P.v4();(await m(e,async v=>{l(v)},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 Y(e,r,s,t,i,n,o){return await new Promise(async a=>{let l=P.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 j(e,r,s,t,i,n){return await new Promise(async o=>{let a=P.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 V=w(require("uuid"));async function $(e,r,s,t,i){return await new Promise(async n=>{let o=V.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 T=class{constructor(){this.localStorage=new W;this.sessionStorage=new K;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 _(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 D(r,t,i,n,o,!1,s,a)}signMessage(r,s,t,i,n,o,a){return Y(r,s,t,i,n,o,a)}signTransaction(r,s,t,i,n,o,a,l){return B(r,s,t,i,n,o,a,l)}sendTransaction(r,s,t,i,n,o,a,l){return G(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 A(r,s,t,i)}ed25519Sign(r,s,t,i,n,o){return j(r,s,t,i,n,o)}openPopup(r){throw new Error("not implemented")}};var S=class extends k.default{constructor(r,s,t){super(r,s,t),r!==k.Environment.PROD&&r!==k.Environment.DEV&&F.init({environment:r.toLowerCase(),dsn:"https://2a26842d951255c2721fde5c1dd2b252@o4504568036720640.ingest.us.sentry.io/4508850906791936"})}getPlatformUtils(){return new T}};var ee=S;0&&(module.exports={Para,...require("@getpara/core-sdk")});
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ Para: () => Para,
34
+ default: () => src_default
35
+ });
36
+ module.exports = __toCommonJS(src_exports);
37
+ __reExport(src_exports, require("@getpara/core-sdk"), module.exports);
38
+
39
+ // src/ParaServer.ts
40
+ var import_core_sdk3 = __toESM(require("@getpara/core-sdk"));
41
+ var Sentry = __toESM(require("@sentry/node"));
42
+
43
+ // src/ServerLocalStorage.ts
44
+ var ServerLocalStorage = class {
45
+ constructor() {
46
+ this.localStorage = {};
47
+ this.get = (key) => {
48
+ return this.localStorage[key] || null;
49
+ };
50
+ this.set = (key, value) => {
51
+ this.localStorage[key] = value;
52
+ };
53
+ this.removeItem = (key) => {
54
+ delete this.localStorage[key];
55
+ };
56
+ this.clear = (prefix) => {
57
+ const keys = Object.keys(this.localStorage);
58
+ for (let key in keys) {
59
+ if (key && key.startsWith(prefix)) {
60
+ this.removeItem(key);
61
+ }
62
+ }
63
+ };
64
+ }
65
+ };
66
+
67
+ // src/ServerSessionStorage.ts
68
+ var ServerSessionStorage = class {
69
+ constructor() {
70
+ this.sessionStorage = {};
71
+ this.get = (key) => {
72
+ return this.sessionStorage[key] || null;
73
+ };
74
+ this.set = (key, value) => {
75
+ this.sessionStorage[key] = value;
76
+ };
77
+ this.removeItem = (key) => {
78
+ delete this.sessionStorage[key];
79
+ };
80
+ this.clear = (prefix) => {
81
+ const keys = Object.keys(this.sessionStorage);
82
+ for (let key in keys) {
83
+ if (key && key.startsWith(prefix)) {
84
+ this.removeItem(key);
85
+ }
86
+ }
87
+ };
88
+ }
89
+ };
90
+
91
+ // src/wallet/keygen.ts
92
+ var uuid = __toESM(require("uuid"));
93
+ var import_core_sdk2 = require("@getpara/core-sdk");
94
+
95
+ // src/workers/workerWrapper.ts
96
+ var import_worker_threads = require("worker_threads");
97
+ var import_core_sdk = require("@getpara/core-sdk");
98
+ var CLEAR_WORKER_TIMEOUT_MS = 1e3 * 90;
99
+ var worker;
100
+ var resFunctionMap = {};
101
+ function removeWorkId(workId, skipClearTimeout) {
102
+ const { timeoutId } = resFunctionMap[workId];
103
+ delete resFunctionMap[workId];
104
+ if (skipClearTimeout) {
105
+ return;
106
+ }
107
+ clearTimeout(timeoutId);
108
+ }
109
+ async function setupWorker(ctx, resFunction, workId) {
110
+ const timeoutId = setTimeout(() => {
111
+ removeWorkId(workId, true);
112
+ }, CLEAR_WORKER_TIMEOUT_MS);
113
+ resFunctionMap[workId] = {
114
+ fn: resFunction,
115
+ timeoutId
116
+ };
117
+ if (!worker || !worker.threadId) {
118
+ const workerRes = await fetch(`${(0, import_core_sdk.getPortalBaseURL)(ctx)}/static/js/mpcWorkerServer-bundle.js`);
119
+ worker = new import_worker_threads.Worker(await workerRes.text(), { eval: true });
120
+ const onmessage = async (message) => {
121
+ const { workId: messageWorkId } = message;
122
+ delete message.workId;
123
+ await resFunctionMap[messageWorkId].fn(message);
124
+ removeWorkId(messageWorkId);
125
+ };
126
+ worker.on("message", onmessage);
127
+ worker.on("error", (err) => {
128
+ throw err;
129
+ });
130
+ worker.on("exit", (code) => {
131
+ console.error(`worker stopped with exit code ${code}`);
132
+ });
133
+ }
134
+ return worker;
135
+ }
136
+
137
+ // src/wallet/keygen.ts
138
+ async function isKeygenComplete(ctx, userId, walletId) {
139
+ const wallets = await ctx.client.getWallets(userId);
140
+ const wallet = wallets.data.wallets.find((w) => w.id === walletId);
141
+ return !!wallet.address;
142
+ }
143
+ async function isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, walletId) {
144
+ const wallets = await ctx.client.getPregenWallets({ [pregenIdentifierType]: [pregenIdentifier] });
145
+ const wallet = wallets.wallets.find((w) => w.id === walletId);
146
+ return !!wallet?.address;
147
+ }
148
+ function keygen(ctx, userId, type, secretKey, skipDistribute = false, sessionCookie, _emailProps = {}) {
149
+ return new Promise(async (resolve) => {
150
+ const workId = uuid.v4();
151
+ const worker2 = await setupWorker(
152
+ ctx,
153
+ async (res) => {
154
+ await (0, import_core_sdk2.waitUntilTrue)(async () => isKeygenComplete(ctx, userId, res.walletId), 15e3, 1e3);
155
+ if (skipDistribute) {
156
+ resolve({
157
+ signer: res.signer,
158
+ walletId: res.walletId,
159
+ recoveryShare: null
160
+ });
161
+ }
162
+ },
163
+ workId
164
+ );
165
+ worker2.postMessage({
166
+ env: ctx.env,
167
+ apiKey: ctx.apiKey,
168
+ cosmosPrefix: ctx.cosmosPrefix,
169
+ params: { userId, secretKey, type },
170
+ functionType: "KEYGEN",
171
+ offloadMPCComputationURL: ctx.offloadMPCComputationURL,
172
+ disableWorkers: ctx.disableWorkers,
173
+ sessionCookie,
174
+ useDKLS: ctx.useDKLS,
175
+ disableWebSockets: ctx.disableWebSockets,
176
+ wasmOverride: ctx.wasmOverride,
177
+ workId
178
+ });
179
+ });
180
+ }
181
+ function preKeygen(ctx, pregenIdentifier, pregenIdentifierType, type, secretKey, _skipDistribute = false, partnerId, sessionCookie) {
182
+ return new Promise(async (resolve) => {
183
+ const workId = uuid.v4();
184
+ const worker2 = await setupWorker(
185
+ ctx,
186
+ async (res) => {
187
+ await (0, import_core_sdk2.waitUntilTrue)(
188
+ async () => isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, res.walletId),
189
+ 15e3,
190
+ 1e3
191
+ );
192
+ resolve({
193
+ signer: res.signer,
194
+ walletId: res.walletId,
195
+ recoveryShare: null
196
+ });
197
+ },
198
+ workId
199
+ );
200
+ const email = void 0;
201
+ const params = { pregenIdentifier, pregenIdentifierType, secretKey, partnerId, email, type };
202
+ if (pregenIdentifierType === "EMAIL") {
203
+ params.email = pregenIdentifier;
204
+ }
205
+ worker2.postMessage({
206
+ env: ctx.env,
207
+ apiKey: ctx.apiKey,
208
+ cosmosPrefix: ctx.cosmosPrefix,
209
+ params,
210
+ functionType: "PREKEYGEN",
211
+ offloadMPCComputationURL: ctx.offloadMPCComputationURL,
212
+ disableWorkers: ctx.disableWorkers,
213
+ sessionCookie,
214
+ useDKLS: ctx.useDKLS,
215
+ disableWebSockets: ctx.disableWebSockets,
216
+ wasmOverride: ctx.wasmOverride,
217
+ workId
218
+ });
219
+ });
220
+ }
221
+ function ed25519Keygen(ctx, userId, sessionCookie, _emailProps = {}) {
222
+ return new Promise(async (resolve) => {
223
+ const workId = uuid.v4();
224
+ const worker2 = await setupWorker(
225
+ ctx,
226
+ async (res) => {
227
+ await (0, import_core_sdk2.waitUntilTrue)(async () => isKeygenComplete(ctx, userId, res.walletId), 15e3, 1e3);
228
+ resolve({
229
+ signer: res.signer,
230
+ walletId: res.walletId,
231
+ recoveryShare: null
232
+ });
233
+ },
234
+ workId
235
+ );
236
+ worker2.postMessage({
237
+ env: ctx.env,
238
+ apiKey: ctx.apiKey,
239
+ cosmosPrefix: ctx.cosmosPrefix,
240
+ params: { userId },
241
+ functionType: "ED25519_KEYGEN",
242
+ disableWorkers: ctx.disableWorkers,
243
+ sessionCookie,
244
+ disableWebSockets: ctx.disableWebSockets,
245
+ wasmOverride: ctx.wasmOverride,
246
+ workId
247
+ });
248
+ });
249
+ }
250
+ function ed25519PreKeygen(ctx, pregenIdentifier, pregenIdentifierType, sessionCookie) {
251
+ return new Promise(async (resolve) => {
252
+ const workId = uuid.v4();
253
+ const worker2 = await setupWorker(
254
+ ctx,
255
+ async (res) => {
256
+ await (0, import_core_sdk2.waitUntilTrue)(
257
+ async () => isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, res.walletId),
258
+ 15e3,
259
+ 1e3
260
+ );
261
+ resolve({
262
+ signer: res.signer,
263
+ walletId: res.walletId,
264
+ recoveryShare: null
265
+ });
266
+ },
267
+ workId
268
+ );
269
+ const email = void 0;
270
+ const params = { pregenIdentifier, pregenIdentifierType, email };
271
+ if (pregenIdentifierType === "EMAIL") {
272
+ params.email = pregenIdentifier;
273
+ }
274
+ worker2.postMessage({
275
+ env: ctx.env,
276
+ apiKey: ctx.apiKey,
277
+ cosmosPrefix: ctx.cosmosPrefix,
278
+ params,
279
+ functionType: "ED25519_PREKEYGEN",
280
+ disableWorkers: ctx.disableWorkers,
281
+ sessionCookie,
282
+ disableWebSockets: ctx.disableWebSockets,
283
+ wasmOverride: ctx.wasmOverride,
284
+ workId
285
+ });
286
+ });
287
+ }
288
+
289
+ // src/wallet/signing.ts
290
+ var uuid2 = __toESM(require("uuid"));
291
+ async function signTransaction(ctx, userId, walletId, share, tx, chainId, sessionCookie, isDKLS) {
292
+ return await new Promise(async (resolve) => {
293
+ const workId = uuid2.v4();
294
+ const worker2 = await setupWorker(
295
+ ctx,
296
+ async (sendTransactionRes) => {
297
+ resolve(sendTransactionRes);
298
+ },
299
+ workId
300
+ );
301
+ worker2.postMessage({
302
+ env: ctx.env,
303
+ apiKey: ctx.apiKey,
304
+ cosmosPrefix: ctx.cosmosPrefix,
305
+ params: { share, walletId, userId, tx, chainId },
306
+ functionType: "SIGN_TRANSACTION",
307
+ offloadMPCComputationURL: ctx.offloadMPCComputationURL,
308
+ disableWorkers: ctx.disableWorkers,
309
+ sessionCookie,
310
+ useDKLS: isDKLS,
311
+ disableWebSockets: ctx.disableWebSockets,
312
+ wasmOverride: ctx.wasmOverride,
313
+ workId
314
+ });
315
+ });
316
+ }
317
+ async function sendTransaction(ctx, userId, walletId, share, tx, chainId, sessionCookie, isDKLS) {
318
+ return await new Promise(async (resolve) => {
319
+ const workId = uuid2.v4();
320
+ const worker2 = await setupWorker(
321
+ ctx,
322
+ async (sendTransactionRes) => {
323
+ resolve(sendTransactionRes);
324
+ },
325
+ workId
326
+ );
327
+ worker2.postMessage({
328
+ env: ctx.env,
329
+ apiKey: ctx.apiKey,
330
+ params: { share, walletId, userId, tx, chainId },
331
+ functionType: "SEND_TRANSACTION",
332
+ offloadMPCComputationURL: ctx.offloadMPCComputationURL,
333
+ disableWorkers: ctx.disableWorkers,
334
+ sessionCookie,
335
+ useDKLS: isDKLS,
336
+ disableWebSockets: ctx.disableWebSockets,
337
+ wasmOverride: ctx.wasmOverride,
338
+ workId
339
+ });
340
+ });
341
+ }
342
+ async function signMessage(ctx, userId, walletId, share, message, sessionCookie, isDKLS) {
343
+ return await new Promise(async (resolve) => {
344
+ const workId = uuid2.v4();
345
+ const worker2 = await setupWorker(
346
+ ctx,
347
+ async (signMessageRes) => {
348
+ resolve(signMessageRes);
349
+ },
350
+ workId
351
+ );
352
+ worker2.postMessage({
353
+ env: ctx.env,
354
+ apiKey: ctx.apiKey,
355
+ params: { share, walletId, userId, message },
356
+ functionType: "SIGN_MESSAGE",
357
+ offloadMPCComputationURL: ctx.offloadMPCComputationURL,
358
+ disableWorkers: ctx.disableWorkers,
359
+ sessionCookie,
360
+ useDKLS: isDKLS,
361
+ disableWebSockets: ctx.disableWebSockets,
362
+ wasmOverride: ctx.wasmOverride,
363
+ workId
364
+ });
365
+ });
366
+ }
367
+ async function ed25519Sign(ctx, userId, walletId, share, base64Bytes, sessionCookie) {
368
+ return await new Promise(async (resolve) => {
369
+ const workId = uuid2.v4();
370
+ const worker2 = await setupWorker(
371
+ ctx,
372
+ async (signMessageRes) => {
373
+ resolve(signMessageRes);
374
+ },
375
+ workId
376
+ );
377
+ worker2.postMessage({
378
+ env: ctx.env,
379
+ apiKey: ctx.apiKey,
380
+ params: { share, walletId, userId, base64Bytes },
381
+ functionType: "ED25519_SIGN",
382
+ offloadMPCComputationURL: ctx.offloadMPCComputationURL,
383
+ disableWorkers: ctx.disableWorkers,
384
+ sessionCookie,
385
+ disableWebSockets: ctx.disableWebSockets,
386
+ wasmOverride: ctx.wasmOverride,
387
+ workId
388
+ });
389
+ });
390
+ }
391
+
392
+ // src/wallet/privateKey.ts
393
+ var uuid3 = __toESM(require("uuid"));
394
+ async function getPrivateKey(ctx, userId, walletId, share, sessionCookie) {
395
+ return await new Promise(async (resolve) => {
396
+ const workId = uuid3.v4();
397
+ const worker2 = await setupWorker(
398
+ ctx,
399
+ async (res) => {
400
+ resolve(res);
401
+ },
402
+ workId
403
+ );
404
+ worker2.postMessage({
405
+ env: ctx.env,
406
+ apiKey: ctx.apiKey,
407
+ cosmosPrefix: ctx.cosmosPrefix,
408
+ params: { share, walletId, userId },
409
+ functionType: "GET_PRIVATE_KEY",
410
+ offloadMPCComputationURL: ctx.offloadMPCComputationURL,
411
+ disableWorkers: ctx.disableWorkers,
412
+ sessionCookie,
413
+ useDKLS: ctx.useDKLS,
414
+ disableWebSockets: ctx.disableWebSockets,
415
+ wasmOverride: ctx.wasmOverride,
416
+ workId
417
+ });
418
+ });
419
+ }
420
+
421
+ // src/ServerUtils.ts
422
+ var ServerUtils = class {
423
+ constructor() {
424
+ this.localStorage = new ServerLocalStorage();
425
+ this.sessionStorage = new ServerSessionStorage();
426
+ this.secureStorage = void 0;
427
+ this.isSyncStorage = true;
428
+ this.disableProviderModal = true;
429
+ }
430
+ getPrivateKey(ctx, userId, walletId, share, sessionCookie) {
431
+ return getPrivateKey(ctx, userId, walletId, share, sessionCookie);
432
+ }
433
+ keygen(ctx, userId, type, secretKey, sessionCookie, emailProps) {
434
+ return keygen(ctx, userId, type, secretKey, true, sessionCookie, emailProps);
435
+ }
436
+ refresh(_ctx, _sessionCookie, _userId, _walletId, _share, _oldPartnerId, _newPartnerId) {
437
+ throw new Error("Refresh function is not implemented in the ServerUtils class.");
438
+ }
439
+ preKeygen(ctx, partnerId, pregenIdentifier, pregenIdentifierType, type, secretKey, sessionCookie) {
440
+ return preKeygen(ctx, pregenIdentifier, pregenIdentifierType, type, secretKey, false, partnerId, sessionCookie);
441
+ }
442
+ signMessage(ctx, userId, walletId, share, message, sessionCookie, isDKLS) {
443
+ return signMessage(ctx, userId, walletId, share, message, sessionCookie, isDKLS);
444
+ }
445
+ signTransaction(ctx, userId, walletId, share, message, chainId, sessionCookie, isDKLS) {
446
+ return signTransaction(ctx, userId, walletId, share, message, chainId, sessionCookie, isDKLS);
447
+ }
448
+ sendTransaction(ctx, userId, walletId, share, tx, chainId, sessionCookie, isDKLS) {
449
+ return sendTransaction(ctx, userId, walletId, share, tx, chainId, sessionCookie, isDKLS);
450
+ }
451
+ signHash(_address, _hash) {
452
+ throw new Error("SignHash is not implemented in the ServerUtils class.");
453
+ }
454
+ ed25519Keygen(ctx, userId, sessionCookie, emailProps) {
455
+ return ed25519Keygen(ctx, userId, sessionCookie, emailProps);
456
+ }
457
+ ed25519PreKeygen(ctx, pregenIdentifier, pregenIdentifierType, sessionCookie) {
458
+ return ed25519PreKeygen(ctx, pregenIdentifier, pregenIdentifierType, sessionCookie);
459
+ }
460
+ ed25519Sign(ctx, userId, walletId, share, base64Bytes, sessionCookie) {
461
+ return ed25519Sign(ctx, userId, walletId, share, base64Bytes, sessionCookie);
462
+ }
463
+ openPopup(_popupUrl) {
464
+ throw new Error("OpenPopup is not implemented in the ServerUtils class.");
465
+ }
466
+ };
467
+
468
+ // src/ParaServer.ts
469
+ var Para = class extends import_core_sdk3.default {
470
+ constructor(env, apiKey, opts) {
471
+ super(env, apiKey, opts);
472
+ if (env !== import_core_sdk3.Environment.PROD && env !== import_core_sdk3.Environment.DEV) {
473
+ Sentry.init({
474
+ environment: env.toLowerCase(),
475
+ dsn: "https://2a26842d951255c2721fde5c1dd2b252@o4504568036720640.ingest.us.sentry.io/4508850906791936"
476
+ });
477
+ }
478
+ }
479
+ getPlatformUtils() {
480
+ return new ServerUtils();
481
+ }
482
+ /**
483
+ * Claims a pregenerated wallet.
484
+ *
485
+ * NOTE: This function is only available on the client side.
486
+ * When called from the server SDK, it throws an error.
487
+ *
488
+ * @param {Object} opts the options object.
489
+ * @param {string} opts.pregenIdentifier - the identifier of the user claiming the wallet.
490
+ * @param {TPregenIdentifierType} opts.pregenIdentifierType - the type of the identifier.
491
+ * @returns {Promise<string | undefined>} A promise that rejects with an error.
492
+ */
493
+ async claimPregenWallets({} = {}) {
494
+ throw new Error(
495
+ "claimPregenWallets is not available in the server SDK. This function is only supported on the client side. Please ensure you are using the client SDK to call this method."
496
+ );
497
+ }
498
+ };
499
+
500
+ // src/index.ts
501
+ var src_default = Para;
502
+ // Annotate the CommonJS export names for ESM import in node:
503
+ 0 && (module.exports = {
504
+ Para,
505
+ ...require("@getpara/core-sdk")
506
+ });
Binary file
Binary file