@getpara/web-sdk 2.0.0-alpha.5 → 2.0.0-alpha.50

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.
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  __async
4
- } from "../chunk-M66XENHI.js";
4
+ } from "../chunk-WLGKV3EF.js";
5
5
  import { setupWorker } from "../workers/workerWrapper.js";
6
6
  import { distributeNewShare, waitUntilTrue } from "@getpara/core-sdk";
7
+ import * as uuid from "uuid";
7
8
  function isKeygenComplete(ctx, userId, walletId) {
8
9
  return __async(this, null, function* () {
9
10
  const wallets = yield ctx.client.getWallets(userId);
@@ -25,34 +26,41 @@ function isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, wallet
25
26
  });
26
27
  }
27
28
  function keygen(ctx, userId, type, secretKey, skipDistribute = false, sessionCookie, emailProps = {}) {
28
- return new Promise((resolve) => __async(this, null, function* () {
29
- const worker = yield setupWorker(ctx, (res) => __async(this, null, function* () {
30
- yield waitUntilTrue(() => __async(this, null, function* () {
31
- return isKeygenComplete(ctx, userId, res.walletId);
32
- }), 15e3, 1e3);
33
- if (skipDistribute) {
29
+ return new Promise((resolve, reject) => __async(this, null, function* () {
30
+ const workId = uuid.v4();
31
+ let worker = null;
32
+ worker = yield setupWorker(
33
+ ctx,
34
+ (res) => __async(this, null, function* () {
35
+ yield waitUntilTrue(() => __async(this, null, function* () {
36
+ return isKeygenComplete(ctx, userId, res.walletId);
37
+ }), 15e3, 1e3);
38
+ if (skipDistribute) {
39
+ resolve({
40
+ signer: res.signer,
41
+ walletId: res.walletId,
42
+ recoveryShare: null
43
+ });
44
+ return;
45
+ }
46
+ const recoveryShare = yield distributeNewShare({
47
+ ctx,
48
+ userId,
49
+ walletId: res.walletId,
50
+ userShare: res.signer,
51
+ emailProps
52
+ });
34
53
  resolve({
35
54
  signer: res.signer,
36
55
  walletId: res.walletId,
37
- recoveryShare: null
56
+ recoveryShare
38
57
  });
39
- worker.terminate();
40
- return;
41
- }
42
- const recoveryShare = yield distributeNewShare({
43
- ctx,
44
- userId,
45
- walletId: res.walletId,
46
- userShare: res.signer,
47
- emailProps
48
- });
49
- resolve({
50
- signer: res.signer,
51
- walletId: res.walletId,
52
- recoveryShare
53
- });
54
- worker.terminate();
55
- }));
58
+ }),
59
+ (error) => {
60
+ reject(error);
61
+ },
62
+ workId
63
+ );
56
64
  worker.postMessage({
57
65
  env: ctx.env,
58
66
  apiKey: ctx.apiKey,
@@ -64,27 +72,36 @@ function keygen(ctx, userId, type, secretKey, skipDistribute = false, sessionCoo
64
72
  sessionCookie,
65
73
  useDKLS: ctx.useDKLS,
66
74
  disableWebSockets: ctx.disableWebSockets,
67
- wasmOverride: ctx.wasmOverride
75
+ wasmOverride: ctx.wasmOverride,
76
+ workId
68
77
  });
69
78
  }));
70
79
  }
71
80
  function preKeygen(ctx, pregenIdentifier, pregenIdentifierType, type, secretKey, _skipDistribute = false, partnerId, sessionCookie) {
72
- return new Promise((resolve) => __async(this, null, function* () {
73
- const worker = yield setupWorker(ctx, (res) => __async(this, null, function* () {
74
- yield waitUntilTrue(
75
- () => __async(this, null, function* () {
76
- return isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, res.walletId);
77
- }),
78
- 15e3,
79
- 1e3
80
- );
81
- resolve({
82
- signer: res.signer,
83
- walletId: res.walletId,
84
- recoveryShare: null
85
- });
86
- worker.terminate();
87
- }));
81
+ return new Promise((resolve, reject) => __async(this, null, function* () {
82
+ const workId = uuid.v4();
83
+ let worker = null;
84
+ worker = yield setupWorker(
85
+ ctx,
86
+ (res) => __async(this, null, function* () {
87
+ yield waitUntilTrue(
88
+ () => __async(this, null, function* () {
89
+ return isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, res.walletId);
90
+ }),
91
+ 15e3,
92
+ 1e3
93
+ );
94
+ resolve({
95
+ signer: res.signer,
96
+ walletId: res.walletId,
97
+ recoveryShare: null
98
+ });
99
+ }),
100
+ (error) => {
101
+ reject(error);
102
+ },
103
+ workId
104
+ );
88
105
  const email = void 0;
89
106
  const params = { pregenIdentifier, pregenIdentifierType, type, secretKey, partnerId, email };
90
107
  if (pregenIdentifierType === "EMAIL") {
@@ -101,25 +118,35 @@ function preKeygen(ctx, pregenIdentifier, pregenIdentifierType, type, secretKey,
101
118
  sessionCookie,
102
119
  useDKLS: ctx.useDKLS,
103
120
  disableWebSockets: ctx.disableWebSockets,
104
- wasmOverride: ctx.wasmOverride
121
+ wasmOverride: ctx.wasmOverride,
122
+ workId
105
123
  });
106
124
  }));
107
125
  }
108
126
  function refresh(ctx, sessionCookie, userId, walletId, share, oldPartnerId, newPartnerId, keyShareProtocolId) {
109
- return new Promise((resolve) => __async(this, null, function* () {
110
- const worker = yield setupWorker(ctx, (res) => __async(this, null, function* () {
111
- if (!(yield waitUntilTrue(() => __async(this, null, function* () {
112
- return isRefreshComplete(ctx, userId, walletId, newPartnerId);
113
- }), 15e3, 1e3))) {
114
- throw new Error("refresh failed");
115
- }
116
- const { protocolId, signer } = res;
117
- resolve({
118
- signer,
119
- protocolId
120
- });
121
- worker.terminate();
122
- }));
127
+ return new Promise((resolve, reject) => __async(this, null, function* () {
128
+ const workId = uuid.v4();
129
+ let worker = null;
130
+ worker = yield setupWorker(
131
+ ctx,
132
+ (res) => __async(this, null, function* () {
133
+ if (!(yield waitUntilTrue(() => __async(this, null, function* () {
134
+ return isRefreshComplete(ctx, userId, walletId, newPartnerId);
135
+ }), 15e3, 1e3))) {
136
+ reject(new Error("refresh failed"));
137
+ return;
138
+ }
139
+ const { protocolId, signer } = res;
140
+ resolve({
141
+ signer,
142
+ protocolId
143
+ });
144
+ }),
145
+ (error) => {
146
+ reject(error);
147
+ },
148
+ workId
149
+ );
123
150
  worker.postMessage({
124
151
  env: ctx.env,
125
152
  apiKey: ctx.apiKey,
@@ -130,23 +157,32 @@ function refresh(ctx, sessionCookie, userId, walletId, share, oldPartnerId, newP
130
157
  useDKLS: ctx.useDKLS,
131
158
  disableWebSockets: ctx.disableWebSockets,
132
159
  wasmOverride: ctx.wasmOverride,
133
- returnObject: true
160
+ returnObject: true,
161
+ workId
134
162
  });
135
163
  }));
136
164
  }
137
165
  function ed25519Keygen(ctx, userId, sessionCookie, _emailProps = {}) {
138
- return new Promise((resolve) => __async(this, null, function* () {
139
- const worker = yield setupWorker(ctx, (res) => __async(this, null, function* () {
140
- yield waitUntilTrue(() => __async(this, null, function* () {
141
- return isKeygenComplete(ctx, userId, res.walletId);
142
- }), 15e3, 1e3);
143
- resolve({
144
- signer: res.signer,
145
- walletId: res.walletId,
146
- recoveryShare: null
147
- });
148
- worker.terminate();
149
- }));
166
+ return new Promise((resolve, reject) => __async(this, null, function* () {
167
+ const workId = uuid.v4();
168
+ let worker = null;
169
+ worker = yield setupWorker(
170
+ ctx,
171
+ (res) => __async(this, null, function* () {
172
+ yield waitUntilTrue(() => __async(this, null, function* () {
173
+ return isKeygenComplete(ctx, userId, res.walletId);
174
+ }), 15e3, 1e3);
175
+ resolve({
176
+ signer: res.signer,
177
+ walletId: res.walletId,
178
+ recoveryShare: null
179
+ });
180
+ }),
181
+ (error) => {
182
+ reject(error);
183
+ },
184
+ workId
185
+ );
150
186
  worker.postMessage({
151
187
  env: ctx.env,
152
188
  apiKey: ctx.apiKey,
@@ -156,27 +192,36 @@ function ed25519Keygen(ctx, userId, sessionCookie, _emailProps = {}) {
156
192
  disableWorkers: ctx.disableWorkers,
157
193
  sessionCookie,
158
194
  disableWebSockets: ctx.disableWebSockets,
159
- wasmOverride: ctx.wasmOverride
195
+ wasmOverride: ctx.wasmOverride,
196
+ workId
160
197
  });
161
198
  }));
162
199
  }
163
200
  function ed25519PreKeygen(ctx, pregenIdentifier, pregenIdentifierType, sessionCookie) {
164
- return new Promise((resolve) => __async(this, null, function* () {
165
- const worker = yield setupWorker(ctx, (res) => __async(this, null, function* () {
166
- yield waitUntilTrue(
167
- () => __async(this, null, function* () {
168
- return isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, res.walletId);
169
- }),
170
- 15e3,
171
- 1e3
172
- );
173
- resolve({
174
- signer: res.signer,
175
- walletId: res.walletId,
176
- recoveryShare: null
177
- });
178
- worker.terminate();
179
- }));
201
+ return new Promise((resolve, reject) => __async(this, null, function* () {
202
+ const workId = uuid.v4();
203
+ let worker = null;
204
+ worker = yield setupWorker(
205
+ ctx,
206
+ (res) => __async(this, null, function* () {
207
+ yield waitUntilTrue(
208
+ () => __async(this, null, function* () {
209
+ return isPreKeygenComplete(ctx, pregenIdentifier, pregenIdentifierType, res.walletId);
210
+ }),
211
+ 15e3,
212
+ 1e3
213
+ );
214
+ resolve({
215
+ signer: res.signer,
216
+ walletId: res.walletId,
217
+ recoveryShare: null
218
+ });
219
+ }),
220
+ (error) => {
221
+ reject(error);
222
+ },
223
+ workId
224
+ );
180
225
  const email = void 0;
181
226
  const params = { pregenIdentifier, pregenIdentifierType, email };
182
227
  if (pregenIdentifierType === "EMAIL") {
@@ -191,13 +236,38 @@ function ed25519PreKeygen(ctx, pregenIdentifier, pregenIdentifierType, sessionCo
191
236
  disableWorkers: ctx.disableWorkers,
192
237
  sessionCookie,
193
238
  disableWebSockets: ctx.disableWebSockets,
194
- wasmOverride: ctx.wasmOverride
239
+ wasmOverride: ctx.wasmOverride,
240
+ workId
195
241
  });
196
242
  }));
197
243
  }
244
+ function initializeWorker(ctx) {
245
+ return __async(this, null, function* () {
246
+ return new Promise((resolve, reject) => __async(this, null, function* () {
247
+ const workId = uuid.v4();
248
+ const worker = yield setupWorker(
249
+ ctx,
250
+ () => __async(this, null, function* () {
251
+ resolve();
252
+ }),
253
+ (error) => {
254
+ reject(error);
255
+ },
256
+ workId
257
+ );
258
+ worker.postMessage({
259
+ env: ctx.env,
260
+ apiKey: ctx.apiKey,
261
+ functionType: "INIT",
262
+ workId
263
+ });
264
+ }));
265
+ });
266
+ }
198
267
  export {
199
268
  ed25519Keygen,
200
269
  ed25519PreKeygen,
270
+ initializeWorker,
201
271
  keygen,
202
272
  preKeygen,
203
273
  refresh
@@ -1,15 +1,24 @@
1
1
  "use client";
2
2
  import {
3
3
  __async
4
- } from "../chunk-M66XENHI.js";
4
+ } from "../chunk-WLGKV3EF.js";
5
5
  import { setupWorker } from "../workers/workerWrapper.js";
6
+ import * as uuid from "uuid";
6
7
  function getPrivateKey(ctx, userId, walletId, share, sessionCookie) {
7
8
  return __async(this, null, function* () {
8
- return yield new Promise((resolve) => __async(this, null, function* () {
9
- const worker = yield setupWorker(ctx, (res) => __async(this, null, function* () {
10
- resolve(res);
11
- worker.terminate();
12
- }));
9
+ return new Promise((resolve, reject) => __async(this, null, function* () {
10
+ const workId = uuid.v4();
11
+ let worker = null;
12
+ worker = yield setupWorker(
13
+ ctx,
14
+ (res) => __async(this, null, function* () {
15
+ resolve((res == null ? void 0 : res.privateKey) || res);
16
+ }),
17
+ (error) => {
18
+ reject(error);
19
+ },
20
+ workId
21
+ );
13
22
  worker.postMessage({
14
23
  env: ctx.env,
15
24
  apiKey: ctx.apiKey,
@@ -21,7 +30,8 @@ function getPrivateKey(ctx, userId, walletId, share, sessionCookie) {
21
30
  sessionCookie,
22
31
  useDKLS: ctx.useDKLS,
23
32
  disableWebSockets: ctx.disableWebSockets,
24
- wasmOverride: ctx.wasmOverride
33
+ wasmOverride: ctx.wasmOverride,
34
+ workId
25
35
  });
26
36
  }));
27
37
  });
@@ -1,15 +1,24 @@
1
1
  "use client";
2
2
  import {
3
3
  __async
4
- } from "../chunk-M66XENHI.js";
4
+ } from "../chunk-WLGKV3EF.js";
5
5
  import { setupWorker } from "../workers/workerWrapper.js";
6
+ import * as uuid from "uuid";
6
7
  function signTransaction(ctx, userId, walletId, share, tx, chainId, sessionCookie, isDKLS) {
7
8
  return __async(this, null, function* () {
8
- return yield new Promise((resolve) => __async(this, null, function* () {
9
- const worker = yield setupWorker(ctx, (sendTransactionRes) => __async(this, null, function* () {
10
- resolve(sendTransactionRes);
11
- worker.terminate();
12
- }));
9
+ return new Promise((resolve, reject) => __async(this, null, function* () {
10
+ const workId = uuid.v4();
11
+ let worker = null;
12
+ worker = yield setupWorker(
13
+ ctx,
14
+ (sendTransactionRes) => __async(this, null, function* () {
15
+ resolve(sendTransactionRes);
16
+ }),
17
+ (error) => {
18
+ reject(error);
19
+ },
20
+ workId
21
+ );
13
22
  worker.postMessage({
14
23
  env: ctx.env,
15
24
  apiKey: ctx.apiKey,
@@ -21,18 +30,27 @@ function signTransaction(ctx, userId, walletId, share, tx, chainId, sessionCooki
21
30
  sessionCookie,
22
31
  useDKLS: isDKLS,
23
32
  disableWebSockets: ctx.disableWebSockets,
24
- wasmOverride: ctx.wasmOverride
33
+ wasmOverride: ctx.wasmOverride,
34
+ workId
25
35
  });
26
36
  }));
27
37
  });
28
38
  }
29
39
  function sendTransaction(ctx, userId, walletId, share, tx, chainId, sessionCookie, isDKLS) {
30
40
  return __async(this, null, function* () {
31
- return yield new Promise((resolve) => __async(this, null, function* () {
32
- const worker = yield setupWorker(ctx, (sendTransactionRes) => __async(this, null, function* () {
33
- resolve(sendTransactionRes);
34
- worker.terminate();
35
- }));
41
+ return new Promise((resolve, reject) => __async(this, null, function* () {
42
+ const workId = uuid.v4();
43
+ let worker = null;
44
+ worker = yield setupWorker(
45
+ ctx,
46
+ (sendTransactionRes) => __async(this, null, function* () {
47
+ resolve(sendTransactionRes);
48
+ }),
49
+ (error) => {
50
+ reject(error);
51
+ },
52
+ workId
53
+ );
36
54
  worker.postMessage({
37
55
  env: ctx.env,
38
56
  apiKey: ctx.apiKey,
@@ -44,18 +62,28 @@ function sendTransaction(ctx, userId, walletId, share, tx, chainId, sessionCooki
44
62
  sessionCookie,
45
63
  useDKLS: isDKLS,
46
64
  disableWebSockets: ctx.disableWebSockets,
47
- wasmOverride: ctx.wasmOverride
65
+ wasmOverride: ctx.wasmOverride,
66
+ workId
48
67
  });
49
68
  }));
50
69
  });
51
70
  }
52
71
  function signMessage(ctx, userId, walletId, share, message, sessionCookie, isDKLS, cosmosSignDoc) {
53
72
  return __async(this, null, function* () {
54
- return yield new Promise((resolve) => __async(this, null, function* () {
55
- const worker = yield setupWorker(ctx, (signMessageRes) => __async(this, null, function* () {
56
- resolve(signMessageRes);
57
- worker.terminate();
58
- }));
73
+ return new Promise((resolve, reject) => __async(this, null, function* () {
74
+ const workId = uuid.v4();
75
+ let worker = null;
76
+ worker = yield setupWorker(
77
+ ctx,
78
+ (signMessageRes) => __async(this, null, function* () {
79
+ resolve(signMessageRes);
80
+ }),
81
+ (error) => {
82
+ console.error(`Worker error in signMessage for userId ${userId}, walletId ${walletId}:`, error);
83
+ reject(error);
84
+ },
85
+ workId
86
+ );
59
87
  worker.postMessage({
60
88
  env: ctx.env,
61
89
  apiKey: ctx.apiKey,
@@ -67,18 +95,28 @@ function signMessage(ctx, userId, walletId, share, message, sessionCookie, isDKL
67
95
  sessionCookie,
68
96
  useDKLS: isDKLS,
69
97
  disableWebSockets: ctx.disableWebSockets,
70
- wasmOverride: ctx.wasmOverride
98
+ wasmOverride: ctx.wasmOverride,
99
+ workId
71
100
  });
72
101
  }));
73
102
  });
74
103
  }
75
104
  function ed25519Sign(ctx, userId, walletId, share, base64Bytes, sessionCookie) {
76
105
  return __async(this, null, function* () {
77
- return yield new Promise((resolve) => __async(this, null, function* () {
78
- const worker = yield setupWorker(ctx, (signMessageRes) => __async(this, null, function* () {
79
- resolve(signMessageRes);
80
- worker.terminate();
81
- }));
106
+ return new Promise((resolve, reject) => __async(this, null, function* () {
107
+ const workId = uuid.v4();
108
+ let worker = null;
109
+ worker = yield setupWorker(
110
+ ctx,
111
+ (signMessageRes) => __async(this, null, function* () {
112
+ resolve(signMessageRes);
113
+ }),
114
+ (error) => {
115
+ console.error(`Worker error in ed25519Sign for userId ${userId}, walletId ${walletId}:`, error);
116
+ reject(error);
117
+ },
118
+ workId
119
+ );
82
120
  worker.postMessage({
83
121
  env: ctx.env,
84
122
  apiKey: ctx.apiKey,
@@ -88,7 +126,8 @@ function ed25519Sign(ctx, userId, walletId, share, base64Bytes, sessionCookie) {
88
126
  disableWorkers: ctx.disableWorkers,
89
127
  sessionCookie,
90
128
  disableWebSockets: ctx.disableWebSockets,
91
- wasmOverride: ctx.wasmOverride
129
+ wasmOverride: ctx.wasmOverride,
130
+ workId
92
131
  });
93
132
  }));
94
133
  });
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  __async
4
- } from "../chunk-M66XENHI.js";
4
+ } from "../chunk-WLGKV3EF.js";
5
5
  (() => {
6
6
  const enosys = () => {
7
7
  const err = new Error("not implemented");
@@ -7,9 +7,7 @@ export declare function ed25519PreKeygen(ctx: Ctx, pregenIdentifier: string, pre
7
7
  signer: string;
8
8
  walletId: string;
9
9
  }>;
10
- export declare function ed25519Sign(ctx: Ctx, share: string, userId: string, walletId: string, base64Bytes: string): Promise<{
11
- signature: string;
12
- }>;
10
+ export declare function ed25519Sign(ctx: Ctx, share: string, userId: string, walletId: string, base64Bytes: string): Promise<SignatureRes>;
13
11
  export declare function keygen(ctx: Ctx, userId: string, type: Exclude<TWalletType, 'SOLANA'>, secretKey: string | null): Promise<{
14
12
  signer: string;
15
13
  walletId: string;