@reown/appkit-solana-react-native 0.0.0-chore-solflare-20250730210452 → 0.0.0-chore-spring-effect-20250909214820

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.
Files changed (52) hide show
  1. package/lib/commonjs/adapter.js +4 -5
  2. package/lib/commonjs/adapter.js.map +1 -1
  3. package/lib/commonjs/connectors/{SolanaDeeplinkConnector.js → DeeplinkConnector.js} +80 -51
  4. package/lib/commonjs/connectors/DeeplinkConnector.js.map +1 -0
  5. package/lib/commonjs/connectors/PhantomConnector.js +5 -4
  6. package/lib/commonjs/connectors/PhantomConnector.js.map +1 -1
  7. package/lib/commonjs/connectors/SolflareConnector.js +5 -4
  8. package/lib/commonjs/connectors/SolflareConnector.js.map +1 -1
  9. package/lib/commonjs/index.js +0 -20
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/providers/{SolanaDeeplinkProvider.js → DeeplinkProvider.js} +177 -138
  12. package/lib/commonjs/providers/DeeplinkProvider.js.map +1 -0
  13. package/lib/module/adapter.js +4 -5
  14. package/lib/module/adapter.js.map +1 -1
  15. package/lib/module/connectors/{SolanaDeeplinkConnector.js → DeeplinkConnector.js} +77 -48
  16. package/lib/module/connectors/DeeplinkConnector.js.map +1 -0
  17. package/lib/module/connectors/PhantomConnector.js +5 -4
  18. package/lib/module/connectors/PhantomConnector.js.map +1 -1
  19. package/lib/module/connectors/SolflareConnector.js +5 -4
  20. package/lib/module/connectors/SolflareConnector.js.map +1 -1
  21. package/lib/module/index.js +2 -6
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/providers/{SolanaDeeplinkProvider.js → DeeplinkProvider.js} +175 -136
  24. package/lib/module/providers/DeeplinkProvider.js.map +1 -0
  25. package/lib/typescript/adapter.d.ts +1 -3
  26. package/lib/typescript/adapter.d.ts.map +1 -1
  27. package/lib/typescript/connectors/{SolanaDeeplinkConnector.d.ts → DeeplinkConnector.d.ts} +11 -13
  28. package/lib/typescript/connectors/DeeplinkConnector.d.ts.map +1 -0
  29. package/lib/typescript/connectors/PhantomConnector.d.ts +4 -3
  30. package/lib/typescript/connectors/PhantomConnector.d.ts.map +1 -1
  31. package/lib/typescript/connectors/SolflareConnector.d.ts +4 -3
  32. package/lib/typescript/connectors/SolflareConnector.d.ts.map +1 -1
  33. package/lib/typescript/index.d.ts +1 -3
  34. package/lib/typescript/index.d.ts.map +1 -1
  35. package/lib/typescript/providers/{SolanaDeeplinkProvider.d.ts → DeeplinkProvider.d.ts} +29 -8
  36. package/lib/typescript/providers/DeeplinkProvider.d.ts.map +1 -0
  37. package/lib/typescript/types.d.ts +33 -33
  38. package/lib/typescript/types.d.ts.map +1 -1
  39. package/package.json +2 -2
  40. package/src/adapter.ts +4 -5
  41. package/src/connectors/{SolanaDeeplinkConnector.ts → DeeplinkConnector.ts} +107 -90
  42. package/src/connectors/PhantomConnector.ts +5 -4
  43. package/src/connectors/SolflareConnector.ts +5 -4
  44. package/src/index.ts +3 -22
  45. package/src/providers/{SolanaDeeplinkProvider.ts → DeeplinkProvider.ts} +271 -225
  46. package/src/types.ts +41 -48
  47. package/lib/commonjs/connectors/SolanaDeeplinkConnector.js.map +0 -1
  48. package/lib/commonjs/providers/SolanaDeeplinkProvider.js.map +0 -1
  49. package/lib/module/connectors/SolanaDeeplinkConnector.js.map +0 -1
  50. package/lib/module/providers/SolanaDeeplinkProvider.js.map +0 -1
  51. package/lib/typescript/connectors/SolanaDeeplinkConnector.d.ts.map +0 -1
  52. package/lib/typescript/providers/SolanaDeeplinkProvider.d.ts.map +0 -1
