@wagmi/core 0.2.4 → 0.3.1

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 (74) hide show
  1. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +28 -21
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +28 -21
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +28 -21
  4. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +28 -15
  5. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +28 -15
  6. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +23 -10
  7. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +7 -6
  8. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +7 -6
  9. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +5 -4
  10. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +26 -8
  11. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +26 -8
  12. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +24 -6
  13. package/dist/{base-5812b724.cjs.dev.js → base-3a506159.cjs.dev.js} +129 -67
  14. package/dist/{base-159de546.esm.js → base-997b4fec.esm.js} +98 -38
  15. package/dist/{base-59f3457e.cjs.prod.js → base-cb4198f3.cjs.prod.js} +129 -67
  16. package/dist/{client-7fcff803.esm.js → client-1ab99bf8.esm.js} +55 -46
  17. package/dist/{client-65157905.cjs.dev.js → client-db513093.cjs.dev.js} +57 -48
  18. package/dist/{client-a06853e2.cjs.prod.js → client-edc73358.cjs.prod.js} +57 -48
  19. package/dist/declarations/src/actions/accounts/connect.d.ts +4 -4
  20. package/dist/declarations/src/actions/accounts/getAccount.d.ts +3 -3
  21. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +15 -6
  22. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -3
  23. package/dist/declarations/src/actions/providers/getProvider.d.ts +3 -3
  24. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +3 -3
  25. package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -3
  26. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -3
  27. package/dist/declarations/src/chains/configureChains.d.ts +20 -0
  28. package/dist/declarations/src/chains/index.d.ts +2 -0
  29. package/dist/declarations/src/client.d.ts +12 -12
  30. package/dist/declarations/src/connectors/injected.d.ts +2 -2
  31. package/dist/declarations/src/connectors/metaMask.d.ts +1 -1
  32. package/dist/declarations/src/constants/index.d.ts +1 -1
  33. package/dist/declarations/src/errors.d.ts +48 -4
  34. package/dist/declarations/src/index.d.ts +8 -6
  35. package/dist/declarations/src/providers/alchemy.d.ts +7 -0
  36. package/dist/declarations/src/providers/infura.d.ts +7 -0
  37. package/dist/declarations/src/providers/jsonRpc.d.ts +11 -0
  38. package/dist/declarations/src/providers/public.d.ts +6 -0
  39. package/dist/declarations/src/storage.d.ts +2 -2
  40. package/dist/declarations/src/types/index.d.ts +66 -27
  41. package/dist/rpcs-7cfbd91c.esm.js +30 -0
  42. package/dist/rpcs-9c4eb960.cjs.dev.js +35 -0
  43. package/dist/rpcs-b3c52116.cjs.prod.js +35 -0
  44. package/dist/wagmi-core.cjs.dev.js +125 -26
  45. package/dist/wagmi-core.cjs.prod.js +125 -26
  46. package/dist/wagmi-core.esm.js +123 -25
  47. package/package.json +29 -8
  48. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +1 -0
  49. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +38 -0
  50. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +7 -0
  51. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +38 -0
  52. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +34 -0
  53. package/providers/alchemy/package.json +4 -0
  54. package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +1 -0
  55. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +38 -0
  56. package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +7 -0
  57. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +38 -0
  58. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +34 -0
  59. package/providers/infura/package.json +4 -0
  60. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +1 -0
  61. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +45 -0
  62. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +7 -0
  63. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +45 -0
  64. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +41 -0
  65. package/providers/jsonRpc/package.json +4 -0
  66. package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +1 -0
  67. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +34 -0
  68. package/providers/public/dist/wagmi-core-providers-public.cjs.js +7 -0
  69. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +34 -0
  70. package/providers/public/dist/wagmi-core-providers-public.esm.js +30 -0
  71. package/providers/public/package.json +4 -0
  72. package/dist/classPrivateMethodGet-55c9909f.esm.js +0 -16
  73. package/dist/classPrivateMethodGet-976c8120.cjs.dev.js +0 -19
  74. package/dist/classPrivateMethodGet-d7330ed7.cjs.prod.js +0 -19
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var classPrivateMethodGet = require('./classPrivateMethodGet-976c8120.cjs.dev.js');
4
- var base = require('./base-5812b724.cjs.dev.js');
3
+ var base = require('./base-3a506159.cjs.dev.js');
5
4
  var ethers = require('ethers');
