@wagmi/core 0.2.5 → 0.3.2

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 -19
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +28 -19
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +28 -19
  4. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +17 -12
  5. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +17 -12
  6. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +11 -6
  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 +18 -7
  11. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +18 -7
  12. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +16 -5
  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-3a56f061.esm.js → client-1ab99bf8.esm.js} +52 -45
  17. package/dist/{client-72d69b8e.cjs.dev.js → client-db513093.cjs.dev.js} +54 -47
  18. package/dist/{client-1f6fd5b6.cjs.prod.js → client-edc73358.cjs.prod.js} +54 -47
  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 +1 -1
  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 +44 -14
  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 +124 -25
  45. package/dist/wagmi-core.cjs.prod.js +124 -25
  46. package/dist/wagmi-core.esm.js +122 -24
  47. package/package.json +27 -6
  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,5 +1,4 @@
1
- import { _ as _classPrivateMethodInitSpec, a as _classPrivateMethodGet } from './classPrivateMethodGet-55c9909f.esm.js';
2
- import { c as Connector, _ as _defineProperty, m as _classPrivateFieldInitSpec, n as normalizeChainId, b as ConnectorNotFoundError, U as UserRejectedRequestError, o as _classPrivateFieldSet, p as _classPrivateFieldGet, a as allChains, k as ChainNotConfiguredError, A as AddChainError, l as SwitchChainError } from './base-159de546.esm.js';
1
+ import { c as Connector, _ as _classPrivateMethodInitSpec, l as _defineProperty, m as _classPrivateFieldInitSpec, n as normalizeChainId, b as ConnectorNotFoundError, o as _classPrivateMethodGet, U as UserRejectedRequestError, R as ResourceUnavailableError, p as _classPrivateFieldSet, q as _classPrivateFieldGet, a as allChains, i as ChainNotConfiguredError, A as AddChainError, k as SwitchChainError } from './base-997b4fec.esm.js';
3
2
  import { providers, getDefaultProvider } from 'ethers';
4
3
  import create from 'zustand/vanilla';
5
4
  import { subscribeWithSelector, persist } from 'zustand/middleware';
@@ -58,15 +57,23 @@ const shimKey = 'injected.shimDisconnect';
58
57
 
59
58
  var _provider = /*#__PURE__*/new WeakMap();
60
59
 
