@wagmi/core 0.4.7 → 0.5.0-prepare-hooks.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 (76) hide show
  1. package/README.md +4 -4
  2. package/chains/dist/wagmi-core-chains.cjs.dev.js +1 -1
  3. package/chains/dist/wagmi-core-chains.cjs.prod.js +1 -1
  4. package/chains/dist/wagmi-core-chains.esm.js +1 -1
  5. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +29 -26
  6. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +29 -26
  7. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +6 -3
  8. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.d.ts +1 -0
  9. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.dev.js +200 -0
  10. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.js +7 -0
  11. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.prod.js +200 -0
  12. package/connectors/injected/dist/wagmi-core-connectors-injected.esm.js +196 -0
  13. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +21 -22
  14. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +21 -22
  15. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +6 -7
  16. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +31 -29
  17. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +31 -29
  18. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +4 -2
  19. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +23 -24
  20. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +23 -24
  21. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +4 -5
  22. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.d.ts +11 -0
  23. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.js +16 -0
  24. package/dist/{chains-fd2c546c.esm.js → chains-174cf4b4.esm.js} +3 -3
  25. package/dist/{chains-f7bb3211.cjs.prod.js → chains-b8e32454.cjs.prod.js} +3 -3
  26. package/dist/{chains-7e6dc59c.cjs.dev.js → chains-ba6218fb.cjs.dev.js} +3 -3
  27. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +3 -3
  28. package/dist/declarations/src/actions/contracts/index.d.ts +2 -1
  29. package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +37 -0
  30. package/dist/declarations/src/actions/contracts/writeContract.d.ts +44 -8
  31. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +2 -1
  32. package/dist/declarations/src/actions/index.d.ts +2 -2
  33. package/dist/declarations/src/actions/tokens/fetchToken.d.ts +1 -0
  34. package/dist/declarations/src/actions/transactions/index.d.ts +2 -1
  35. package/dist/declarations/src/actions/transactions/prepareSendTransaction.d.ts +36 -0
  36. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +43 -8
  37. package/dist/declarations/src/client.d.ts +3 -3
  38. package/dist/declarations/src/connectors/base.d.ts +1 -2
  39. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +1 -1
  40. package/dist/declarations/src/connectors/index.d.ts +1 -1
  41. package/dist/declarations/src/connectors/injected.d.ts +4 -4
  42. package/dist/declarations/src/connectors/metaMask.d.ts +1 -1
  43. package/dist/declarations/src/connectors/mock/connector.d.ts +1 -1
  44. package/dist/declarations/src/connectors/mock/provider.d.ts +3 -3
  45. package/dist/declarations/src/connectors/walletConnect.d.ts +2 -1
  46. package/dist/declarations/src/errors.d.ts +10 -3
  47. package/dist/declarations/src/index.d.ts +5 -5
  48. package/dist/declarations/src/providers/alchemy.d.ts +1 -2
  49. package/dist/declarations/src/providers/infura.d.ts +1 -2
  50. package/dist/declarations/src/providers/jsonRpc.d.ts +1 -2
  51. package/dist/declarations/src/providers/public.d.ts +2 -4
  52. package/dist/declarations/src/types/index.d.ts +132 -129
  53. package/dist/declarations/src/utils/configureChains.d.ts +3 -1
  54. package/dist/declarations/src/utils/getInjectedName.d.ts +2 -1
  55. package/dist/{client-a05fd511.esm.js → getProvider-048a69c4.esm.js} +380 -13
  56. package/dist/{client-a6e61429.cjs.prod.js → getProvider-27edfd38.cjs.prod.js} +446 -55
  57. package/dist/{client-71ece661.cjs.dev.js → getProvider-ec251513.cjs.dev.js} +446 -55
  58. package/dist/wagmi-core.cjs.dev.js +462 -286
  59. package/dist/wagmi-core.cjs.prod.js +462 -286
  60. package/dist/wagmi-core.esm.js +377 -205
  61. package/package.json +2 -2
  62. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +0 -2
  63. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +0 -2
  64. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +0 -2
  65. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +0 -2
  66. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +0 -2
  67. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +0 -2
  68. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +0 -2
  69. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +0 -2
  70. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +0 -2
  71. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +0 -2
  72. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +0 -2
  73. package/providers/public/dist/wagmi-core-providers-public.esm.js +0 -2
  74. package/dist/base-797ad073.cjs.prod.js +0 -343
  75. package/dist/base-90b7f3e4.cjs.dev.js +0 -343
  76. package/dist/base-b565d5d4.esm.js +0 -316
