@wagmi/core 0.2.5 → 0.3.0

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 (72) hide show
  1. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +28 -8
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +28 -8
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +28 -8
  4. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +9 -9
  5. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +9 -9
  6. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +3 -3
  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-72d69b8e.cjs.dev.js → client-08120ec7.cjs.dev.js} +29 -20
  17. package/dist/{client-1f6fd5b6.cjs.prod.js → client-332f5c43.cjs.prod.js} +29 -20
  18. package/dist/{client-3a56f061.esm.js → client-d8d4f4fc.esm.js} +27 -18
  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 +11 -11
  30. package/dist/declarations/src/constants/index.d.ts +1 -1
  31. package/dist/declarations/src/errors.d.ts +48 -4
  32. package/dist/declarations/src/index.d.ts +8 -6
  33. package/dist/declarations/src/providers/alchemy.d.ts +7 -0
  34. package/dist/declarations/src/providers/infura.d.ts +7 -0
  35. package/dist/declarations/src/providers/jsonRpc.d.ts +11 -0
  36. package/dist/declarations/src/providers/public.d.ts +6 -0
  37. package/dist/declarations/src/storage.d.ts +2 -2
  38. package/dist/declarations/src/types/index.d.ts +44 -14
  39. package/dist/rpcs-7cfbd91c.esm.js +30 -0
  40. package/dist/rpcs-9c4eb960.cjs.dev.js +35 -0
  41. package/dist/rpcs-b3c52116.cjs.prod.js +35 -0
  42. package/dist/wagmi-core.cjs.dev.js +124 -25
  43. package/dist/wagmi-core.cjs.prod.js +124 -25
  44. package/dist/wagmi-core.esm.js +122 -24
  45. package/package.json +27 -6
  46. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +1 -0
  47. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +38 -0
  48. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +7 -0
  49. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +38 -0
  50. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +34 -0
  51. package/providers/alchemy/package.json +4 -0
  52. package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +1 -0
  53. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +38 -0
  54. package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +7 -0
  55. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +38 -0
  56. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +34 -0
  57. package/providers/infura/package.json +4 -0
  58. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +1 -0
  59. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +45 -0
  60. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +7 -0
  61. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +45 -0
  62. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +41 -0
  63. package/providers/jsonRpc/package.json +4 -0
  64. package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +1 -0
  65. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +34 -0
  66. package/providers/public/dist/wagmi-core-providers-public.cjs.js +7 -0
  67. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +34 -0
  68. package/providers/public/dist/wagmi-core-providers-public.esm.js +30 -0
  69. package/providers/public/package.json +4 -0
  70. package/dist/classPrivateMethodGet-55c9909f.esm.js +0 -16
  71. package/dist/classPrivateMethodGet-976c8120.cjs.dev.js +0 -19
  72. 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');
@@ -64,6 +63,8 @@ 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
69
  constructor(config) {
69
70
  super({ ...config,
@@ -73,6 +74,8 @@ class InjectedConnector extends base.Connector {
73
74
  }
74
75
  });
75
76
 
77
+ base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
78
+
76
79
  base._defineProperty(this, "id", void 0);
77
80
 
78
81
  base._defineProperty(this, "name", void 0);
@@ -151,7 +154,8 @@ class InjectedConnector extends base.Connector {
151
154
  provider
152
155
  };
153
156
  } catch (error) {
154
- if (error.code === 4001) throw new base.UserRejectedRequestError();
157
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
158
+ if (error.code === -32002) throw new base.ResourceUnavailableError(error);
155
159
  throw error;
156
160
  }
157
161
  }
@@ -230,16 +234,17 @@ class InjectedConnector extends base.Connector {
230
234
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
231
235
  id: chainId,
232
236
  name: "Chain ".concat(id),
237
+ network: "".concat(id),
233
238
  rpcUrls: {
234
239
  default: ''
235
240
  }
236
241
  };
