@wagmi/core 0.2.0-next.1 → 0.2.0-next.10

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 (47) hide show
  1. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +135 -151
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +135 -151
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +136 -152
  4. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +96 -153
  5. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +96 -153
  6. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +96 -153
  7. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +91 -124
  8. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +91 -124
  9. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +91 -124
  10. package/dist/base-37097073.esm.js +516 -0
  11. package/dist/base-85d1eb89.cjs.dev.js +543 -0
  12. package/dist/base-d3563329.cjs.prod.js +543 -0
  13. package/dist/{classPrivateMethodGet-38b54c7a.cjs.dev.js → classPrivateMethodGet-3f47cf74.cjs.dev.js} +1 -1
  14. package/dist/{classPrivateMethodGet-0e9a7925.cjs.prod.js → classPrivateMethodGet-a763c0df.cjs.prod.js} +1 -1
  15. package/dist/{classPrivateMethodGet-c9db96d6.esm.js → classPrivateMethodGet-b3ba7c1d.esm.js} +1 -1
  16. package/dist/declarations/src/actions/accounts/connect.d.ts +14 -5
  17. package/dist/declarations/src/actions/accounts/getAccount.d.ts +5 -4
  18. package/dist/declarations/src/actions/accounts/index.d.ts +1 -1
  19. package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +1 -1
  20. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +3 -2
  21. package/dist/declarations/src/actions/index.d.ts +1 -1
  22. package/dist/declarations/src/actions/providers/getProvider.d.ts +2 -2
  23. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +2 -2
  24. package/dist/declarations/src/actions/providers/watchProvider.d.ts +3 -2
  25. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +3 -2
  26. package/dist/declarations/src/client.d.ts +26 -23
  27. package/dist/declarations/src/connectors/base.d.ts +7 -1
  28. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +9 -0
  29. package/dist/declarations/src/constants/abis.d.ts +2 -0
  30. package/dist/declarations/src/constants/blockExplorers.d.ts +9 -0
  31. package/dist/declarations/src/constants/chains.d.ts +17 -6
  32. package/dist/declarations/src/constants/index.d.ts +6 -2
  33. package/dist/declarations/src/constants/keys.d.ts +2 -0
  34. package/dist/declarations/src/constants/rpcs.d.ts +7 -0
  35. package/dist/declarations/src/index.d.ts +8 -5
  36. package/dist/declarations/src/types/index.d.ts +10 -5
  37. package/dist/wagmi-core.cjs.dev.js +577 -1067
  38. package/dist/wagmi-core.cjs.prod.js +577 -1067
  39. package/dist/wagmi-core.esm.js +574 -1068
  40. package/package.json +2 -3
  41. package/dist/base-09a653f3.cjs.dev.js +0 -453
  42. package/dist/base-824c3b6d.esm.js +0 -430
  43. package/dist/base-d8123d5f.cjs.prod.js +0 -453
  44. package/dist/declarations/src/constants/abis/erc1155.d.ts +0 -17
  45. package/dist/declarations/src/constants/abis/erc20.d.ts +0 -38
  46. package/dist/declarations/src/constants/abis/erc721.d.ts +0 -15
  47. package/dist/declarations/src/constants/abis/index.d.ts +0 -3
@@ -1,6 +1,6 @@
1
- import { _ as _defineProperty, C as Connector, a as _classPrivateFieldInitSpec, n as normalizeChainId, b as _asyncToGenerator, c as ConnectorNotFoundError, U as UserRejectedRequestError, d as _classPrivateFieldSet, e as _classPrivateFieldGet, f as allChains, g as ChainNotConfiguredError, A as AddChainError, S as SwitchChainError, h as ConnectorAlreadyConnectedError, i as SwitchChainNotSupportedError } from './base-824c3b6d.esm.js';
2
- export { A as AddChainError, g as ChainNotConfiguredError, C as Connector, h as ConnectorAlreadyConnectedError, c as ConnectorNotFoundError, S as SwitchChainError, i as SwitchChainNotSupportedError, U as UserRejectedRequestError, f as allChains, j as chain, k as defaultChains, n as normalizeChainId } from './base-824c3b6d.esm.js';
3
- import { _ as _classPrivateMethodInitSpec, a as _classPrivateMethodGet } from './classPrivateMethodGet-c9db96d6.esm.js';
1
+ import { _ as _classPrivateMethodInitSpec, a as _classPrivateMethodGet } from './classPrivateMethodGet-b3ba7c1d.esm.js';
2
+ import { C as Connector, _ as _defineProperty, a as _classPrivateFieldInitSpec, n as normalizeChainId, b as ConnectorNotFoundError, U as UserRejectedRequestError, c as _classPrivateFieldSet, d as _classPrivateFieldGet, e as allChains, f as ChainNotConfiguredError, A as AddChainError, S as SwitchChainError, g as ConnectorAlreadyConnectedError, h as SwitchChainNotSupportedError } from './base-37097073.esm.js';
3
+ export { A as AddChainError, f as ChainNotConfiguredError, C as Connector, g as ConnectorAlreadyConnectedError, b as ConnectorNotFoundError, S as SwitchChainError, h as SwitchChainNotSupportedError, U as UserRejectedRequestError, i as alchemyRpcUrls, e as allChains, j as chain, k as chainId, l as defaultChains, m as defaultL2Chains, o as etherscanBlockExplorers, p as infuraRpcUrls, n as normalizeChainId } from './base-37097073.esm.js';
4
4
  import { providers, getDefaultProvider } from 'ethers';
5
5
  import create from 'zustand/vanilla';
6
6
  import { subscribeWithSelector, persist } from 'zustand/middleware';
@@ -8,271 +8,13 @@ import { getAddress, hexValue, formatUnits } from 'ethers/lib/utils';
8
8
  import { Contract } from 'ethers/lib/ethers';
9
9
  import 'eventemitter3';
10
10
 
11
- function ownKeys(object, enumerableOnly) {
12
- var keys = Object.keys(object);
11
+ // https://ethereum.org/en/developers/docs/standards/tokens/erc-20
12
+ const erc20ABI = ['event Approval(address indexed _owner, address indexed _spender, uint256 _value)', 'event Transfer(address indexed _from, address indexed _to, uint256 _value)', 'function allowance(address _owner, address _spender) public view returns (uint256 remaining)', 'function approve(address _spender, uint256 _value) public returns (bool success)', 'function balanceOf(address _owner) public view returns (uint256 balance)', 'function decimals() public view returns (uint8)', 'function name() public view returns (string)', 'function symbol() public view returns (string)', 'function totalSupply() public view returns (uint256)', 'function transfer(address _to, uint256 _value) public returns (bool success)', 'function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)']; // https://ethereum.org/en/developers/docs/standards/tokens/erc-721
13
13
 
14
- if (Object.getOwnPropertySymbols) {
15
- var symbols = Object.getOwnPropertySymbols(object);
16
- enumerableOnly && (symbols = symbols.filter(function (sym) {
17
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
18
- })), keys.push.apply(keys, symbols);
19
- }
20
-
21
- return keys;
22
- }
23
-
24
- function _objectSpread2(target) {
25
- for (var i = 1; i < arguments.length; i++) {
26
- var source = null != arguments[i] ? arguments[i] : {};
27
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
28
- _defineProperty(target, key, source[key]);
29
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
30
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
31
- });
32
- }
33
-
34
- return target;
35
- }
36
-
37
- var erc1155ABI = [{
38
- constant: true,
39
- inputs: [{
40
- internalType: 'address',
41
- name: '_owner',
42
- type: 'address'
43
- }, {
44
- internalType: 'uint256',
45
- name: '_id',
46
- type: 'uint256'
47
- }],
48
- name: 'balanceOf',
49
- outputs: [{
50
- internalType: 'uint256',
51
- name: '',
52
- type: 'uint256'
53
- }],
54
- payable: false,
55
- stateMutability: 'view',
56
- type: 'function'
57
- }, {
58
- constant: true,
59
- inputs: [{
60
- internalType: 'uint256',
61
- name: '_id',
62
- type: 'uint256'
63
- }],
64
- name: 'uri',
65
- outputs: [{
66
- internalType: 'string',
67
- name: '',
68
- type: 'string'
69
- }],
70
- payable: false,
71
- stateMutability: 'view',
72
- type: 'function'
73
- }];
74
-
75
- var erc20ABI = [{
76
- constant: true,
77
- inputs: [],
78
- name: 'name',
79
- outputs: [{
80
- name: '',
81
- type: 'string'
82
- }],
83
- payable: false,
84
- stateMutability: 'view',
85
- type: 'function'
86
- }, {
87
- constant: false,
88
- inputs: [{
89
- name: '_spender',
90
- type: 'address'
91
- }, {
92
- name: '_value',
93
- type: 'uint256'
94
- }],
95
- name: 'approve',
96
- outputs: [{
97
- name: '',
98
- type: 'bool'
99
- }],
100
- payable: false,
101
- stateMutability: 'nonpayable',
102
- type: 'function'
103
- }, {
104
- constant: true,
105
- inputs: [],
106
- name: 'totalSupply',
107
- outputs: [{
108
- name: '',
109
- type: 'uint256'
110
- }],
111
- payable: false,
112
- stateMutability: 'view',
113
- type: 'function'
114
- }, {
115
- constant: false,
116
- inputs: [{
117
- name: '_from',
118
- type: 'address'
119
- }, {
120
- name: '_to',
121
- type: 'address'
122
- }, {
123
- name: '_value',
124
- type: 'uint256'
125
- }],
126
- name: 'transferFrom',
127
- outputs: [{
128
- name: '',
129
- type: 'bool'
130
- }],
131
- payable: false,
132
- stateMutability: 'nonpayable',
133
- type: 'function'
134
- }, {
135
- constant: true,
136
- inputs: [],
137
- name: 'decimals',
138
- outputs: [{
139
- name: '',
140
- type: 'uint8'
141
- }],
142
- payable: false,
143
- stateMutability: 'view',
144
- type: 'function'
145
- }, {
146
- constant: true,
147
- inputs: [{
148
- name: '_owner',
149
- type: 'address'
150
- }],
151
- name: 'balanceOf',
152
- outputs: [{
153
- name: 'balance',
154
- type: 'uint256'
155
- }],
156
- payable: false,
157
- stateMutability: 'view',
158
- type: 'function'
159
- }, {
160
- constant: true,
161
- inputs: [],
162
- name: 'symbol',
163
- outputs: [{
164
- name: '',
165
- type: 'string'
166
- }],
167
- payable: false,
168
- stateMutability: 'view',
169
- type: 'function'
170
- }, {
171
- constant: false,
172
- inputs: [{
173
- name: '_to',
174
- type: 'address'
175
- }, {
176
- name: '_value',
177
- type: 'uint256'
178
- }],
179
- name: 'transfer',
180
- outputs: [{
181
- name: '',
182
- type: 'bool'
183
- }],
184
- payable: false,
185
- stateMutability: 'nonpayable',
186
- type: 'function'
187
- }, {
188
- constant: true,
189
- inputs: [{
190
- name: '_owner',
191
- type: 'address'
192
- }, {
193
- name: '_spender',
194
- type: 'address'
195
- }],
196
- name: 'allowance',
197
- outputs: [{
198
- name: '',
199
- type: 'uint256'
200
- }],
201
- payable: false,
202
- stateMutability: 'view',
203
- type: 'function'
204
- }, {
205
- payable: true,
206
- stateMutability: 'payable',
207
- type: 'fallback'
208
- }, {
209
- anonymous: false,
210
- inputs: [{
211
- indexed: true,
212
- name: 'owner',
213
- type: 'address'
214
- }, {
215
- indexed: true,
216
- name: 'spender',
217
- type: 'address'
218
- }, {
219
- indexed: false,
220
- name: 'value',
221
- type: 'uint256'
222
- }],
223
- name: 'Approval',
224
- type: 'event'
225
- }, {
226
- anonymous: false,
227
- inputs: [{
228
- indexed: true,
229
- name: 'from',
230
- type: 'address'
231
- }, {
232
- indexed: true,
233
- name: 'to',
234
- type: 'address'
235
- }, {
236
- indexed: false,
237
- name: 'value',
238
- type: 'uint256'
239
- }],
240
- name: 'Transfer',
241
- type: 'event'
242
- }];
243
-
244
- var erc721ABI = [{
245
- inputs: [{
246
- internalType: 'uint256',
247
- name: 'tokenId',
248
- type: 'uint256'
249
- }],
250
- name: 'ownerOf',
251
- outputs: [{
252
- internalType: 'address',
253
- name: '',
254
- type: 'address'
255
- }],
256
- stateMutability: 'view',
257
- type: 'function'
258
- }, {
259
- inputs: [{
260
- internalType: 'uint256',
261
- name: 'tokenId',
262
- type: 'uint256'
263
- }],
264
- name: 'tokenURI',
265
- outputs: [{
266
- internalType: 'string',
267
- name: '',
268
- type: 'string'
269
- }],
270
- stateMutability: 'view',
271
- type: 'function'
272
- }];
14
+ const erc721ABI = ['event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);', 'event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);', 'event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);', 'function approve(address _approved, uint256 _tokenId) external payable;', 'function balanceOf(address _owner) external view returns (uint256);', 'function getApproved(uint256 _tokenId) external view returns (address);', 'function isApprovedForAll(address _owner, address _operator) external view returns (bool);', 'function name() view returns (string memory)', 'function ownerOf(uint256 _tokenId) external view returns (address);', 'function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;', 'function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;', 'function setApprovalForAll(address _operator, bool _approved) external;', 'function symbol() view returns (string memory)', 'function tokenByIndex(uint256 _index) view returns (uint256)', 'function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns (uint256 tokenId)', 'function tokenURI(uint256 _tokenId) view returns (string memory)', 'function totalSupply() view returns (uint256)', 'function transferFrom(address _from, address _to, uint256 _tokenId) external payable;'];
273
15
 
