@etherplay/connect 0.0.20 → 0.0.22

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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnyBvE,CAAC;kBAAqB,CAAC;;;;;;;;;;;EA+oC/C;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGxE,OAAO,KAAK,EAAC,cAAc,EAAE,2BAA2B,EAAC,MAAM,UAAU,CAAC;AAC1E,OAAO,EACN,wBAAwB,EAGxB,gBAAgB,EAChB,iCAAiC,EACjC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAC,wBAAwB,EAAE,iCAAiC,EAAE,gBAAgB,EAAC,CAAC;AACvF,YAAY,EAAC,aAAa,EAAC,CAAC;AAE5B,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,gBAAgB,CAAC;CAE5B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,MAAM,GAAG,SAAS,EAAE,OAAO,SAAS,KAAK,MAAM,EAAE,GAAG,SAAS,IAAI;IAC/G,IAAI,EAAE,QAAQ,CAAC;CACf,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC,GAC3E,CAAC,OAAO,SAAS,SAAS,GAAG;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAE1E,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE1G,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;AAE5F,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,2BAA2B,CAAC;IACtC,QAAQ,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,aAAa,GAAG,gBAAgB,GAAG,KAAK,CAAC;CACzD,GAAG,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,GAAG;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,GAAG;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAErH,KAAK,eAAe,GAAG;IACtB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,QAAQ,GACV;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;CACjB,GACD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;CACnB,CAAC;AAEL,MAAM,MAAM,UAAU,GAAG;IAIxB,KAAK,CAAC,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAC,CAAC;IAEvC,OAAO,EAAE,qBAAqB,EAAE,CAAC;CACjC,GAAG,CACD;IACA,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACjB,GAED;IACA,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;CACjB,GAGD;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC3B,GAED;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAChD,GAED;IACA,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC7C,GAGD;IACA,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,EAAE,WAAW,CAAC;CACnB,GAGD;IACA,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,WAAW,CAAC;CACnB,GAED,eAAe,GAMf,QAAQ,CACV,CAAC;AAEF,UAAU,mBAAmB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,UAAU,qBAAqB;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;CACtC;AAED,MAAM,WAAW,4BAA6B,SAAQ,WAAW;IAChE,IAAI,EAAE,0BAA0B,CAAC;IACjC,MAAM,EAAE,qBAAqB,CAAC;CAC9B;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAClD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,IAAI,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CACrG;;0BA0cmC,SAAS;wDANK,OAAO;4BACnC,OAAO;oCACC,OAAO;;;iBAoVhB,mBAAmB,GAAG,MAAM,GAAG,gBAAgB;;+BAtcjC,KAAK,MAAM,EAAE,YAAY;QAAC,6CAA6C,EAAE,OAAO,CAAA;KAAC;;+CAkhBnE,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;iCAsD5D,MAAM,WACN;QACR,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;SACjB,CAAC;KACF;;;eA1MK,iBAAiB,cACX,eAAe,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;4DA1R1B,OAAO;gCACnC,OAAO;wCACC,OAAO;YA0RjC,OAAO,CAAC,eAAe,CAAC;eACI,UAAU,cAAc,SAAS;4DA7Rf,OAAO;gCACnC,OAAO;wCACC,OAAO;YA2R4D,OAAO,CAAC,QAAQ,CAAC;qBAC5E,SAAS;4DA9RG,OAAO;gCACnC,OAAO;wCACC,OAAO;YA4R0C,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAz1BpF,CAAC;kBAAqB,CAAC;;;;;;;;;;;EAqsClC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { writable } from 'svelte/store';
2
2
  import { createPopupLauncher } from './popup.js';
3
3
  import { fromEntropyKeyToMnemonic, fromMnemonicToFirstAccount, fromSignatureToKey, originKeyMessage, originPublicKeyPublicationMessage, } from '@etherplay/alchemy';
4
- import { hashMessage } from './utils.js';
4
+ import { hashMessage, withTimeout } from './utils.js';
5
5
  import { createProvider } from './provider.js';
6
6
  export { fromEntropyKeyToMnemonic, originPublicKeyPublicationMessage, originKeyMessage };
7
7
  const storageKeyAccount = '__origin_account';