@@ -14,19 +14,55 @@ export const SOLANA_SIGNING_METHODS = {
14
14
  function isValidSolanaSigningMethod(method) {
15
15
  return Object.values(SOLANA_SIGNING_METHODS).includes(method);
16
16
  }
17
- export class SolanaDeeplinkProvider extends EventEmitter {
18
- currentCluster = 'mainnet-beta';
17
+ export class DeeplinkProvider extends EventEmitter {
18
+ sharedKey = null;
19
19
  sessionToken = null;
20
20
  userPublicKey = null;
21
21
  walletEncryptionPublicKeyBs58 = null;
22
+
23
+ // Single subscription management - deep links are sequential by nature
24
+ activeSubscription = null;
25
+ isOperationPending = false;
22
26
  constructor(config) {
23
27
  super();
24
28
  this.config = config;
29
+ this.currentCluster = config.cluster ?? 'mainnet-beta';
25
30
  this.dappEncryptionKeyPair = config.dappEncryptionKeyPair;
26
31
  this.storage = config.storage;
27
32
  }
28
- getStorageKey() {
29
- return `@appkit/${this.config.walletType}-provider-session`;
33
+ getSessionStorageKey() {
34
+ return `@appkit/${this.config.type}-provider-session`;
35
+ }
36
+
37
+ /**
38
+ * Cleanup method to be called when the provider is destroyed
39
+ */
40
+ destroy() {
41
+ this.cleanupActiveSubscription();
42
+ this.removeAllListeners();
43
+ }
44
+
45
+ /**
46
+ * Safely cleanup the active subscription
47
+ */
48
+ cleanupActiveSubscription() {
49
+ if (this.activeSubscription) {
50
+ this.activeSubscription.remove();
51
+ this.activeSubscription = null;
52
+ }
53
+ this.isOperationPending = false;
54
+ }
55
+
56
+ /**
57
+ * Safely set a new subscription, ensuring no operation is pending
58
+ */
59
+ setActiveSubscription(subscription) {
60
+ // If there's already a pending operation, reject it
61
+ if (this.isOperationPending) {
62
+ this.cleanupActiveSubscription();
63
+ }
64
+ this.activeSubscription = subscription;
65
+ this.isOperationPending = true;
30
66
  }
31
67
  getUserPublicKey() {
32
68
  return this.userPublicKey;
@@ -34,10 +70,48 @@ export class SolanaDeeplinkProvider extends EventEmitter {
34
70
  isConnected() {
35
71
  return !!this.sessionToken && !!this.userPublicKey && !!this.dappEncryptionKeyPair;
36
72
  }
73
+ getCurrentCluster() {
74
+ return this.currentCluster;
75
+ }
37
76
  buildUrl(rpcMethod, params) {
38
77
  const query = new URLSearchParams(params).toString();
39
78
  return `${this.config.baseUrl}/${rpcMethod}?${query}`;
40
79
  }
80
+
81
+ /**
82
+ * Open a deeplink URL and wait for a redirect back to the app. Handles subscription
83
+ * lifecycle and common error extraction from `errorCode`/`errorMessage` query params.
84
+ */
85
+ async openDeeplinkAndWait(deeplinkUrl, processParams, contextLabel) {
86
+ return new Promise((resolve, reject) => {
87
+ const handleDeepLink = async event => {
88
+ try {
89
+ this.cleanupActiveSubscription();
90
+ const fullUrl = event.url;
91
+ if (!fullUrl.startsWith(this.config.appScheme)) {
92
+ return reject(new Error(`${this.config.type} provider: ${contextLabel}: Unexpected redirect URI.`));
93
+ }
94
+ const params = new URLSearchParams(fullUrl.substring(fullUrl.indexOf('?') + 1));
95
+ const errorCode = params.get('errorCode');
96
+ const errorMessage = params.get('errorMessage');
97
+ if (errorCode) {
98
+ return reject(new Error(`${this.config.type} provider: ${contextLabel} Failed: ${errorMessage || 'Unknown error'} (Code: ${errorCode})`));
99
+ }
100
+ const result = await Promise.resolve(processParams(params));
101
+ resolve(result);
102
+ } catch (error) {
103
+ this.cleanupActiveSubscription();
104
+ reject(error);
105
+ }
106
+ };
107
+ const subscription = Linking.addEventListener('url', handleDeepLink);
108
+ this.setActiveSubscription(subscription);
109
+ Linking.openURL(deeplinkUrl).catch(err => {
110
+ this.cleanupActiveSubscription();
111
+ reject(new Error(`${this.config.type} provider: Failed to open wallet for ${contextLabel}: ${err.message}.`));
112
+ });
113
+ });
114
+ }
41
115
  getRpcMethodName(method) {
42
116
  switch (method) {
43
117
  case SOLANA_SIGNING_METHODS.SOLANA_SIGN_TRANSACTION:
@@ -53,47 +127,68 @@ export class SolanaDeeplinkProvider extends EventEmitter {
53
127
  throw new Error(`Unsupported Solana signing method: ${method}`);
54
128
  }
55
129
  }
56
- encryptPayload(payload, walletPublicKeyBs58ToEncryptFor) {
57
- if (!walletPublicKeyBs58ToEncryptFor) {
130
+ encryptPayload(payload, walletPublicKeyBs58) {
131
+ if (!walletPublicKeyBs58) {
58
132
  return null;
59
133
  }
60
134
  try {
61
- const walletPublicKeyBytes = bs58.decode(walletPublicKeyBs58ToEncryptFor);
62
135
  const nonce = nacl.randomBytes(nacl.box.nonceLength);
63
136
  const payloadBytes = Buffer.from(JSON.stringify(payload), 'utf8');
64
- const encryptedPayload = nacl.box(payloadBytes, nonce, walletPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
137
+ let encryptedPayload;
138
+ if (this.sharedKey) {
139
+ encryptedPayload = nacl.box.after(payloadBytes, nonce, this.sharedKey);
140
+ } else {
141
+ const walletPublicKeyBytes = bs58.decode(walletPublicKeyBs58);
142
+ encryptedPayload = nacl.box(payloadBytes, nonce, walletPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
143
+ }
65
144
  return {
66
145
  nonce: bs58.encode(nonce),
67
146
  encryptedPayload: bs58.encode(encryptedPayload)
68
147
  };
69
148
  } catch (error) {
149
+ console.warn(`${this.config.type} provider: Failed to encrypt payload.`, error);
70
150
  return null;
71
151
  }
72
152
  }
73
153
  decryptPayload(encryptedDataBs58, nonceBs58, walletSenderPublicKeyBs58) {
74
154
  try {
75
- const encryptedDataBytes = bs58.decode(encryptedDataBs58);
155
+ const formattedEncryptedDataBs58 = encryptedDataBs58.replace('#', '');
156
+ const encryptedDataBytes = bs58.decode(formattedEncryptedDataBs58);
76
157
  const nonceBytes = bs58.decode(nonceBs58);
77
- const walletSenderPublicKeyBytes = bs58.decode(walletSenderPublicKeyBs58);
78
- const decryptedPayloadBytes = nacl.box.open(encryptedDataBytes, nonceBytes, walletSenderPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
158
+ let decryptedPayloadBytes;
159
+ if (this.sharedKey) {
160
+ decryptedPayloadBytes = nacl.box.open.after(encryptedDataBytes, nonceBytes, this.sharedKey);
161
+ } else {
162
+ const walletSenderPublicKeyBytes = bs58.decode(walletSenderPublicKeyBs58);
163
+ decryptedPayloadBytes = nacl.box.open(encryptedDataBytes, nonceBytes, walletSenderPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
164
+ }
79
165
  if (!decryptedPayloadBytes) {
80
166
  return null;
81
167
  }
82
168
  return JSON.parse(Buffer.from(decryptedPayloadBytes).toString('utf8'));
83
169
  } catch (error) {
170
+ console.warn(`${this.config.type} provider: Failed to decrypt payload.`, error);
84
171
  return null;
85
172
  }
86
173
  }
87
174
  async restoreSession() {
88
175
  try {
89
- const session = await this.storage.getItem(this.getStorageKey());
176
+ const session = await this.storage.getItem(this.getSessionStorageKey());
90
177
  if (session) {
91
178
  this.setSession(session);
179
+
180
+ // Recompute shared key on session restore
181
+ try {
182
+ const walletPublicKeyBytes = bs58.decode(session.walletEncryptionPublicKeyBs58);
183
+ this.sharedKey = nacl.box.before(walletPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
184
+ } catch (e) {
185
+ this.sharedKey = null;
186
+ }
92
187
  return true;
93
188
  }
94
189
  return false;
95
190
  } catch (error) {
96
- // console.error(`${this.config.walletType}Provider: Failed to restore session.`, error);
191
+ // console.error(`${this.config.type} provider: Failed to restore session.`, error);
97
192
  await this.clearSessionStorage(); // Clear potentially corrupt data
98
193
 
99
194
  return false;
@@ -110,16 +205,16 @@ export class SolanaDeeplinkProvider extends EventEmitter {
110
205
  cluster: this.currentCluster
111
206
  };
112
207
  try {
113
- await this.storage.setItem(this.getStorageKey(), session);
208
+ await this.storage.setItem(this.getSessionStorageKey(), session);
114
209
  } catch (error) {
115
- // console.error(`${this.config.walletType}Provider: Failed to save session.`, error);
210
+ // console.error(`${this.config.type} provider: Failed to save session.`, error);
116
211
  }
117
212
  }
118
213
  async clearSessionStorage() {
119
214
  try {
120
- await this.storage.removeItem(this.getStorageKey());
215
+ await this.storage.removeItem(this.getSessionStorageKey());
121
216
  } catch (error) {
122
- // console.error(`${this.config.walletType}Provider: Failed to clear session storage.`, error);
217
+ // console.error(`${this.config.type} provider: Failed to clear session storage.`, error);
123
218
  }
124
219
  }
125
220
  async connect(params) {
@@ -132,57 +227,40 @@ export class SolanaDeeplinkProvider extends EventEmitter {
132
227
  cluster
133
228
  };
134
229
  const url = this.buildUrl('connect', connectDeeplinkParams);
135
- return new Promise((resolve, reject) => {
136
- let subscription = null;
137
- const handleDeepLink = async event => {
138
- if (subscription) {
139
- subscription.remove();
140
- }
141
- const fullUrl = event.url;
142
- if (fullUrl.startsWith(this.config.appScheme)) {
143
- const responseUrlParams = new URLSearchParams(fullUrl.substring(fullUrl.indexOf('?') + 1));
144
- const errorCode = responseUrlParams.get('errorCode');
145
- const errorMessage = responseUrlParams.get('errorMessage');
146
- if (errorCode) {
147
- return reject(new Error(`${this.config.walletType} Connection Failed: ${errorMessage || 'Unknown error'} (Code: ${errorCode})`));
148
- }
149
- const walletEncryptionPublicKey = responseUrlParams.get(this.config.encryptionKeyFieldName);
150
- const responsePayload = {
151
- wallet_encryption_public_key: walletEncryptionPublicKey,
152
- nonce: responseUrlParams.get('nonce'),
153
- data: responseUrlParams.get('data')
154
- };
155
- if (!responsePayload.wallet_encryption_public_key || !responsePayload.nonce || !responsePayload.data) {
156
- return reject(new Error(`${this.config.walletType} Connect: Invalid response - missing parameters.`));
157
- }
158
- const decryptedData = this.decryptPayload(responsePayload.data, responsePayload.nonce, responsePayload.wallet_encryption_public_key);
159
- if (!decryptedData || !decryptedData.public_key || !decryptedData.session) {
160
- return reject(new Error(`${this.config.walletType} Connect: Failed to decrypt or invalid decrypted data.`));
161
- }
162
- this.userPublicKey = decryptedData.public_key;
163
- this.sessionToken = decryptedData.session;
164
- this.walletEncryptionPublicKeyBs58 = responsePayload.wallet_encryption_public_key;
230
+ return this.openDeeplinkAndWait(url, responseUrlParams => {
231
+ const responsePayload = {
232
+ wallet_encryption_public_key: responseUrlParams.get(this.config.encryptionKeyFieldName),
233
+ nonce: responseUrlParams.get('nonce'),
234
+ data: responseUrlParams.get('data')
235
+ };
236
+ if (!responsePayload.wallet_encryption_public_key || !responsePayload.nonce || !responsePayload.data) {
237
+ throw new Error(`${this.config.type} provider: Invalid response - missing parameters.`);
238
+ }
239
+ const decryptedData = this.decryptPayload(responsePayload.data, responsePayload.nonce, responsePayload.wallet_encryption_public_key);
240
+ if (!decryptedData || !decryptedData.public_key || !decryptedData.session) {
241
+ throw new Error(`${this.config.type} provider: Failed to decrypt or invalid decrypted data.`);
242
+ }
243
+ this.userPublicKey = decryptedData.public_key;
244
+ this.sessionToken = decryptedData.session;
245
+ this.walletEncryptionPublicKeyBs58 = responsePayload.wallet_encryption_public_key;
165
246
 
166
- // Save session on successful connect
167
- this.saveSession();
168
- resolve({
169
- userPublicKey: this.userPublicKey,
170
- sessionToken: this.sessionToken,
171
- walletEncryptionPublicKeyBs58: this.walletEncryptionPublicKeyBs58,
172
- cluster
173
- });
174
- } else {
175
- reject(new Error(`${this.config.walletType} Connect: Unexpected redirect URI.`));
176
- }
247
+ // Precompute shared key for subsequent communications
248
+ try {
249
+ const walletPublicKeyBytes = bs58.decode(this.walletEncryptionPublicKeyBs58);
250
+ this.sharedKey = nacl.box.before(walletPublicKeyBytes, this.dappEncryptionKeyPair.secretKey);
251
+ } catch (e) {
252
+ this.sharedKey = null;
253
+ }
254
+
255
+ // Save session on successful connect
256
+ this.saveSession();
257
+ return {
258
+ userPublicKey: this.userPublicKey,
259
+ sessionToken: this.sessionToken,
260
+ walletEncryptionPublicKeyBs58: this.walletEncryptionPublicKeyBs58,
261
+ cluster
177
262
  };
178
- subscription = Linking.addEventListener('url', handleDeepLink);
179
- Linking.openURL(url).catch(err => {
180
- if (subscription) {
181
- subscription.remove();
182
- }
183
- reject(new Error(`Failed to open ${this.config.walletType} wallet: ${err.message}. Is it installed?`));
184
- });
185
- });
263
+ }, 'Connection');
186
264
  }
187
265
  async disconnect() {
188
266
  if (!this.sessionToken || !this.walletEncryptionPublicKeyBs58) {
@@ -195,7 +273,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
195
273
  };
196
274
  const encryptedDisconnectPayload = this.encryptPayload(payloadToEncrypt, this.walletEncryptionPublicKeyBs58);
197
275
  if (!encryptedDisconnectPayload) {
198
- // console.warn(`${this.config.walletType}Provider: Failed to encrypt disconnect payload. Clearing session locally.`);
276
+ // console.warn(`${this.config.type} provider: Failed to encrypt disconnect payload. Clearing session locally.`);
199
277
  await this.clearSession();
200
278
  this.emit('disconnect');
201
279
  return Promise.resolve(); // Or reject, depending on desired strictness
@@ -207,34 +285,19 @@ export class SolanaDeeplinkProvider extends EventEmitter {
207
285
  nonce: encryptedDisconnectPayload.nonce
208
286
  };
209
287
  const url = this.buildUrl('disconnect', disconnectDeeplinkParams);
210
- return new Promise((resolve, reject) => {
211
- let subscription = null;
212
- const handleDeepLink = event => {
213
- if (subscription) {
214
- subscription.remove();
215
- }
216
- if (event.url.startsWith(this.config.appScheme)) {
217
- this.clearSession();
218
- resolve();
219
- } else {
220
- this.clearSession();
221
- reject(new Error(`${this.config.walletType} Disconnect: Unexpected redirect URI.`));
222
- }
223
- };
224
- subscription = Linking.addEventListener('url', handleDeepLink);
225
- Linking.openURL(url).catch(err => {
226
- if (subscription) {
227
- subscription.remove();
228
- }
229
- this.clearSession();
230
- reject(new Error(`Failed to open ${this.config.walletType} for disconnection: ${err.message}.`));
231
- });
232
- });
288
+ return this.openDeeplinkAndWait(url, () => {
289
+ this.clearSession();
290
+ }, 'Disconnection');
233
291
  }
234
292
  async clearSession() {
235
293
  this.sessionToken = null;
236
294
  this.userPublicKey = null;
237
295
  this.walletEncryptionPublicKeyBs58 = null;
296
+ if (this.sharedKey) {
297
+ this.sharedKey.fill(0);
298
+ }
299
+ this.sharedKey = null;
300
+ this.cleanupActiveSubscription();
238
301
  await this.clearSessionStorage();
239
302
  }
240
303
  setSession(session) {
@@ -245,12 +308,12 @@ export class SolanaDeeplinkProvider extends EventEmitter {
245
308
  }
246
309
  async request(args, _chainId) {
247
310
  if (!isValidSolanaSigningMethod(args.method)) {
248
- throw new Error(`${this.config.walletType}Provider: Unsupported method: ${args.method}. Only Solana signing methods are supported.`);
311
+ throw new Error(`${this.config.type} provider: Unsupported method: ${args.method}. Only Solana signing methods are supported.`);
249
312
  }
250
313
  const signingMethod = args.method;
251
314
  const requestParams = args.params;
252
315
  if (!this.isConnected() || !this.sessionToken || !this.walletEncryptionPublicKeyBs58) {
253
- throw new Error(`${this.config.walletType}Provider: Not connected or session details missing. Cannot process request.`);
316
+ throw new Error(`${this.config.type} provider: Not connected or session details missing. Cannot process request.`);
254
317
  }
255
318
  const rpcMethodName = this.getRpcMethodName(signingMethod);
256
319
  let deeplinkUrl = '';
@@ -268,7 +331,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
268
331
  };
269
332
  const encryptedData = this.encryptPayload(dataToEncrypt, this.walletEncryptionPublicKeyBs58);
270
333
  if (!encryptedData) {
271
- throw new Error(`${this.config.walletType}Provider: Failed to encrypt payload for ${signingMethod}.`);
334
+ throw new Error(`${this.config.type} provider: Failed to encrypt payload for ${signingMethod}.`);
272
335
  }
273
336
  const signTxDeeplinkParams = {
274
337
  dapp_encryption_public_key: bs58.encode(this.dappEncryptionKeyPair.publicKey),
@@ -284,7 +347,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
284
347
  {
285
348
  const typedParams = requestParams;
286
349
  if (!typedParams || typeof typedParams.message === 'undefined') {
287
- throw new Error(`Missing 'message' in params for ${signingMethod}`);
350
+ throw new Error(`${this.config.type} provider: Missing 'message' in params for ${signingMethod}`);
288
351
  }
289
352
  let messageBs58;
290
353
  if (typedParams.message instanceof Uint8Array) {
@@ -297,7 +360,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
297
360
  messageBs58 = bs58.encode(Buffer.from(typedParams.message));
298
361
  }
299
362
  } else {
300
- throw new Error('Invalid message format for signMessage. Expected Uint8Array or string.');
363
+ throw new Error(`${this.config.type} provider: Invalid message format for signMessage. Expected Uint8Array or string.`);
301
364
  }
302
365
  const dataToEncrypt = {
303
366
  message: messageBs58,
@@ -306,7 +369,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
306
369
  };
307
370
  const encryptedPayloadData = this.encryptPayload(dataToEncrypt, this.walletEncryptionPublicKeyBs58);
308
371
  if (!encryptedPayloadData) {
309
- throw new Error(`${this.config.walletType}Provider: Failed to encrypt payload for signMessage.`);
372
+ throw new Error(`${this.config.type} provider: Failed to encrypt payload for signMessage.`);
310
373
  }
311
374
  const signMsgDeeplinkQueryPayload = {
312
375
  dapp_encryption_public_key: bs58.encode(this.dappEncryptionKeyPair.publicKey),
@@ -321,7 +384,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
321
384
  {
322
385
  const typedParams = requestParams;
323
386
  if (!typedParams || !Array.isArray(typedParams.transactions) || !typedParams.transactions.every(t => typeof t === 'string')) {
324
- throw new Error(`Missing or invalid 'transactions' (array of base58 strings) in params for ${signingMethod}`);
387
+ throw new Error(`${this.config.type} provider: Missing or invalid 'transactions' (array of base58 strings) in params for ${signingMethod}`);
325
388
  }
326
389
  const dataToEncrypt = {
327
390
  session: this.sessionToken,
@@ -329,7 +392,7 @@ export class SolanaDeeplinkProvider extends EventEmitter {
329
392
  };
330
393
  const encryptedData = this.encryptPayload(dataToEncrypt, this.walletEncryptionPublicKeyBs58);
331
394
  if (!encryptedData) {
332
- throw new Error(`${this.config.walletType}Provider: Failed to encrypt payload for ${signingMethod}.`);
395
+ throw new Error(`${this.config.type} provider: Failed to encrypt payload for ${signingMethod}.`);
333
396
  }
334
397
  const signAllTxDeeplinkParams = {
335
398
  dapp_encryption_public_key: bs58.encode(this.dappEncryptionKeyPair.publicKey),
@@ -343,45 +406,21 @@ export class SolanaDeeplinkProvider extends EventEmitter {
343
406
  }
344
407
  default:
345
408
  {
346
- throw new Error(`${this.config.walletType}Provider: Unhandled signing method: ${signingMethod}`);
409
+ throw new Error(`${this.config.type} provider: Unhandled signing method: ${signingMethod}`);
347
410
  }
348
411
  }
349
- return new Promise((resolve, reject) => {
350
- let subscription = null;
351
- const handleDeepLink = async event => {
352
- if (subscription) {
353
- subscription.remove();
354
- }
355
- const fullUrl = event.url;
356
- if (fullUrl.startsWith(this.config.appScheme)) {
357
- const responseUrlParams = new URLSearchParams(fullUrl.substring(fullUrl.indexOf('?') + 1));
358
- const errorCode = responseUrlParams.get('errorCode');
359
- const errorMessage = responseUrlParams.get('errorMessage');
360
- if (errorCode) {
361
- return reject(new Error(`${this.config.walletType} ${signingMethod} Failed: ${errorMessage || 'Unknown error'} (Code: ${errorCode})`));
362
- }
363
- const responseNonce = responseUrlParams.get('nonce');
364
- const responseData = responseUrlParams.get('data');
365
- if (!responseNonce || !responseData) {
366
- return reject(new Error(`${this.config.walletType} ${signingMethod}: Invalid response - missing nonce or data.`));
367
- }
368
- const decryptedResult = this.decryptPayload(responseData, responseNonce, this.walletEncryptionPublicKeyBs58);
369
- if (!decryptedResult) {
370
- return reject(new Error(`${this.config.walletType} ${signingMethod}: Failed to decrypt response or invalid decrypted data.`));
371
- }
372
- resolve(decryptedResult);
373
- } else {
374
- reject(new Error(`${this.config.walletType} ${signingMethod}: Unexpected redirect URI.`));
375
- }
376
- };
377
- subscription = Linking.addEventListener('url', handleDeepLink);
378
- Linking.openURL(deeplinkUrl).catch(err => {
379
- if (subscription) {
380
- subscription.remove();
381
- }
382
- reject(new Error(`Failed to open ${this.config.walletType} for ${signingMethod}: ${err.message}. Is it installed?`));
383
- });
384
- });
412
+ return this.openDeeplinkAndWait(deeplinkUrl, responseUrlParams => {
413
+ const responseNonce = responseUrlParams.get('nonce');
414
+ const responseData = responseUrlParams.get('data');
415
+ if (!responseNonce || !responseData) {
416
+ throw new Error(`${this.config.type} provider: ${signingMethod}: Invalid response - missing nonce or data.`);
417
+ }
418
+ const decryptedResult = this.decryptPayload(responseData, responseNonce, this.walletEncryptionPublicKeyBs58);
419
+ if (!decryptedResult) {
420
+ throw new Error(`${this.config.type} provider: ${signingMethod}: Failed to decrypt response or invalid decrypted data.`);
421
+ }
422
+ return decryptedResult;
423
+ }, signingMethod);
385
424
  }
386
425
  }
387
- //# sourceMappingURL=SolanaDeeplinkProvider.js.map
426
+ //# sourceMappingURL=DeeplinkProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Linking","nacl","bs58","Buffer","EventEmitter","SOLANA_SIGNING_METHODS","SOLANA_SIGN_TRANSACTION","SOLANA_SIGN_MESSAGE","SOLANA_SIGN_AND_SEND_TRANSACTION","SOLANA_SIGN_ALL_TRANSACTIONS","isValidSolanaSigningMethod","method","Object","values","includes","DeeplinkProvider","sharedKey","sessionToken","userPublicKey","walletEncryptionPublicKeyBs58","activeSubscription","isOperationPending","constructor","config","currentCluster","cluster","dappEncryptionKeyPair","storage","getSessionStorageKey","type","destroy","cleanupActiveSubscription","removeAllListeners","remove","setActiveSubscription","subscription","getUserPublicKey","isConnected","getCurrentCluster","buildUrl","rpcMethod","params","query","URLSearchParams","toString","baseUrl","openDeeplinkAndWait","deeplinkUrl","processParams","contextLabel","Promise","resolve","reject","handleDeepLink","event","fullUrl","url","startsWith","appScheme","Error","substring","indexOf","errorCode","get","errorMessage","result","error","addEventListener","openURL","catch","err","message","getRpcMethodName","encryptPayload","payload","walletPublicKeyBs58","nonce","randomBytes","box","nonceLength","payloadBytes","from","JSON","stringify","encryptedPayload","after","walletPublicKeyBytes","decode","secretKey","encode","console","warn","decryptPayload","encryptedDataBs58","nonceBs58","walletSenderPublicKeyBs58","formattedEncryptedDataBs58","replace","encryptedDataBytes","nonceBytes","decryptedPayloadBytes","open","walletSenderPublicKeyBytes","parse","restoreSession","session","getItem","setSession","before","e","clearSessionStorage","saveSession","setItem","removeItem","connect","connectDeeplinkParams","app_url","dappUrl","dapp_encryption_public_key","publicKey","redirect_link","responseUrlParams","responsePayload","wallet_encryption_public_key","encryptionKeyFieldName","data","decryptedData","public_key","disconnect","clearSession","emit","payloadToEncrypt","encryptedDisconnectPayload","disconnectDeeplinkParams","fill","request","args","_chainId","signingMethod","requestParams","rpcMethodName","typedParams","transaction","dataToEncrypt","encryptedData","signTxDeeplinkParams","messageBs58","Uint8Array","display","encryptedPayloadData","signMsgDeeplinkQueryPayload","Array","isArray","transactions","every","t","signAllTxDeeplinkParams","responseNonce","responseData","decryptedResult"],"sourceRoot":"../../../src","sources":["providers/DeeplinkProvider.ts"],"mappings":"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","ignoreList":[]}
@@ -9,9 +9,7 @@ export interface SolanaTransactionData {
9
9
  }
10
10
  export declare class SolanaAdapter extends SolanaBaseAdapter {
11
11
  private static supportedNamespace;
12
- constructor(configParams: {
13
- projectId: string;
14
- });
12
+ constructor();
15
13
  getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
16
14
  signTransaction<T extends Transaction | VersionedTransaction>(transaction: T, network?: AppKitNetwork): Promise<T>;
17
15
  sendTransaction(data: SolanaTransactionData): Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAc,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA4B;gBAEjD,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;IAQzC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CjE,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAChE,WAAW,EAAE,CAAC,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,CAAC,CAAC;IAiEP,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsEpE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAOxC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,qBAAqB,IAAI,cAAc;CAGxC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAc,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA4B;;IASvD,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CjE,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAChE,WAAW,EAAE,CAAC,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,CAAC,CAAC;IAiEP,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsEpE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAOxC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,qBAAqB,IAAI,cAAc;CAGxC"}
@@ -1,13 +1,12 @@
1
- import { WalletConnector, type AppKitNetwork, type CaipNetworkId, type ChainNamespace, type ConnectOptions, type Namespaces, type WalletInfo, type ConnectorInitOptions, type ConnectionProperties } from '@reown/appkit-common-react-native';
2
- import nacl from 'tweetnacl';
3
- import { SolanaDeeplinkProvider } from '../providers/SolanaDeeplinkProvider';
4
- import type { SolanaDeeplinkConnectorConfig } from '../types';
5
- export declare abstract class SolanaDeeplinkConnector extends WalletConnector {
6
- protected readonly config: SolanaDeeplinkConnectorConfig;
7
- protected currentCaipNetworkId: CaipNetworkId | null;
8
- protected dappEncryptionKeyPair?: nacl.BoxKeyPair;
9
- protected static readonly SUPPORTED_NAMESPACE: ChainNamespace;
10
- constructor(config: SolanaDeeplinkConnectorConfig);
1
+ import { WalletConnector, type AppKitNetwork, type CaipNetworkId, type ChainNamespace, type ConnectOptions, type Namespaces, type ConnectorInitOptions, type ConnectionProperties } from '@reown/appkit-common-react-native';
2
+ import { DeeplinkProvider } from '../providers/DeeplinkProvider';
3
+ import type { DeeplinkConnectorConfig } from '../types';
4
+ export declare abstract class DeeplinkConnector extends WalletConnector {
5
+ private readonly config;
6
+ private currentCaipNetworkId;
7
+ private dappEncryptionKeyPair?;
8
+ private static readonly SUPPORTED_NAMESPACE;
9
+ constructor(config: DeeplinkConnectorConfig);
11
10
  protected abstract getBaseUrl(): string;
12
11
  protected abstract getStorageKey(): string;
13
12
  protected abstract getDappKeypairStorageKey(): string;
@@ -17,16 +16,15 @@ export declare abstract class SolanaDeeplinkConnector extends WalletConnector {
17
16
  connect(opts?: ConnectOptions): Promise<Namespaces | undefined>;
18
17
  disconnect(): Promise<void>;
19
18
  private clearSession;
20
- getProvider(): SolanaDeeplinkProvider;
19
+ getProvider(): DeeplinkProvider;
21
20
  private getStorage;
22
21
  getNamespaces(): Namespaces;
23
22
  getChainId(namespace: ChainNamespace): CaipNetworkId | undefined;
24
23
  getProperties(): ConnectionProperties | undefined;
25
- getWalletInfo(): WalletInfo | undefined;
26
24
  isConnected(): boolean;
27
25
  switchNetwork(network: AppKitNetwork): Promise<void>;
28
26
  restoreSession(): Promise<boolean>;
29
27
  private saveSession;
30
28
  private clearSessionStorage;
31
29
  }
32
- //# sourceMappingURL=SolanaDeeplinkConnector.d.ts.map
30
+ //# sourceMappingURL=DeeplinkConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeeplinkConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/DeeplinkConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAKzB,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EAAE,gBAAgB,EAA0B,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAEV,uBAAuB,EAGxB,MAAM,UAAU,CAAC;AAQlB,8BAAsB,iBAAkB,SAAQ,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;gBAE3D,MAAM,EAAE,uBAAuB;IAM3C,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;IACvC,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,MAAM;IAC1C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,IAAI,MAAM;IACrD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,IAAI,MAAM;IAEvC,IAAI,CAAC,GAAG,EAAE,oBAAoB;YA2B/B,iBAAiB;IAqBhB,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAuD/D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAmB5B,YAAY;IAOjB,WAAW,IAAI,gBAAgB;IAQxC,OAAO,CAAC,UAAU;IAQT,aAAa,IAAI,UAAU;IAQ3B,UAAU,CAAC,SAAS,EAAE,cAAc,GAAG,aAAa,GAAG,SAAS;IAQhE,aAAa,IAAI,oBAAoB,GAAG,SAAS;IAI1D,WAAW,IAAI,OAAO;IAOP,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CpD,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YA2DnC,WAAW;YAmBX,mBAAmB;CAOlC"}
@@ -1,7 +1,8 @@
1
1
  import { type WalletInfo } from '@reown/appkit-common-react-native';
2
- import { SolanaDeeplinkConnector } from './SolanaDeeplinkConnector';
3
- export declare class PhantomConnector extends SolanaDeeplinkConnector {
4
- constructor();
2
+ import { DeeplinkConnector } from './DeeplinkConnector';
3
+ import type { PhantomConnectorConfig } from '../types';
4
+ export declare class PhantomConnector extends DeeplinkConnector {
5
+ constructor(config?: PhantomConnectorConfig);
5
6
  getWalletInfo(): WalletInfo;
6
7
  protected getBaseUrl(): string;
7
8
  protected getStorageKey(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"PhantomConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/PhantomConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAMpE,qBAAa,gBAAiB,SAAQ,uBAAuB;;IAKlD,aAAa,IAAI,UAAU;IAIpC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C,SAAS,CAAC,yBAAyB,IAAI,MAAM;CAG9C"}
1
+ {"version":3,"file":"PhantomConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/PhantomConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAMvD,qBAAa,gBAAiB,SAAQ,iBAAiB;gBACzC,MAAM,CAAC,EAAE,sBAAsB;IAIlC,aAAa,IAAI,UAAU;IAIpC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C,SAAS,CAAC,yBAAyB,IAAI,MAAM;CAG9C"}
@@ -1,7 +1,8 @@
1
1
  import { type WalletInfo } from '@reown/appkit-common-react-native';
2
- import { SolanaDeeplinkConnector } from './SolanaDeeplinkConnector';
3
- export declare class SolflareConnector extends SolanaDeeplinkConnector {
4
- constructor();
2
+ import { DeeplinkConnector } from './DeeplinkConnector';
3
+ import type { SolflareConnectorConfig } from '../types';
4
+ export declare class SolflareConnector extends DeeplinkConnector {
5
+ constructor(config?: SolflareConnectorConfig);
5
6
  getWalletInfo(): WalletInfo;
6
7
  protected getBaseUrl(): string;
7
8
  protected getStorageKey(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"SolflareConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/SolflareConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAMpE,qBAAa,iBAAkB,SAAQ,uBAAuB;;IAKnD,aAAa,IAAI,UAAU;IAIpC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C,SAAS,CAAC,yBAAyB,IAAI,MAAM;CAG9C"}
1
+ {"version":3,"file":"SolflareConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/SolflareConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAMxD,qBAAa,iBAAkB,SAAQ,iBAAiB;gBAC1C,MAAM,CAAC,EAAE,uBAAuB;IAInC,aAAa,IAAI,UAAU;IAIpC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C,SAAS,CAAC,yBAAyB,IAAI,MAAM;CAG9C"}
@@ -1,7 +1,5 @@
1
1
  export { SolanaAdapter } from './adapter';
2
- export { SolanaDeeplinkProvider, SOLANA_SIGNING_METHODS } from './providers/SolanaDeeplinkProvider';
3
- export { SolanaDeeplinkConnector } from './connectors/SolanaDeeplinkConnector';
2
+ export type { PhantomConnectorConfig, SolflareConnectorConfig } from './types';
4
3
  export { PhantomConnector } from './connectors/PhantomConnector';
5
4
  export { SolflareConnector } from './connectors/SolflareConnector';
6
- export type { SolanaWalletType, SolanaCluster, SolanaDeeplinkProviderConfig, SolanaWalletSession, SolanaConnectResult, SolanaDeeplinkResponse, SolanaRpcMethod, SolanaConnectParams, SolanaDisconnectParams, SolanaSignTransactionParams, SolanaSignAllTransactionsParams, SolanaSignMessageParams, SolanaConnectorConfig, SolanaConnectorSessionData } from './types';
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,4BAA4B,EAC5B,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAG/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC"}