274
16
  // https://github.com/ethers-io/ethers.js/blob/master/packages/units/src.ts/index.ts#L10-L18
275
- var units = ['wei', 'kwei', 'mwei', 'gwei', 'szabo', 'finney', 'ether'];
17
+ const units = ['wei', 'kwei', 'mwei', 'gwei', 'szabo', 'finney', 'ether'];
276
18
 
277
19
  function getInjectedName(ethereum) {
278
20
  if (!ethereum) return 'Injected';
@@ -283,17 +25,18 @@ function getInjectedName(ethereum) {
283
25
  return 'Injected';
284
26
  }
285
27
 
286
- var shimKey = 'injected.shimDisconnect';
28
+ const shimKey = 'injected.shimDisconnect';
287
29
 
288
30
  var _provider = /*#__PURE__*/new WeakMap();
289
31
 
290
32
  class InjectedConnector extends Connector {
291
33
  constructor(config) {
292
- super(_objectSpread2(_objectSpread2({}, config), {}, {
293
- options: _objectSpread2({
294
- shimDisconnect: true
295
- }, config === null || config === void 0 ? void 0 : config.options)
296
- }));
34
+ super({ ...config,
35
+ options: {
36
+ shimDisconnect: true,
37
+ ...(config === null || config === void 0 ? void 0 : config.options)
38
+ }
39
+ });
297
40
 
298
41
  _defineProperty(this, "id", 'injected');
299
42
 
@@ -313,8 +56,8 @@ class InjectedConnector extends Connector {
313
56
  });
314
57
 
315
58
  _defineProperty(this, "onChainChanged", chainId => {
316
- var id = normalizeChainId(chainId);
317
- var unsupported = this.isChainUnsupported(id);
59
+ const id = normalizeChainId(chainId);
60
+ const unsupported = this.isChainUnsupported(id);
318
61
  this.emit('change', {
319
62
  chain: {
320
63
  id,
@@ -330,224 +73,186 @@ class InjectedConnector extends Connector {
330
73
  if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.shimDisconnect) (_client$storage = client.storage) === null || _client$storage === void 0 ? void 0 : _client$storage.removeItem(shimKey);
331
74
  });
332
75
 
333
- var name = 'Injected';
76
+ let name = 'Injected';
334
77
  if (typeof window !== 'undefined') name = getInjectedName(window.ethereum);
335
78
  this.name = name;
336
79
  }
337
80
 
338
- connect() {
339
- var _this = this;
340
-
341
- return _asyncToGenerator(function* () {
342
- try {
343
- var _this$options2, _client$storage2;
344
-
345
- var provider = yield _this.getProvider();
346
- if (!provider) throw new ConnectorNotFoundError();
347
-
348
- if (provider.on) {
349
- provider.on('accountsChanged', _this.onAccountsChanged);
350
- provider.on('chainChanged', _this.onChainChanged);
351
- provider.on('disconnect', _this.onDisconnect);
352
- }
353
-
354
- var account = yield _this.getAccount();
355
- var id = yield _this.getChainId();
81
+ async connect() {
82
+ try {
83
+ var _this$options2, _client$storage2;
356
84
 
357
- var unsupported = _this.isChainUnsupported(id);
85
+ const provider = await this.getProvider();
86
+ if (!provider) throw new ConnectorNotFoundError();
358
87
 
359
- if ((_this$options2 = _this.options) !== null && _this$options2 !== void 0 && _this$options2.shimDisconnect) (_client$storage2 = client.storage) === null || _client$storage2 === void 0 ? void 0 : _client$storage2.setItem(shimKey, true);
360
- return {
361
- account,
362
- chain: {
363
- id,
364
- unsupported
365
- },
366
- provider
367
- };
368
- } catch (error) {
369
- if (error.code === 4001) throw new UserRejectedRequestError();
370
- throw error;
88
+ if (provider.on) {
89
+ provider.on('accountsChanged', this.onAccountsChanged);
90
+ provider.on('chainChanged', this.onChainChanged);
91
+ provider.on('disconnect', this.onDisconnect);
371
92
  }
372
- })();
373
- }
374
-
375
- disconnect() {
376
- var _this2 = this;
377
-
378
- return _asyncToGenerator(function* () {
379
- var _this2$options, _client$storage3;
380
93
 
381
- var provider = yield _this2.getProvider();
382
- if (!(provider !== null && provider !== void 0 && provider.removeListener)) return;
383
- provider.removeListener('accountsChanged', _this2.onAccountsChanged);
384
- provider.removeListener('chainChanged', _this2.onChainChanged);
385
- provider.removeListener('disconnect', _this2.onDisconnect);
386
- if ((_this2$options = _this2.options) !== null && _this2$options !== void 0 && _this2$options.shimDisconnect) (_client$storage3 = client.storage) === null || _client$storage3 === void 0 ? void 0 : _client$storage3.removeItem(shimKey);
387
- })();
94
+ this.emit('message', {
95
+ type: 'connecting'
96
+ });
97
+ const account = await this.getAccount();
98
+ const id = await this.getChainId();
99
+ const unsupported = this.isChainUnsupported(id);
100
+ if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.shimDisconnect) (_client$storage2 = client.storage) === null || _client$storage2 === void 0 ? void 0 : _client$storage2.setItem(shimKey, true);
101
+ return {
102
+ account,
103
+ chain: {
104
+ id,
105
+ unsupported
106
+ },
107
+ provider
108
+ };
109
+ } catch (error) {
110
+ if (error.code === 4001) throw new UserRejectedRequestError();
111
+ throw error;
112
+ }
388
113
  }
389
114
 
390
- getAccount() {
391
- var _this3 = this;
392
-
393
- return _asyncToGenerator(function* () {
394
- var provider = yield _this3.getProvider();
395
- if (!provider) throw new ConnectorNotFoundError();
396
- var accounts = yield provider.request({
397
- method: 'eth_requestAccounts'
398
- }); // return checksum address
115
+ async disconnect() {
116
+ var _this$options3, _client$storage3;
399
117
 
400
- return getAddress(accounts[0]);
401
- })();
118
+ const provider = await this.getProvider();
119
+ if (!(provider !== null && provider !== void 0 && provider.removeListener)) return;
120
+ provider.removeListener('accountsChanged', this.onAccountsChanged);
121
+ provider.removeListener('chainChanged', this.onChainChanged);
122
+ provider.removeListener('disconnect', this.onDisconnect);
123
+ if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.shimDisconnect) (_client$storage3 = client.storage) === null || _client$storage3 === void 0 ? void 0 : _client$storage3.removeItem(shimKey);
402
124
  }
403
125
 
404
- getChainId() {
405
- var _this4 = this;
126
+ async getAccount() {
127
+ const provider = await this.getProvider();
128
+ if (!provider) throw new ConnectorNotFoundError();
129
+ const accounts = await provider.request({
130
+ method: 'eth_requestAccounts'
131
+ }); // return checksum address
406
132
 
407
- return _asyncToGenerator(function* () {
408
- var provider = yield _this4.getProvider();
409
- if (!provider) throw new ConnectorNotFoundError();
410
- return yield provider.request({
411
- method: 'eth_chainId'
412
- }).then(normalizeChainId);
413
- })();
133
+ return getAddress(accounts[0]);
414
134
  }
415
135
 
416
- getProvider() {
417
- var _this5 = this;
418
-
419
- return _asyncToGenerator(function* () {
420
- if (typeof window !== 'undefined' && !!window.ethereum) _classPrivateFieldSet(_this5, _provider, window.ethereum);
421
- return _classPrivateFieldGet(_this5, _provider);
422
- })();
136
+ async getChainId() {
137
+ const provider = await this.getProvider();
138
+ if (!provider) throw new ConnectorNotFoundError();
139
+ return await provider.request({
140
+ method: 'eth_chainId'
141
+ }).then(normalizeChainId);
423
142
  }
424
143
 
425
- getSigner() {
426
- var _this6 = this;
427
-
428
- return _asyncToGenerator(function* () {
429
- var provider = _this6.getProvider();
144
+ async getProvider() {
145
+ if (typeof window !== 'undefined' && !!window.ethereum) _classPrivateFieldSet(this, _provider, window.ethereum);
146
+ return _classPrivateFieldGet(this, _provider);
147
+ }
430
148
 
431
- var account = yield _this6.getAccount();
432
- return new providers.Web3Provider(provider).getSigner(account);
433
- })();
149
+ async getSigner() {
150
+ const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
151
+ return new providers.Web3Provider(provider).getSigner(account);
434
152
  }
435
153
 
436
- isAuthorized() {
437
- var _this7 = this;
154
+ async isAuthorized() {
155
+ try {
156
+ var _this$options4, _client$storage4;
438
157
 
439
- return _asyncToGenerator(function* () {
440
- try {
441
- var _this7$options, _client$storage4;
442
-
443
- if ((_this7$options = _this7.options) !== null && _this7$options !== void 0 && _this7$options.shimDisconnect && !((_client$storage4 = client.storage) !== null && _client$storage4 !== void 0 && _client$storage4.getItem(shimKey))) return false;
444
- var provider = yield _this7.getProvider();
445
- if (!provider) throw new ConnectorNotFoundError();
446
- var accounts = yield provider.request({
447
- method: 'eth_accounts'
448
- });
449
- var account = accounts[0];
450
- return !!account;
451
- } catch (_unused) {
452
- return false;
453
- }
454
- })();
158
+ if ((_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.shimDisconnect && !((_client$storage4 = client.storage) !== null && _client$storage4 !== void 0 && _client$storage4.getItem(shimKey))) return false;
159
+ const provider = await this.getProvider();
160
+ if (!provider) throw new ConnectorNotFoundError();
161
+ const accounts = await provider.request({
162
+ method: 'eth_accounts'
163
+ });
164
+ const account = accounts[0];
165
+ return !!account;
166
+ } catch {
167
+ return false;
168
+ }
455
169
  }
456
170
 
457
- switchChain(chainId) {
458
- var _this8 = this;
171
+ async switchChain(chainId) {
172
+ const provider = await this.getProvider();
173
+ if (!provider) throw new ConnectorNotFoundError();
174
+ const id = hexValue(chainId);
459
175
 
460
- return _asyncToGenerator(function* () {
461
- var provider = yield _this8.getProvider();
462
- if (!provider) throw new ConnectorNotFoundError();
463
- var id = hexValue(chainId);
176
+ try {
177
+ var _chains$find;
464
178
 
465
- try {
466
- var _chains$find;
467
-
468
- yield provider.request({
469
- method: 'wallet_switchEthereumChain',
470
- params: [{
471
- chainId: id
472
- }]
473
- });
474
- var chains = [..._this8.chains, ...allChains];
475
- return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
476
- id: chainId,
477
- name: "Chain ".concat(id),
478
- rpcUrls: []
479
- };
480
- } catch (error) {
481
- // Indicates chain is not added to MetaMask
482
- if (error.code === 4902) {
483
- try {
484
- var _chain$blockExplorers;
485
-
486
- var chain = _this8.chains.find(x => x.id === chainId);
487
-
488
- if (!chain) throw new ChainNotConfiguredError();
489
- yield provider.request({
490
- method: 'wallet_addEthereumChain',
491
- params: [{
492
- chainId: id,
493
- chainName: chain.name,
494
- nativeCurrency: chain.nativeCurrency,
495
- rpcUrls: chain.rpcUrls,
496
- blockExplorerUrls: (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.map(x => x.url)
497
- }]
498
- });
499
- return chain;
500
- } catch (addError) {
501
- throw new AddChainError();
502
- }
503
- } else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
504
- }
505
- })();
179
+ await provider.request({
180
+ method: 'wallet_switchEthereumChain',
181
+ params: [{
182
+ chainId: id
183
+ }]
184
+ });
185
+ const chains = [...this.chains, ...allChains];
186
+ return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
187
+ id: chainId,
188
+ name: "Chain ".concat(id),
189
+ rpcUrls: {
190
+ default: []
191
+ }
192
+ };
193
+ } catch (error) {
194
+ // Indicates chain is not added to provider
195
+ if (error.code === 4902) {
196
+ try {
197
+ const chain = this.chains.find(x => x.id === chainId);
198
+ if (!chain) throw new ChainNotConfiguredError();
199
+ await provider.request({
200
+ method: 'wallet_addEthereumChain',
201
+ params: [{
202
+ chainId: id,
203
+ chainName: chain.name,
204
+ nativeCurrency: chain.nativeCurrency,
205
+ rpcUrls: this.getRpcUrls(chain),
206
+ blockExplorerUrls: this.getBlockExplorerUrls(chain)
207
+ }]
208
+ });
209
+ return chain;
210
+ } catch (addError) {
211
+ throw new AddChainError();
212
+ }
213
+ } else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
214
+ }
506
215
  }
507
216
 
508
- watchAsset(_ref) {
509
- var _this9 = this;
510
-
511
- return _asyncToGenerator(function* () {
512
- var {
513
- address,
514
- decimals = 18,
515
- image,
516
- symbol
517
- } = _ref;
518
- var provider = yield _this9.getProvider();
519
- if (!provider) throw new ConnectorNotFoundError();
520
- return yield provider.request({
521
- method: 'wallet_watchAsset',
522
- params: {
523
- type: 'ERC20',
524
- options: {
525
- address,
526
- decimals,
527
- image,
528
- symbol
529
- }
217
+ async watchAsset(_ref) {
218
+ let {
219
+ address,
220
+ decimals = 18,
221
+ image,
222
+ symbol
223
+ } = _ref;
224
+ const provider = await this.getProvider();
225
+ if (!provider) throw new ConnectorNotFoundError();
226
+ return await provider.request({
227
+ method: 'wallet_watchAsset',
228
+ params: {
229
+ type: 'ERC20',
230
+ options: {
231
+ address,
232
+ decimals,
233
+ image,
234
+ symbol
530
235
  }
531
- });
532
- })();
236
+ }
237
+ });
533
238
  }
534
239
 
535
240
  }
536
241
 
537
- var noopStorage = {
242
+ const noopStorage = {
538
243
  getItem: _key => '',
539
244
  setItem: (_key, _value) => null,
540
245
  removeItem: _key => null
541
246
  };
542
247
  function createStorage(_ref) {
543
- var {
248
+ let {
544
249
  storage,
545
250
  key: prefix = 'wagmi'
546
251
  } = _ref;
547
- return _objectSpread2(_objectSpread2({}, storage), {}, {
548
- getItem: function getItem(key) {
549
- var defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
550
- var value = storage.getItem("".concat(prefix, ".").concat(key));
252
+ return { ...storage,
253
+ getItem: function (key) {
254
+ let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
255
+ const value = storage.getItem("".concat(prefix, ".").concat(key));
551
256
 
552
257
  try {
553
258
  return value ? JSON.parse(value) : defaultState;
@@ -568,40 +273,18 @@ function createStorage(_ref) {
568
273
  }
569
274
  },
570
275
  removeItem: key => storage.removeItem("".concat(prefix, ".").concat(key))
571
- });
276
+ };
572
277
  }
573
278
 
574
- var defaultConfig = {
575
- connectors: [new InjectedConnector()],
576
- provider: _ref => {
577
- var {
578
- chainId
579
- } = _ref;
580
-
581
- try {
582
- return getDefaultProvider(chainId);
583
- } catch (error) {
584
- return getDefaultProvider();
585
- }
586
- },
587
- storage: createStorage({
588
- storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
589
- })
590
- };
591
-
592
279
  var _lastUsedConnector = /*#__PURE__*/new WeakMap();
593
280
 
594
281
  var _addEffects = /*#__PURE__*/new WeakSet();
595
282
 
596
283
  class Client {
597
284
  constructor() {
598
- var {
599
- autoConnect,
600
- connectors: _connectors = defaultConfig.connectors,
601
- provider: _provider = defaultConfig.provider,
602
- storage = defaultConfig.storage,
603
- webSocketProvider: _webSocketProvider
604
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultConfig;
285
+ var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
286
+
287
+ let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
605
288
 
606
289
  _classPrivateMethodInitSpec(this, _addEffects);
607
290
 
@@ -616,53 +299,79 @@ class Client {
616
299
  value: void 0
617
300
  });
618
301
 
619
- this.config = {
620
- autoConnect,
621
- connectors: _connectors,
622
- provider: _provider,
623
- webSocketProvider: _webSocketProvider
302
+ // Set default values for config
303
+ const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
304
+
305
+ const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
306
+
307
+ const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
308
+ try {
309
+ return getDefaultProvider(config.chainId);
310
+ } catch (error) {
311
+ return getDefaultProvider();
312
+ }
624
313
  };
625
- var status = 'disconnected';
626
314
 
627
- var _chainId;
315
+ const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
316
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
317
+ });
318
+ const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
319
+
320
+ let status = 'disconnected';
321
+
322
+ let _chainId;
628
323
 
629
324
  if (autoConnect) {
630
325
  try {
631
326
  var _JSON$parse, _JSON$parse$state, _data$chain;
632
327
 
633
- var rawState = storage.getItem('state', '');
634
- var 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
328
+ const rawState = storage.getItem('state', '');
329
+ 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
635
330
 
636
331
  status = data !== null && data !== void 0 && data.account ? 'reconnecting' : 'connecting';
637
332
  _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
638
333
  } catch (_error) {}
639
- }
640
-
641
- this.store = create(subscribeWithSelector(persist((_set, _get) => ({
642
- connectors: typeof _connectors === 'function' ? _connectors({
643
- chainId: _chainId
644
- }) : _connectors,
645
- provider: typeof _provider === 'function' ? _provider({
646
- chainId: _chainId
647
- }) : _provider,
334
+ } // Evaluate initial store values
335
+
336
+
337
+ const connectors_ = typeof _connectors === 'function' ? _connectors({
338
+ chainId: _chainId
339
+ }) : _connectors;
340
+ const provider_ = typeof _provider === 'function' ? _provider({
341
+ chainId: _chainId
342
+ }) : _provider;
343
+ const webSocketProvider_ = typeof _webSocketProvider === 'function' ? _webSocketProvider({
344
+ chainId: _chainId
345
+ }) : _webSocketProvider; // Create store
346
+
347
+ this.store = create(subscribeWithSelector(persist(() => ({
348
+ connectors: connectors_,
349
+ provider: provider_,
648
350
  status,
649
- webSocketProvider: typeof _webSocketProvider === 'function' ? _webSocketProvider({
650
- chainId: _chainId
651
- }) : _webSocketProvider
351
+ webSocketProvider: webSocketProvider_
652
352
  }), {
653
353
  name: 'state',
654
354
  getStorage: () => storage,
655
355
  partialize: state => {
656
356
  var _state$data, _state$data2;
657
357
 
658
- return {
659
- data: {
660
- account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
661
- chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
662
- }
358
+ return { ...(autoConnect && {
359
+ data: {
360
+ account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
361
+ chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
362
+ }
363
+ }),
364
+ chains: state === null || state === void 0 ? void 0 : state.chains
663
365
  };
664
366
  }
665
367
  })));
368
+ this.config = {
369
+ autoConnect,
370
+ connectors: _connectors,
371
+ provider: _provider,
372
+ storage,
373
+ webSocketProvider: _webSocketProvider
374
+ };
666
375
  this.storage = storage;
667
376
 
668
377
  _classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
@@ -670,6 +379,10 @@ class Client {
670
379
  _classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
671
380
  }
672
381
 
382
+ get chains() {
383
+ return this.store.getState().chains;
384
+ }
385
+
673
386
  get connectors() {
674
387
  return this.store.getState().connectors;
675
388
  }
@@ -703,12 +416,12 @@ class Client {
703
416
  }
704
417
 
705
418
  setState(updater) {
706
- var newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
419
+ const newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
707
420
  this.store.setState(newState, true);
708
421
  }
709
422
 
710
423
  clearState() {
711
- this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
424
+ this.setState(x => ({ ...x,
712
425
  connector: undefined,
713
426
  data: undefined,
714
427
  error: undefined,
@@ -716,84 +429,74 @@ class Client {
716
429
  }));
717
430
  }
718
431
 
719
- destroy() {
720
- var _this = this;
721
-
722
- return _asyncToGenerator(function* () {
723
- var _this$connector$disco, _this$connector;
724
-
725
- if (_this.connector) yield (_this$connector$disco = (_this$connector = _this.connector).disconnect) === null || _this$connector$disco === void 0 ? void 0 : _this$connector$disco.call(_this$connector);
432
+ async destroy() {
433
+ var _this$connector$disco, _this$connector;
726
434
 
727
- _this.clearState();
728
-
729
- _this.store.destroy();
730
- })();
435
+ 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));
436
+ this.clearState();
437
+ this.store.destroy();
731
438
  }
732
439
 
733
- autoConnect() {
734
- var _this2 = this;
735
-
736
- return _asyncToGenerator(function* () {
737
- if (!_this2.connectors.length) return; // Try last used connector first
738
-
739
- var sorted = _classPrivateFieldGet(_this2, _lastUsedConnector) ? [..._this2.connectors].sort(x => x.id === _classPrivateFieldGet(_this2, _lastUsedConnector) ? -1 : 1) : _this2.connectors;
740
- var connected = false;
741
-
742
- var _loop = function* _loop(connector) {
743
- if (!connector.ready || !connector.isAuthorized) return "continue";
744
- var isAuthorized = yield connector.isAuthorized();
745
- if (!isAuthorized) return "continue";
746
- var data = yield connector.connect();
747
-
748
- _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
749
- connector,
750
- data,
751
- status: 'connected'
752
- }));
753
-
754
- connected = true;
755
- return "break";
756
- };
757
-
758
- for (var connector of sorted) {
759
- var _ret = yield* _loop(connector);
760
-
761
- if (_ret === "continue") continue;
762
- if (_ret === "break") break;
763
- } // If connecting didn't succeed, set to disconnected
440
+ async autoConnect() {
441
+ if (!this.connectors.length) return; // Try last used connector first
442
+
443
+ const sorted = _classPrivateFieldGet(this, _lastUsedConnector) ? [...this.connectors].sort(x => x.id === _classPrivateFieldGet(this, _lastUsedConnector) ? -1 : 1) : this.connectors;
444
+ let connected = false;
445
+
446
+ for (const connector of sorted) {
447
+ if (!connector.ready || !connector.isAuthorized) continue;
448
+ const isAuthorized = await connector.isAuthorized();
449
+ if (!isAuthorized) continue;
450
+ const data = await connector.connect();
451
+ this.setState(x => ({ ...x,
452
+ connector,
453
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
454
+ data,
455
+ status: 'connected'
456
+ }));
457
+ connected = true;
458
+ break;
459
+ } // If connecting didn't succeed, set to disconnected
764
460
 
765
461
 
766
- if (!connected) _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
767
- status: 'disconnected'
768
- }));
769
- return _this2.data;
770
- })();
462
+ if (!connected) this.setState(x => ({ ...x,
463
+ status: 'disconnected'
464
+ }));
465
+ return this.data;
771
466
  }
772
467
 
773
468
  setLastUsedConnector() {
774
469
  var _this$storage;
775
470
 
776
- var lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
471
+ let lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
777
472
  (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.setItem('wallet', lastUsedConnector);
778
473
  }
779
474
 
780
475
  }
781
476
 
782
477
  function _addEffects2() {
783
- var onChange = data => this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
784
- data: _objectSpread2(_objectSpread2({}, x.data), data)
785
- }));
478
+ const onChange = data => {
479
+ this.setState(x => ({ ...x,
480
+ data: { ...x.data,
481
+ ...data
482
+ }
483
+ }));
484
+ };
786
485
 
787
- var onDisconnect = () => this.clearState();
486
+ const onDisconnect = () => {
487
+ this.clearState();
488
+ };
788
489
 
789
- var onError = error => this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
790
- error
791
- }));
490
+ const onError = error => {
491
+ this.setState(x => ({ ...x,
492
+ error
493
+ }));
494
+ };
792
495
 
793
- this.store.subscribe(_ref2 => {
794
- var {
496
+ this.store.subscribe(_ref => {
497
+ let {
795
498
  connector
796
- } = _ref2;
499
+ } = _ref;
797
500
  return connector;
798
501
  }, (connector, prevConnector) => {
799
502
  var _prevConnector$off, _prevConnector$off2, _prevConnector$off3, _connector$on, _connector$on2, _connector$on3;
@@ -806,23 +509,23 @@ function _addEffects2() {
806
509
  (_connector$on2 = connector.on) === null || _connector$on2 === void 0 ? void 0 : _connector$on2.call(connector, 'disconnect', onDisconnect);
807
510
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
808
511
  });
809
- var {
512
+ const {
810
513
  connectors,
811
514
  provider,
812
515
  webSocketProvider
813
516
  } = this.config;
814
- var subscribeConnectors = typeof connectors === 'function';
815
- var subscribeProvider = typeof provider === 'function';
816
- var subscribeWebSocketProvider = typeof webSocketProvider === 'function';
817
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref3 => {
517
+ const subscribeConnectors = typeof connectors === 'function';
518
+ const subscribeProvider = typeof provider === 'function';
519
+ const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
520
+ if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
818
521
  var _data$chain2;
819
522
 
820
- var {
523
+ let {
821
524
  data
822
- } = _ref3;
525
+ } = _ref2;
823
526
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
824
527
  }, chainId => {
825
- this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
528
+ this.setState(x => ({ ...x,
826
529
  connectors: subscribeConnectors ? connectors({
827
530
  chainId
828
531
  }) : x.connectors,
@@ -836,105 +539,83 @@ function _addEffects2() {
836
539
  });
837
540
  }
838
541
 
839
- var client;
542
+ let client;
840
543
  function createClient(config) {
841
- var client_ = new Client(config);
544
+ const client_ = new Client(config);
842
545
  client = client_;
843
546
  return client_;
844
547
  }
845
-
846
- function connect(_x) {
847
- return _connect.apply(this, arguments);
548
+ function getClient() {
549
+ return client;
848
550
  }
849
551
 
850
- function _connect() {
851
- _connect = _asyncToGenerator(function* (connector) {
852
- var activeConnector = client.connector;
853
- if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new ConnectorAlreadyConnectedError();
854
- var data = yield connector.connect();
855
- client.setLastUsedConnector(connector.id);
856
- client.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
857
- connector,
858
- data
859
- }));
860
- client.storage.setItem('connected', true);
861
- return {
862
- data,
863
- connector
864
- };
865
- });
866
- return _connect.apply(this, arguments);
867
- }
868
-
869
- function disconnect() {
870
- return _disconnect.apply(this, arguments);
871
- }
872
-
873
- function _disconnect() {
874
- _disconnect = _asyncToGenerator(function* () {
875
- if (client.connector) yield client.connector.disconnect();
876
- client.storage.removeItem('connected');
877
- client.clearState();
878
- });
879
- return _disconnect.apply(this, arguments);
552
+ async function connect(_ref) {
553
+ let {
554
+ connector
555
+ } = _ref;
556
+ const activeConnector = client.connector;
557
+ if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new ConnectorAlreadyConnectedError();
558
+ const data = await connector.connect();
559
+ client.setLastUsedConnector(connector.id);
560
+ client.setState(x => ({ ...x,
561
+ connector,
562
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
563
+ data
564
+ }));
565
+ client.storage.setItem('connected', true);
566
+ return { ...data,
567
+ connector
568
+ };
880
569
  }
881
570
 
882
- function fetchBalance(_x) {
883
- return _fetchBalance.apply(this, arguments);
571
+ async function disconnect() {
572
+ if (client.connector) await client.connector.disconnect();
573
+ client.clearState();
574
+ client.storage.removeItem('connected');
884
575
  }
885
576
 
886
- function _fetchBalance() {
887
- _fetchBalance = _asyncToGenerator(function* (_ref) {
888
- var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
889
-
890
- var {
891
- addressOrName,
892
- formatUnits: unit = 'ether',
893
- token
894
- } = _ref;
577
+ async function fetchBalance(_ref) {
578
+ var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
895
579
 
896
- if (token) {
897
- var contract = new Contract(token, erc20ABI, client.provider);
898
- var [_value, decimals, symbol] = yield Promise.all([contract.balanceOf(addressOrName), contract.decimals(), contract.symbol()]);
899
- return {
900
- decimals,
901
- formatted: formatUnits(_value, unit),
902
- symbol,
903
- unit,
904
- value: _value
905
- };
906
- }
580
+ let {
581
+ addressOrName,
582
+ formatUnits: unit = 'ether',
583
+ token
584
+ } = _ref;
907
585
 
908
- var chains = [...((_client$connector$cha = (_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : _client$connector.chains) !== null && _client$connector$cha !== void 0 ? _client$connector$cha : []), ...allChains];
909
- var value = yield client.provider.getBalance(addressOrName);
910
- var chain = chains.find(x => x.id === client.provider.network.chainId);
586
+ if (token) {
587
+ const contract = new Contract(token, erc20ABI, client.provider);
588
+ const [value, decimals, symbol] = await Promise.all([contract.balanceOf(addressOrName), contract.decimals(), contract.symbol()]);
911
589
  return {
912
- decimals: (_chain$nativeCurrency = chain === null || chain === void 0 ? void 0 : (_chain$nativeCurrency2 = chain.nativeCurrency) === null || _chain$nativeCurrency2 === void 0 ? void 0 : _chain$nativeCurrency2.decimals) !== null && _chain$nativeCurrency !== void 0 ? _chain$nativeCurrency : 18,
590
+ decimals,
913
591
  formatted: formatUnits(value, unit),
914
- symbol: (_chain$nativeCurrency3 = chain === null || chain === void 0 ? void 0 : (_chain$nativeCurrency4 = chain.nativeCurrency) === null || _chain$nativeCurrency4 === void 0 ? void 0 : _chain$nativeCurrency4.symbol) !== null && _chain$nativeCurrency3 !== void 0 ? _chain$nativeCurrency3 : 'ETH',
592
+ symbol,
915
593
  unit,
916
594
  value
917
595
  };
918
- });
919
- return _fetchBalance.apply(this, arguments);
920
- }
596
+ }
921
597
 
922
- function fetchSigner() {
923
- return _fetchSigner.apply(this, arguments);
598
+ const chains = [...((_client$connector$cha = (_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : _client$connector.chains) !== null && _client$connector$cha !== void 0 ? _client$connector$cha : []), ...allChains];
599
+ const value = await client.provider.getBalance(addressOrName);
600
+ const chain = chains.find(x => x.id === client.provider.network.chainId);
601
+ return {
602
+ decimals: (_chain$nativeCurrency = chain === null || chain === void 0 ? void 0 : (_chain$nativeCurrency2 = chain.nativeCurrency) === null || _chain$nativeCurrency2 === void 0 ? void 0 : _chain$nativeCurrency2.decimals) !== null && _chain$nativeCurrency !== void 0 ? _chain$nativeCurrency : 18,
603
+ formatted: formatUnits(value, unit),
604
+ symbol: (_chain$nativeCurrency3 = chain === null || chain === void 0 ? void 0 : (_chain$nativeCurrency4 = chain.nativeCurrency) === null || _chain$nativeCurrency4 === void 0 ? void 0 : _chain$nativeCurrency4.symbol) !== null && _chain$nativeCurrency3 !== void 0 ? _chain$nativeCurrency3 : 'ETH',
605
+ unit,
606
+ value
607
+ };
924
608
  }
925
609
 
926
- function _fetchSigner() {
927
- _fetchSigner = _asyncToGenerator(function* () {
928
- var _client$connector, _client$connector$get;
610
+ async function fetchSigner() {
611
+ var _client$connector, _client$connector$get;
929
612
 
930
- var signer = yield (_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : (_client$connector$get = _client$connector.getSigner) === null || _client$connector$get === void 0 ? void 0 : _client$connector$get.call(_client$connector);
931
- return signer;
932
- });
933
- return _fetchSigner.apply(this, arguments);
613
+ const signer = await ((_client$connector = client.connector) === null || _client$connector === void 0 ? void 0 : (_client$connector$get = _client$connector.getSigner) === null || _client$connector$get === void 0 ? void 0 : _client$connector$get.call(_client$connector));
614
+ return signer;
934
615
  }
935
616
 
936
617
  function getAccount() {
937
- var {
618
+ const {
938
619
  data,
939
620
  connector
940
621
  } = client;
@@ -945,88 +626,72 @@ function getAccount() {
945
626
  }
946
627
 
947
628
  function getNetwork() {
948
- var _data$chain, _data$chain2, _connector$chains, _find;
629
+ var _data$chain, _data$chain2, _find;
949
630
 
950
- var {
951
- connector,
631
+ const {
632
+ chains,
952
633
  data
953
634
  } = client;
954
- var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
955
- var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
956
- var activeChains = (_connector$chains = connector === null || connector === void 0 ? void 0 : connector.chains) !== null && _connector$chains !== void 0 ? _connector$chains : [];
957
- var activeChain = (_find = [...activeChains, ...allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
635
+ const chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
636
+ const unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
637
+ const activeChains = chains !== null && chains !== void 0 ? chains : [];
638
+ const activeChain = (_find = [...activeChains, ...allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
958
639
  id: chainId,
959
640
  name: "Chain ".concat(chainId),
960
- rpcUrls: []
641
+ rpcUrls: {
642
+ default: []
643
+ }
961
644
  };
962
645
  return {
963
- chain: chainId ? _objectSpread2(_objectSpread2({}, activeChain), {}, {
646
+ chain: chainId ? { ...activeChain,
964
647
  id: chainId,
965
648
  unsupported
966
- }) : undefined,
649
+ } : undefined,
967
650
  chains: activeChains
968
651
  };
969
652
  }
970
653
 
971
- function signMessage(_x) {
972
- return _signMessage.apply(this, arguments);
973
- }
974
-
975
- function _signMessage() {
976
- _signMessage = _asyncToGenerator(function* (args) {
977
- try {
978
- var signer = yield fetchSigner();
979
- if (!signer) throw new ConnectorNotFoundError();
980
- return yield signer.signMessage(args.message);
981
- } catch (error_) {
982
- var error = error_;
983
- if (error_.code === 4001) error = new UserRejectedRequestError();
984
- throw error;
985
- }
986
- });
987
- return _signMessage.apply(this, arguments);
988
- }
989
-
990
- function signTypedData(_x) {
991
- return _signTypedData.apply(this, arguments);
654
+ async function signMessage(args) {
655
+ try {
656
+ const signer = await fetchSigner();
657
+ if (!signer) throw new ConnectorNotFoundError();
658
+ return await signer.signMessage(args.message);
659
+ } catch (error_) {
660
+ let error = error_;
661
+ if (error_.code === 4001) error = new UserRejectedRequestError();
662
+ throw error;
663
+ }
992
664
  }
993
665
 
994
- function _signTypedData() {
995
- _signTypedData = _asyncToGenerator(function* (args) {
996
- try {
997
- var signer = yield fetchSigner();
998
- if (!signer) throw new ConnectorNotFoundError(); // Method name may be changed in the future, see https://docs.ethers.io/v5/api/signer/#Signer-signTypedData
999
-
1000
- return yield signer._signTypedData(args.domain, args.types, args.value);
1001
- } catch (error_) {
1002
- var error = error_;
1003
- if (error_.code === 4001) error = new UserRejectedRequestError();
1004
- throw error;
1005
- }
1006
- });
1007
- return _signTypedData.apply(this, arguments);
1008
- }
666
+ async function signTypedData(args) {
667
+ try {
668
+ const signer = await fetchSigner();
669
+ if (!signer) throw new ConnectorNotFoundError(); // Method name may be changed in the future, see https://docs.ethers.io/v5/api/signer/#Signer-signTypedData
1009
670
 
1010
- function switchNetwork(_x) {
1011
- return _switchNetwork.apply(this, arguments);
671
+ return await signer._signTypedData(args.domain, args.types, args.value);
672
+ } catch (error_) {
673
+ let error = error_;
674
+ if (error_.code === 4001) error = new UserRejectedRequestError();
675
+ throw error;
676
+ }
1012
677
  }
1013
678
 
1014
- function _switchNetwork() {
1015
- _switchNetwork = _asyncToGenerator(function* (args) {
1016
- var _client$connector;
679
+ async function switchNetwork(_ref) {
680
+ var _client$connector;
1017
681
 
1018
- if (!((_client$connector = client.connector) !== null && _client$connector !== void 0 && _client$connector.switchChain)) throw new SwitchChainNotSupportedError();
1019
- var chain = yield client.connector.switchChain(args.chainId);
1020
- return chain;
1021
- });
1022
- return _switchNetwork.apply(this, arguments);
682
+ let {
683
+ chainId
684
+ } = _ref;
685
+ if (!((_client$connector = client.connector) !== null && _client$connector !== void 0 && _client$connector.switchChain)) throw new SwitchChainNotSupportedError();
686
+ const chain = await client.connector.switchChain(chainId);
687
+ return chain;
1023
688
  }
1024
689
 
1025
690
  function watchAccount(callback) {
1026
- var handleChange = () => callback(getAccount());
691
+ const handleChange = () => callback(getAccount());
1027
692
 
1028
- var unsubscribe = client.subscribe(_ref => {
1029
- var {
693
+ const unsubscribe = client.subscribe(_ref => {
694
+ let {
1030
695
  data,
1031
696
  connector
1032
697
  } = _ref;
@@ -1041,22 +706,14 @@ function watchAccount(callback) {
1041
706
  }
1042
707
 
1043
708
  function watchBalance(args, callback) {
1044
- var handleChange = /*#__PURE__*/function () {
1045
- var _ref = _asyncToGenerator(function* () {
1046
- return callback(yield fetchBalance(args));
1047
- });
709
+ const handleChange = async () => callback(await fetchBalance(args));
1048
710
 
1049
- return function handleChange() {
1050
- return _ref.apply(this, arguments);
1051
- };
1052
- }();
1053
-
1054
- var unsubscribe = client.subscribe(_ref2 => {
711
+ const unsubscribe = client.subscribe(_ref => {
1055
712
  var _data$chain;
1056
713
 
1057
- var {
714
+ let {
1058
715
  data
1059
- } = _ref2;
716
+ } = _ref;
1060
717
  return {
1061
718
  account: data === null || data === void 0 ? void 0 : data.account,
1062
719
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id
@@ -1068,43 +725,35 @@ function watchBalance(args, callback) {
1068
725
  }
1069
726
 
1070
727
  function watchNetwork(callback) {
1071
- var handleChange = () => callback(getNetwork());
728
+ const handleChange = () => callback(getNetwork());
1072
729
 
1073
- var unsubscribe = client.subscribe(_ref => {
730
+ const unsubscribe = client.subscribe(_ref => {
1074
731
  var _data$chain;
1075
732
 
1076
- var {
733
+ let {
1077
734
  data,
1078
- connector
735
+ chains
1079
736
  } = _ref;
1080
737
  return {
1081
738
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
1082
- connector
739
+ chains
1083
740
  };
1084
741
  }, handleChange, {
1085
- equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.connector === previous.connector
742
+ equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.chains === previous.chains
1086
743
  });
1087
744
  return unsubscribe;
1088
745
  }
1089
746
 
1090
747
  function watchSigner(callback) {
1091
- var handleChange = /*#__PURE__*/function () {
1092
- var _ref = _asyncToGenerator(function* () {
1093
- return callback(yield fetchSigner());
1094
- });
748
+ const handleChange = async () => callback(await fetchSigner());
1095
749
 
1096
- return function handleChange() {
1097
- return _ref.apply(this, arguments);
1098
- };
1099
- }();
1100
-
1101
- var unsubscribe = client.subscribe(_ref2 => {
750
+ const unsubscribe = client.subscribe(_ref => {
1102
751
  var _data$chain;
1103
752
 
1104
- var {
753
+ let {
1105
754
  data,
1106
755
  connector
1107
- } = _ref2;
756
+ } = _ref;
1108
757
  return {
1109
758
  account: data === null || data === void 0 ? void 0 : data.account,
1110
759
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
@@ -1117,7 +766,7 @@ function watchSigner(callback) {
1117
766
  }
1118
767
 
1119
768
  function getContract(_ref) {
1120
- var {
769
+ let {
1121
770
  addressOrName,
1122
771
  contractInterface,
1123
772
  signerOrProvider
@@ -1125,27 +774,21 @@ function getContract(_ref) {
1125
774
  return new Contract(addressOrName, contractInterface, signerOrProvider);
1126
775
  }
1127
776
 
1128
- function readContract(_x, _x2) {
1129
- return _readContract.apply(this, arguments);
1130
- }
1131
-
1132
- function _readContract() {
1133
- _readContract = _asyncToGenerator(function* (contractConfig, functionName) {
1134
- var {
1135
- args,
1136
- overrides
1137
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1138
- var {
1139
- provider
1140
- } = client;
1141
- var contract = getContract(_objectSpread2({
1142
- signerOrProvider: provider
1143
- }, contractConfig));
1144
- var params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
1145
- var response = yield contract[functionName](...params);
1146
- return response;
777
+ async function readContract(contractConfig, functionName) {
778
+ let {
779
+ args,
780
+ overrides
781
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
782
+ const {
783
+ provider
784
+ } = client;
785
+ const contract = getContract({
786
+ signerOrProvider: provider,
787
+ ...contractConfig
1147
788
  });
1148
- return _readContract.apply(this, arguments);
789
+ const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
790
+ const response = await contract[functionName](...params);
791
+ return response;
1149
792
  }
1150
793
 
1151
794
  function watchContractEvent(
@@ -1153,36 +796,31 @@ function watchContractEvent(
1153
796
  contractArgs,
1154
797
  /** Event name to listen to */
1155
798
  eventName, callback) {
1156
- var {
799
+ let {
1157
800
  once
1158
801
  } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
1159
- var contract;
802
+ let contract;
1160
803
 
1161
- var watchEvent = /*#__PURE__*/function () {
1162
- var _ref = _asyncToGenerator(function* () {
1163
- if (contract) {
1164
- var _contract;
804
+ const watchEvent = async () => {
805
+ if (contract) {
806
+ var _contract;
1165
807
 
1166
- (_contract = contract) === null || _contract === void 0 ? void 0 : _contract.off(eventName, callback);
1167
- }
808
+ (_contract = contract) === null || _contract === void 0 ? void 0 : _contract.off(eventName, callback);
809
+ }
1168
810
 
1169
- contract = getContract(_objectSpread2({
1170
- signerOrProvider: client.webSocketProvider || client.provider
1171
- }, contractArgs));
1172
- if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
811
+ contract = getContract({
812
+ signerOrProvider: client.webSocketProvider || client.provider,
813
+ ...contractArgs
1173
814
  });
1174
-
1175
- return function watchEvent() {
1176
- return _ref.apply(this, arguments);
1177
- };
1178
- }();
815
+ if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
816
+ };
1179
817
 
1180
818
  watchEvent();
1181
- var unsubscribe = client.subscribe(_ref2 => {
1182
- var {
819
+ const unsubscribe = client.subscribe(_ref => {
820
+ let {
1183
821
  provider,
1184
822
  webSocketProvider
1185
- } = _ref2;
823
+ } = _ref;
1186
824
  return {
1187
825
  provider,
1188
826
  webSocketProvider
@@ -1198,23 +836,16 @@ eventName, callback) {
1198
836
  };
1199
837
  }
1200
838
 
1201
- function fetchBlockNumber() {
1202
- return _fetchBlockNumber.apply(this, arguments);
1203
- }
1204
-
1205
- function _fetchBlockNumber() {
1206
- _fetchBlockNumber = _asyncToGenerator(function* () {
1207
- var blockNumber = yield client.provider.getBlockNumber();
1208
- return blockNumber;
1209
- });
1210
- return _fetchBlockNumber.apply(this, arguments);
839
+ async function fetchBlockNumber() {
840
+ const blockNumber = await client.provider.getBlockNumber();
841
+ return blockNumber;
1211
842
  }
1212
843
 
1213
844
  function watchBlockNumber(args, callback) {
1214
- var prevProvider;
845
+ let prevProvider;
1215
846
 
1216
- var createListener = provider => {
1217
- var listener = blockNumber => {
847
+ const createListener = provider => {
848
+ const listener = blockNumber => {
1218
849
  callback(blockNumber);
1219
850
  };
1220
851
 
@@ -1228,14 +859,14 @@ function watchBlockNumber(args, callback) {
1228
859
  prevProvider = provider;
1229
860
  };
1230
861
 
1231
- var {
862
+ const {
1232
863
  provider,
1233
864
  webSocketProvider
1234
865
  } = client;
1235
- var provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
866
+ const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
1236
867
  if (args.listen) createListener(provider_);
1237
- var unsubscribe = client.subscribe(_ref => {
1238
- var {
868
+ const unsubscribe = client.subscribe(_ref => {
869
+ let {
1239
870
  provider,
1240
871
  webSocketProvider
1241
872
  } = _ref;
@@ -1243,25 +874,19 @@ function watchBlockNumber(args, callback) {
1243
874
  provider,
1244
875
  webSocketProvider
1245
876
  };
1246
- }, /*#__PURE__*/function () {
1247
- var _ref3 = _asyncToGenerator(function* (_ref2) {
1248
- var {
1249
- provider,
1250
- webSocketProvider
1251
- } = _ref2;
1252
- var provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
1253
-
1254
- if (args.listen && provider_) {
1255
- createListener(provider_);
1256
- }
877
+ }, async _ref2 => {
878
+ let {
879
+ provider,
880
+ webSocketProvider
881
+ } = _ref2;
882
+ const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
1257
883
 
1258
- callback(yield fetchBlockNumber());
1259
- });
884
+ if (args.listen && provider_) {
885
+ createListener(provider_);
886
+ }
1260
887
 
1261
- return function (_x) {
1262
- return _ref3.apply(this, arguments);
1263
- };
1264
- }(), {
888
+ callback(await fetchBlockNumber());
889
+ }, {
1265
890
  equalityFn: (selected, previous) => selected.provider === previous.provider && selected.webSocketProvider === previous.webSocketProvider
1266
891
  });
1267
892
  return unsubscribe;
@@ -1270,26 +895,18 @@ function watchBlockNumber(args, callback) {
1270
895
  function watchReadContract(contractConfig, functionName) {
1271
896
  var _config$listenToBlock;
1272
897
 
1273
- var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1274
- var callback = arguments.length > 3 ? arguments[3] : undefined;
898
+ let config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
899
+ let callback = arguments.length > 3 ? arguments[3] : undefined;
1275
900
 
1276
- var handleChange = /*#__PURE__*/function () {
1277
- var _ref = _asyncToGenerator(function* () {
1278
- return callback(yield readContract(contractConfig, functionName, config));
1279
- });
901
+ const handleChange = async () => callback(await readContract(contractConfig, functionName, config));
1280
902
 
1281
- return function handleChange() {
1282
- return _ref.apply(this, arguments);
1283
- };
1284
- }();
1285
-
1286
- var unwatch = ((_config$listenToBlock = config.listenToBlock) !== null && _config$listenToBlock !== void 0 ? _config$listenToBlock : true) ? watchBlockNumber({
903
+ const unwatch = ((_config$listenToBlock = config.listenToBlock) !== null && _config$listenToBlock !== void 0 ? _config$listenToBlock : true) ? watchBlockNumber({
1287
904
  listen: true
1288
905
  }, handleChange) : undefined;
1289
- var unsubscribe = client.subscribe(_ref2 => {
1290
- var {
906
+ const unsubscribe = client.subscribe(_ref => {
907
+ let {
1291
908
  provider
1292
- } = _ref2;
909
+ } = _ref;
1293
910
  return provider;
1294
911
  }, handleChange);
1295
912
  return () => {
@@ -1298,224 +915,142 @@ function watchReadContract(contractConfig, functionName) {
1298
915
  };
1299
916
  }
1300
917
 
1301
- function writeContract(_x, _x2) {
1302
- return _writeContract.apply(this, arguments);
1303
- }
1304
-
1305
- function _writeContract() {
1306
- _writeContract = _asyncToGenerator(function* (contractConfig, functionName) {
1307
- var {
1308
- args,
1309
- overrides
1310
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1311
- var {
1312
- connector
1313
- } = client;
1314
- var contract = getContract(contractConfig);
1315
- if (!connector) throw new ConnectorNotFoundError();
1316
- var params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
1317
-
1318
- try {
1319
- var signer = yield connector.getSigner();
1320
- var contract_ = contract.connect(signer);
1321
- var response = yield contract_[functionName](...params);
1322
- return response;
1323
- } catch (error_) {
1324
- var error = error_;
1325
- if (error_.code === 4001) error = new UserRejectedRequestError();
1326
- throw error;
1327
- }
1328
- });
1329
- return _writeContract.apply(this, arguments);
1330
- }
1331
-
1332
- function fetchEnsAddress(_x) {
1333
- return _fetchEnsAddress.apply(this, arguments);
1334
- }
1335
-
1336
- function _fetchEnsAddress() {
1337
- _fetchEnsAddress = _asyncToGenerator(function* (_ref) {
1338
- var {
1339
- name
1340
- } = _ref;
1341
- var address = yield client.provider.resolveName(name);
1342
-
1343
- try {
1344
- return address ? getAddress(address) : null;
1345
- } catch (_error) {
1346
- return null;
1347
- }
1348
- });
1349
- return _fetchEnsAddress.apply(this, arguments);
1350
- }
1351
-
1352
- function fetchEnsAvatar(_x) {
1353
- return _fetchEnsAvatar.apply(this, arguments);
918
+ async function writeContract(contractConfig, functionName) {
919
+ let {
920
+ args,
921
+ overrides
922
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
923
+ const {
924
+ connector
925
+ } = client;
926
+ const contract = getContract(contractConfig);
927
+ if (!connector) throw new ConnectorNotFoundError();
928
+ const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
929
+
930
+ try {
931
+ const signer = await connector.getSigner();
932
+ const contract_ = contract.connect(signer);
933
+ const response = await contract_[functionName](...params);
934
+ return response;
935
+ } catch (error_) {
936
+ let error = error_;
937
+ if (error_.code === 4001) error = new UserRejectedRequestError();
938
+ throw error;
939
+ }
1354
940
  }
1355
941
 
1356
- function _fetchEnsAvatar() {
1357
- _fetchEnsAvatar = _asyncToGenerator(function* (_ref) {
1358
- var {
1359
- addressOrName
1360
- } = _ref;
1361
- // TODO: Update with more advanced logic
1362
- // https://github.com/ensdomains/ens-avatar
1363
- var avatar = yield client.provider.getAvatar(addressOrName);
1364
- return avatar;
1365
- });
1366
- return _fetchEnsAvatar.apply(this, arguments);
1367
- }
942
+ async function fetchEnsAddress(_ref) {
943
+ let {
944
+ name
945
+ } = _ref;
946
+ const address = await client.provider.resolveName(name);
1368
947
 
1369
- function fetchEnsName(_x) {
1370
- return _fetchEnsName.apply(this, arguments);
948
+ try {
949
+ return address ? getAddress(address) : null;
950
+ } catch (_error) {
951
+ return null;
952
+ }
1371
953
  }
1372
954
 
1373
- function _fetchEnsName() {
1374
- _fetchEnsName = _asyncToGenerator(function* (_ref) {
1375
- var {
1376
- address
1377
- } = _ref;
1378
- var ensName = yield client.provider.lookupAddress(address);
1379
- return ensName;
1380
- });
1381
- return _fetchEnsName.apply(this, arguments);
955
+ async function fetchEnsAvatar(_ref) {
956
+ let {
957
+ addressOrName
958
+ } = _ref;
959
+ // TODO: Update with more advanced logic
960
+ // https://github.com/ensdomains/ens-avatar
961
+ const avatar = await client.provider.getAvatar(addressOrName);
962
+ return avatar;
1382
963
  }
1383
964
 
1384
- function fetchEnsResolver(_x) {
1385
- return _fetchEnsResolver.apply(this, arguments);
965
+ async function fetchEnsName(_ref) {
966
+ let {
967
+ address
968
+ } = _ref;
969
+ const ensName = await client.provider.lookupAddress(address);
970
+ return ensName;
1386
971
  }
1387
972
 
1388
- function _fetchEnsResolver() {
1389
- _fetchEnsResolver = _asyncToGenerator(function* (_ref) {
1390
- var {
1391
- name
1392
- } = _ref;
1393
- var resolver = yield client.provider.getResolver(name);
1394
- return resolver;
1395
- });
1396
- return _fetchEnsResolver.apply(this, arguments);
973
+ async function fetchEnsResolver(_ref) {
974
+ let {
975
+ name
976
+ } = _ref;
977
+ const resolver = await client.provider.getResolver(name);
978
+ return resolver;
1397
979
  }
1398
980
 
1399
981
  function watchEnsAddress(args, callback) {
1400
- var handleChange = /*#__PURE__*/function () {
1401
- var _ref = _asyncToGenerator(function* () {
1402
- return callback(yield fetchEnsAddress(args));
1403
- });
1404
-
1405
- return function handleChange() {
1406
- return _ref.apply(this, arguments);
1407
- };
1408
- }();
982
+ const handleChange = async () => callback(await fetchEnsAddress(args));
1409
983
 
1410
- var unsubscribe = client.subscribe(_ref2 => {
1411
- var {
984
+ const unsubscribe = client.subscribe(_ref => {
985
+ let {
1412
986
  provider
1413
- } = _ref2;
987
+ } = _ref;
1414
988
  return provider;
1415
989
  }, handleChange);
1416
990
  return unsubscribe;
1417
991
  }
1418
992
 
1419
993
  function watchEnsAvatar(args, callback) {
1420
- var handleChange = /*#__PURE__*/function () {
1421
- var _ref = _asyncToGenerator(function* () {
1422
- return callback(yield fetchEnsAvatar(args));
1423
- });
1424
-
1425
- return function handleChange() {
1426
- return _ref.apply(this, arguments);
1427
- };
1428
- }();
994
+ const handleChange = async () => callback(await fetchEnsAvatar(args));
1429
995
 
1430
- var unsubscribe = client.subscribe(_ref2 => {
1431
- var {
996
+ const unsubscribe = client.subscribe(_ref => {
997
+ let {
1432
998
  provider
1433
- } = _ref2;
999
+ } = _ref;
1434
1000
  return provider;
1435
1001
  }, handleChange);
1436
1002
  return unsubscribe;
1437
1003
  }
1438
1004
 
1439
1005
  function watchEnsName(args, callback) {
1440
- var handleChange = /*#__PURE__*/function () {
1441
- var _ref = _asyncToGenerator(function* () {
1442
- return callback(yield fetchEnsName(args));
1443
- });
1444
-
1445
- return function handleChange() {
1446
- return _ref.apply(this, arguments);
1447
- };
1448
- }();
1006
+ const handleChange = async () => callback(await fetchEnsName(args));
1449
1007
 
1450
- var unsubscribe = client.subscribe(_ref2 => {
1451
- var {
1008
+ const unsubscribe = client.subscribe(_ref => {
1009
+ let {
1452
1010
  provider
1453
- } = _ref2;
1011
+ } = _ref;
1454
1012
  return provider;
1455
1013
  }, handleChange);
1456
1014
  return unsubscribe;
1457
1015
  }
1458
1016
 
1459
1017
  function watchEnsResolver(args, callback) {
1460
- var handleChange = /*#__PURE__*/function () {
1461
- var _ref = _asyncToGenerator(function* () {
1462
- return callback(yield fetchEnsResolver(args));
1463
- });
1464
-
1465
- return function handleChange() {
1466
- return _ref.apply(this, arguments);
1467
- };
1468
- }();
1018
+ const handleChange = async () => callback(await fetchEnsResolver(args));
1469
1019
 
1470
- var unsubscribe = client.subscribe(_ref2 => {
1471
- var {
1020
+ const unsubscribe = client.subscribe(_ref => {
1021
+ let {
1472
1022
  provider
1473
- } = _ref2;
1023
+ } = _ref;
1474
1024
  return provider;
1475
1025
  }, handleChange);
1476
1026
  return unsubscribe;
1477
1027
  }
1478
1028
 
1479
- function fetchFeeData() {
1480
- return _fetchFeeData.apply(this, arguments);
1481
- }
1482
-
1483
- function _fetchFeeData() {
1484
- _fetchFeeData = _asyncToGenerator(function* () {
1485
- var {
1486
- formatUnits: units = 'wei'
1487
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1488
- var feeData = yield client.provider.getFeeData();
1489
- var formatted = {
1490
- gasPrice: formatUnits(feeData.gasPrice, units),
1491
- maxFeePerGas: formatUnits(feeData.maxFeePerGas, units),
1492
- maxPriorityFeePerGas: formatUnits(feeData.maxPriorityFeePerGas, units)
1493
- };
1494
- return _objectSpread2(_objectSpread2({}, feeData), {}, {
1495
- formatted
1496
- });
1497
- });
1498
- return _fetchFeeData.apply(this, arguments);
1029
+ async function fetchFeeData() {
1030
+ let {
1031
+ formatUnits: units = 'wei'
1032
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1033
+ const feeData = await client.provider.getFeeData();
1034
+ const formatted = {
1035
+ gasPrice: formatUnits(feeData.gasPrice, units),
1036
+ maxFeePerGas: formatUnits(feeData.maxFeePerGas, units),
1037
+ maxPriorityFeePerGas: formatUnits(feeData.maxPriorityFeePerGas, units)
1038
+ };
1039
+ return { ...feeData,
1040
+ formatted
1041
+ };
1499
1042
  }
1500
1043
 
1501
1044
  function watchFeeData(args, callback) {
1502
- var handleChange = /*#__PURE__*/function () {
1503
- var _ref = _asyncToGenerator(function* () {
1504
- return callback(yield fetchFeeData(args));
1505
- });
1045
+ const handleChange = async () => callback(await fetchFeeData(args));
1506
1046
 
1507
- return function handleChange() {
1508
- return _ref.apply(this, arguments);
1509
- };
1510
- }();
1511
-
1512
- var unwatch = args.listenToBlock ? watchBlockNumber({
1047
+ const unwatch = args.listenToBlock ? watchBlockNumber({
1513
1048
  listen: true
1514
1049
  }, handleChange) : undefined;
1515
- var unsubscribe = client.subscribe(_ref2 => {
1516
- var {
1050
+ const unsubscribe = client.subscribe(_ref => {
1051
+ let {
1517
1052
  provider
1518
- } = _ref2;
1053
+ } = _ref;
1519
1054
  return provider;
1520
1055
  }, handleChange);
1521
1056
  return () => {
@@ -1525,99 +1060,70 @@ function watchFeeData(args, callback) {
1525
1060
  }
1526
1061
 
1527
1062
  function getProvider() {
1528
- return client.provider;
1063
+ return getClient().provider;
1529
1064
  }
1530
1065
 
1531
1066
  function getWebSocketProvider() {
1532
- return client.webSocketProvider;
1533
- }
1534
-
1535
- function fetchToken(_x) {
1536
- return _fetchToken.apply(this, arguments);
1067
+ return getClient().provider;
1537
1068
  }
1538
1069
 
1539
- function _fetchToken() {
1540
- _fetchToken = _asyncToGenerator(function* (_ref) {
1541
- var {
1542
- address,
1543
- formatUnits: units = 'ether'
1544
- } = _ref;
1545
- if (!address) throw new Error('address is required');
1546
- var {
1547
- provider
1548
- } = client;
1549
- var contract = new Contract(address, erc20ABI, provider);
1550
- var [symbol, decimals, totalSupply] = yield Promise.all([contract.symbol(), contract.decimals(), contract.totalSupply()]);
1551
- var token = {
1552
- address,
1553
- decimals,
1554
- symbol,
1555
- totalSupply: {
1556
- formatted: formatUnits(totalSupply, units),
1557
- value: totalSupply
1558
- }
1559
- };
1560
- return token;
1561
- });
1562
- return _fetchToken.apply(this, arguments);
1070
+ async function fetchToken(_ref) {
1071
+ let {
1072
+ address,
1073
+ formatUnits: units = 'ether'
1074
+ } = _ref;
1075
+ if (!address) throw new Error('address is required');
1076
+ const {
1077
+ provider
1078
+ } = client;
1079
+ const contract = new Contract(address, erc20ABI, provider);
1080
+ const [symbol, decimals, totalSupply] = await Promise.all([contract.symbol(), contract.decimals(), contract.totalSupply()]);
1081
+ const token = {
1082
+ address,
1083
+ decimals,
1084
+ symbol,
1085
+ totalSupply: {
1086
+ formatted: formatUnits(totalSupply, units),
1087
+ value: totalSupply
1088
+ }
1089
+ };
1090
+ return token;
1563
1091
  }
1564
1092
 
1565
1093
  function watchToken(args, callback) {
1566
- var handleChange = /*#__PURE__*/function () {
1567
- var _ref = _asyncToGenerator(function* () {
1568
- return callback(yield fetchToken(args));
1569
- });
1570
-
1571
- return function handleChange() {
1572
- return _ref.apply(this, arguments);
1573
- };
1574
- }();
1094
+ const handleChange = async () => callback(await fetchToken(args));
1575
1095
 
1576
- var unsubscribe = client.subscribe(_ref2 => {
1577
- var {
1096
+ const unsubscribe = client.subscribe(_ref => {
1097
+ let {
1578
1098
  provider
1579
- } = _ref2;
1099
+ } = _ref;
1580
1100
  return provider;
1581
1101
  }, handleChange);
1582
1102
  return unsubscribe;
1583
1103
  }
1584
1104
 
1585
- function sendTransaction(_x) {
1586
- return _sendTransaction.apply(this, arguments);
1587
- }
1588
-
1589
- function _sendTransaction() {
1590
- _sendTransaction = _asyncToGenerator(function* (args) {
1591
- try {
1592
- var signer = yield fetchSigner();
1593
- if (!signer) throw new ConnectorNotFoundError();
1594
- var transaction = yield signer.sendTransaction(args.request);
1595
- return transaction;
1596
- } catch (error_) {
1597
- var error = error_;
1598
- if (error_.code === 4001) error = new UserRejectedRequestError();
1599
- throw error;
1600
- }
1601
- });
1602
- return _sendTransaction.apply(this, arguments);
1603
- }
1604
-
1605
- function waitForTransaction(_x) {
1606
- return _waitForTransaction.apply(this, arguments);
1105
+ async function sendTransaction(args) {
1106
+ try {
1107
+ const signer = await fetchSigner();
1108
+ if (!signer) throw new ConnectorNotFoundError();
1109
+ const transaction = await signer.sendTransaction(args.request);
1110
+ return transaction;
1111
+ } catch (error_) {
1112
+ let error = error_;
1113
+ if (error_.code === 4001) error = new UserRejectedRequestError();
1114
+ throw error;
1115
+ }
1607
1116
  }
1608
1117
 
1609
- function _waitForTransaction() {
1610
- _waitForTransaction = _asyncToGenerator(function* (args) {
1611
- var {
1612
- provider
1613
- } = client;
1614
- var promise; // eslint-disable-next-line testing-library/await-async-utils
1118
+ async function waitForTransaction(args) {
1119
+ const {
1120
+ provider
1121
+ } = client;
1122
+ let promise; // eslint-disable-next-line testing-library/await-async-utils
1615
1123
 
1616
- if (args.wait) promise = args.wait(args.confirmations);else if (args.hash) promise = provider.waitForTransaction(args.hash, args.confirmations, args.timeout);else throw new Error('hash or wait is required');
1617
- var receipt = yield promise;
1618
- return receipt;
1619
- });
1620
- return _waitForTransaction.apply(this, arguments);
1124
+ if (args.wait) promise = args.wait(args.confirmations);else if (args.hash) promise = provider.waitForTransaction(args.hash, args.confirmations, args.timeout);else throw new Error('hash or wait is required');
1125
+ const receipt = await promise;
1126
+ return receipt;
1621
1127
  }
1622
1128
 
1623
- export { Client, InjectedConnector, Client as WagmiClient, connect, createClient, createStorage, createClient as createWagmiClient, createStorage as createWagmiStorage, disconnect, erc1155ABI, erc20ABI, erc721ABI, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, noopStorage, readContract, sendTransaction, signMessage, signTypedData, switchNetwork, units, waitForTransaction, watchAccount, watchBalance, watchBlockNumber, watchContractEvent, watchEnsAddress, watchEnsAvatar, watchEnsName, watchEnsResolver, watchFeeData, watchNetwork, watchReadContract, watchSigner, watchToken, writeContract };
1129
+ export { Client, InjectedConnector, Client as WagmiClient, connect, createClient, createStorage, createClient as createWagmiClient, createStorage as createWagmiStorage, disconnect, erc20ABI, erc721ABI, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, noopStorage, readContract, sendTransaction, signMessage, signTypedData, switchNetwork, units, waitForTransaction, watchAccount, watchBalance, watchBlockNumber, watchContractEvent, watchEnsAddress, watchEnsAvatar, watchEnsName, watchEnsResolver, watchFeeData, watchNetwork, watchReadContract, watchSigner, watchToken, writeContract };