@@ -94,14 +94,14 @@ export function createConnection(settings) {
94
94
  waitForWallet(walletMechanism.name)
95
95
  .then(async (walletDetails) => {
96
96
  const walletProvider = walletDetails.provider;
97
- const chainIdAsHex = await walletProvider.request({ method: 'eth_chainId' });
97
+ const chainIdAsHex = await withTimeout(walletProvider.request({ method: 'eth_chainId' }));
98
98
  const chainId = Number(chainIdAsHex).toString();
99
99
  _wallet = { provider: walletProvider, chainId };
100
100
  alwaysOnProvider.setWalletProvider(walletProvider);
101
101
  watchForChainIdChange(_wallet.provider);
102
102
  let accounts = [];
103
103
  // try {
104
- accounts = await walletProvider.request({ method: 'eth_accounts' });
104
+ accounts = await withTimeout(walletProvider.request({ method: 'eth_accounts' }));
105
105
  accounts = accounts.map((v) => v.toLowerCase());
106
106
  // } catch {}
107
107
  // // TODO try catch ? and use logic of onAccountChanged
@@ -150,14 +150,14 @@ export function createConnection(settings) {
150
150
  waitForWallet(lastWallet.name)
151
151
  .then(async (walletDetails) => {
152
152
  const walletProvider = walletDetails.provider;
153
- const chainIdAsHex = await walletProvider.request({ method: 'eth_chainId' });
153
+ const chainIdAsHex = await withTimeout(walletProvider.request({ method: 'eth_chainId' }));
154
154
  const chainId = Number(chainIdAsHex).toString();
155
155
  _wallet = { provider: walletProvider, chainId };
156
156
  alwaysOnProvider.setWalletProvider(walletProvider);
157
157
  watchForChainIdChange(_wallet.provider);
158
158
  let accounts = [];
159
159
  // try {
160
- accounts = await walletProvider.request({ method: 'eth_accounts' });
160
+ accounts = await withTimeout(walletProvider.request({ method: 'eth_accounts' }));
161
161
  accounts = accounts.map((v) => v.toLowerCase());
162
162
  // } catch {}
163
163
  // // TODO try catch ? and use logic of onAccountChanged
@@ -232,8 +232,50 @@ export function createConnection(settings) {
232
232
  sessionStorage.removeItem(storageKeyLastWallet);
233
233
  localStorage.removeItem(storageKeyLastWallet);
234
234
  }
235
+ let signaturePending = undefined;
236
+ let signatureCounter = 0;
237
+ function _requestSignature(provider, msg, address) {
238
+ const id = ++signatureCounter;
239
+ if (signaturePending) {
240
+ const tmp = signaturePending;
241
+ signaturePending = undefined;
242
+ tmp.reject(new Error('signature request replaced', { cause: { code: 111111 } }));
243
+ }
244
+ return new Promise((resolve, reject) => {
245
+ signaturePending = { reject, id };
246
+ // console.log(`check for timeout...`);
247
+ // this step ensure timeout
248
+ // await withTimeout(
249
+ // provider.request({
250
+ // method: 'eth_chainId',
251
+ // }),
252
+ // );
253
+ // await withTimeout(
254
+ // provider.request({
255
+ // method: 'eth_accounts',
256
+ // }),
257
+ // );
258
+ provider
259
+ .request({
260
+ method: 'personal_sign',
261
+ params: [msg, address],
262
+ })
263
+ .then((signature) => {
264
+ if (signaturePending?.id === id) {
265
+ signaturePending = undefined;
266
+ resolve(signature);
267
+ }
268
+ })
269
+ .catch((err) => {
270
+ if (signaturePending?.id === id) {
271
+ signaturePending = undefined;
272
+ reject(err);
273
+ }
274
+ });
275
+ });
276
+ }
235
277
  async function requestSignature() {
236
- if ($connection.step !== 'WalletConnected') {
278
+ if ($connection.step !== 'WalletConnected' && $connection.step !== 'WaitingForSignature') {
237
279
  throw new Error(`invalid step: ${$connection.step}, needs to be WalletConnected`);
238
280
  }
239
281
  const provider = $connection.wallet.provider;
@@ -245,13 +287,14 @@ export function createConnection(settings) {
245
287
  });
246
288
  let signature;
247
289
  try {
248
- // TODO timeout
249
- signature = await provider.request({
250
- method: 'personal_sign',
251
- params: [msg, $connection.mechanism.address],
252
- });
290
+ signature = await _requestSignature(provider, msg, $connection.mechanism.address);
253
291
  }
254
292
  catch (err) {
293
+ console.error(err);
294
+ if (err?.cause?.code === 111111) {
295
+ // We ignore replaced signature request
296
+ return;
297
+ }
255
298
  // TODO handle rejection (code: 4001 ?)
256
299
  set({
257
300
  ...$connection,
@@ -419,30 +462,101 @@ export function createConnection(settings) {
419
462
  wallets: $connection.wallets,
420
463
  wallet: undefined,
421
464
  });
422
- const provider = wallet.provider;
423
- const chainIdAsHex = await provider.request({ method: 'eth_chainId' });
424
- const chainId = Number(chainIdAsHex).toString();
425
- _wallet = {
426
- chainId,
427
- provider,
428
- };
429
- alwaysOnProvider.setWalletProvider(_wallet.provider);
430
- watchForChainIdChange(_wallet.provider);
431
- let accounts = await provider.request({ method: 'eth_accounts' });
432
- accounts = accounts.map((v) => v.toLowerCase());
433
- if (accounts.length === 0) {
434
- set({
435
- step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
436
- mechanism: mechanismToSave,
437
- wallets: $connection.wallets,
438
- wallet: undefined,
439
- });
440
- accounts = await provider.request({ method: 'eth_requestAccounts' });
465
+ try {
466
+ const provider = wallet.provider;
467
+ const chainIdAsHex = await withTimeout(provider.request({ method: 'eth_chainId' }));
468
+ const chainId = Number(chainIdAsHex).toString();
469
+ _wallet = {
470
+ chainId,
471
+ provider,
472
+ };
473
+ alwaysOnProvider.setWalletProvider(_wallet.provider);
474
+ watchForChainIdChange(_wallet.provider);
475
+ let accounts = await withTimeout(provider.request({ method: 'eth_accounts' }));
441
476
  accounts = accounts.map((v) => v.toLowerCase());
442
- if (accounts.length > 0) {
443
- const nextStep = !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
444
- ? 'ChooseWalletAccount'
445
- : 'WalletConnected';
477
+ if (accounts.length === 0) {
478
+ set({
479
+ step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
480
+ mechanism: mechanismToSave,
481
+ wallets: $connection.wallets,
482
+ wallet: undefined,
483
+ });
484
+ accounts = await provider.request({ method: 'eth_requestAccounts' });
485
+ accounts = accounts.map((v) => v.toLowerCase());
486
+ if (accounts.length > 0) {
487
+ const nextStep = !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
488
+ ? 'ChooseWalletAccount'
489
+ : 'WalletConnected';
490
+ let account = accounts[0];
491
+ if (specificAddress) {
492
+ if (accounts.find((v) => v === specificAddress)) {
493
+ account = specificAddress;
494
+ }
495
+ else {
496
+ // TODO error
497
+ throw new Error(`could not find address ${specificAddress}`);
498
+ }
499
+ }
500
+ const newState = nextStep === 'ChooseWalletAccount'
501
+ ? {
502
+ step: nextStep,
503
+ mechanism: mechanismToSave,
504
+ wallets: $connection.wallets,
505
+ wallet: {
506
+ provider: _wallet.provider,
507
+ accounts,
508
+ status: 'connected',
509
+ accountChanged: undefined,
510
+ chainId,
511
+ invalidChainId: alwaysOnChainId != chainId,
512
+ switchingChain: false,
513
+ },
514
+ }
515
+ : {
516
+ step: nextStep,
517
+ mechanism: {
518
+ ...mechanismToSave,
519
+ address: account,
520
+ },
521
+ wallets: $connection.wallets,
522
+ wallet: {
523
+ provider: _wallet.provider,
524
+ accounts,
525
+ status: 'connected',
526
+ accountChanged: undefined,
527
+ chainId,
528
+ invalidChainId: alwaysOnChainId != chainId,
529
+ switchingChain: false,
530
+ },
531
+ };
532
+ if (newState.step === 'WalletConnected' &&
533
+ (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
534
+ !options?.requireUserConfirmationBeforeSignatureRequest) {
535
+ watchForAccountChange(_wallet.provider);
536
+ set(newState);
537
+ alwaysOnProvider.setWalletStatus('connected');
538
+ saveLastWallet(newState.mechanism);
539
+ await requestSignature();
540
+ }
541
+ else {
542
+ set(newState);
543
+ alwaysOnProvider.setWalletStatus('connected');
544
+ if (newState.step === 'WalletConnected') {
545
+ saveLastWallet(newState.mechanism);
546
+ }
547
+ watchForAccountChange(_wallet.provider);
548
+ }
549
+ }
550
+ else {
551
+ set({
552
+ step: 'MechanismToChoose',
553
+ wallets: $connection.wallets,
554
+ wallet: undefined,
555
+ error: { message: 'could not get any accounts' },
556
+ });
557
+ }
558
+ }
559
+ else {
446
560
  let account = accounts[0];
447
561
  if (specificAddress) {
448
562
  if (accounts.find((v) => v === specificAddress)) {
@@ -453,6 +567,9 @@ export function createConnection(settings) {
453
567
  throw new Error(`could not find address ${specificAddress}`);
454
568
  }
455
569
  }
570
+ const nextStep = !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
571
+ ? 'ChooseWalletAccount'
572
+ : 'WalletConnected';
456
573
  const newState = nextStep === 'ChooseWalletAccount'
457
574
  ? {
458
575
  step: nextStep,
@@ -488,93 +605,29 @@ export function createConnection(settings) {
488
605
  if (newState.step === 'WalletConnected' &&
489
606
  (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
490
607
  !options?.requireUserConfirmationBeforeSignatureRequest) {
491
- watchForAccountChange(_wallet.provider);
492
608
  set(newState);
493
609
  alwaysOnProvider.setWalletStatus('connected');
494
610
  saveLastWallet(newState.mechanism);
611
+ watchForAccountChange(_wallet.provider);
495
612
  await requestSignature();
496
613
  }
497
614
  else {
615
+ watchForAccountChange(_wallet.provider);
498
616
  set(newState);
499
617
  alwaysOnProvider.setWalletStatus('connected');
500
618
  if (newState.step === 'WalletConnected') {
501
619
  saveLastWallet(newState.mechanism);
502
620
  }
503
- watchForAccountChange(_wallet.provider);
504
621
  }
505
622
  }
506
- else {
507
- set({
508
- step: 'MechanismToChoose',
509
- wallets: $connection.wallets,
510
- wallet: undefined,
511
- error: { message: 'could not get any accounts' },
512
- });
513
- }
514
623
  }
515
- else {
516
- let account = accounts[0];
517
- if (specificAddress) {
518
- if (accounts.find((v) => v === specificAddress)) {
519
- account = specificAddress;
520
- }
521
- else {
522
- // TODO error
523
- throw new Error(`could not find address ${specificAddress}`);
524
- }
525
- }
526
- const nextStep = !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
527
- ? 'ChooseWalletAccount'
528
- : 'WalletConnected';
529
- const newState = nextStep === 'ChooseWalletAccount'
530
- ? {
531
- step: nextStep,
532
- mechanism: mechanismToSave,
533
- wallets: $connection.wallets,
534
- wallet: {
535
- provider: _wallet.provider,
536
- accounts,
537
- status: 'connected',
538
- accountChanged: undefined,
539
- chainId,
540
- invalidChainId: alwaysOnChainId != chainId,
541
- switchingChain: false,
542
- },
543
- }
544
- : {
545
- step: nextStep,
546
- mechanism: {
547
- ...mechanismToSave,
548
- address: account,
549
- },
550
- wallets: $connection.wallets,
551
- wallet: {
552
- provider: _wallet.provider,
553
- accounts,
554
- status: 'connected',
555
- accountChanged: undefined,
556
- chainId,
557
- invalidChainId: alwaysOnChainId != chainId,
558
- switchingChain: false,
559
- },
560
- };
561
- if (newState.step === 'WalletConnected' &&
562
- (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
563
- !options?.requireUserConfirmationBeforeSignatureRequest) {
564
- set(newState);
565
- alwaysOnProvider.setWalletStatus('connected');
566
- saveLastWallet(newState.mechanism);
567
- watchForAccountChange(_wallet.provider);
568
- await requestSignature();
569
- }
570
- else {
571
- watchForAccountChange(_wallet.provider);
572
- set(newState);
573
- alwaysOnProvider.setWalletStatus('connected');
574
- if (newState.step === 'WalletConnected') {
575
- saveLastWallet(newState.mechanism);
576
- }
577
- }
624
+ catch (err) {
625
+ set({
626
+ step: 'MechanismToChoose',
627
+ wallets: $connection.wallets,
628
+ wallet: undefined,
629
+ error: { message: `failed toconnect to wallet`, cause: err },
630
+ });
578
631
  }
579
632
  }
580
633
  else {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAevE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;IACzB,iBAAiB,EAAE,CAAC,cAAc,EAAE,2BAA2B,GAAG,SAAS,KAAK,IAAI,CAAC;IACrF,eAAe,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,QAAQ,GAAG,cAAc,KAAK,IAAI,CAAC;CAC9E,GAAG;IACH,OAAO,EAAE,MAAM,CAAC;CAChB,CA2DA"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAgBvE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;IACzB,iBAAiB,EAAE,CAAC,cAAc,EAAE,2BAA2B,GAAG,SAAS,KAAK,IAAI,CAAC;IACrF,eAAe,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,QAAQ,GAAG,cAAc,KAAK,IAAI,CAAC;CAC9E,GAAG;IACH,OAAO,EAAE,MAAM,CAAC;CAChB,CAwEA"}
package/dist/provider.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { createCurriedJSONRPC } from 'remote-procedure-call';
2
+ import { withTimeout } from './utils.js';
2
3
  const signerMethods = [
3
4
  'eth_accounts',
4
5
  'eth_sign',
@@ -33,9 +34,21 @@ export function createProvider(params) {
33
34
  return Promise.reject({ message: 'wallet provider is not connected', code: 4001 });
34
35
  }
35
36
  }
36
- const currentChainIdAsHex = await walletProvider.request({
37
- method: 'eth_chainId',
38
- });
37
+ let currentChainIdAsHex;
38
+ try {
39
+ currentChainIdAsHex = await withTimeout(walletProvider.request({
40
+ method: 'eth_chainId',
41
+ }));
42
+ }
43
+ catch (err) {
44
+ if (signingMethod) {
45
+ return Promise.reject(err);
46
+ }
47
+ else {
48
+ // we fallback on jsonRPc if error while getting chain and not a signing method
49
+ return jsonRPC.request(req);
50
+ }
51
+ }
39
52
  const currentChainId = Number(currentChainIdAsHex).toString();
40
53
  if (chainId !== currentChainId) {
41
54
  if (signingMethod) {
@@ -52,9 +65,9 @@ export function createProvider(params) {
52
65
  return walletProvider.request(req);
53
66
  }
54
67
  }
55
- // if (signingMethod) {
56
- // return Promise.reject(new Error('wallet provider is not connected'));
57
- // }
68
+ if (signingMethod) {
69
+ return Promise.reject(new Error('wallet provider is not connected'));
70
+ }
58
71
  return jsonRPC.request(req);
59
72
  },
60
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAa,MAAM,uBAAuB,CAAC;AAEvE,MAAM,aAAa,GAAG;IACrB,cAAc;IACd,UAAU;IACV,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,mBAAmB;CACnB,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;AAE3G,MAAM,UAAU,cAAc,CAAC,MAK9B;IAMA,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAC,GAAG,MAAM,CAAC;IAChF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,cAAuD,CAAC;IAC5D,IAAI,MAAM,GAA4C,cAAc,CAAC;IAErE,SAAS,iBAAiB,CAAC,iBAA0D;QACpF,cAAc,GAAG,iBAAiB,CAAC;IACpC,CAAC;IACD,SAAS,eAAe,CAAC,SAAkD;QAC1E,MAAM,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG;QAChB,KAAK,CAAC,OAAO,CAAC,GAAqC;YAClD,MAAM,aAAa,GAClB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAElC,IAAI,cAAc,EAAE,CAAC;gBACpB,IAAI,wBAAwB,IAAI,aAAa,EAAE,CAAC;oBAC/C,IAAI,aAAa,EAAE,CAAC;wBACnB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;4BAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;wBAClF,CAAC;oBACF,CAAC;oBAED,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;wBACxD,MAAM,EAAE,aAAa;qBACrB,CAAC,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAChC,IAAI,aAAa,EAAE,CAAC;4BACnB,OAAO,OAAO,CAAC,MAAM,CAAC;gCACrB,OAAO,EAAE,+DAA+D,OAAO,YAAY,cAAc,EAAE;gCAC3G,IAAI,EAAE,IAAI;6BACV,CAAC,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACP,mEAAmE;4BACnE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC7B,CAAC;oBACF,CAAC;oBACD,OAAO,cAAc,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,yEAAyE;YACzE,IAAI;YAEJ,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACmC,CAAC;IAEtC,MAAM,UAAU,GAAG,oBAAoB,CAAU,QAAe,EAAE,EAAC,iBAAiB,EAAC,CAAC,CAAC;IACvF,OAAO,EAAC,GAAG,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,12 @@
1
1
  import type { Readable } from 'svelte/store';
2
2
  export declare function createStorePromise<U, T, V extends Readable<T>>(store: V, executor: (resolve: (value: U | PromiseLike<U>) => void, reject: (reason?: any) => void) => void): Promise<U> & V;
3
3
  export declare function hashMessage(message: string): `0x${string}`;
4
+ /**
5
+ * Wraps any promise with a timeout
6
+ * @param promise The promise to wrap with a timeout
7
+ * @param timeoutMs Timeout in milliseconds
8
+ * @param timeoutMessage Optional custom error message for timeout
9
+ * @returns A new promise that resolves/rejects with the original promise result or times out
10
+ */
11
+ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs?: number, timeoutMessage?: string): Promise<T>;
4
12
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAC7D,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,GAC9F,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAchB;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAI1D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAC7D,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,GAC9F,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAchB;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAI1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,MAAa,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CA0BjH"}
package/dist/utils.js CHANGED
@@ -18,4 +18,37 @@ export function hashMessage(message) {
18
18
  const msg = `0x${bytesToHex(messageAsBytes)}`;
19
19
  return msg;
20
20
  }
21
+ /**
22
+ * Wraps any promise with a timeout
23
+ * @param promise The promise to wrap with a timeout
24
+ * @param timeoutMs Timeout in milliseconds
25
+ * @param timeoutMessage Optional custom error message for timeout
26
+ * @returns A new promise that resolves/rejects with the original promise result or times out
27
+ */
28
+ export function withTimeout(promise, timeoutMs = 5000, timeoutMessage) {
29
+ // Create a promise that rejects after the specified timeout
30
+ let id;
31
+ const timeoutPromise = new Promise((_, reject) => {
32
+ id = setTimeout(() => {
33
+ if (id) {
34
+ // console.log(`time out reached`);
35
+ clearTimeout(id);
36
+ id = undefined;
37
+ reject(new Error(timeoutMessage || `Promise timed out after ${timeoutMs}ms`));
38
+ }
39
+ }, timeoutMs);
40
+ });
41
+ promise.then((result) => {
42
+ if (id) {
43
+ clearTimeout(id);
44
+ id = undefined;
45
+ // console.log(`promise resolved in time`, result);
46
+ }
47
+ else {
48
+ // console.log(`promise resolved too late`);
49
+ }
50
+ });
51
+ // Race the original promise against the timeout
52
+ return Promise.race([promise, timeoutPromise]);
53
+ }
21
54
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAG/C,MAAM,UAAU,kBAAkB,CACjC,KAAQ,EACR,QAAgG;IAEhG,MAAM,YAAY,GAAG,IAAI,OAAO,CAAI,QAAQ,CAAmB,CAAC;IAEhE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,CAAC;QACA,YAAoB,CAAC,GAAG,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,UAAU,CAAC,cAAc,CAAC,EAAmB,CAAC;IAC/D,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAG/C,MAAM,UAAU,kBAAkB,CACjC,KAAQ,EACR,QAAgG;IAEhG,MAAM,YAAY,GAAG,IAAI,OAAO,CAAI,QAAQ,CAAmB,CAAC;IAEhE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,CAAC;QACA,YAAoB,CAAC,GAAG,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,UAAU,CAAC,cAAc,CAAC,EAAmB,CAAC;IAC/D,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAI,OAAmB,EAAE,YAAoB,IAAI,EAAE,cAAuB;IACpG,4DAA4D;IAC5D,IAAI,EAAsB,CAAC;IAC3B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACvD,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,IAAI,EAAE,EAAE,CAAC;gBACR,mCAAmC;gBACnC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACjB,EAAE,GAAG,SAAS,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,2BAA2B,SAAS,IAAI,CAAC,CAAC,CAAC;YAC/E,CAAC;QACF,CAAC,EAAE,SAAS,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACvB,IAAI,EAAE,EAAE,CAAC;YACR,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,EAAE,GAAG,SAAS,CAAC;YACf,mDAAmD;QACpD,CAAC;aAAM,CAAC;YACP,4CAA4C;QAC7C,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,gDAAgD;IAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherplay/connect",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/src/index.ts CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  originKeyMessage,
10
10
  originPublicKeyPublicationMessage,
11
11
  } from '@etherplay/alchemy';
12
- import {hashMessage} from './utils.js';
12
+ import {hashMessage, withTimeout} from './utils.js';
13
13
  import {createProvider} from './provider.js';
14
14
 
15
15
  export {fromEntropyKeyToMnemonic, originPublicKeyPublicationMessage, originKeyMessage};
@@ -243,14 +243,14 @@ export function createConnection(settings: {
243
243
  waitForWallet(walletMechanism.name)
244
244
  .then(async (walletDetails: EIP6963ProviderDetail) => {
245
245
  const walletProvider = walletDetails.provider;
246
- const chainIdAsHex = await walletProvider.request({method: 'eth_chainId'});
246
+ const chainIdAsHex = await withTimeout(walletProvider.request({method: 'eth_chainId'}));
247
247
  const chainId = Number(chainIdAsHex).toString();
248
248
  _wallet = {provider: walletProvider, chainId};
249
249
  alwaysOnProvider.setWalletProvider(walletProvider);
250
250
  watchForChainIdChange(_wallet.provider);
251
251
  let accounts: `0x${string}`[] = [];
252
252
  // try {
253
- accounts = await walletProvider.request({method: 'eth_accounts'});
253
+ accounts = await withTimeout(walletProvider.request({method: 'eth_accounts'}));
254
254
  accounts = accounts.map((v) => v.toLowerCase() as `0x${string}`);
255
255
  // } catch {}
256
256
  // // TODO try catch ? and use logic of onAccountChanged
@@ -296,7 +296,7 @@ export function createConnection(settings: {
296
296
  waitForWallet(lastWallet.name)
297
297
  .then(async (walletDetails: EIP6963ProviderDetail) => {
298
298
  const walletProvider = walletDetails.provider;
299
- const chainIdAsHex = await walletProvider.request({method: 'eth_chainId'});
299
+ const chainIdAsHex = await withTimeout(walletProvider.request({method: 'eth_chainId'}));
300
300
  const chainId = Number(chainIdAsHex).toString();
301
301
  _wallet = {provider: walletProvider, chainId};
302
302
  alwaysOnProvider.setWalletProvider(walletProvider);
@@ -304,7 +304,7 @@ export function createConnection(settings: {
304
304
 
305
305
  let accounts: `0x${string}`[] = [];
306
306
  // try {
307
- accounts = await walletProvider.request({method: 'eth_accounts'});
307
+ accounts = await withTimeout(walletProvider.request({method: 'eth_accounts'}));
308
308
  accounts = accounts.map((v) => v.toLowerCase() as `0x${string}`);
309
309
  // } catch {}
310
310
  // // TODO try catch ? and use logic of onAccountChanged
@@ -378,8 +378,52 @@ export function createConnection(settings: {
378
378
  localStorage.removeItem(storageKeyLastWallet);
379
379
  }
380
380
 
381
+ let signaturePending: {reject: (error: unknown) => void; id: number} | undefined = undefined;
382
+ let signatureCounter = 0;
383
+ function _requestSignature(provider: EIP1193WindowWalletProvider, msg: `0x${string}`, address: `0x${string}`) {
384
+ const id = ++signatureCounter;
385
+ if (signaturePending) {
386
+ const tmp = signaturePending;
387
+ signaturePending = undefined;
388
+ tmp.reject(new Error('signature request replaced', {cause: {code: 111111}}));
389
+ }
390
+ return new Promise<`0x${string}`>((resolve, reject) => {
391
+ signaturePending = {reject, id};
392
+
393
+ // console.log(`check for timeout...`);
394
+ // this step ensure timeout
395
+ // await withTimeout(
396
+ // provider.request({
397
+ // method: 'eth_chainId',
398
+ // }),
399
+ // );
400
+ // await withTimeout(
401
+ // provider.request({
402
+ // method: 'eth_accounts',
403
+ // }),
404
+ // );
405
+ provider
406
+ .request({
407
+ method: 'personal_sign',
408
+ params: [msg, address],
409
+ })
410
+ .then((signature) => {
411
+ if (signaturePending?.id === id) {
412
+ signaturePending = undefined;
413
+ resolve(signature);
414
+ }
415
+ })
416
+ .catch((err) => {
417
+ if (signaturePending?.id === id) {
418
+ signaturePending = undefined;
419
+ reject(err);
420
+ }
421
+ });
422
+ });
423
+ }
424
+
381
425
  async function requestSignature() {
382
- if ($connection.step !== 'WalletConnected') {
426
+ if ($connection.step !== 'WalletConnected' && $connection.step !== 'WaitingForSignature') {
383
427
  throw new Error(`invalid step: ${$connection.step}, needs to be WalletConnected`);
384
428
  }
385
429
 
@@ -394,12 +438,13 @@ export function createConnection(settings: {
394
438
 
395
439
  let signature: `0x${string}`;
396
440
  try {
397
- // TODO timeout
398
- signature = await provider.request({
399
- method: 'personal_sign',
400
- params: [msg, $connection.mechanism.address],
401
- });
441
+ signature = await _requestSignature(provider, msg, $connection.mechanism.address);
402
442
  } catch (err) {
443
+ console.error(err);
444
+ if ((err as any)?.cause?.code === 111111) {
445
+ // We ignore replaced signature request
446
+ return;
447
+ }
403
448
  // TODO handle rejection (code: 4001 ?)
404
449
  set({
405
450
  ...$connection,
@@ -587,31 +632,105 @@ export function createConnection(settings: {
587
632
  wallets: $connection.wallets,
588
633
  wallet: undefined,
589
634
  });
590
- const provider = wallet.provider;
591
- const chainIdAsHex = await provider.request({method: 'eth_chainId'});
592
- const chainId = Number(chainIdAsHex).toString();
593
- _wallet = {
594
- chainId,
595
- provider,
596
- };
597
- alwaysOnProvider.setWalletProvider(_wallet.provider);
598
- watchForChainIdChange(_wallet.provider);
599
- let accounts = await provider.request({method: 'eth_accounts'});
600
- accounts = accounts.map((v) => v.toLowerCase()) as `0x${string}`[];
601
- if (accounts.length === 0) {
602
- set({
603
- step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
604
- mechanism: mechanismToSave,
605
- wallets: $connection.wallets,
606
- wallet: undefined,
607
- });
608
- accounts = await provider.request({method: 'eth_requestAccounts'});
635
+ try {
636
+ const provider = wallet.provider;
637
+ const chainIdAsHex = await withTimeout(provider.request({method: 'eth_chainId'}));
638
+ const chainId = Number(chainIdAsHex).toString();
639
+ _wallet = {
640
+ chainId,
641
+ provider,
642
+ };
643
+ alwaysOnProvider.setWalletProvider(_wallet.provider);
644
+ watchForChainIdChange(_wallet.provider);
645
+ let accounts = await withTimeout(provider.request({method: 'eth_accounts'}));
609
646
  accounts = accounts.map((v) => v.toLowerCase()) as `0x${string}`[];
610
- if (accounts.length > 0) {
611
- const nextStep =
612
- !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
613
- ? 'ChooseWalletAccount'
614
- : 'WalletConnected';
647
+ if (accounts.length === 0) {
648
+ set({
649
+ step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
650
+ mechanism: mechanismToSave,
651
+ wallets: $connection.wallets,
652
+ wallet: undefined,
653
+ });
654
+ accounts = await provider.request({method: 'eth_requestAccounts'});
655
+ accounts = accounts.map((v) => v.toLowerCase()) as `0x${string}`[];
656
+ if (accounts.length > 0) {
657
+ const nextStep =
658
+ !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
659
+ ? 'ChooseWalletAccount'
660
+ : 'WalletConnected';
661
+ let account = accounts[0];
662
+ if (specificAddress) {
663
+ if (accounts.find((v) => v === specificAddress)) {
664
+ account = specificAddress;
665
+ } else {
666
+ // TODO error
667
+ throw new Error(`could not find address ${specificAddress}`);
668
+ }
669
+ }
670
+
671
+ const newState: Connection =
672
+ nextStep === 'ChooseWalletAccount'
673
+ ? {
674
+ step: nextStep,
675
+ mechanism: mechanismToSave,
676
+ wallets: $connection.wallets,
677
+
678
+ wallet: {
679
+ provider: _wallet.provider,
680
+ accounts,
681
+ status: 'connected',
682
+ accountChanged: undefined,
683
+ chainId,
684
+ invalidChainId: alwaysOnChainId != chainId,
685
+ switchingChain: false,
686
+ },
687
+ }
688
+ : {
689
+ step: nextStep,
690
+ mechanism: {
691
+ ...mechanismToSave,
692
+ address: account,
693
+ },
694
+ wallets: $connection.wallets,
695
+ wallet: {
696
+ provider: _wallet.provider,
697
+ accounts,
698
+ status: 'connected',
699
+ accountChanged: undefined,
700
+ chainId,
701
+ invalidChainId: alwaysOnChainId != chainId,
702
+ switchingChain: false,
703
+ },
704
+ };
705
+ if (
706
+ newState.step === 'WalletConnected' &&
707
+ (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
708
+ !options?.requireUserConfirmationBeforeSignatureRequest
709
+ ) {
710
+ watchForAccountChange(_wallet.provider);
711
+
712
+ set(newState);
713
+ alwaysOnProvider.setWalletStatus('connected');
714
+ saveLastWallet(newState.mechanism);
715
+ await requestSignature();
716
+ } else {
717
+ set(newState);
718
+ alwaysOnProvider.setWalletStatus('connected');
719
+ if (newState.step === 'WalletConnected') {
720
+ saveLastWallet(newState.mechanism);
721
+ }
722
+
723
+ watchForAccountChange(_wallet.provider);
724
+ }
725
+ } else {
726
+ set({
727
+ step: 'MechanismToChoose',
728
+ wallets: $connection.wallets,
729
+ wallet: undefined,
730
+ error: {message: 'could not get any accounts'},
731
+ });
732
+ }
733
+ } else {
615
734
  let account = accounts[0];
616
735
  if (specificAddress) {
617
736
  if (accounts.find((v) => v === specificAddress)) {
@@ -621,14 +740,16 @@ export function createConnection(settings: {
621
740
  throw new Error(`could not find address ${specificAddress}`);
622
741
  }
623
742
  }
624
-
743
+ const nextStep =
744
+ !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
745
+ ? 'ChooseWalletAccount'
746
+ : 'WalletConnected';
625
747
  const newState: Connection =
626
748
  nextStep === 'ChooseWalletAccount'
627
749
  ? {
628
750
  step: nextStep,
629
751
  mechanism: mechanismToSave,
630
752
  wallets: $connection.wallets,
631
-
632
753
  wallet: {
633
754
  provider: _wallet.provider,
634
755
  accounts,
@@ -661,94 +782,27 @@ export function createConnection(settings: {
661
782
  (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
662
783
  !options?.requireUserConfirmationBeforeSignatureRequest
663
784
  ) {
664
- watchForAccountChange(_wallet.provider);
665
-
666
785
  set(newState);
667
786
  alwaysOnProvider.setWalletStatus('connected');
668
787
  saveLastWallet(newState.mechanism);
788
+ watchForAccountChange(_wallet.provider);
669
789
  await requestSignature();
670
790
  } else {
791
+ watchForAccountChange(_wallet.provider);
671
792
  set(newState);
672
793
  alwaysOnProvider.setWalletStatus('connected');
673
794
  if (newState.step === 'WalletConnected') {
674
795
  saveLastWallet(newState.mechanism);
675
796
  }
676
-
677
- watchForAccountChange(_wallet.provider);
678
- }
679
- } else {
680
- set({
681
- step: 'MechanismToChoose',
682
- wallets: $connection.wallets,
683
- wallet: undefined,
684
- error: {message: 'could not get any accounts'},
685
- });
686
- }
687
- } else {
688
- let account = accounts[0];
689
- if (specificAddress) {
690
- if (accounts.find((v) => v === specificAddress)) {
691
- account = specificAddress;
692
- } else {
693
- // TODO error
694
- throw new Error(`could not find address ${specificAddress}`);
695
- }
696
- }
697
- const nextStep =
698
- !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
699
- ? 'ChooseWalletAccount'
700
- : 'WalletConnected';
701
- const newState: Connection =
702
- nextStep === 'ChooseWalletAccount'
703
- ? {
704
- step: nextStep,
705
- mechanism: mechanismToSave,
706
- wallets: $connection.wallets,
707
- wallet: {
708
- provider: _wallet.provider,
709
- accounts,
710
- status: 'connected',
711
- accountChanged: undefined,
712
- chainId,
713
- invalidChainId: alwaysOnChainId != chainId,
714
- switchingChain: false,
715
- },
716
- }
717
- : {
718
- step: nextStep,
719
- mechanism: {
720
- ...mechanismToSave,
721
- address: account,
722
- },
723
- wallets: $connection.wallets,
724
- wallet: {
725
- provider: _wallet.provider,
726
- accounts,
727
- status: 'connected',
728
- accountChanged: undefined,
729
- chainId,
730
- invalidChainId: alwaysOnChainId != chainId,
731
- switchingChain: false,
732
- },
733
- };
734
- if (
735
- newState.step === 'WalletConnected' &&
736
- (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
737
- !options?.requireUserConfirmationBeforeSignatureRequest
738
- ) {
739
- set(newState);
740
- alwaysOnProvider.setWalletStatus('connected');
741
- saveLastWallet(newState.mechanism);
742
- watchForAccountChange(_wallet.provider);
743
- await requestSignature();
744
- } else {
745
- watchForAccountChange(_wallet.provider);
746
- set(newState);
747
- alwaysOnProvider.setWalletStatus('connected');
748
- if (newState.step === 'WalletConnected') {
749
- saveLastWallet(newState.mechanism);
750
797
  }
751
798
  }
799
+ } catch (err) {
800
+ set({
801
+ step: 'MechanismToChoose',
802
+ wallets: $connection.wallets,
803
+ wallet: undefined,
804
+ error: {message: `failed toconnect to wallet`, cause: err},
805
+ });
752
806
  }
753
807
  } else {
754
808
  console.error(`failed to get wallet ${walletName}`, $connection.wallets);
package/src/provider.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type {EIP1193WalletProvider, EIP1193WindowWalletProvider, Methods} from 'eip-1193';
2
2
  import {createCurriedJSONRPC, CurriedRPC} from 'remote-procedure-call';
3
+ import {withTimeout} from './utils.js';
3
4
 
4
5
  const signerMethods = [
5
6
  'eth_accounts',
@@ -54,9 +55,22 @@ export function createProvider(params: {
54
55
  }
55
56
  }
56
57
 
57
- const currentChainIdAsHex = await walletProvider.request({
58
- method: 'eth_chainId',
59
- });
58
+ let currentChainIdAsHex: string;
59
+ try {
60
+ currentChainIdAsHex = await withTimeout(
61
+ walletProvider.request({
62
+ method: 'eth_chainId',
63
+ }),
64
+ );
65
+ } catch (err) {
66
+ if (signingMethod) {
67
+ return Promise.reject(err);
68
+ } else {
69
+ // we fallback on jsonRPc if error while getting chain and not a signing method
70
+ return jsonRPC.request(req);
71
+ }
72
+ }
73
+
60
74
  const currentChainId = Number(currentChainIdAsHex).toString();
61
75
  if (chainId !== currentChainId) {
62
76
  if (signingMethod) {
@@ -73,9 +87,9 @@ export function createProvider(params: {
73
87
  }
74
88
  }
75
89
 
76
- // if (signingMethod) {
77
- // return Promise.reject(new Error('wallet provider is not connected'));
78
- // }
90
+ if (signingMethod) {
91
+ return Promise.reject(new Error('wallet provider is not connected'));
92
+ }
79
93
 
80
94
  return jsonRPC.request(req);
81
95
  },
package/src/utils.ts CHANGED
@@ -27,3 +27,38 @@ export function hashMessage(message: string): `0x${string}` {
27
27
  const msg = `0x${bytesToHex(messageAsBytes)}` as `0x${string}`;
28
28
  return msg;
29
29
  }
30
+
31
+ /**
32
+ * Wraps any promise with a timeout
33
+ * @param promise The promise to wrap with a timeout
34
+ * @param timeoutMs Timeout in milliseconds
35
+ * @param timeoutMessage Optional custom error message for timeout
36
+ * @returns A new promise that resolves/rejects with the original promise result or times out
37
+ */
38
+ export function withTimeout<T>(promise: Promise<T>, timeoutMs: number = 5000, timeoutMessage?: string): Promise<T> {
39
+ // Create a promise that rejects after the specified timeout
40
+ let id: number | undefined;
41
+ const timeoutPromise = new Promise<never>((_, reject) => {
42
+ id = setTimeout(() => {
43
+ if (id) {
44
+ // console.log(`time out reached`);
45
+ clearTimeout(id);
46
+ id = undefined;
47
+ reject(new Error(timeoutMessage || `Promise timed out after ${timeoutMs}ms`));
48
+ }
49
+ }, timeoutMs);
50
+ });
51
+
52
+ promise.then((result) => {
53
+ if (id) {
54
+ clearTimeout(id);
55
+ id = undefined;
56
+ // console.log(`promise resolved in time`, result);
57
+ } else {
58
+ // console.log(`promise resolved too late`);
59
+ }
60
+ });
61
+
62
+ // Race the original promise against the timeout
63
+ return Promise.race([promise, timeoutPromise]);
64
+ }