60
+ var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
61
+
61
62
  class InjectedConnector extends Connector {
62
- constructor(config) {
63
- super({ ...config,
64
- options: {
65
- shimDisconnect: true,
66
- ...(config === null || config === void 0 ? void 0 : config.options)
63
+ constructor() {
64
+ let {
65
+ chains,
66
+ options = {
67
+ shimDisconnect: true
67
68
  }
69
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
70
+ super({
71
+ chains,
72
+ options
68
73
  });
69
74
 
75
+ _classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
76
+
70
77
  _defineProperty(this, "id", void 0);
71
78
 
72
79
  _defineProperty(this, "name", void 0);
@@ -105,9 +112,7 @@ class InjectedConnector extends Connector {
105
112
  let name = 'Injected';
106
113
 
107
114
  if (typeof window !== 'undefined') {
108
- var _config$options;
109
-
110
- const overrideName = config === null || config === void 0 ? void 0 : (_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.name;
115
+ const overrideName = options.name;
111
116
  const detectedName = getInjectedName(window.ethereum);
112
117
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
113
118
  }
@@ -145,7 +150,8 @@ class InjectedConnector extends Connector {
145
150
  provider
146
151
  };
147
152
  } catch (error) {
148
- if (error.code === 4001) throw new UserRejectedRequestError();
153
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
154
+ if (error.code === -32002) throw new ResourceUnavailableError(error);
149
155
  throw error;
150
156
  }
151
157
  }
@@ -224,16 +230,17 @@ class InjectedConnector extends Connector {
224
230
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
225
231
  id: chainId,
226
232
  name: "Chain ".concat(id),
233
+ network: "".concat(id),
227
234
  rpcUrls: {
228
235
  default: ''
229
236
  }
230
237
  };
231
238
  } catch (error) {
232
- // Indicates chain is not added to provider
239
+ const chain = this.chains.find(x => x.id === chainId);
240
+ if (!chain) throw new ChainNotConfiguredError(); // Indicates chain is not added to provider
241
+
233
242
  if (error.code === 4902) {
234
243
  try {
235
- const chain = this.chains.find(x => x.id === chainId);
236
- if (!chain) throw new ChainNotConfiguredError();
237
244
  await provider.request({
238
245
  method: 'wallet_addEthereumChain',
239
246
  params: [{
@@ -246,9 +253,13 @@ class InjectedConnector extends Connector {
246
253
  });
247
254
  return chain;
248
255
  } catch (addError) {
256
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new UserRejectedRequestError(error);
249
257
  throw new AddChainError();
250
258
  }
251
- } else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
259
+ }
260
+
261
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
262
+ throw new SwitchChainError(error);
252
263
  }
253
264
  }
254
265
 
@@ -277,6 +288,10 @@ class InjectedConnector extends Connector {
277
288
 
278
289
  }
279
290
 
291
+ function _isUserRejectedRequestError2(error) {
292
+ return error.code === 4001;
293
+ }
294
+
280
295
  const noopStorage = {
281
296
  getItem: _key => '',
282
297
  setItem: (_key, _value) => null,
@@ -322,9 +337,21 @@ var _addEffects = /*#__PURE__*/new WeakSet();
322
337
 
323
338
  class Client {
324
339
  constructor() {
325
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
326
-
327
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
340
+ let {
341
+ autoConnect = false,
342
+ connectors = [new InjectedConnector()],
343
+ provider: _provider = config => {
344
+ try {
345
+ return getDefaultProvider(config.chainId);
346
+ } catch {
347
+ return getDefaultProvider();
348
+ }
349
+ },
350
+ storage = createStorage({
351
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
352
+ }),
353
+ webSocketProvider: _webSocketProvider
354
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
328
355
 
329
356
  _classPrivateMethodInitSpec(this, _addEffects);
330
357
 
@@ -339,24 +366,7 @@ class Client {
339
366
  value: void 0
340
367
  });
341
368
 
342
- // Set default values for config
343
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
344
-
345
- const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
346
-
347
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
348
- try {
349
- return getDefaultProvider(config.chainId);
350
- } catch {
351
- return getDefaultProvider();
352
- }
353
- };
354
-
355
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
356
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
357
- });
358
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
359
-
369
+ // Check status for autoConnect flag
360
370
  let status = 'disconnected';
361
371
 
362
372
  let _chainId;
@@ -374,9 +384,9 @@ class Client {
374
384
  } // Evaluate initial store values
375
385
 
376
386
 
377
- const connectors_ = typeof _connectors === 'function' ? _connectors({
387
+ const connectors_ = typeof connectors === 'function' ? connectors({
378
388
  chainId: _chainId
379
- }) : _connectors;
389
+ }) : connectors;
380
390
  const provider_ = typeof _provider === 'function' ? _provider({
381
391
  chainId: _chainId
382
392
  }) : _provider;
@@ -408,7 +418,7 @@ class Client {
408
418
  })));
409
419
  this.config = {
410
420
  autoConnect,
411
- connectors: _connectors,
421
+ connectors,
412
422
  provider: _provider,
413
423
  storage,
414
424
  webSocketProvider: _webSocketProvider
@@ -463,6 +473,7 @@ class Client {
463
473
 
464
474
  clearState() {
465
475
  this.setState(x => ({ ...x,
476
+ chains: undefined,
466
477
  connector: undefined,
467
478
  data: undefined,
468
479
  error: undefined,
@@ -501,6 +512,7 @@ class Client {
501
512
 
502
513
 
503
514
  if (!connected) this.setState(x => ({ ...x,
515
+ data: undefined,
504
516
  status: 'disconnected'
505
517
  }));
506
518
  return this.data;
@@ -551,14 +563,12 @@ function _addEffects2() {
551
563
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
552
564
  });
553
565
  const {
554
- connectors,
555
566
  provider,
556
567
  webSocketProvider
557
568
  } = this.config;
558
- const subscribeConnectors = typeof connectors === 'function';
559
569
  const subscribeProvider = typeof provider === 'function';
560
570
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
561
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
571
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
562
572
  var _data$chain2;
563
573
 
564
574
  let {
@@ -567,9 +577,6 @@ function _addEffects2() {
567
577
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
568
578
  }, chainId => {
569
579
  this.setState(x => ({ ...x,
570
- connectors: subscribeConnectors ? connectors({
571
- chainId
572
- }) : x.connectors,
573
580
  provider: subscribeProvider ? provider({
574
581
  chainId
575
582
  }) : x.provider,
@@ -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');
@@ -64,15 +63,23 @@ const shimKey = 'injected.shimDisconnect';
64
63
 
65
64
  var _provider = /*#__PURE__*/new WeakMap();
66
65
 
66
+ var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
67
+
67
68
  class InjectedConnector extends base.Connector {
68
- constructor(config) {
69
- super({ ...config,
70
- options: {
71
- shimDisconnect: true,
72
- ...(config === null || config === void 0 ? void 0 : config.options)
69
+ constructor() {
70
+ let {
71
+ chains,
72
+ options = {
73
+ shimDisconnect: true
73
74
  }
75
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
+ super({
77
+ chains,
78
+ options
74
79
  });
75
80
 
81
+ base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
82
+
76
83
  base._defineProperty(this, "id", void 0);
77
84
 
78
85
  base._defineProperty(this, "name", void 0);
@@ -111,9 +118,7 @@ class InjectedConnector extends base.Connector {
111
118
  let name = 'Injected';
112
119
 
113
120
  if (typeof window !== 'undefined') {
114
- var _config$options;
115
-
116
- 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;
117
122
  const detectedName = getInjectedName(window.ethereum);
118
123
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
119
124
  }
@@ -151,7 +156,8 @@ class InjectedConnector extends base.Connector {
151
156
  provider
152
157
  };
153
158
  } catch (error) {
154
- 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);
155
161
  throw error;
156
162
  }
157
163
  }
@@ -230,16 +236,17 @@ class InjectedConnector extends base.Connector {
230
236
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
231
237
  id: chainId,
232
238
  name: "Chain ".concat(id),
239
+ network: "".concat(id),
233
240
  rpcUrls: {
234
241
  default: ''
235
242
  }
236
243
  };
237
244
  } catch (error) {
238
- // 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
+
239
248
  if (error.code === 4902) {
240
249
  try {
241
- const chain = this.chains.find(x => x.id === chainId);
242
- if (!chain) throw new base.ChainNotConfiguredError();
243
250
  await provider.request({
244
251
  method: 'wallet_addEthereumChain',
245
252
  params: [{
@@ -252,9 +259,13 @@ class InjectedConnector extends base.Connector {
252
259
  });
253
260
  return chain;
254
261
  } catch (addError) {
262
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
255
263
  throw new base.AddChainError();
256
264
  }
257
- } 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);
258
269
  }
259
270
  }
260
271
 
@@ -283,6 +294,10 @@ class InjectedConnector extends base.Connector {
283
294
 
284
295
  }
285
296
 
297
+ function _isUserRejectedRequestError2(error) {
298
+ return error.code === 4001;
299
+ }
300
+
286
301
  const noopStorage = {
287
302
  getItem: _key => '',
288
303
  setItem: (_key, _value) => null,
@@ -328,11 +343,23 @@ var _addEffects = /*#__PURE__*/new WeakSet();
328
343
 
329
344
  class Client {
330
345
  constructor() {
331
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
332
-
333
- 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] : {};
334
361
 
335
- classPrivateMethodGet._classPrivateMethodInitSpec(this, _addEffects);
362
+ base._classPrivateMethodInitSpec(this, _addEffects);
336
363
 
337
364
  base._defineProperty(this, "config", void 0);
338
365
 
@@ -345,24 +372,7 @@ class Client {
345
372
  value: void 0
346
373
  });
347
374
 
348
- // Set default values for config
349
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
350
-
351
- const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
352
-
353
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
354
- try {
355
- return ethers.getDefaultProvider(config.chainId);
356
- } catch {
357
- return ethers.getDefaultProvider();
358
- }
359
- };
360
-
361
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
362
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
363
- });
364
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
365
-
375
+ // Check status for autoConnect flag
366
376
  let status = 'disconnected';
367
377
 
368
378
  let _chainId;
@@ -380,9 +390,9 @@ class Client {
380
390
  } // Evaluate initial store values
381
391
 
382
392
 
383
- const connectors_ = typeof _connectors === 'function' ? _connectors({
393
+ const connectors_ = typeof connectors === 'function' ? connectors({
384
394
  chainId: _chainId
385
- }) : _connectors;
395
+ }) : connectors;
386
396
  const provider_ = typeof _provider === 'function' ? _provider({
387
397
  chainId: _chainId
388
398
  }) : _provider;
@@ -414,7 +424,7 @@ class Client {
414
424
  })));
415
425
  this.config = {
416
426
  autoConnect,
417
- connectors: _connectors,
427
+ connectors,
418
428
  provider: _provider,
419
429
  storage,
420
430
  webSocketProvider: _webSocketProvider
@@ -423,7 +433,7 @@ class Client {
423
433
 
424
434
  base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
425
435
 
426
- classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
436
+ base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
427
437
  }
428
438
 
429
439
  get chains() {
@@ -469,6 +479,7 @@ class Client {
469
479
 
470
480
  clearState() {
471
481
  this.setState(x => ({ ...x,
482
+ chains: undefined,
472
483
  connector: undefined,
473
484
  data: undefined,
474
485
  error: undefined,
@@ -507,6 +518,7 @@ class Client {
507
518
 
508
519
 
509
520
  if (!connected) this.setState(x => ({ ...x,
521
+ data: undefined,
510
522
  status: 'disconnected'
511
523
  }));
512
524
  return this.data;
@@ -557,14 +569,12 @@ function _addEffects2() {
557
569
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
558
570
  });
559
571
  const {
560
- connectors,
561
572
  provider,
562
573
  webSocketProvider
563
574
  } = this.config;
564
- const subscribeConnectors = typeof connectors === 'function';
565
575
  const subscribeProvider = typeof provider === 'function';
566
576
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
567
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
577
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
568
578
  var _data$chain2;
569
579
 
570
580
  let {
@@ -573,9 +583,6 @@ function _addEffects2() {
573
583
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
574
584
  }, chainId => {
575
585
  this.setState(x => ({ ...x,
576
- connectors: subscribeConnectors ? connectors({
577
- chainId
578
- }) : x.connectors,
579
586
  provider: subscribeProvider ? provider({
580
587
  chainId
581
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');
@@ -64,15 +63,23 @@ const shimKey = 'injected.shimDisconnect';
64
63
 
65
64
  var _provider = /*#__PURE__*/new WeakMap();
66
65
 
66
+ var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
67
+
67
68
  class InjectedConnector extends base.Connector {
68
- constructor(config) {
69
- super({ ...config,
70
- options: {
71
- shimDisconnect: true,
72
- ...(config === null || config === void 0 ? void 0 : config.options)
69
+ constructor() {
70
+ let {
71
+ chains,
72
+ options = {
73
+ shimDisconnect: true
73
74
  }
75
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
+ super({
77
+ chains,
78
+ options
74
79
  });
75
80
 
81
+ base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
82
+
76
83
  base._defineProperty(this, "id", void 0);
77
84
 
78
85
  base._defineProperty(this, "name", void 0);
@@ -111,9 +118,7 @@ class InjectedConnector extends base.Connector {
111
118
  let name = 'Injected';
112
119
 
113
120
  if (typeof window !== 'undefined') {
114
- var _config$options;
115
-
116
- 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;
117
122
  const detectedName = getInjectedName(window.ethereum);
118
123
  if (overrideName) name = typeof overrideName === 'function' ? overrideName(detectedName) : overrideName;else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
119
124
  }
@@ -151,7 +156,8 @@ class InjectedConnector extends base.Connector {
151
156
  provider
152
157
  };
153
158
  } catch (error) {
154
- 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);
155
161
  throw error;
156
162
  }
157
163
  }
@@ -230,16 +236,17 @@ class InjectedConnector extends base.Connector {
230
236
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
231
237
  id: chainId,
232
238
  name: "Chain ".concat(id),
239
+ network: "".concat(id),
233
240
  rpcUrls: {
234
241
  default: ''
235
242
  }
236
243
  };
237
244
  } catch (error) {
238
- // 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
+
239
248
  if (error.code === 4902) {
240
249
  try {
241
- const chain = this.chains.find(x => x.id === chainId);
242
- if (!chain) throw new base.ChainNotConfiguredError();
243
250
  await provider.request({
244
251
  method: 'wallet_addEthereumChain',
245
252
  params: [{
@@ -252,9 +259,13 @@ class InjectedConnector extends base.Connector {
252
259
  });
253
260
  return chain;
254
261
  } catch (addError) {
262
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
255
263
  throw new base.AddChainError();
256
264
  }
257
- } 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);
258
269
  }
259
270
  }
260
271
 
@@ -283,6 +294,10 @@ class InjectedConnector extends base.Connector {
283
294
 
284
295
  }
285
296
 
297
+ function _isUserRejectedRequestError2(error) {
298
+ return error.code === 4001;
299
+ }
300
+
286
301
  const noopStorage = {
287
302
  getItem: _key => '',
288
303
  setItem: (_key, _value) => null,
@@ -328,11 +343,23 @@ var _addEffects = /*#__PURE__*/new WeakSet();
328
343
 
329
344
  class Client {
330
345
  constructor() {
331
- var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
332
-
333
- 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] : {};
334
361
 
335
- classPrivateMethodGet._classPrivateMethodInitSpec(this, _addEffects);
362
+ base._classPrivateMethodInitSpec(this, _addEffects);
336
363
 
337
364
  base._defineProperty(this, "config", void 0);
338
365
 
@@ -345,24 +372,7 @@ class Client {
345
372
  value: void 0
346
373
  });
347
374
 
348
- // Set default values for config
349
- const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
350
-
351
- const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
352
-
353
- const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
354
- try {
355
- return ethers.getDefaultProvider(config.chainId);
356
- } catch {
357
- return ethers.getDefaultProvider();
358
- }
359
- };
360
-
361
- const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
362
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
363
- });
364
- const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
365
-
375
+ // Check status for autoConnect flag
366
376
  let status = 'disconnected';
367
377
 
368
378
  let _chainId;
@@ -380,9 +390,9 @@ class Client {
380
390
  } // Evaluate initial store values
381
391
 
382
392
 
383
- const connectors_ = typeof _connectors === 'function' ? _connectors({
393
+ const connectors_ = typeof connectors === 'function' ? connectors({
384
394
  chainId: _chainId
385
- }) : _connectors;
395
+ }) : connectors;
386
396
  const provider_ = typeof _provider === 'function' ? _provider({
387
397
  chainId: _chainId
388
398
  }) : _provider;
@@ -414,7 +424,7 @@ class Client {
414
424
  })));
415
425
  this.config = {
416
426
  autoConnect,
417
- connectors: _connectors,
427
+ connectors,
418
428
  provider: _provider,
419
429
  storage,
420
430
  webSocketProvider: _webSocketProvider
@@ -423,7 +433,7 @@ class Client {
423
433
 
424
434
  base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
425
435
 
426
- classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
436
+ base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
427
437
  }
428
438
 
429
439
  get chains() {
@@ -469,6 +479,7 @@ class Client {
469
479
 
470
480
  clearState() {
471
481
  this.setState(x => ({ ...x,
482
+ chains: undefined,
472
483
  connector: undefined,
473
484
  data: undefined,
474
485
  error: undefined,
@@ -507,6 +518,7 @@ class Client {
507
518
 
508
519
 
509
520
  if (!connected) this.setState(x => ({ ...x,
521
+ data: undefined,
510
522
  status: 'disconnected'
511
523
  }));
512
524
  return this.data;
@@ -557,14 +569,12 @@ function _addEffects2() {
557
569
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
558
570
  });
559
571
  const {
560
- connectors,
561
572
  provider,
562
573
  webSocketProvider
563
574
  } = this.config;
564
- const subscribeConnectors = typeof connectors === 'function';
565
575
  const subscribeProvider = typeof provider === 'function';
566
576
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
567
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
577
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
568
578
  var _data$chain2;
569
579
 
570
580
  let {
@@ -573,9 +583,6 @@ function _addEffects2() {
573
583
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
574
584
  }, chainId => {
575
585
  this.setState(x => ({ ...x,
576
- connectors: subscribeConnectors ? connectors({
577
- chainId
578
- }) : x.connectors,
579
586
  provider: subscribeProvider ? provider({
580
587
  chainId
581
588
  }) : x.provider,