@wagmi/core 0.6.12 → 0.7.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 (184) hide show
  1. package/chains/package.json +2 -2
  2. package/connectors/coinbaseWallet/package.json +2 -2
  3. package/connectors/metaMask/package.json +2 -2
  4. package/connectors/mock/package.json +2 -2
  5. package/connectors/walletConnect/package.json +2 -2
  6. package/dist/{declarations/src/connectors/base.d.ts → base-5bd9b5ed.d.ts} +8 -5
  7. package/dist/chains.d.ts +3 -0
  8. package/dist/chains.js +29 -0
  9. package/dist/chunk-2EDVJWOA.js +3496 -0
  10. package/dist/chunk-4DNFSL2K.js +376 -0
  11. package/dist/chunk-MQXBDTVK.js +29 -0
  12. package/dist/{declarations/src/connectors → connectors}/coinbaseWallet.d.ts +10 -6
  13. package/dist/connectors/coinbaseWallet.js +215 -0
  14. package/dist/{declarations/src/connectors → connectors}/metaMask.d.ts +11 -4
  15. package/dist/connectors/metaMask.js +115 -0
  16. package/dist/connectors/mock/index.d.ts +78 -0
  17. package/dist/connectors/mock/index.js +190 -0
  18. package/dist/{declarations/src/connectors → connectors}/walletConnect.d.ts +9 -5
  19. package/dist/connectors/walletConnect.js +160 -0
  20. package/dist/{declarations/src/types/contracts.d.ts → contracts-fb6a6ff0.d.ts} +122 -17
  21. package/dist/{declarations/src/types/index.d.ts → index-bacc1c49.d.ts} +83 -15
  22. package/dist/index.d.ts +1738 -0
  23. package/dist/index.js +165 -0
  24. package/dist/{declarations/src/connectors/injected.d.ts → injected-6980e5c3.d.ts} +9 -6
  25. package/dist/internal.d.ts +8 -0
  26. package/dist/internal.js +8 -0
  27. package/dist/providers/alchemy.d.ts +11 -0
  28. package/dist/providers/alchemy.js +32 -0
  29. package/dist/providers/infura.d.ts +11 -0
  30. package/dist/providers/infura.js +32 -0
  31. package/dist/providers/jsonRpc.d.ts +14 -0
  32. package/dist/providers/jsonRpc.js +44 -0
  33. package/dist/providers/public.d.ts +8 -0
  34. package/dist/providers/public.js +30 -0
  35. package/internal/package.json +2 -2
  36. package/package.json +40 -51
  37. package/providers/alchemy/package.json +2 -2
  38. package/providers/infura/package.json +2 -2
  39. package/providers/jsonRpc/package.json +2 -2
  40. package/providers/public/package.json +2 -2
  41. package/chains/dist/wagmi-core-chains.cjs.d.ts +0 -1
  42. package/chains/dist/wagmi-core-chains.cjs.dev.js +0 -26
  43. package/chains/dist/wagmi-core-chains.cjs.js +0 -7
  44. package/chains/dist/wagmi-core-chains.cjs.prod.js +0 -26
  45. package/chains/dist/wagmi-core-chains.esm.js +0 -2
  46. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.d.ts +0 -1
  47. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +0 -274
  48. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.js +0 -7
  49. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +0 -274
  50. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +0 -252
  51. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.d.ts +0 -1
  52. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +0 -153
  53. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.js +0 -7
  54. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +0 -153
  55. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +0 -149
  56. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.d.ts +0 -1
  57. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +0 -262
  58. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.js +0 -7
  59. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +0 -262
  60. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +0 -253
  61. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.d.ts +0 -1
  62. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +0 -228
  63. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.js +0 -7
  64. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +0 -228
  65. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +0 -206
  66. package/dist/chains-73cc6c23.cjs.prod.js +0 -526
  67. package/dist/chains-8fce19d8.esm.js +0 -502
  68. package/dist/chains-fe1f4131.cjs.dev.js +0 -526
  69. package/dist/debounce-0862bf88.esm.js +0 -18
  70. package/dist/debounce-2d836dc9.cjs.prod.js +0 -20
  71. package/dist/debounce-46ac0312.cjs.dev.js +0 -20
  72. package/dist/declarations/src/actions/accounts/connect.d.ts +0 -18
  73. package/dist/declarations/src/actions/accounts/disconnect.d.ts +0 -1
  74. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +0 -19
  75. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +0 -7
  76. package/dist/declarations/src/actions/accounts/getAccount.d.ts +0 -36
  77. package/dist/declarations/src/actions/accounts/getNetwork.d.ts +0 -8
  78. package/dist/declarations/src/actions/accounts/index.d.ts +0 -12
  79. package/dist/declarations/src/actions/accounts/signMessage.d.ts +0 -7
  80. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +0 -23
  81. package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +0 -6
  82. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +0 -12
  83. package/dist/declarations/src/actions/accounts/watchNetwork.d.ts +0 -10
  84. package/dist/declarations/src/actions/accounts/watchSigner.d.ts +0 -5
  85. package/dist/declarations/src/actions/contracts/fetchToken.d.ts +0 -21
  86. package/dist/declarations/src/actions/contracts/getContract.d.ts +0 -113
  87. package/dist/declarations/src/actions/contracts/index.d.ts +0 -11
  88. package/dist/declarations/src/actions/contracts/multicall.d.ts +0 -17
  89. package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +0 -47
  90. package/dist/declarations/src/actions/contracts/readContract.d.ts +0 -15
  91. package/dist/declarations/src/actions/contracts/readContracts.d.ts +0 -28
  92. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +0 -28
  93. package/dist/declarations/src/actions/contracts/watchMulticall.d.ts +0 -10
  94. package/dist/declarations/src/actions/contracts/watchReadContract.d.ts +0 -7
  95. package/dist/declarations/src/actions/contracts/watchReadContracts.d.ts +0 -10
  96. package/dist/declarations/src/actions/contracts/writeContract.d.ts +0 -72
  97. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +0 -9
  98. package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +0 -8
  99. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +0 -9
  100. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +0 -9
  101. package/dist/declarations/src/actions/ens/index.d.ts +0 -4
  102. package/dist/declarations/src/actions/index.d.ts +0 -6
  103. package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +0 -5
  104. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +0 -16
  105. package/dist/declarations/src/actions/network-status/index.d.ts +0 -3
  106. package/dist/declarations/src/actions/network-status/watchBlockNumber.d.ts +0 -7
  107. package/dist/declarations/src/actions/providers/getProvider.d.ts +0 -7
  108. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +0 -7
  109. package/dist/declarations/src/actions/providers/index.d.ts +0 -4
  110. package/dist/declarations/src/actions/providers/watchProvider.d.ts +0 -4
  111. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +0 -4
  112. package/dist/declarations/src/actions/transactions/fetchTransaction.d.ts +0 -21
  113. package/dist/declarations/src/actions/transactions/index.d.ts +0 -4
  114. package/dist/declarations/src/actions/transactions/prepareSendTransaction.d.ts +0 -37
  115. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +0 -48
  116. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +0 -18
  117. package/dist/declarations/src/chains.d.ts +0 -1
  118. package/dist/declarations/src/client.d.ts +0 -91
  119. package/dist/declarations/src/connectors/index.d.ts +0 -2
  120. package/dist/declarations/src/connectors/mock/connector.d.ts +0 -34
  121. package/dist/declarations/src/connectors/mock/index.d.ts +0 -2
  122. package/dist/declarations/src/connectors/mock/provider.d.ts +0 -41
  123. package/dist/declarations/src/constants/abis.d.ts +0 -941
  124. package/dist/declarations/src/constants/blockExplorers.d.ts +0 -9
  125. package/dist/declarations/src/constants/chains.d.ts +0 -64
  126. package/dist/declarations/src/constants/index.d.ts +0 -7
  127. package/dist/declarations/src/constants/rpcs.d.ts +0 -11
  128. package/dist/declarations/src/constants/units.d.ts +0 -1
  129. package/dist/declarations/src/errors.d.ts +0 -134
  130. package/dist/declarations/src/index.d.ts +0 -14
  131. package/dist/declarations/src/internal.d.ts +0 -3
  132. package/dist/declarations/src/providers/alchemy.d.ts +0 -6
  133. package/dist/declarations/src/providers/infura.d.ts +0 -6
  134. package/dist/declarations/src/providers/jsonRpc.d.ts +0 -10
  135. package/dist/declarations/src/providers/public.d.ts +0 -4
  136. package/dist/declarations/src/storage.d.ts +0 -12
  137. package/dist/declarations/src/types/utils.d.ts +0 -103
  138. package/dist/declarations/src/utils/assertActiveChain.d.ts +0 -5
  139. package/dist/declarations/src/utils/configureChains.d.ts +0 -26
  140. package/dist/declarations/src/utils/debounce.d.ts +0 -1
  141. package/dist/declarations/src/utils/deepEqual.d.ts +0 -2
  142. package/dist/declarations/src/utils/getInjectedName.d.ts +0 -2
  143. package/dist/declarations/src/utils/index.d.ts +0 -11
  144. package/dist/declarations/src/utils/logger.d.ts +0 -1
  145. package/dist/declarations/src/utils/minimizeContractInterface.d.ts +0 -5
  146. package/dist/declarations/src/utils/normalizeChainId.d.ts +0 -1
  147. package/dist/declarations/src/utils/normalizeFunctionName.d.ts +0 -17
  148. package/dist/declarations/src/utils/parseContractResult.d.ts +0 -7
  149. package/dist/getProvider-3b1af4e6.cjs.dev.js +0 -1143
  150. package/dist/getProvider-84f303a1.cjs.prod.js +0 -1143
  151. package/dist/getProvider-97db849e.esm.js +0 -1105
  152. package/dist/rpcs-38f4faba.cjs.prod.js +0 -57
  153. package/dist/rpcs-52ea3d8d.cjs.dev.js +0 -57
  154. package/dist/rpcs-d533516e.esm.js +0 -51
  155. package/dist/wagmi-core.cjs.d.ts +0 -1
  156. package/dist/wagmi-core.cjs.dev.js +0 -2683
  157. package/dist/wagmi-core.cjs.js +0 -7
  158. package/dist/wagmi-core.cjs.prod.js +0 -2683
  159. package/dist/wagmi-core.esm.js +0 -2599
  160. package/internal/dist/wagmi-core-internal.cjs.d.ts +0 -1
  161. package/internal/dist/wagmi-core-internal.cjs.dev.js +0 -9
  162. package/internal/dist/wagmi-core-internal.cjs.js +0 -7
  163. package/internal/dist/wagmi-core-internal.cjs.prod.js +0 -9
  164. package/internal/dist/wagmi-core-internal.esm.js +0 -1
  165. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.d.ts +0 -1
  166. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +0 -36
  167. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.js +0 -7
  168. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +0 -36
  169. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +0 -32
  170. package/providers/infura/dist/wagmi-core-providers-infura.cjs.d.ts +0 -1
  171. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +0 -36
  172. package/providers/infura/dist/wagmi-core-providers-infura.cjs.js +0 -7
  173. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +0 -36
  174. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +0 -32
  175. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.d.ts +0 -1
  176. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +0 -46
  177. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.js +0 -7
  178. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +0 -46
  179. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +0 -42
  180. package/providers/public/dist/wagmi-core-providers-public.cjs.d.ts +0 -1
  181. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +0 -32
  182. package/providers/public/dist/wagmi-core-providers-public.cjs.js +0 -7
  183. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +0 -32
  184. package/providers/public/dist/wagmi-core-providers-public.esm.js +0 -28