6
5
  var create = require('zustand/vanilla');
7
6
  var middleware = require('zustand/middleware');
@@ -20,11 +19,13 @@ function getInjectedName(ethereum) {
20
19
  if (provider.isBraveWallet) return 'Brave Wallet';
21
20
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
22
21
  if (provider.isFrame) return 'Frame';
22
+ if (provider.isOpera) return 'Opera';
23
23
  if (provider.isTally) return 'Tally';
24
24
  if (provider.isTokenary) return 'Tokenary';
25
25
  if (provider.isTrust) return 'Trust Wallet';
26
26
  if (provider.isMetaMask) return 'MetaMask';
27
- };
27
+ }; // Some injected providers detect multiple other providers and create a list at `ethers.providers`
28
+
28
29
 
29
30
  if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
30
31
  // Deduplicate names using Set
@@ -62,15 +63,23 @@ const shimKey = 'injected.shimDisconnect';
62
63
 
63
64
  var _provider = /*#__PURE__*/new WeakMap();
64
65
 
66
+ var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
67
+
65
68
  class InjectedConnector extends base.Connector {
66
- constructor(config) {
67
- super({ ...config,
68
- options: {
69
- shimDisconnect: true,
70
- ...(config === null || config === void 0 ? void 0 : config.options)
69
+ constructor() {
70
+ let {
71
+ chains,
72
+ options = {
73
+ shimDisconnect: true
71
74
  }
75
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
+ super({
77
+ chains,
78
+ options
72
79
  });
73
80
 
81
+ base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
82
+
74
83
  base._defineProperty(this, "id", void 0);
75
84
 
76
85
  base._defineProperty(this, "name", void 0);
@@ -109,9 +118,7 @@ class InjectedConnector extends base.Connector {
109
118
  let name = 'Injected';
110
119
 
111
120
  if (typeof window !== 'undefined') {
112
- var _config$options;
113
-
114
- const overrideName = config === null || config === void 0 ? void 0 : (_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.name;
121
+ const overrideName = options.name;
115
122
  const detectedName = getInjectedName(window.ethereum);
116
123
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
117
124
  }
@@ -149,7 +156,8 @@ class InjectedConnector extends base.Connector {
149
156
  provider
150
157
  };
151
158
  } catch (error) {
152
- if (error.code === 4001) throw new base.UserRejectedRequestError();
159
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
160
+ if (error.code === -32002) throw new base.ResourceUnavailableError(error);
153
161
  throw error;
154
162
  }
155
163
  }
@@ -228,16 +236,17 @@ class InjectedConnector extends base.Connector {
228
236
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
229
237
  id: chainId,
230
238
  name: "Chain ".concat(id),
239
+ network: "".concat(id),
231
240
  rpcUrls: {
232
241
  default: ''
233
242
  }
234
243
  };
235
244
  } catch (error) {
236
- // Indicates chain is not added to provider
245
+ const chain = this.chains.find(x => x.id === chainId);
246
+ if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
247
+
237
248
  if (error.code === 4902) {
238
249
  try {
239
- const chain = this.chains.find(x => x.id === chainId);
240
- if (!chain) throw new base.ChainNotConfiguredError();
241
250
  await provider.request({
242
251
  method: 'wallet_addEthereumChain',
243
252
  params: [{
@@ -250,9 +259,13 @@ class InjectedConnector extends base.Connector {
250
259
  });
251
260
  return chain;
252
261
  } catch (addError) {
262
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
253
263
  throw new base.AddChainError();
254
264
  }
255
- } else if (error.code === 4001) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
265
+ }
266
+
267
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
268
+ throw new base.SwitchChainError(error);
256
269
  }
257
270
  }
258
271
 
@@ -281,6 +294,10 @@ class InjectedConnector extends base.Connector {
281
294
 
282
295
  }
283
296
 
297
+ function _isUserRejectedRequestError2(error) {
298
+ return error.code === 4001;
299
+ }
300
+
284
301
  const noopStorage = {
285
302
  getItem: _key => '',
286
303
  setItem: (_key, _value) => null,
@@ -326,11 +343,23 @@ var _addEffects = /*#__PURE__*/new WeakSet();
326
343
 
327
344
  class Client {
328
345
  constructor() {
329
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
330
-
331
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
346
+ let {
347
+ autoConnect = false,
348
+ connectors = [new InjectedConnector()],
349
+ provider: _provider = config => {
350
+ try {
351
+ return ethers.getDefaultProvider(config.chainId);
352
+ } catch {
353
+ return ethers.getDefaultProvider();
354
+ }
355
+ },
356
+ storage = createStorage({
357
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
358
+ }),
359
+ webSocketProvider: _webSocketProvider
360
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
332
361
 
333
- classPrivateMethodGet._classPrivateMethodInitSpec(this, _addEffects);
362
+ base._classPrivateMethodInitSpec(this, _addEffects);
334
363
 
335
364
  base._defineProperty(this, "config", void 0);
336
365
 
@@ -343,24 +372,7 @@ class Client {
343
372
  value: void 0
344
373
  });
345
374
 
346
- // Set default values for config
347
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
348
-
349
- const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
350
-
351
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
352
- try {
353
- return ethers.getDefaultProvider(config.chainId);
354
- } catch {
355
- return ethers.getDefaultProvider();
356
- }
357
- };
358
-
359
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
360
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
361
- });
362
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
363
-
375
+ // Check status for autoConnect flag
364
376
  let status = 'disconnected';
365
377
 
366
378
  let _chainId;
@@ -378,9 +390,9 @@ class Client {
378
390
  } // Evaluate initial store values
379
391
 
380
392
 
381
- const connectors_ = typeof _connectors === 'function' ? _connectors({
393
+ const connectors_ = typeof connectors === 'function' ? connectors({
382
394
  chainId: _chainId
383
- }) : _connectors;
395
+ }) : connectors;
384
396
  const provider_ = typeof _provider === 'function' ? _provider({
385
397
  chainId: _chainId
386
398
  }) : _provider;
@@ -412,7 +424,7 @@ class Client {
412
424
  })));
413
425
  this.config = {
414
426
  autoConnect,
415
- connectors: _connectors,
427
+ connectors,
416
428
  provider: _provider,
417
429
  storage,
418
430
  webSocketProvider: _webSocketProvider
@@ -421,7 +433,7 @@ class Client {
421
433
 
422
434
  base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
423
435
 
424
- classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
436
+ base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
425
437
  }
426
438
 
427
439
  get chains() {
@@ -467,6 +479,7 @@ class Client {
467
479
 
468
480
  clearState() {
469
481
  this.setState(x => ({ ...x,
482
+ chains: undefined,
470
483
  connector: undefined,
471
484
  data: undefined,
472
485
  error: undefined,
@@ -505,6 +518,7 @@ class Client {
505
518
 
506
519
 
507
520
  if (!connected) this.setState(x => ({ ...x,
521
+ data: undefined,
508
522
  status: 'disconnected'
509
523
  }));
510
524
  return this.data;
@@ -555,14 +569,12 @@ function _addEffects2() {
555
569
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
556
570
  });
557
571
  const {
558
- connectors,
559
572
  provider,
560
573
  webSocketProvider
561
574
  } = this.config;
562
- const subscribeConnectors = typeof connectors === 'function';
563
575
  const subscribeProvider = typeof provider === 'function';
564
576
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
565
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
577
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
566
578
  var _data$chain2;
567
579
 
568
580
  let {
@@ -571,9 +583,6 @@ function _addEffects2() {
571
583
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
572
584
  }, chainId => {
573
585
  this.setState(x => ({ ...x,
574
- connectors: subscribeConnectors ? connectors({
575
- chainId
576
- }) : x.connectors,
577
586
  provider: subscribeProvider ? provider({
578
587
  chainId
579
588
  }) : x.provider,
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var classPrivateMethodGet = require('./classPrivateMethodGet-d7330ed7.cjs.prod.js');
4
- var base = require('./base-59f3457e.cjs.prod.js');
3
+ var base = require('./base-cb4198f3.cjs.prod.js');
5
4
  var ethers = require('ethers');
6
5
  var create = require('zustand/vanilla');
7
6
  var middleware = require('zustand/middleware');
@@ -20,11 +19,13 @@ function getInjectedName(ethereum) {
20
19
  if (provider.isBraveWallet) return 'Brave Wallet';
21
20
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
22
21
  if (provider.isFrame) return 'Frame';
22
+ if (provider.isOpera) return 'Opera';
23
23
  if (provider.isTally) return 'Tally';
24
24
  if (provider.isTokenary) return 'Tokenary';
25
25
  if (provider.isTrust) return 'Trust Wallet';
26
26
  if (provider.isMetaMask) return 'MetaMask';
27
- };
27
+ }; // Some injected providers detect multiple other providers and create a list at `ethers.providers`
28
+
28
29
 
29
30
  if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
30
31
  // Deduplicate names using Set
@@ -62,15 +63,23 @@ const shimKey = 'injected.shimDisconnect';
62
63
 
63
64
  var _provider = /*#__PURE__*/new WeakMap();
64
65
 
66
+ var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
67
+
65
68
  class InjectedConnector extends base.Connector {
66
- constructor(config) {
67
- super({ ...config,
68
- options: {
69
- shimDisconnect: true,
70
- ...(config === null || config === void 0 ? void 0 : config.options)
69
+ constructor() {
70
+ let {
71
+ chains,
72
+ options = {
73
+ shimDisconnect: true
71
74
  }
75
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
+ super({
77
+ chains,
78
+ options
72
79
  });
73
80
 
81
+ base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
82
+
74
83
  base._defineProperty(this, "id", void 0);
75
84
 
76
85
  base._defineProperty(this, "name", void 0);
@@ -109,9 +118,7 @@ class InjectedConnector extends base.Connector {
109
118
  let name = 'Injected';
110
119
 
111
120
  if (typeof window !== 'undefined') {
112
- var _config$options;
113
-
114
- const overrideName = config === null || config === void 0 ? void 0 : (_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.name;
121
+ const overrideName = options.name;
115
122
  const detectedName = getInjectedName(window.ethereum);
116
123
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
117
124
  }
@@ -149,7 +156,8 @@ class InjectedConnector extends base.Connector {
149
156
  provider
150
157
  };
151
158
  } catch (error) {
152
- if (error.code === 4001) throw new base.UserRejectedRequestError();
159
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
160
+ if (error.code === -32002) throw new base.ResourceUnavailableError(error);
153
161
  throw error;
154
162
  }
155
163
  }
@@ -228,16 +236,17 @@ class InjectedConnector extends base.Connector {
228
236
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
229
237
  id: chainId,
230
238
  name: "Chain ".concat(id),
239
+ network: "".concat(id),
231
240
  rpcUrls: {
232
241
  default: ''
233
242
  }
234
243
  };
235
244
  } catch (error) {
236
- // Indicates chain is not added to provider
245
+ const chain = this.chains.find(x => x.id === chainId);
246
+ if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
247
+
237
248
  if (error.code === 4902) {
238
249
  try {
239
- const chain = this.chains.find(x => x.id === chainId);
240
- if (!chain) throw new base.ChainNotConfiguredError();
241
250
  await provider.request({
242
251
  method: 'wallet_addEthereumChain',
243
252
  params: [{
@@ -250,9 +259,13 @@ class InjectedConnector extends base.Connector {
250
259
  });
251
260
  return chain;
252
261
  } catch (addError) {
262
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
253
263
  throw new base.AddChainError();
254
264
  }
255
- } else if (error.code === 4001) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
265
+ }
266
+
267
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
268
+ throw new base.SwitchChainError(error);
256
269
  }
257
270
  }
258
271
 
@@ -281,6 +294,10 @@ class InjectedConnector extends base.Connector {
281
294
 
282
295
  }
283
296
 
297
+ function _isUserRejectedRequestError2(error) {
298
+ return error.code === 4001;
299
+ }
300
+
284
301
  const noopStorage = {
285
302
  getItem: _key => '',
286
303
  setItem: (_key, _value) => null,
@@ -326,11 +343,23 @@ var _addEffects = /*#__PURE__*/new WeakSet();
326
343
 
327
344
  class Client {
328
345
  constructor() {
329
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
330
-
331
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
346
+ let {
347
+ autoConnect = false,
348
+ connectors = [new InjectedConnector()],
349
+ provider: _provider = config => {
350
+ try {
351
+ return ethers.getDefaultProvider(config.chainId);
352
+ } catch {
353
+ return ethers.getDefaultProvider();
354
+ }
355
+ },
356
+ storage = createStorage({
357
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
358
+ }),
359
+ webSocketProvider: _webSocketProvider
360
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
332
361
 
333
- classPrivateMethodGet._classPrivateMethodInitSpec(this, _addEffects);
362
+ base._classPrivateMethodInitSpec(this, _addEffects);
334
363
 
335
364
  base._defineProperty(this, "config", void 0);
336
365
 
@@ -343,24 +372,7 @@ class Client {
343
372
  value: void 0
344
373
  });
345
374
 
346
- // Set default values for config
347
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
348
-
349
- const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
350
-
351
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
352
- try {
353
- return ethers.getDefaultProvider(config.chainId);
354
- } catch {
355
- return ethers.getDefaultProvider();
356
- }
357
- };
358
-
359
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
360
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
361
- });
362
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
363
-
375
+ // Check status for autoConnect flag
364
376
  let status = 'disconnected';
365
377
 
366
378
  let _chainId;
@@ -378,9 +390,9 @@ class Client {
378
390
  } // Evaluate initial store values
379
391
 
380
392
 
381
- const connectors_ = typeof _connectors === 'function' ? _connectors({
393
+ const connectors_ = typeof connectors === 'function' ? connectors({
382
394
  chainId: _chainId
383
- }) : _connectors;
395
+ }) : connectors;
384
396
  const provider_ = typeof _provider === 'function' ? _provider({
385
397
  chainId: _chainId
386
398
  }) : _provider;
@@ -412,7 +424,7 @@ class Client {
412
424
  })));
413
425
  this.config = {
414
426
  autoConnect,
415
- connectors: _connectors,
427
+ connectors,
416
428
  provider: _provider,
417
429
  storage,
418
430
  webSocketProvider: _webSocketProvider
@@ -421,7 +433,7 @@ class Client {
421
433
 
422
434
  base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
423
435
 
424
- classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
436
+ base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
425
437
  }
426
438
 
427
439
  get chains() {
@@ -467,6 +479,7 @@ class Client {
467
479
 
468
480
  clearState() {
469
481
  this.setState(x => ({ ...x,
482
+ chains: undefined,
470
483
  connector: undefined,
471
484
  data: undefined,
472
485
  error: undefined,
@@ -505,6 +518,7 @@ class Client {
505
518
 
506
519
 
507
520
  if (!connected) this.setState(x => ({ ...x,
521
+ data: undefined,
508
522
  status: 'disconnected'
509
523
  }));
510
524
  return this.data;
@@ -555,14 +569,12 @@ function _addEffects2() {
555
569
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
556
570
  });
557
571
  const {
558
- connectors,
559
572
  provider,
560
573
  webSocketProvider
561
574
  } = this.config;
562
- const subscribeConnectors = typeof connectors === 'function';
563
575
  const subscribeProvider = typeof provider === 'function';
564
576
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
565
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
577
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
566
578
  var _data$chain2;
567
579
 
568
580
  let {
@@ -571,9 +583,6 @@ function _addEffects2() {
571
583
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
572
584
  }, chainId => {
573
585
  this.setState(x => ({ ...x,
574
- connectors: subscribeConnectors ? connectors({
575
- chainId
576
- }) : x.connectors,
577
586
  provider: subscribeProvider ? provider({
578
587
  chainId
579
588
  }) : x.provider,
@@ -1,16 +1,16 @@
1
- import { providers } from 'ethers';
2
1
  import { Client } from '../../client';
3
2
  import { Connector, ConnectorData } from '../../connectors';
3
+ import { Provider } from '../../types';
4
4
  export declare type ConnectArgs = {
5
5
  /** Connector to connect */
6
6
  connector: Connector;
7
7
  };
8
- declare type Data<TProvider extends providers.BaseProvider = providers.BaseProvider> = Required<ConnectorData<TProvider>>;
9
- export declare type ConnectResult<TProvider extends providers.BaseProvider = providers.BaseProvider> = {
8
+ declare type Data<TProvider extends Provider = Provider> = Required<ConnectorData<TProvider>>;
9
+ export declare type ConnectResult<TProvider extends Provider = Provider> = {
10
10
  account: Data<TProvider>['account'];
11
11
  chain: Data<TProvider>['chain'];
12
12
  connector: Client<TProvider>['connector'];
13
13
  provider: Data<TProvider>['provider'];
14
14
  };
15
- export declare function connect<TProvider extends providers.BaseProvider>({ connector, }: ConnectArgs): Promise<ConnectResult<TProvider>>;
15
+ export declare function connect<TProvider extends Provider = Provider>({ connector, }: ConnectArgs): Promise<ConnectResult<TProvider>>;
16
16
  export {};
@@ -1,7 +1,7 @@
1
- import { providers } from 'ethers';
2
1
  import { Client, Data } from '../../client';
3
- export declare type GetAccountResult<TProvider extends providers.BaseProvider = providers.BaseProvider> = {
2
+ import { Provider } from '../../types';
3
+ export declare type GetAccountResult<TProvider extends Provider = Provider> = {
4
4
  address?: Data<TProvider>['account'];
5
5
  connector?: Client<TProvider>['connector'];
6
6
  };
7
- export declare function getAccount<TProvider extends providers.BaseProvider>(): GetAccountResult<TProvider>;
7
+ export declare function getAccount<TProvider extends Provider>(): GetAccountResult<TProvider>;
@@ -1,13 +1,22 @@
1
- import type { providers } from 'ethers';
2
- declare type SignTypedData = Parameters<providers.JsonRpcSigner['_signTypedData']>;
1
+ import { BigNumberish, BytesLike } from 'ethers';
2
+ export interface TypedDataDomain {
3
+ name?: string;
4
+ version?: string;
5
+ chainId?: BigNumberish;
6
+ verifyingContract?: string;
7
+ salt?: BytesLike;
8
+ }
9
+ export interface TypedDataField {
10
+ name: string;
11
+ type: string;
12
+ }
3
13
  export declare type SignTypedDataArgs = {
4
14
  /** Domain or domain signature for origin or contract */
5
- domain: SignTypedData[0];
15
+ domain: TypedDataDomain;
6
16
  /** Named list of all type definitions */
7
- types: SignTypedData[1];
17
+ types: Record<string, Array<TypedDataField>>;
8
18
  /** Data to sign */
9
- value: SignTypedData[2];
19
+ value: Record<string, any>;
10
20
  };
11
21
  export declare type SignTypedDataResult = string;
12
22
  export declare function signTypedData(args: SignTypedDataArgs): Promise<SignTypedDataResult>;
13
- export {};
@@ -1,4 +1,4 @@
1
- import { providers } from 'ethers';
1
+ import { Provider } from '../../types';
2
2
  import { GetAccountResult } from './getAccount';
3
- export declare type WatchAccountCallback<TProvider extends providers.BaseProvider = providers.BaseProvider> = (data: GetAccountResult<TProvider>) => void;
4
- export declare function watchAccount<TProvider extends providers.BaseProvider>(callback: WatchAccountCallback<TProvider>): () => void;
3
+ export declare type WatchAccountCallback<TProvider extends Provider = Provider> = (data: GetAccountResult<TProvider>) => void;
4
+ export declare function watchAccount<TProvider extends Provider>(callback: WatchAccountCallback<TProvider>): () => void;
@@ -1,7 +1,7 @@
1
- import { providers } from 'ethers';
1
+ import { Provider } from '../../types';
2
2
  export declare type GetProviderArgs = {
3
3
  /** Chain id to use for provider */
4
4
  chainId?: number;
5
5
  };
6
- export declare type GetProviderResult<TProvider extends providers.BaseProvider = providers.BaseProvider> = TProvider;
7
- export declare function getProvider<TProvider extends providers.BaseProvider = providers.BaseProvider>({ chainId }?: GetProviderArgs): GetProviderResult<TProvider>;
6
+ export declare type GetProviderResult<TProvider extends Provider = Provider> = TProvider;
7
+ export declare function getProvider<TProvider extends Provider = Provider>({ chainId, }?: GetProviderArgs): GetProviderResult<TProvider>;
@@ -1,7 +1,7 @@
1
- import { providers } from 'ethers';
1
+ import { WebSocketProvider } from '../../types';
2
2
  export declare type GetWebSocketProviderArgs = {
3
3
  /** Chain id to use for provider */
4
4
  chainId?: number;
5
5
  };
6
- export declare type GetWebSocketProviderResult<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider> = TWebSocketProvider | undefined;
7
- export declare function getWebSocketProvider<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider>({ chainId, }?: GetWebSocketProviderArgs): GetWebSocketProviderResult<TWebSocketProvider>;
6
+ export declare type GetWebSocketProviderResult<TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = TWebSocketProvider | undefined;
7
+ export declare function getWebSocketProvider<TWebSocketProvider extends WebSocketProvider = WebSocketProvider>({ chainId, }?: GetWebSocketProviderArgs): GetWebSocketProviderResult<TWebSocketProvider>;
@@ -1,4 +1,4 @@
1
- import { providers } from 'ethers';
1
+ import { Provider } from '../../types';
2
2
  import { GetProviderArgs, GetProviderResult } from './getProvider';
3
- export declare type WatchProviderCallback<TProvider extends providers.BaseProvider = providers.BaseProvider> = (provider: GetProviderResult<TProvider>) => void;
4
- export declare function watchProvider<TProvider extends providers.BaseProvider = providers.BaseProvider>(args: GetProviderArgs, callback: WatchProviderCallback<TProvider>): () => void;
3
+ export declare type WatchProviderCallback<TProvider extends Provider = Provider> = (provider: GetProviderResult<TProvider>) => void;
4
+ export declare function watchProvider<TProvider extends Provider = Provider>(args: GetProviderArgs, callback: WatchProviderCallback<TProvider>): () => void;
@@ -1,4 +1,4 @@
1
- import { providers } from 'ethers';
1
+ import { WebSocketProvider } from '../../types';
2
2
  import { GetWebSocketProviderArgs, GetWebSocketProviderResult } from './getWebSocketProvider';
3
- export declare type WatchWebSocketProviderCallback<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider> = (webSocketProvider: GetWebSocketProviderResult<TWebSocketProvider>) => void;
4
- export declare function watchWebSocketProvider<TWebSocketProvider extends providers.WebSocketProvider = providers.WebSocketProvider>(args: GetWebSocketProviderArgs, callback: WatchWebSocketProviderCallback<TWebSocketProvider>): () => void;
3
+ export declare type WatchWebSocketProviderCallback<TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = (webSocketProvider: GetWebSocketProviderResult<TWebSocketProvider>) => void;
4
+ export declare function watchWebSocketProvider<TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(args: GetWebSocketProviderArgs, callback: WatchWebSocketProviderCallback<TWebSocketProvider>): () => void;
@@ -0,0 +1,20 @@
1
+ import { providers } from 'ethers';
2
+ import { Chain, ChainProvider, Provider, WebSocketProvider } from '../types';
3
+ export declare type ConfigureChainsConfig = {
4
+ stallTimeout?: number;
5
+ } & ({
6
+ targetQuorum?: number;
7
+ minQuorum?: never;
8
+ } | {
9
+ targetQuorum: number;
10
+ minQuorum?: number;
11
+ });
12
+ export declare function configureChains<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider>(defaultChains: Chain[], providers: ChainProvider<TProvider, TWebSocketProvider>[], { minQuorum, targetQuorum, stallTimeout }?: ConfigureChainsConfig): {
13
+ readonly chains: Chain[];
14
+ readonly provider: ({ chainId }: {
15
+ chainId?: number | undefined;
16
+ }) => TProvider | providers.FallbackProvider;
17
+ readonly webSocketProvider: ({ chainId }: {
18
+ chainId?: number | undefined;
19
+ }) => TWebSocketProvider | undefined;
20
+ };
@@ -0,0 +1,2 @@
1
+ export { configureChains } from './configureChains';
2
+ export type { ConfigureChainsConfig } from './configureChains';