package/README.md CHANGED
@@ -16,10 +16,10 @@ npm install @wagmi/core ethers
16
16
 
17
17
  Check out the following places for more wagmi-related content:
18
18
 
19
- - Join the [discussions on GitHub](https://github.com/tmm/wagmi/discussions)
19
+ - Join the [discussions on GitHub](https://github.com/wagmi-dev/wagmi/discussions)
20
20
  - Follow [@awkweb](https://twitter.com/awkweb) and [@wagmi_sh](https://twitter.com/wagmi_sh) on Twitter for project updates
21
- - Share [your project/organization](https://github.com/tmm/wagmi/discussions/201) using wagmi
22
- - Browse the [awesome-wagmi](https://github.com/tmm/awesome-wagmi) list of awesome projects and resources
21
+ - Share [your project/organization](https://github.com/wagmi-dev/wagmi/discussions/201) using wagmi
22
+ - Browse the [awesome-wagmi](https://github.com/wagmi-dev/awesome-wagmi) list of awesome projects and resources
23
23
 
24
24
  ## Support
25
25
 
@@ -27,4 +27,4 @@ If you find wagmi useful, please consider supporting development. Thank you 🙏
27
27
 
28
28
  - [GitHub Sponsors](https://github.com/sponsors/tmm?metadata_campaign=readme_core)
29
29
  - [Gitcoin Grant](https://gitcoin.co/grants/4493/wagmi-react-hooks-library-for-ethereum)
30
- - [awkweb.eth](https://etherscan.io/enslookup-search?search=awkweb.eth)
30
+ - [wagmi-dev.eth](https://etherscan.io/enslookup-search?search=wagmi-dev.eth)
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chains = require('../../dist/chains-7e6dc59c.cjs.dev.js');
5
+ var chains = require('../../dist/chains-ba6218fb.cjs.dev.js');
6
6
  require('../../dist/rpcs-f1d24f0e.cjs.dev.js');
7
7
 
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chains = require('../../dist/chains-f7bb3211.cjs.prod.js');
5
+ var chains = require('../../dist/chains-b8e32454.cjs.prod.js');
6
6
  require('../../dist/rpcs-1fd0a12f.cjs.prod.js');
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { g as arbitrum, h as arbitrumRinkeby, i as foundry, j as goerli, k as hardhat, l as kovan, m as localhost, n as mainnet, o as optimism, p as optimismKovan, q as polygon, r as polygonMumbai, s as rinkeby, t as ropsten } from '../../dist/chains-fd2c546c.esm.js';
1
+ export { g as arbitrum, h as arbitrumRinkeby, i as foundry, j as goerli, k as hardhat, l as kovan, m as localhost, n as mainnet, o as optimism, p as optimismKovan, q as polygon, r as polygonMumbai, s as rinkeby, t as ropsten } from '../../dist/chains-174cf4b4.esm.js';
2
2
  import '../../dist/rpcs-b73a8f60.esm.js';
@@ -2,11 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var base = require('../../../dist/base-90b7f3e4.cjs.dev.js');
5
+ var getProvider = require('../../../dist/getProvider-ec251513.cjs.dev.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
+ require('zustand/vanilla');
9
+ require('zustand/middleware');
8
10
  require('eventemitter3');
9
- require('../../../dist/chains-7e6dc59c.cjs.dev.js');
11
+ require('../../../dist/chains-ba6218fb.cjs.dev.js');
10
12
  require('../../../dist/rpcs-f1d24f0e.cjs.dev.js');
11
13
 
12
14
  function _interopNamespace(e) {
@@ -33,7 +35,7 @@ var _provider = /*#__PURE__*/new WeakMap();
33
35
 
34
36
  var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
35
37
 
36
- class CoinbaseWalletConnector extends base.Connector {
38
+ class CoinbaseWalletConnector extends getProvider.Connector {
37
39
  constructor(_ref) {
38
40
  let {
39
41
  chains,
@@ -47,32 +49,32 @@ class CoinbaseWalletConnector extends base.Connector {
47
49
  }
48
50
  });
49
51
 
50
- base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
52
+ getProvider._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
51
53
 
52
- base._defineProperty(this, "id", 'coinbaseWallet');
54
+ getProvider._defineProperty(this, "id", 'coinbaseWallet');
53
55
 
54
- base._defineProperty(this, "name", 'Coinbase Wallet');
56
+ getProvider._defineProperty(this, "name", 'Coinbase Wallet');
55
57
 
56
- base._defineProperty(this, "ready", true);
58
+ getProvider._defineProperty(this, "ready", true);
57
59
 
58
- base._classPrivateFieldInitSpec(this, _client, {
60
+ getProvider._classPrivateFieldInitSpec(this, _client, {
59
61
  writable: true,
60
62
  value: void 0
61
63
  });
62
64
 
63
- base._classPrivateFieldInitSpec(this, _provider, {
65
+ getProvider._classPrivateFieldInitSpec(this, _provider, {
64
66
  writable: true,
65
67
  value: void 0
66
68
  });
67
69
 
68
- base._defineProperty(this, "onAccountsChanged", accounts => {
70
+ getProvider._defineProperty(this, "onAccountsChanged", accounts => {
69
71
  if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
70
72
  account: utils.getAddress(accounts[0])
71
73
  });
72
74
  });
73
75
 
74
- base._defineProperty(this, "onChainChanged", chainId => {
75
- const id = base.normalizeChainId(chainId);
76
+ getProvider._defineProperty(this, "onChainChanged", chainId => {
77
+ const id = getProvider.normalizeChainId(chainId);
76
78
  const unsupported = this.isChainUnsupported(id);
77
79
  this.emit('change', {
78
80
  chain: {
@@ -82,7 +84,7 @@ class CoinbaseWalletConnector extends base.Connector {
82
84
  });
83
85
  });
84
86
 
85
- base._defineProperty(this, "onDisconnect", () => {
87
+ getProvider._defineProperty(this, "onDisconnect", () => {
86
88
  this.emit('disconnect');
87
89
  });
88
90
  }
@@ -121,13 +123,13 @@ class CoinbaseWalletConnector extends base.Connector {
121
123
  provider: new ethers.providers.Web3Provider(provider)
122
124
  };
123
125
  } catch (error) {
124
- if (/(user closed modal|accounts received is empty)/i.test(error.message)) throw new base.UserRejectedRequestError(error);
126
+ if (/(user closed modal|accounts received is empty)/i.test(error.message)) throw new getProvider.UserRejectedRequestError(error);
125
127
  throw error;
126
128
  }
127
129
  }
128
130
 
129
131
  async disconnect() {
130
- if (!base._classPrivateFieldGet(this, _provider)) return;
132
+ if (!getProvider._classPrivateFieldGet(this, _provider)) return;
131
133
  const provider = await this.getProvider();
132
134
  provider.removeListener('accountsChanged', this.onAccountsChanged);
133
135
  provider.removeListener('chainChanged', this.onChainChanged);
@@ -147,26 +149,27 @@ class CoinbaseWalletConnector extends base.Connector {
147
149
 
148
150
  async getChainId() {
149
151
  const provider = await this.getProvider();
150
- const chainId = base.normalizeChainId(provider.chainId);
152
+ const chainId = getProvider.normalizeChainId(provider.chainId);
151
153
  return chainId;
152
154
  }
153
155
 
154
156
  async getProvider() {
155
- if (!base._classPrivateFieldGet(this, _provider)) {
157
+ if (!getProvider._classPrivateFieldGet(this, _provider)) {
156
158
  const chain = this.chains.find(chain => chain.id === this.options.chainId) || this.chains[0];
157
159
  const chainId = this.options.chainId || (chain === null || chain === void 0 ? void 0 : chain.id);
158
160
  const jsonRpcUrl = this.options.jsonRpcUrl || (chain === null || chain === void 0 ? void 0 : chain.rpcUrls.default);
159
161
  let CoinbaseWalletSDK = (await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@coinbase/wallet-sdk')); })).default; // Workaround for Vite dev import errors
160
162
  // https://github.com/vitejs/vite/issues/7112
161
163
 
162
- if (!CoinbaseWalletSDK.constructor) CoinbaseWalletSDK = CoinbaseWalletSDK.default;
164
+ if (typeof CoinbaseWalletSDK !== 'function' && // @ts-expect-error This import error is not visible to TypeScript
165
+ typeof CoinbaseWalletSDK.default === 'function') CoinbaseWalletSDK = CoinbaseWalletSDK.default;
163
166
 
164
- base._classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
167
+ getProvider._classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
165
168
 
166
- base._classPrivateFieldSet(this, _provider, base._classPrivateFieldGet(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));
169
+ getProvider._classPrivateFieldSet(this, _provider, getProvider._classPrivateFieldGet(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));
167
170
  }
168
171
 
169
- return base._classPrivateFieldGet(this, _provider);
172
+ return getProvider._classPrivateFieldGet(this, _provider);
170
173
  }
171
174
 
172
175
  async getSigner() {
@@ -206,7 +209,7 @@ class CoinbaseWalletConnector extends base.Connector {
206
209
  };
207
210
  } catch (error) {
208
211
  const chain = this.chains.find(x => x.id === chainId);
209
- if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
212
+ if (!chain) throw new getProvider.ChainNotConfiguredError(); // Indicates chain is not added to provider
210
213
 
211
214
  if (error.code === 4902) {
212
215
  try {
@@ -224,13 +227,13 @@ class CoinbaseWalletConnector extends base.Connector {
224
227
  });
225
228
  return chain;
226
229
  } catch (addError) {
227
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(addError);
228
- throw new base.AddChainError();
230
+ if (getProvider._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new getProvider.UserRejectedRequestError(addError);
231
+ throw new getProvider.AddChainError();
229
232
  }
230
233
  }
231
234
 
232
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
233
- throw new base.SwitchChainError(error);
235
+ if (getProvider._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new getProvider.UserRejectedRequestError(error);
236
+ throw new getProvider.SwitchChainError(error);
234
237
  }
235
238
  }
236
239
 
@@ -2,11 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var base = require('../../../dist/base-797ad073.cjs.prod.js');
5
+ var getProvider = require('../../../dist/getProvider-27edfd38.cjs.prod.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
+ require('zustand/vanilla');
9
+ require('zustand/middleware');
8
10
  require('eventemitter3');
9
- require('../../../dist/chains-f7bb3211.cjs.prod.js');
11
+ require('../../../dist/chains-b8e32454.cjs.prod.js');
10
12
  require('../../../dist/rpcs-1fd0a12f.cjs.prod.js');
11
13
 
12
14
  function _interopNamespace(e) {
@@ -33,7 +35,7 @@ var _provider = /*#__PURE__*/new WeakMap();
33
35
 
34
36
  var _isUserRejectedRequestError = /*#__PURE__*/new WeakSet();
35
37
 
36
- class CoinbaseWalletConnector extends base.Connector {
38
+ class CoinbaseWalletConnector extends getProvider.Connector {
37
39
  constructor(_ref) {
38
40
  let {
39
41
  chains,
@@ -47,32 +49,32 @@ class CoinbaseWalletConnector extends base.Connector {
47
49
  }
48
50
  });
49
51
 
50
- base._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
52
+ getProvider._classPrivateMethodInitSpec(this, _isUserRejectedRequestError);
51
53
 
52
- base._defineProperty(this, "id", 'coinbaseWallet');
54
+ getProvider._defineProperty(this, "id", 'coinbaseWallet');
53
55
 
54
- base._defineProperty(this, "name", 'Coinbase Wallet');
56
+ getProvider._defineProperty(this, "name", 'Coinbase Wallet');
55
57
 
56
- base._defineProperty(this, "ready", true);
58
+ getProvider._defineProperty(this, "ready", true);
57
59
 
58
- base._classPrivateFieldInitSpec(this, _client, {
60
+ getProvider._classPrivateFieldInitSpec(this, _client, {
59
61
  writable: true,
60
62
  value: void 0
61
63
  });
62
64
 
63
- base._classPrivateFieldInitSpec(this, _provider, {
65
+ getProvider._classPrivateFieldInitSpec(this, _provider, {
64
66
  writable: true,
65
67
  value: void 0
66
68
  });
67
69
 
68
- base._defineProperty(this, "onAccountsChanged", accounts => {
70
+ getProvider._defineProperty(this, "onAccountsChanged", accounts => {
69
71
  if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
70
72
  account: utils.getAddress(accounts[0])
71
73
  });
72
74
  });
73
75
 
74
- base._defineProperty(this, "onChainChanged", chainId => {
75
- const id = base.normalizeChainId(chainId);
76
+ getProvider._defineProperty(this, "onChainChanged", chainId => {
77
+ const id = getProvider.normalizeChainId(chainId);
76
78
  const unsupported = this.isChainUnsupported(id);
77
79
  this.emit('change', {
78
80
  chain: {
@@ -82,7 +84,7 @@ class CoinbaseWalletConnector extends base.Connector {
82
84
  });
83
85
  });
84
86
 
85
- base._defineProperty(this, "onDisconnect", () => {
87
+ getProvider._defineProperty(this, "onDisconnect", () => {
86
88
  this.emit('disconnect');
87
89
  });
88
90
  }
@@ -121,13 +123,13 @@ class CoinbaseWalletConnector extends base.Connector {
121
123
  provider: new ethers.providers.Web3Provider(provider)
122
124
  };
123
125
  } catch (error) {
124
- if (/(user closed modal|accounts received is empty)/i.test(error.message)) throw new base.UserRejectedRequestError(error);
126
+ if (/(user closed modal|accounts received is empty)/i.test(error.message)) throw new getProvider.UserRejectedRequestError(error);
125
127
  throw error;
126
128
  }
127
129
  }
128
130
 
129
131
  async disconnect() {
130
- if (!base._classPrivateFieldGet(this, _provider)) return;
132
+ if (!getProvider._classPrivateFieldGet(this, _provider)) return;
131
133
  const provider = await this.getProvider();
132
134
  provider.removeListener('accountsChanged', this.onAccountsChanged);
133
135
  provider.removeListener('chainChanged', this.onChainChanged);
@@ -147,26 +149,27 @@ class CoinbaseWalletConnector extends base.Connector {
147
149
 
148
150
  async getChainId() {
149
151
  const provider = await this.getProvider();
150
- const chainId = base.normalizeChainId(provider.chainId);
152
+ const chainId = getProvider.normalizeChainId(provider.chainId);
151
153
  return chainId;
152
154
  }
153
155
 
154
156
  async getProvider() {
155
- if (!base._classPrivateFieldGet(this, _provider)) {
157
+ if (!getProvider._classPrivateFieldGet(this, _provider)) {
156
158
  const chain = this.chains.find(chain => chain.id === this.options.chainId) || this.chains[0];
157
159
  const chainId = this.options.chainId || (chain === null || chain === void 0 ? void 0 : chain.id);
158
160
  const jsonRpcUrl = this.options.jsonRpcUrl || (chain === null || chain === void 0 ? void 0 : chain.rpcUrls.default);
159
161
  let CoinbaseWalletSDK = (await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@coinbase/wallet-sdk')); })).default; // Workaround for Vite dev import errors
160
162
  // https://github.com/vitejs/vite/issues/7112
161
163
 
162
- if (!CoinbaseWalletSDK.constructor) CoinbaseWalletSDK = CoinbaseWalletSDK.default;
164
+ if (typeof CoinbaseWalletSDK !== 'function' && // @ts-expect-error This import error is not visible to TypeScript
165
+ typeof CoinbaseWalletSDK.default === 'function') CoinbaseWalletSDK = CoinbaseWalletSDK.default;
163
166
 
164
- base._classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
167
+ getProvider._classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
165
168
 
166
- base._classPrivateFieldSet(this, _provider, base._classPrivateFieldGet(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));
169
+ getProvider._classPrivateFieldSet(this, _provider, getProvider._classPrivateFieldGet(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));
167
170
  }
168
171
 
169
- return base._classPrivateFieldGet(this, _provider);
172
+ return getProvider._classPrivateFieldGet(this, _provider);
170
173
  }
171
174
 
172
175
  async getSigner() {
@@ -206,7 +209,7 @@ class CoinbaseWalletConnector extends base.Connector {
206
209
  };
207
210
  } catch (error) {
208
211
  const chain = this.chains.find(x => x.id === chainId);
209
- if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
212
+ if (!chain) throw new getProvider.ChainNotConfiguredError(); // Indicates chain is not added to provider
210
213
 
211
214
  if (error.code === 4902) {
212
215
  try {
@@ -224,13 +227,13 @@ class CoinbaseWalletConnector extends base.Connector {
224
227
  });
225
228
  return chain;
226
229
  } catch (addError) {
227
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new base.UserRejectedRequestError(addError);
228
- throw new base.AddChainError();
230
+ if (getProvider._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, addError)) throw new getProvider.UserRejectedRequestError(addError);
231
+ throw new getProvider.AddChainError();
229
232
  }
230
233
  }
231
234
 
232
- if (base._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new base.UserRejectedRequestError(error);
233
- throw new base.SwitchChainError(error);
235
+ if (getProvider._classPrivateMethodGet(this, _isUserRejectedRequestError, _isUserRejectedRequestError2).call(this, error)) throw new getProvider.UserRejectedRequestError(error);
236
+ throw new getProvider.SwitchChainError(error);
234
237
  }
235
238
  }
236
239
 
@@ -1,8 +1,10 @@
1
- import { e as Connector, m as _classPrivateMethodInitSpec, _ as _defineProperty, j as _classPrivateFieldInitSpec, n as normalizeChainId, U as UserRejectedRequestError, k as _classPrivateFieldGet, l as _classPrivateFieldSet, f as ChainNotConfiguredError, o as _classPrivateMethodGet, A as AddChainError, i as SwitchChainError } from '../../../dist/base-b565d5d4.esm.js';
1
+ import { j as Connector, _ as _classPrivateMethodInitSpec, r as _defineProperty, s as _classPrivateFieldInitSpec, n as normalizeChainId, U as UserRejectedRequestError, t as _classPrivateFieldGet, u as _classPrivateFieldSet, k as ChainNotConfiguredError, v as _classPrivateMethodGet, A as AddChainError, o as SwitchChainError } from '../../../dist/getProvider-048a69c4.esm.js';
2
2
  import { providers } from 'ethers';
3
3
  import { getAddress, hexValue } from 'ethers/lib/utils';
4
+ import 'zustand/vanilla';
5
+ import 'zustand/middleware';
4
6
  import 'eventemitter3';
5
- import '../../../dist/chains-fd2c546c.esm.js';
7
+ import '../../../dist/chains-174cf4b4.esm.js';
6
8
  import '../../../dist/rpcs-b73a8f60.esm.js';
7
9
 
8
10
  var _client = /*#__PURE__*/new WeakMap();
@@ -137,7 +139,8 @@ class CoinbaseWalletConnector extends Connector {
137
139
  let CoinbaseWalletSDK = (await import('@coinbase/wallet-sdk')).default; // Workaround for Vite dev import errors
138
140
  // https://github.com/vitejs/vite/issues/7112
139
141
 
140
- if (!CoinbaseWalletSDK.constructor) CoinbaseWalletSDK = CoinbaseWalletSDK.default;
142
+ if (typeof CoinbaseWalletSDK !== 'function' && // @ts-expect-error This import error is not visible to TypeScript
143
+ typeof CoinbaseWalletSDK.default === 'function') CoinbaseWalletSDK = CoinbaseWalletSDK.default;
141
144
 
142
145
  _classPrivateFieldSet(this, _client, new CoinbaseWalletSDK(this.options));
143
146
 
@@ -0,0 +1 @@
1
+ export * from "../../../dist/declarations/src/connectors/injected";
@@ -0,0 +1,200 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var providers = require('@ethersproject/providers');
6
+ var base = require('../../../dist/base-0167f1e7.cjs.dev.js');
7
+ var utils = require('ethers/lib/utils');
8
+ require('eventemitter3');
9
+
10
+ const getInjectedName = ethereum => {
11
+ if (!ethereum) return 'Injected';
12
+ if (ethereum.isMetaMask) return 'MetaMask';
13
+ if (ethereum.isCoinbaseWallet) return 'Coinbase Wallet';
14
+ if (ethereum.isFrame) return 'Frame';
15
+ if (ethereum.isTally) return 'Tally';
16
+ return 'Injected';
17
+ };
18
+
19
+ const shimKey = 'wagmi.shimDisconnect';
20
+ class InjectedConnector extends base.Connector {
21
+ id = 'injected';
22
+ ready = typeof window != 'undefined' && !!window.ethereum;
23
+ #provider;
24
+
25
+ constructor(config) {
26
+ // TODO(note): Should shimDisconnect be default truthy??
27
+ super({ ...config,
28
+ options: config?.options
29
+ });
30
+ let name = 'Injected';
31
+ if (typeof window !== 'undefined') name = getInjectedName(window.ethereum);
32
+ this.name = name;
33
+ }
34
+
35
+ async connect() {
36
+ try {
37
+ const provider = this.getProvider();
38
+ if (!provider) throw new base.ConnectorNotFoundError();
39
+
40
+ if (provider.on) {
41
+ provider.on('accountsChanged', this.onAccountsChanged);
42
+ provider.on('chainChanged', this.onChainChanged);
43
+ provider.on('disconnect', this.onDisconnect);
44
+ }
45
+
46
+ const account = await this.getAccount();
47
+ const id = await this.getChainId();
48
+ const unsupported = this.isChainUnsupported(id);
49
+ if (this.options?.shimDisconnect) typeof localStorage !== 'undefined' && localStorage.setItem(shimKey, 'true');
50
+ return {
51
+ account,
52
+ chain: {
53
+ id,
54
+ unsupported
55
+ },
56
+ provider
57
+ };
58
+ } catch (error) {
59
+ if (error.code === 4001) throw new base.UserRejectedRequestError();
60
+ throw error;
61
+ }
62
+ }
63
+
64
+ async disconnect() {
65
+ const provider = this.getProvider();
66
+ if (!provider?.removeListener) return;
67
+ provider.removeListener('accountsChanged', this.onAccountsChanged);
68
+ provider.removeListener('chainChanged', this.onChainChanged);
69
+ provider.removeListener('disconnect', this.onDisconnect);
70
+ if (this.options?.shimDisconnect) typeof localStorage !== 'undefined' && localStorage.removeItem(shimKey);
71
+ }
72
+
73
+ async getAccount() {
74
+ const provider = this.getProvider();
75
+ if (!provider) throw new base.ConnectorNotFoundError();
76
+ const accounts = await provider.request({
77
+ method: 'eth_requestAccounts'
78
+ }); // return checksum address
79
+
80
+ return utils.getAddress(accounts[0]);
81
+ }
82
+
83
+ async getChainId() {
84
+ const provider = this.getProvider();
85
+ if (!provider) throw new base.ConnectorNotFoundError();
86
+ return await provider.request({
87
+ method: 'eth_chainId'
88
+ }).then(base.normalizeChainId);
89
+ }
90
+
91
+ getProvider() {
92
+ if (typeof window !== 'undefined' && !!window.ethereum) this.#provider = window.ethereum;
93
+ return this.#provider;
94
+ }
95
+
96
+ async getSigner() {
97
+ const provider = this.getProvider();
98
+ const account = await this.getAccount();
99
+ return new providers.Web3Provider(provider).getSigner(account);
100
+ }
101
+
102
+ async isAuthorized() {
103
+ try {
104
+ if (this.options?.shimDisconnect && typeof localStorage !== 'undefined' && !localStorage.getItem(shimKey)) return false;
105
+ const provider = this.getProvider();
106
+ if (!provider) throw new base.ConnectorNotFoundError();
107
+ const accounts = await provider.request({
108
+ method: 'eth_accounts'
109
+ });
110
+ const account = accounts[0];
111
+ return !!account;
112
+ } catch {
113
+ return false;
114
+ }
115
+ }
116
+
117
+ async switchChain(chainId) {
118
+ const provider = this.getProvider();
119
+ if (!provider) throw new base.ConnectorNotFoundError();
120
+ const id = utils.hexValue(chainId);
121
+
122
+ try {
123
+ await provider.request({
124
+ method: 'wallet_switchEthereumChain',
125
+ params: [{
126
+ chainId: id
127
+ }]
128
+ });
129
+ const chains = [...this.chains, ...base.allChains];
130
+ return chains.find(x => x.id === chainId);
131
+ } catch (error) {
132
+ // Indicates chain is not added to MetaMask
133
+ if (error.code === 4902) {
134
+ try {
135
+ const chain = this.chains.find(x => x.id === chainId);
136
+ if (!chain) throw new base.ChainNotConfiguredError();
137
+ await provider.request({
138
+ method: 'wallet_addEthereumChain',
139
+ params: [{
140
+ chainId: id,
141
+ chainName: chain.name,
142
+ nativeCurrency: chain.nativeCurrency,
143
+ rpcUrls: chain.rpcUrls,
144
+ blockExplorerUrls: chain.blockExplorers?.map(x => x.url)
145
+ }]
146
+ });
147
+ } catch (addError) {
148
+ throw new base.AddChainError();
149
+ }
150
+ } else if (error.code === 4001) throw new base.UserRejectedRequestError();else throw new base.SwitchChainError();
151
+ }
152
+ }
153
+
154
+ async watchAsset({
155
+ address,
156
+ decimals = 18,
157
+ image,
158
+ symbol
159
+ }) {
160
+ const provider = this.getProvider();
161
+ if (!provider) throw new base.ConnectorNotFoundError();
162
+ await provider.request({
163
+ method: 'wallet_watchAsset',
164
+ params: {
165
+ type: 'ERC20',
166
+ options: {
167
+ address,
168
+ decimals,
169
+ image,
170
+ symbol
171
+ }
172
+ }
173
+ });
174
+ }
175
+
176
+ onAccountsChanged = accounts => {
177
+ if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
178
+ account: utils.getAddress(accounts[0])
179
+ });
180
+ };
181
+ onChainChanged = chainId => {
182
+ const id = base.normalizeChainId(chainId);
183
+ const unsupported = this.isChainUnsupported(id);
184
+ this.emit('change', {
185
+ chain: {
186
+ id,
187
+ unsupported
188
+ }
189
+ });
190
+ };
191
+ onDisconnect = err => {
192
+ // TODO: this is a hack, probs better way to deal
193
+ if (!err.message.includes('Attempting to connect.')) {
194
+ this.emit('disconnect');
195
+ if (this.options?.shimDisconnect) typeof localStorage !== 'undefined' && localStorage.removeItem(shimKey);
196
+ }
197
+ };
198
+ }
199
+
200
+ exports.InjectedConnector = InjectedConnector;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./wagmi-core-connectors-injected.cjs.prod.js");
5
+ } else {
6
+ module.exports = require("./wagmi-core-connectors-injected.cjs.dev.js");
7
+ }