@@ -1,1143 +0,0 @@
1
- 'use strict';
2
-
3
- var middleware = require('zustand/middleware');
4
- var create = require('zustand/vanilla');
5
- var ethers = require('ethers');
6
- var utils = require('ethers/lib/utils');
7
- var EventEmitter = require('eventemitter3');
8
- var chains = require('./chains-73cc6c23.cjs.prod.js');
9
-
10
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
11
-
12
- var create__default = /*#__PURE__*/_interopDefault(create);
13
- var EventEmitter__default = /*#__PURE__*/_interopDefault(EventEmitter);
14
-
15
- function _checkPrivateRedeclaration(obj, privateCollection) {
16
- if (privateCollection.has(obj)) {
17
- throw new TypeError("Cannot initialize the same private elements twice on an object");
18
- }
19
- }
20
-
21
- function _classPrivateMethodInitSpec(obj, privateSet) {
22
- _checkPrivateRedeclaration(obj, privateSet);
23
- privateSet.add(obj);
24
- }
25
-
26
- function _classPrivateFieldInitSpec(obj, privateMap, value) {
27
- _checkPrivateRedeclaration(obj, privateMap);
28
- privateMap.set(obj, value);
29
- }
30
-
31
- function _defineProperty(obj, key, value) {
32
- if (key in obj) {
33
- Object.defineProperty(obj, key, {
34
- value: value,
35
- enumerable: true,
36
- configurable: true,
37
- writable: true
38
- });
39
- } else {
40
- obj[key] = value;
41
- }
42
-
43
- return obj;
44
- }
45
-
46
- function _classApplyDescriptorGet(receiver, descriptor) {
47
- if (descriptor.get) {
48
- return descriptor.get.call(receiver);
49
- }
50
-
51
- return descriptor.value;
52
- }
53
-
54
- function _classExtractFieldDescriptor(receiver, privateMap, action) {
55
- if (!privateMap.has(receiver)) {
56
- throw new TypeError("attempted to " + action + " private field on non-instance");
57
- }
58
-
59
- return privateMap.get(receiver);
60
- }
61
-
62
- function _classPrivateFieldGet(receiver, privateMap) {
63
- var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get");
64
- return _classApplyDescriptorGet(receiver, descriptor);
65
- }
66
-
67
- function _classPrivateMethodGet(receiver, privateSet, fn) {
68
- if (!privateSet.has(receiver)) {
69
- throw new TypeError("attempted to get private field on non-instance");
70
- }
71
-
72
- return fn;
73
- }
74
-
75
- function _classApplyDescriptorSet(receiver, descriptor, value) {
76
- if (descriptor.set) {
77
- descriptor.set.call(receiver, value);
78
- } else {
79
- if (!descriptor.writable) {
80
- throw new TypeError("attempted to set read only private field");
81
- }
82
-
83
- descriptor.value = value;
84
- }
85
- }
86
-
87
- function _classPrivateFieldSet(receiver, privateMap, value) {
88
- var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set");
89
- _classApplyDescriptorSet(receiver, descriptor, value);
90
- return value;
91
- }
92
-
93
- /**
94
- * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.
95
- * @see https://eips.ethereum.org/EIPS/eip-1474
96
- */
97
- class RpcError extends Error {
98
- constructor(
99
- /** Number error code */
100
- code,
101
- /** Human-readable string */
102
- message,
103
- /** Low-level error */
104
- internal,
105
- /** Other useful information about error */
106
- data) {
107
- if (!Number.isInteger(code)) throw new Error('"code" must be an integer.');
108
- if (!message || typeof message !== 'string') throw new Error('"message" must be a nonempty string.');
109
- super(message);
110
-
111
- _defineProperty(this, "code", void 0);
112
-
113
- _defineProperty(this, "data", void 0);
114
-
115
- _defineProperty(this, "internal", void 0);
116
-
117
- this.code = code;
118
- this.data = data;
119
- this.internal = internal;
120
- }
121
-
122
- }
123
- /**
124
- * Error subclass implementing Ethereum Provider errors per EIP-1193.
125
- * @see https://eips.ethereum.org/EIPS/eip-1193
126
- */
127
-
128
- class ProviderRpcError extends RpcError {
129
- /**
130
- * Create an Ethereum Provider JSON-RPC error.
131
- * `code` must be an integer in the 1000 <= 4999 range.
132
- */
133
- constructor(
134
- /**
135
- * Number error code
136
- * @see https://eips.ethereum.org/EIPS/eip-1193#error-standards
137
- */
138
- code,
139
- /** Human-readable string */
140
- message,
141
- /** Low-level error */
142
- internal,
143
- /** Other useful information about error */
144
- data) {
145
- if (!(Number.isInteger(code) && code >= 1000 && code <= 4999)) throw new Error('"code" must be an integer such that: 1000 <= code <= 4999');
146
- super(code, message, internal, data);
147
- }
148
-
149
- }
150
- class AddChainError extends Error {
151
- constructor() {
152
- super(...arguments);
153
-
154
- _defineProperty(this, "name", 'AddChainError');
155
-
156
- _defineProperty(this, "message", 'Error adding chain');
157
- }
158
-
159
- }
160
- class ChainDoesNotSupportMulticallError extends Error {
161
- constructor(_ref) {
162
- let {
163
- blockNumber,
164
- chain
165
- } = _ref;
166
- super(`Chain "${chain.name}" does not support multicall${blockNumber ? ` on block ${blockNumber}` : ''}.`);
167
-
168
- _defineProperty(this, "name", 'ChainDoesNotSupportMulticall');
169
- }
170
-
171
- }
172
- class ChainMismatchError extends Error {
173
- constructor(_ref2) {
174
- let {
175
- activeChain,
176
- targetChain
177
- } = _ref2;
178
- super(`Chain mismatch: Expected "${targetChain}", received "${activeChain}".`);
179
-
180
- _defineProperty(this, "name", 'ChainMismatchError');
181
- }
182
-
183
- }
184
- class ChainNotConfiguredError extends Error {
185
- constructor(_ref3) {
186
- let {
187
- chainId,
188
- connectorId
189
- } = _ref3;
190
- super(`Chain "${chainId}" not configured for connector "${connectorId}".`);
191
-
192
- _defineProperty(this, "name", 'ChainNotConfigured');
193
- }
194
-
195
- }
196
- class ConnectorAlreadyConnectedError extends Error {
197
- constructor() {
198
- super(...arguments);
199
-
200
- _defineProperty(this, "name", 'ConnectorAlreadyConnectedError');
201
-
202
- _defineProperty(this, "message", 'Connector already connected');
203
- }
204
-
205
- }
206
- class ConnectorNotFoundError extends Error {
207
- constructor() {
208
- super(...arguments);
209
-
210
- _defineProperty(this, "name", 'ConnectorNotFoundError');
211
-
212
- _defineProperty(this, "message", 'Connector not found');
213
- }
214
-
215
- }
216
- class ContractMethodDoesNotExistError extends Error {
217
- constructor(_ref4) {
218
- var _chain$blockExplorers;
219
-
220
- let {
221
- address,
222
- chainId,
223
- functionName
224
- } = _ref4;
225
- const {
226
- chains,
227
- network
228
- } = getProvider();
229
- const chain = chains === null || chains === void 0 ? void 0 : chains.find(_ref5 => {
230
- let {
231
- id
232
- } = _ref5;
233
- return id === (chainId || network.chainId);
234
- });
235
- const blockExplorer = chain === null || chain === void 0 ? void 0 : (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default;
236
- super([`Function "${functionName}" on contract "${address}" does not exist.`, ...(blockExplorer ? ['', `${blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.name}: ${blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.url}/address/${address}#readContract`] : [])].join('\n'));
237
-
238
- _defineProperty(this, "name", 'ContractMethodDoesNotExistError');
239
- }
240
-
241
- }
242
- class ContractMethodNoResultError extends Error {
243
- constructor(_ref6) {
244
- let {
245
- address,
246
- args,
247
- chainId,
248
- functionName
249
- } = _ref6;
250
- super(['Contract read returned an empty response. This could be due to any of the following:', `- The contract does not have the function "${functionName}",`, '- The parameters passed to the contract function may be invalid, or', '- The address is not a contract.', '', `Config:`, JSON.stringify({
251
- address,
252
- abi: '...',
253
- functionName,
254
- chainId,
255
- args
256
- }, null, 2)].join('\n'));
257
-
258
- _defineProperty(this, "name", 'ContractMethodNoResultError');
259
- }
260
-
261
- }
262
- class ContractMethodRevertedError extends Error {
263
- constructor(_ref7) {
264
- let {
265
- address,
266
- args,
267
- chainId,
268
- functionName,
269
- errorMessage
270
- } = _ref7;
271
- super(['Contract method reverted with an error.', '', `Config:`, JSON.stringify({
272
- address,
273
- abi: '...',
274
- functionName,
275
- chainId,
276
- args
277
- }, null, 2), '', `Details: ${errorMessage}`].join('\n'));
278
-
279
- _defineProperty(this, "name", 'ContractMethodRevertedError');
280
- }
281
-
282
- }
283
- class ContractResultDecodeError extends Error {
284
- constructor(_ref8) {
285
- let {
286
- address,
287
- args,
288
- chainId,
289
- functionName,
290
- errorMessage
291
- } = _ref8;
292
- super(['Failed to decode contract function result.', '', `Config:`, JSON.stringify({
293
- address,
294
- abi: '...',
295
- functionName,
296
- chainId,
297
- args
298
- }, null, 2), '', `Details: ${errorMessage}`].join('\n'));
299
-
300
- _defineProperty(this, "name", 'ContractResultDecodeError');
301
- }
302
-
303
- }
304
- class ProviderChainsNotFound extends Error {
305
- constructor() {
306
- super(...arguments);
307
-
308
- _defineProperty(this, "name", 'ProviderChainsNotFound');
309
-
310
- _defineProperty(this, "message", ['No chains were found on the wagmi provider. Some functions that require a chain may not work.', '', 'It is recommended to add a list of chains to the provider in `createClient`.', '', 'Example:', '', '```', "import { getDefaultProvider } from 'ethers'", "import { chain, createClient } from 'wagmi'", '', 'createClient({', ' provider: Object.assign(getDefaultProvider(), { chains: [chain.mainnet] })', '})', '```'].join('\n'));
311
- }
312
-
313
- }
314
- class ResourceUnavailableError extends RpcError {
315
- constructor(error) {
316
- super(-32002, 'Resource unavailable', error);
317
-
318
- _defineProperty(this, "name", 'ResourceUnavailable');
319
- }
320
-
321
- }
322
- class SwitchChainError extends ProviderRpcError {
323
- constructor(error) {
324
- super(4902, 'Error switching chain', error);
325
-
326
- _defineProperty(this, "name", 'SwitchChainError');
327
- }
328
-
329
- }
330
- class SwitchChainNotSupportedError extends Error {
331
- constructor(_ref9) {
332
- let {
333
- connector
334
- } = _ref9;
335
- super(`"${connector.name}" does not support programmatic chain switching.`);
336
-
337
- _defineProperty(this, "name", 'SwitchChainNotSupportedError');
338
- }
339
-
340
- }
341
- class UserRejectedRequestError extends ProviderRpcError {
342
- constructor(error) {
343
- super(4001, 'User rejected request', error);
344
-
345
- _defineProperty(this, "name", 'UserRejectedRequestError');
346
- }
347
-
348
- }
349
-
350
- function getInjectedName(ethereum) {
351
- var _ethereum$providers;
352
-
353
- if (!ethereum) return 'Injected';
354
-
355
- const getName = provider => {
356
- if (provider.isAvalanche) return 'Core Wallet';
357
- if (provider.isBitKeep) return 'BitKeep';
358
- if (provider.isBraveWallet) return 'Brave Wallet';
359
- if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
360
- if (provider.isExodus) return 'Exodus';
361
- if (provider.isFrame) return 'Frame';
362
- if (provider.isKuCoinWallet) return 'KuCoin Wallet';
363
- if (provider.isMathWallet) return 'MathWallet';
364
- if (provider.isOneInchIOSWallet || provider.isOneInchAndroidWallet) return '1inch Wallet';
365
- if (provider.isOpera) return 'Opera';
366
- if (provider.isPortal) return 'Ripio Portal';
367
- if (provider.isTally) return 'Tally';
368
- if (provider.isTokenPocket) return 'TokenPocket';
369
- if (provider.isTokenary) return 'Tokenary';
370
- if (provider.isTrust || provider.isTrustWallet) return 'Trust Wallet';
371
- if (provider.isMetaMask) return 'MetaMask';
372
- }; // Some injected providers detect multiple other providers and create a list at `ethers.providers`
373
-
374
-
375
- if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
376
- // Deduplicate names using Set
377
- // Coinbase Wallet puts multiple providers in `ethereum.providers`
378
- const nameSet = new Set();
379
- let unknownCount = 1;
380
-
381
- for (const provider of ethereum.providers) {
382
- let name = getName(provider);
383
-
384
- if (!name) {
385
- name = `Unknown Wallet #${unknownCount}`;
386
- unknownCount += 1;
387
- }
388
-
389
- nameSet.add(name);
390
- }
391
-
392
- const names = [...nameSet];
393
- if (names.length) return names;
394
- return names[0] ?? 'Injected';
395
- }
396
-
397
- return getName(ethereum) ?? 'Injected';
398
- }
399
-
400
- function normalizeChainId(chainId) {
401
- if (typeof chainId === 'string') return Number.parseInt(chainId, chainId.trim().substring(0, 2) === '0x' ? 16 : 10);
402
- if (typeof chainId === 'bigint') return Number(chainId);
403
- return chainId;
404
- }
405
-
406
- class Connector extends EventEmitter__default["default"] {
407
- /** Unique connector id */
408
-
409
- /** Connector name */
410
-
411
- /** Chains connector supports */
412
-
413
- /** Options to use with connector */
414
-
415
- /** Whether connector is usable */
416
- constructor(_ref) {
417
- let {
418
- chains: chains$1 = chains.defaultChains,
419
- options
420
- } = _ref;
421
- super();
422
-
423
- _defineProperty(this, "id", void 0);
424
-
425
- _defineProperty(this, "name", void 0);
426
-
427
- _defineProperty(this, "chains", void 0);
428
-
429
- _defineProperty(this, "options", void 0);
430
-
431
- _defineProperty(this, "ready", void 0);
432
-
433
- this.chains = chains$1;
434
- this.options = options;
435
- }
436
-
437
- getBlockExplorerUrls(chain) {
438
- const {
439
- default: blockExplorer,
440
- ...blockExplorers
441
- } = chain.blockExplorers ?? {};
442
- if (blockExplorer) return [blockExplorer.url, ...Object.values(blockExplorers).map(x => x.url)];
443
- }
444
-
445
- isChainUnsupported(chainId) {
446
- return !this.chains.some(x => x.id === chainId);
447
- }
448
-
449
- }
450
-
451
- var _provider = /*#__PURE__*/new WeakMap();
452
-
453
- var _switchingChains = /*#__PURE__*/new WeakMap();
454
-
455
- class InjectedConnector extends Connector {
456
- constructor() {
457
- let {
458
- chains,
459
- options: options_
460
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
461
- const options = {
462
- shimDisconnect: true,
463
- shimChainChangedDisconnect: true,
464
- ...options_
465
- };
466
- super({
467
- chains,
468
- options
469
- });
470
-
471
- _defineProperty(this, "id", void 0);
472
-
473
- _defineProperty(this, "name", void 0);
474
-
475
- _defineProperty(this, "ready", typeof window != 'undefined' && !!window.ethereum);
476
-
477
- _classPrivateFieldInitSpec(this, _provider, {
478
- writable: true,
479
- value: void 0
480
- });
481
-
482
- _classPrivateFieldInitSpec(this, _switchingChains, {
483
- writable: true,
484
- value: void 0
485
- });
486
-
487
- _defineProperty(this, "shimDisconnectKey", 'injected.shimDisconnect');
488
-
489
- _defineProperty(this, "onAccountsChanged", accounts => {
490
- if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
491
- account: utils.getAddress(accounts[0])
492
- });
493
- });
494
-
495
- _defineProperty(this, "onChainChanged", chainId => {
496
- const id = normalizeChainId(chainId);
497
- const unsupported = this.isChainUnsupported(id);
498
- this.emit('change', {
499
- chain: {
500
- id,
501
- unsupported
502
- }
503
- });
504
- });
505
-
506
- _defineProperty(this, "onDisconnect", () => {
507
- var _this$options, _this$options2, _getClient$storage;
508
-
509
- // We need this as MetaMask can emit the "disconnect" event
510
- // upon switching chains. This workaround ensures that the
511
- // user currently isn't in the process of switching chains.
512
- if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.shimChainChangedDisconnect && _classPrivateFieldGet(this, _switchingChains)) {
513
- _classPrivateFieldSet(this, _switchingChains, false);
514
-
515
- return;
516
- }
517
-
518
- this.emit('disconnect'); // Remove shim signalling wallet is disconnected
519
-
520
- if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.shimDisconnect) (_getClient$storage = getClient().storage) === null || _getClient$storage === void 0 ? void 0 : _getClient$storage.removeItem(this.shimDisconnectKey);
521
- });
522
-
523
- let name = 'Injected';
524
- const overrideName = options.name;
525
- if (typeof overrideName === 'string') name = overrideName;else if (typeof window !== 'undefined') {
526
- const detectedName = getInjectedName(window.ethereum);
527
- if (overrideName) name = overrideName(detectedName);else name = typeof detectedName === 'string' ? detectedName : detectedName[0];
528
- }
529
- this.id = 'injected';
530
- this.name = name;
531
- }
532
-
533
- async connect() {
534
- let {
535
- chainId
536
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
537
-
538
- try {
539
- var _this$options3, _getClient$storage2;
540
-
541
- const provider = await this.getProvider();
542
- if (!provider) throw new ConnectorNotFoundError();
543
-
544
- if (provider.on) {
545
- provider.on('accountsChanged', this.onAccountsChanged);
546
- provider.on('chainChanged', this.onChainChanged);
547
- provider.on('disconnect', this.onDisconnect);
548
- }
549
-
550
- this.emit('message', {
551
- type: 'connecting'
552
- });
553
- const account = await this.getAccount(); // Switch to chain if provided
554
-
555
- let id = await this.getChainId();
556
- let unsupported = this.isChainUnsupported(id);
557
-
558
- if (chainId && id !== chainId) {
559
- const chain = await this.switchChain(chainId);
560
- id = chain.id;
561
- unsupported = this.isChainUnsupported(id);
562
- } // Add shim to storage signalling wallet is connected
563
-
564
-
565
- if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.shimDisconnect) (_getClient$storage2 = getClient().storage) === null || _getClient$storage2 === void 0 ? void 0 : _getClient$storage2.setItem(this.shimDisconnectKey, true);
566
- return {
567
- account,
568
- chain: {
569
- id,
570
- unsupported
571
- },
572
- provider
573
- };
574
- } catch (error) {
575
- if (this.isUserRejectedRequestError(error)) throw new UserRejectedRequestError(error);
576
- if (error.code === -32002) throw new ResourceUnavailableError(error);
577
- throw error;
578
- }
579
- }
580
-
581
- async disconnect() {
582
- var _this$options4, _getClient$storage3;
583
-
584
- const provider = await this.getProvider();
585
- if (!(provider !== null && provider !== void 0 && provider.removeListener)) return;
586
- provider.removeListener('accountsChanged', this.onAccountsChanged);
587
- provider.removeListener('chainChanged', this.onChainChanged);
588
- provider.removeListener('disconnect', this.onDisconnect); // Remove shim signalling wallet is disconnected
589
-
590
- if ((_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.shimDisconnect) (_getClient$storage3 = getClient().storage) === null || _getClient$storage3 === void 0 ? void 0 : _getClient$storage3.removeItem(this.shimDisconnectKey);
591
- }
592
-
593
- async getAccount() {
594
- const provider = await this.getProvider();
595
- if (!provider) throw new ConnectorNotFoundError();
596
- const accounts = await provider.request({
597
- method: 'eth_requestAccounts'
598
- }); // return checksum address
599
-
600
- return utils.getAddress(accounts[0]);
601
- }
602
-
603
- async getChainId() {
604
- const provider = await this.getProvider();
605
- if (!provider) throw new ConnectorNotFoundError();
606
- return provider.request({
607
- method: 'eth_chainId'
608
- }).then(normalizeChainId);
609
- }
610
-
611
- async getProvider() {
612
- if (typeof window !== 'undefined' && !!window.ethereum) _classPrivateFieldSet(this, _provider, window.ethereum);
613
- return _classPrivateFieldGet(this, _provider);
614
- }
615
-
616
- async getSigner() {
617
- let {
618
- chainId
619
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
620
- const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
621
- return new ethers.providers.Web3Provider(provider, chainId).getSigner(account);
622
- }
623
-
624
- async isAuthorized() {
625
- try {
626
- var _this$options5, _getClient$storage4;
627
-
628
- if ((_this$options5 = this.options) !== null && _this$options5 !== void 0 && _this$options5.shimDisconnect && // If shim does not exist in storage, wallet is disconnected
629
- !((_getClient$storage4 = getClient().storage) !== null && _getClient$storage4 !== void 0 && _getClient$storage4.getItem(this.shimDisconnectKey))) return false;
630
- const provider = await this.getProvider();
631
- if (!provider) throw new ConnectorNotFoundError();
632
- const accounts = await provider.request({
633
- method: 'eth_accounts'
634
- });
635
- const account = accounts[0];
636
- return !!account;
637
- } catch {
638
- return false;
639
- }
640
- }
641
-
642
- async switchChain(chainId) {
643
- var _this$options6;
644
-
645
- if ((_this$options6 = this.options) !== null && _this$options6 !== void 0 && _this$options6.shimChainChangedDisconnect) _classPrivateFieldSet(this, _switchingChains, true);
646
- const provider = await this.getProvider();
647
- if (!provider) throw new ConnectorNotFoundError();
648
- const id = utils.hexValue(chainId);
649
-
650
- try {
651
- await provider.request({
652
- method: 'wallet_switchEthereumChain',
653
- params: [{
654
- chainId: id
655
- }]
656
- });
657
- return this.chains.find(x => x.id === chainId) ?? {
658
- id: chainId,
659
- name: `Chain ${id}`,
660
- network: `${id}`,
661
- rpcUrls: {
662
- default: ''
663
- }
664
- };
665
- } catch (error) {
666
- var _data, _data$originalError;
667
-
668
- const chain = this.chains.find(x => x.id === chainId);
669
- if (!chain) throw new ChainNotConfiguredError({
670
- chainId,
671
- connectorId: this.id
672
- }); // Indicates chain is not added to provider
673
-
674
- if (error.code === 4902 || // Unwrapping for MetaMask Mobile
675
- // https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
676
- (error === null || error === void 0 ? void 0 : (_data = error.data) === null || _data === void 0 ? void 0 : (_data$originalError = _data.originalError) === null || _data$originalError === void 0 ? void 0 : _data$originalError.code) === 4902) {
677
- try {
678
- await provider.request({
679
- method: 'wallet_addEthereumChain',
680
- params: [{
681
- chainId: id,
682
- chainName: chain.name,
683
- nativeCurrency: chain.nativeCurrency,
684
- rpcUrls: [chain.rpcUrls.public ?? chain.rpcUrls.default],
685
- blockExplorerUrls: this.getBlockExplorerUrls(chain)
686
- }]
687
- });
688
- return chain;
689
- } catch (addError) {
690
- if (this.isUserRejectedRequestError(addError)) throw new UserRejectedRequestError(error);
691
- throw new AddChainError();
692
- }
693
- }
694
-
695
- if (this.isUserRejectedRequestError(error)) throw new UserRejectedRequestError(error);
696
- throw new SwitchChainError(error);
697
- }
698
- }
699
-
700
- async watchAsset(_ref) {
701
- let {
702
- address,
703
- decimals = 18,
704
- image,
705
- symbol
706
- } = _ref;
707
- const provider = await this.getProvider();
708
- if (!provider) throw new ConnectorNotFoundError();
709
- return provider.request({
710
- method: 'wallet_watchAsset',
711
- params: {
712
- type: 'ERC20',
713
- options: {
714
- address,
715
- decimals,
716
- image,
717
- symbol
718
- }
719
- }
720
- });
721
- }
722
-
723
- isUserRejectedRequestError(error) {
724
- return error.code === 4001;
725
- }
726
-
727
- }
728
-
729
- const noopStorage = {
730
- getItem: _key => '',
731
- setItem: (_key, _value) => null,
732
- removeItem: _key => null
733
- };
734
- function createStorage(_ref) {
735
- let {
736
- storage,
737
- key: prefix = 'wagmi'
738
- } = _ref;
739
- return { ...storage,
740
- getItem: function (key) {
741
- let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
742
- const value = storage.getItem(`${prefix}.${key}`);
743
-
744
- try {
745
- return value ? JSON.parse(value) : defaultState;
746
- } catch (error) {
747
- console.warn(error);
748
- return defaultState;
749
- }
750
- },
751
- setItem: (key, value) => {
752
- if (value === null) {
753
- storage.removeItem(`${prefix}.${key}`);
754
- } else {
755
- try {
756
- storage.setItem(`${prefix}.${key}`, JSON.stringify(value));
757
- } catch (err) {
758
- console.error(err);
759
- }
760
- }
761
- },
762
- removeItem: key => storage.removeItem(`${prefix}.${key}`)
763
- };
764
- }
765
-
766
- const storeKey = 'store';
767
-
768
- var _isAutoConnecting = /*#__PURE__*/new WeakMap();
769
-
770
- var _lastUsedConnector = /*#__PURE__*/new WeakMap();
771
-
772
- var _addEffects = /*#__PURE__*/new WeakSet();
773
-
774
- class Client {
775
- constructor(_ref) {
776
- let {
777
- autoConnect = false,
778
- connectors = [new InjectedConnector()],
779
- provider: _provider,
780
- storage = createStorage({
781
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
782
- }),
783
- logger = {
784
- warn: console.warn
785
- },
786
- webSocketProvider: _webSocketProvider
787
- } = _ref;
788
-
789
- _classPrivateMethodInitSpec(this, _addEffects);
790
-
791
- _defineProperty(this, "config", void 0);
792
-
793
- _defineProperty(this, "providers", new Map());
794
-
795
- _defineProperty(this, "storage", void 0);
796
-
797
- _defineProperty(this, "store", void 0);
798
-
799
- _defineProperty(this, "webSocketProviders", new Map());
800
-
801
- _classPrivateFieldInitSpec(this, _isAutoConnecting, {
802
- writable: true,
803
- value: void 0
804
- });
805
-
806
- _classPrivateFieldInitSpec(this, _lastUsedConnector, {
807
- writable: true,
808
- value: void 0
809
- });
810
-
811
- this.config = {
812
- autoConnect,
813
- connectors,
814
- logger,
815
- provider: _provider,
816
- storage,
817
- webSocketProvider: _webSocketProvider
818
- }; // Check status for autoConnect flag
819
-
820
- let status = 'disconnected';
821
-
822
- let _chainId;
823
-
824
- if (autoConnect) {
825
- try {
826
- var _JSON$parse, _JSON$parse$state, _data$chain;
827
-
828
- const rawState = storage.getItem(storeKey, '');
829
- const data = (_JSON$parse = JSON.parse(rawState || '{}')) === null || _JSON$parse === void 0 ? void 0 : (_JSON$parse$state = _JSON$parse.state) === null || _JSON$parse$state === void 0 ? void 0 : _JSON$parse$state.data; // If account exists in localStorage, set status to reconnecting
830
-
831
- status = data !== null && data !== void 0 && data.account ? 'reconnecting' : 'connecting';
832
- _chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id; // eslint-disable-next-line no-empty
833
- } catch (_error) {}
834
- } // Create store
835
-
836
-
837
- this.store = create__default["default"](middleware.subscribeWithSelector(middleware.persist(() => ({
838
- connectors: typeof connectors === 'function' ? connectors() : connectors,
839
- provider: this.getProvider({
840
- chainId: _chainId
841
- }),
842
- status,
843
- webSocketProvider: this.getWebSocketProvider({
844
- chainId: _chainId
845
- })
846
- }), {
847
- name: storeKey,
848
- getStorage: () => storage,
849
- partialize: state => {
850
- var _state$data, _state$data2;
851
-
852
- return { ...(autoConnect && {
853
- data: {
854
- account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
855
- chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
856
- }
857
- }),
858
- chains: state === null || state === void 0 ? void 0 : state.chains
859
- };
860
- },
861
- version: 1
862
- })));
863
- this.storage = storage;
864
-
865
- _classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
866
-
867
- _classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
868
-
869
- if (autoConnect && typeof window !== 'undefined') setTimeout(async () => await this.autoConnect(), 0);
870
- }
871
-
872
- get chains() {
873
- return this.store.getState().chains;
874
- }
875
-
876
- get connectors() {
877
- return this.store.getState().connectors;
878
- }
879
-
880
- get connector() {
881
- return this.store.getState().connector;
882
- }
883
-
884
- get data() {
885
- return this.store.getState().data;
886
- }
887
-
888
- get error() {
889
- return this.store.getState().error;
890
- }
891
-
892
- get lastUsedChainId() {
893
- var _this$data, _this$data$chain;
894
-
895
- return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : (_this$data$chain = _this$data.chain) === null || _this$data$chain === void 0 ? void 0 : _this$data$chain.id;
896
- }
897
-
898
- get provider() {
899
- return this.store.getState().provider;
900
- }
901
-
902
- get status() {
903
- return this.store.getState().status;
904
- }
905
-
906
- get subscribe() {
907
- return this.store.subscribe;
908
- }
909
-
910
- get webSocketProvider() {
911
- return this.store.getState().webSocketProvider;
912
- }
913
-
914
- setState(updater) {
915
- const newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
916
- this.store.setState(newState, true);
917
- }
918
-
919
- clearState() {
920
- this.setState(x => ({ ...x,
921
- chains: undefined,
922
- connector: undefined,
923
- data: undefined,
924
- error: undefined,
925
- status: 'disconnected'
926
- }));
927
- }
928
-
929
- async destroy() {
930
- var _this$connector$disco, _this$connector;
931
-
932
- if (this.connector) await ((_this$connector$disco = (_this$connector = this.connector).disconnect) === null || _this$connector$disco === void 0 ? void 0 : _this$connector$disco.call(_this$connector));
933
-
934
- _classPrivateFieldSet(this, _isAutoConnecting, false);
935
-
936
- this.clearState();
937
- this.store.destroy();
938
- }
939
-
940
- async autoConnect() {
941
- if (_classPrivateFieldGet(this, _isAutoConnecting)) return;
942
-
943
- _classPrivateFieldSet(this, _isAutoConnecting, true);
944
-
945
- this.setState(x => {
946
- var _x$data;
947
-
948
- return { ...x,
949
- status: (_x$data = x.data) !== null && _x$data !== void 0 && _x$data.account ? 'reconnecting' : 'connecting'
950
- };
951
- }); // Try last used connector first
952
-
953
- const sorted = _classPrivateFieldGet(this, _lastUsedConnector) ? [...this.connectors].sort(x => x.id === _classPrivateFieldGet(this, _lastUsedConnector) ? -1 : 1) : this.connectors;
954
- let connected = false;
955
-
956
- for (const connector of sorted) {
957
- if (!connector.ready || !connector.isAuthorized) continue;
958
- const isAuthorized = await connector.isAuthorized();
959
- if (!isAuthorized) continue;
960
- const data = await connector.connect();
961
- this.setState(x => ({ ...x,
962
- connector,
963
- chains: connector === null || connector === void 0 ? void 0 : connector.chains,
964
- data,
965
- status: 'connected'
966
- }));
967
- connected = true;
968
- break;
969
- } // If connecting didn't succeed, set to disconnected
970
-
971
-
972
- if (!connected) this.setState(x => ({ ...x,
973
- data: undefined,
974
- status: 'disconnected'
975
- }));
976
-
977
- _classPrivateFieldSet(this, _isAutoConnecting, false);
978
-
979
- return this.data;
980
- }
981
-
982
- getProvider() {
983
- let {
984
- bust,
985
- chainId
986
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
987
- let provider_ = this.providers.get(chainId ?? -1);
988
- if (provider_ && !bust) return provider_;
989
- const {
990
- provider
991
- } = this.config;
992
- provider_ = typeof provider === 'function' ? provider({
993
- chainId
994
- }) : provider;
995
- this.providers.set(chainId ?? -1, provider_);
996
- return provider_;
997
- }
998
-
999
- getWebSocketProvider() {
1000
- let {
1001
- bust,
1002
- chainId
1003
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1004
- let webSocketProvider_ = this.webSocketProviders.get(chainId ?? -1);
1005
- if (webSocketProvider_ && !bust) return webSocketProvider_;
1006
- const {
1007
- webSocketProvider
1008
- } = this.config;
1009
- webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
1010
- chainId
1011
- }) : webSocketProvider;
1012
- if (webSocketProvider_) this.webSocketProviders.set(chainId ?? -1, webSocketProvider_);
1013
- return webSocketProvider_;
1014
- }
1015
-
1016
- setLastUsedConnector() {
1017
- var _this$storage;
1018
-
1019
- let lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1020
- (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.setItem('wallet', lastUsedConnector);
1021
- }
1022
-
1023
- }
1024
-
1025
- function _addEffects2() {
1026
- const onChange = data => {
1027
- this.setState(x => ({ ...x,
1028
- data: { ...x.data,
1029
- ...data
1030
- }
1031
- }));
1032
- };
1033
-
1034
- const onDisconnect = () => {
1035
- this.clearState();
1036
- };
1037
-
1038
- const onError = error => {
1039
- this.setState(x => ({ ...x,
1040
- error
1041
- }));
1042
- };
1043
-
1044
- this.store.subscribe(_ref2 => {
1045
- let {
1046
- connector
1047
- } = _ref2;
1048
- return connector;
1049
- }, (connector, prevConnector) => {
1050
- var _prevConnector$off, _prevConnector$off2, _prevConnector$off3, _connector$on, _connector$on2, _connector$on3;
1051
-
1052
- prevConnector === null || prevConnector === void 0 ? void 0 : (_prevConnector$off = prevConnector.off) === null || _prevConnector$off === void 0 ? void 0 : _prevConnector$off.call(prevConnector, 'change', onChange);
1053
- prevConnector === null || prevConnector === void 0 ? void 0 : (_prevConnector$off2 = prevConnector.off) === null || _prevConnector$off2 === void 0 ? void 0 : _prevConnector$off2.call(prevConnector, 'disconnect', onDisconnect);
1054
- prevConnector === null || prevConnector === void 0 ? void 0 : (_prevConnector$off3 = prevConnector.off) === null || _prevConnector$off3 === void 0 ? void 0 : _prevConnector$off3.call(prevConnector, 'error', onError);
1055
- if (!connector) return;
1056
- (_connector$on = connector.on) === null || _connector$on === void 0 ? void 0 : _connector$on.call(connector, 'change', onChange);
1057
- (_connector$on2 = connector.on) === null || _connector$on2 === void 0 ? void 0 : _connector$on2.call(connector, 'disconnect', onDisconnect);
1058
- (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
1059
- });
1060
- const {
1061
- provider,
1062
- webSocketProvider
1063
- } = this.config;
1064
- const subscribeProvider = typeof provider === 'function';
1065
- const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
1066
- if (subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref3 => {
1067
- var _data$chain2;
1068
-
1069
- let {
1070
- data
1071
- } = _ref3;
1072
- return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
1073
- }, chainId => {
1074
- this.setState(x => ({ ...x,
1075
- provider: this.getProvider({
1076
- bust: true,
1077
- chainId
1078
- }),
1079
- webSocketProvider: this.getWebSocketProvider({
1080
- bust: true,
1081
- chainId
1082
- })
1083
- }));
1084
- });
1085
- }
1086
-
1087
- let client;
1088
- function createClient(config) {
1089
- const client_ = new Client(config);
1090
- client = client_;
1091
- return client_;
1092
- }
1093
- function getClient() {
1094
- if (!client) {
1095
- throw new Error('No wagmi client found. Ensure you have set up a client: https://wagmi.sh/docs/client');
1096
- }
1097
-
1098
- return client;
1099
- }
1100
-
1101
- function getProvider() {
1102
- let {
1103
- chainId
1104
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1105
- const client = getClient();
1106
- if (chainId) return client.getProvider({
1107
- chainId
1108
- }) || client.provider;
1109
- return client.provider;
1110
- }
1111
-
1112
- exports.AddChainError = AddChainError;
1113
- exports.ChainDoesNotSupportMulticallError = ChainDoesNotSupportMulticallError;
1114
- exports.ChainMismatchError = ChainMismatchError;
1115
- exports.ChainNotConfiguredError = ChainNotConfiguredError;
1116
- exports.Client = Client;
1117
- exports.Connector = Connector;
1118
- exports.ConnectorAlreadyConnectedError = ConnectorAlreadyConnectedError;
1119
- exports.ConnectorNotFoundError = ConnectorNotFoundError;
1120
- exports.ContractMethodDoesNotExistError = ContractMethodDoesNotExistError;
1121
- exports.ContractMethodNoResultError = ContractMethodNoResultError;
1122
- exports.ContractMethodRevertedError = ContractMethodRevertedError;
1123
- exports.ContractResultDecodeError = ContractResultDecodeError;
1124
- exports.InjectedConnector = InjectedConnector;
1125
- exports.ProviderChainsNotFound = ProviderChainsNotFound;
1126
- exports.ProviderRpcError = ProviderRpcError;
1127
- exports.ResourceUnavailableError = ResourceUnavailableError;
1128
- exports.RpcError = RpcError;
1129
- exports.SwitchChainError = SwitchChainError;
1130
- exports.SwitchChainNotSupportedError = SwitchChainNotSupportedError;
1131
- exports.UserRejectedRequestError = UserRejectedRequestError;
1132
- exports._classPrivateFieldGet = _classPrivateFieldGet;
1133
- exports._classPrivateFieldInitSpec = _classPrivateFieldInitSpec;
1134
- exports._classPrivateFieldSet = _classPrivateFieldSet;
1135
- exports._classPrivateMethodGet = _classPrivateMethodGet;
1136
- exports._classPrivateMethodInitSpec = _classPrivateMethodInitSpec;
1137
- exports._defineProperty = _defineProperty;
1138
- exports.createClient = createClient;
1139
- exports.createStorage = createStorage;
1140
- exports.getClient = getClient;
1141
- exports.getProvider = getProvider;
1142
- exports.noopStorage = noopStorage;
1143
- exports.normalizeChainId = normalizeChainId;