237
242
  } catch (error) {
238
- // Indicates chain is not added to provider
243
+ const chain = this.chains.find(x => x.id === chainId);
244
+ if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
245
+
239
246
  if (error.code === 4902) {
240
247
  try {
241
- const chain = this.chains.find(x => x.id === chainId);
242
- if (!chain) throw new base.ChainNotConfiguredError();
243
248
  await provider.request({
244
249
  method: 'wallet_addEthereumChain',
245
250
  params: [{
@@ -252,9 +257,13 @@ class InjectedConnector extends base.Connector {
252
257
  });
253
258
  return chain;
254
259
  } catch (addError) {
260
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
255
261
  throw new base.AddChainError();
256
262
  }
257
- } else if (error.code === 4001) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
263
+ }
264
+
265
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
266
+ throw new base.SwitchChainError(error);
258
267
  }
259
268
  }
260
269
 
@@ -283,6 +292,10 @@ class InjectedConnector extends base.Connector {
283
292
 
284
293
  }
285
294
 
295
+ function _isUserRejectedRequestError2(error) {
296
+ return error.code === 4001;
297
+ }
298
+
286
299
  const noopStorage = {
287
300
  getItem: _key => '',
288
301
  setItem: (_key, _value) => null,
@@ -332,7 +345,7 @@ class Client {
332
345
 
333
346
  let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
334
347
 
335
- classPrivateMethodGet._classPrivateMethodInitSpec(this, _addEffects);
348
+ base._classPrivateMethodInitSpec(this, _addEffects);
336
349
 
337
350
  base._defineProperty(this, "config", void 0);
338
351
 
@@ -347,8 +360,7 @@ class Client {
347
360
 
348
361
  // Set default values for config
349
362
  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()];
363
+ const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
352
364
 
353
365
  const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
354
366
  try {
@@ -380,9 +392,9 @@ class Client {
380
392
  } // Evaluate initial store values
381
393
 
382
394
 
383
- const connectors_ = typeof _connectors === 'function' ? _connectors({
395
+ const connectors_ = typeof connectors === 'function' ? connectors({
384
396
  chainId: _chainId
385
- }) : _connectors;
397
+ }) : connectors;
386
398
  const provider_ = typeof _provider === 'function' ? _provider({
387
399
  chainId: _chainId
388
400
  }) : _provider;
@@ -414,7 +426,7 @@ class Client {
414
426
  })));
415
427
  this.config = {
416
428
  autoConnect,
417
- connectors: _connectors,
429
+ connectors,
418
430
  provider: _provider,
419
431
  storage,
420
432
  webSocketProvider: _webSocketProvider
@@ -423,7 +435,7 @@ class Client {
423
435
 
424
436
  base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
425
437
 
426
- classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
438
+ base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
427
439
  }
428
440
 
429
441
  get chains() {
@@ -469,6 +481,7 @@ class Client {
469
481
 
470
482
  clearState() {
471
483
  this.setState(x => ({ ...x,
484
+ chains: undefined,
472
485
  connector: undefined,
473
486
  data: undefined,
474
487
  error: undefined,
@@ -507,6 +520,7 @@ class Client {
507
520
 
508
521
 
509
522
  if (!connected) this.setState(x => ({ ...x,
523
+ data: undefined,
510
524
  status: 'disconnected'
511
525
  }));
512
526
  return this.data;
@@ -557,14 +571,12 @@ function _addEffects2() {
557
571
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
558
572
  });
559
573
  const {
560
- connectors,
561
574
  provider,
562
575
  webSocketProvider
563
576
  } = this.config;
564
- const subscribeConnectors = typeof connectors === 'function';
565
577
  const subscribeProvider = typeof provider === 'function';
566
578
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
567
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
579
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
568
580
  var _data$chain2;
569
581
 
570
582
  let {
@@ -573,9 +585,6 @@ function _addEffects2() {
573
585
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
574
586
  }, chainId => {
575
587
  this.setState(x => ({ ...x,
576
- connectors: subscribeConnectors ? connectors({
577
- chainId
578
- }) : x.connectors,
579
588
  provider: subscribeProvider ? provider({
580
589
  chainId
581
590
  }) : 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,6 +63,8 @@ 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
69
  constructor(config) {
69
70
  super({ ...config,
@@ -73,6 +74,8 @@ class InjectedConnector extends base.Connector {
73
74
  }
74
75
  });
75
76
 
77
+ base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
78
+
76
79
  base._defineProperty(this, "id", void 0);
77
80
 
78
81
  base._defineProperty(this, "name", void 0);
@@ -151,7 +154,8 @@ class InjectedConnector extends base.Connector {
151
154
  provider
152
155
  };
153
156
  } catch (error) {
154
- if (error.code === 4001) throw new base.UserRejectedRequestError();
157
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
158
+ if (error.code === -32002) throw new base.ResourceUnavailableError(error);
155
159
  throw error;
156
160
  }
157
161
  }
@@ -230,16 +234,17 @@ class InjectedConnector extends base.Connector {
230
234
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
231
235
  id: chainId,
232
236
  name: "Chain ".concat(id),
237
+ network: "".concat(id),
233
238
  rpcUrls: {
234
239
  default: ''
235
240
  }
236
241
  };
237
242
  } catch (error) {
238
- // Indicates chain is not added to provider
243
+ const chain = this.chains.find(x => x.id === chainId);
244
+ if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
245
+
239
246
  if (error.code === 4902) {
240
247
  try {
241
- const chain = this.chains.find(x => x.id === chainId);
242
- if (!chain) throw new base.ChainNotConfiguredError();
243
248
  await provider.request({
244
249
  method: 'wallet_addEthereumChain',
245
250
  params: [{
@@ -252,9 +257,13 @@ class InjectedConnector extends base.Connector {
252
257
  });
253
258
  return chain;
254
259
  } catch (addError) {
260
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(error);
255
261
  throw new base.AddChainError();
256
262
  }
257
- } else if (error.code === 4001) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
263
+ }
264
+
265
+ if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
266
+ throw new base.SwitchChainError(error);
258
267
  }
259
268
  }
260
269
 
@@ -283,6 +292,10 @@ class InjectedConnector extends base.Connector {
283
292
 
284
293
  }
285
294
 
295
+ function _isUserRejectedRequestError2(error) {
296
+ return error.code === 4001;
297
+ }
298
+
286
299
  const noopStorage = {
287
300
  getItem: _key => '',
288
301
  setItem: (_key, _value) => null,
@@ -332,7 +345,7 @@ class Client {
332
345
 
333
346
  let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
334
347
 
335
- classPrivateMethodGet._classPrivateMethodInitSpec(this, _addEffects);
348
+ base._classPrivateMethodInitSpec(this, _addEffects);
336
349
 
337
350
  base._defineProperty(this, "config", void 0);
338
351
 
@@ -347,8 +360,7 @@ class Client {
347
360
 
348
361
  // Set default values for config
349
362
  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()];
363
+ const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
352
364
 
353
365
  const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
354
366
  try {
@@ -380,9 +392,9 @@ class Client {
380
392
  } // Evaluate initial store values
381
393
 
382
394
 
383
- const connectors_ = typeof _connectors === 'function' ? _connectors({
395
+ const connectors_ = typeof connectors === 'function' ? connectors({
384
396
  chainId: _chainId
385
- }) : _connectors;
397
+ }) : connectors;
386
398
  const provider_ = typeof _provider === 'function' ? _provider({
387
399
  chainId: _chainId
388
400
  }) : _provider;
@@ -414,7 +426,7 @@ class Client {
414
426
  })));
415
427
  this.config = {
416
428
  autoConnect,
417
- connectors: _connectors,
429
+ connectors,
418
430
  provider: _provider,
419
431
  storage,
420
432
  webSocketProvider: _webSocketProvider
@@ -423,7 +435,7 @@ class Client {
423
435
 
424
436
  base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
425
437
 
426
- classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
438
+ base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
427
439
  }
428
440
 
429
441
  get chains() {
@@ -469,6 +481,7 @@ class Client {
469
481
 
470
482
  clearState() {
471
483
  this.setState(x => ({ ...x,
484
+ chains: undefined,
472
485
  connector: undefined,
473
486
  data: undefined,
474
487
  error: undefined,
@@ -507,6 +520,7 @@ class Client {
507
520
 
508
521
 
509
522
  if (!connected) this.setState(x => ({ ...x,
523
+ data: undefined,
510
524
  status: 'disconnected'
511
525
  }));
512
526
  return this.data;
@@ -557,14 +571,12 @@ function _addEffects2() {
557
571
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
558
572
  });
559
573
  const {
560
- connectors,
561
574
  provider,
562
575
  webSocketProvider
563
576
  } = this.config;
564
- const subscribeConnectors = typeof connectors === 'function';
565
577
  const subscribeProvider = typeof provider === 'function';
566
578
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
567
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
579
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
568
580
  var _data$chain2;
569
581
 
570
582
  let {
@@ -573,9 +585,6 @@ function _addEffects2() {
573
585
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
574
586
  }, chainId => {
575
587
  this.setState(x => ({ ...x,
576
- connectors: subscribeConnectors ? connectors({
577
- chainId
578
- }) : x.connectors,
579
588
  provider: subscribeProvider ? provider({
580
589
  chainId
581
590
  }) : x.provider,
@@ -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,6 +57,8 @@ 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
63
  constructor(config) {
63
64
  super({ ...config,
@@ -67,6 +68,8 @@ class InjectedConnector extends Connector {
67
68
  }
68
69
  });
69
70
 
71
+ _classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
72
+
70
73
  _defineProperty(this, "id", void 0);
71
74
 
72
75
  _defineProperty(this, "name", void 0);
@@ -145,7 +148,8 @@ class InjectedConnector extends Connector {
145
148
  provider
146
149
  };
147
150
  } catch (error) {
148
- if (error.code === 4001) throw new UserRejectedRequestError();
151
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
152
+ if (error.code === -32002) throw new ResourceUnavailableError(error);
149
153
  throw error;
150
154
  }
151
155
  }
@@ -224,16 +228,17 @@ class InjectedConnector extends Connector {
224
228
  return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
225
229
  id: chainId,
226
230
  name: "Chain ".concat(id),
231
+ network: "".concat(id),
227
232
  rpcUrls: {
228
233
  default: ''
229
234
  }
230
235
  };
231
236
  } catch (error) {
232
- // Indicates chain is not added to provider
237
+ const chain = this.chains.find(x => x.id === chainId);
238
+ if (!chain) throw new ChainNotConfiguredError(); // Indicates chain is not added to provider
239
+
233
240
  if (error.code === 4902) {
234
241
  try {
235
- const chain = this.chains.find(x => x.id === chainId);
236
- if (!chain) throw new ChainNotConfiguredError();
237
242
  await provider.request({
238
243
  method: 'wallet_addEthereumChain',
239
244
  params: [{
@@ -246,9 +251,13 @@ class InjectedConnector extends Connector {
246
251
  });
247
252
  return chain;
248
253
  } catch (addError) {
254
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new UserRejectedRequestError(error);
249
255
  throw new AddChainError();
250
256
  }
251
- } else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
257
+ }
258
+
259
+ if (_classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new UserRejectedRequestError(error);
260
+ throw new SwitchChainError(error);
252
261
  }
253
262
  }
254
263
 
@@ -277,6 +286,10 @@ class InjectedConnector extends Connector {
277
286
 
278
287
  }
279
288
 
289
+ function _isUserRejectedRequestError2(error) {
290
+ return error.code === 4001;
291
+ }
292
+
280
293
  const noopStorage = {
281
294
  getItem: _key => '',
282
295
  setItem: (_key, _value) => null,
@@ -341,8 +354,7 @@ class Client {
341
354
 
342
355
  // Set default values for config
343
356
  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()];
357
+ const connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
346
358
 
347
359
  const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
348
360
  try {
@@ -374,9 +386,9 @@ class Client {
374
386
  } // Evaluate initial store values
375
387
 
376
388
 
377
- const connectors_ = typeof _connectors === 'function' ? _connectors({
389
+ const connectors_ = typeof connectors === 'function' ? connectors({
378
390
  chainId: _chainId
379
- }) : _connectors;
391
+ }) : connectors;
380
392
  const provider_ = typeof _provider === 'function' ? _provider({
381
393
  chainId: _chainId
382
394
  }) : _provider;
@@ -408,7 +420,7 @@ class Client {
408
420
  })));
409
421
  this.config = {
410
422
  autoConnect,
411
- connectors: _connectors,
423
+ connectors,
412
424
  provider: _provider,
413
425
  storage,
414
426
  webSocketProvider: _webSocketProvider
@@ -463,6 +475,7 @@ class Client {
463
475
 
464
476
  clearState() {
465
477
  this.setState(x => ({ ...x,
478
+ chains: undefined,
466
479
  connector: undefined,
467
480
  data: undefined,
468
481
  error: undefined,
@@ -501,6 +514,7 @@ class Client {
501
514
 
502
515
 
503
516
  if (!connected) this.setState(x => ({ ...x,
517
+ data: undefined,
504
518
  status: 'disconnected'
505
519
  }));
506
520
  return this.data;
@@ -551,14 +565,12 @@ function _addEffects2() {
551
565
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
552
566
  });
553
567
  const {
554
- connectors,
555
568
  provider,
556
569
  webSocketProvider
557
570
  } = this.config;
558
- const subscribeConnectors = typeof connectors === 'function';
559
571
  const subscribeProvider = typeof provider === 'function';
560
572
  const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
561
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
573
+ if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
562
574
  var _data$chain2;
563
575
 
564
576
  let {
@@ -567,9 +579,6 @@ function _addEffects2() {
567
579
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
568
580
  }, chainId => {
569
581
  this.setState(x => ({ ...x,
570
- connectors: subscribeConnectors ? connectors({
571
- chainId
572
- }) : x.connectors,
573
582
  provider: subscribeProvider ? provider({
574
583
  chainId
575
584
  }) : 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';