@wagmi/core 0.2.0-next.0 → 0.2.0-next.11

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 (49) 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-83fd83c6.cjs.dev.js +543 -0
  11. package/dist/base-9b2942ee.cjs.prod.js +543 -0
  12. package/dist/base-b052e615.esm.js +516 -0
  13. package/dist/{classPrivateMethodGet-38b54c7a.cjs.dev.js → classPrivateMethodGet-45a38143.cjs.dev.js} +1 -1
  14. package/dist/{classPrivateMethodGet-c9db96d6.esm.js → classPrivateMethodGet-7c370e43.esm.js} +1 -1
  15. package/dist/{classPrivateMethodGet-0e9a7925.cjs.prod.js → classPrivateMethodGet-a1e1a4aa.cjs.prod.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 +27 -24
  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 +73 -6
  37. package/dist/declarations/src/utils/getInjectedName.d.ts +1 -1
  38. package/dist/wagmi-core.cjs.dev.js +578 -1067
  39. package/dist/wagmi-core.cjs.prod.js +578 -1067
  40. package/dist/wagmi-core.esm.js +575 -1068
  41. package/package.json +2 -3
  42. package/dist/base-09a653f3.cjs.dev.js +0 -453
  43. package/dist/base-824c3b6d.esm.js +0 -430
  44. package/dist/base-d8123d5f.cjs.prod.js +0 -453
  45. package/dist/declarations/src/constants/abis/erc1155.d.ts +0 -17
  46. package/dist/declarations/src/constants/abis/erc20.d.ts +0 -38
  47. package/dist/declarations/src/constants/abis/erc721.d.ts +0 -15
  48. package/dist/declarations/src/constants/abis/index.d.ts +0 -3
  49. package/dist/declarations/src/types/declarations.d.ts +0 -52
@@ -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-7c370e43.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-b052e615.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-b052e615.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,292 +8,36 @@ 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';
279
21
  if (ethereum.isMetaMask) return 'MetaMask';
22
+ if (ethereum.isBraveWallet) return 'Brave Wallet';
280
23
  if (ethereum.isCoinbaseWallet) return 'Coinbase Wallet';
281
24
  if (ethereum.isFrame) return 'Frame';
282
25
  if (ethereum.isTally) return 'Tally';
283
26
  return 'Injected';
284
27
  }
285
28
 
286
- var shimKey = 'injected.shimDisconnect';
29
+ const shimKey = 'injected.shimDisconnect';
287
30
 
288
31
  var _provider = /*#__PURE__*/new WeakMap();
289
32
 
290
33
  class InjectedConnector extends Connector {
291
34
  constructor(config) {
292
- super(_objectSpread2(_objectSpread2({}, config), {}, {
293
- options: _objectSpread2({
294
- shimDisconnect: true
295
- }, config === null || config === void 0 ? void 0 : config.options)
296
- }));
35
+ super({ ...config,
36
+ options: {
37
+ shimDisconnect: true,
38
+ ...(config === null || config === void 0 ? void 0 : config.options)
39
+ }
40
+ });
297
41
 
298
42
  _defineProperty(this, "id", 'injected');
299
43
 
@@ -313,8 +57,8 @@ class InjectedConnector extends Connector {
313
57
  });
314
58
 
315
59
  _defineProperty(this, "onChainChanged", chainId => {
316
- var id = normalizeChainId(chainId);
317
- var unsupported = this.isChainUnsupported(id);
60
+ const id = normalizeChainId(chainId);
61
+ const unsupported = this.isChainUnsupported(id);
318
62
  this.emit('change', {
319
63
  chain: {
320
64
  id,
@@ -330,224 +74,186 @@ class InjectedConnector extends Connector {
330
74
  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
75
  });
332
76
 
333
- var name = 'Injected';
77
+ let name = 'Injected';
334
78
  if (typeof window !== 'undefined') name = getInjectedName(window.ethereum);
335
79
  this.name = name;
336
80
  }
337
81
 
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();
82
+ async connect() {
83
+ try {
84
+ var _this$options2, _client$storage2;
356
85
 
357
- var unsupported = _this.isChainUnsupported(id);
86
+ const provider = await this.getProvider();
87
+ if (!provider) throw new ConnectorNotFoundError();
358
88
 
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;
89
+ if (provider.on) {
90
+ provider.on('accountsChanged', this.onAccountsChanged);
91
+ provider.on('chainChanged', this.onChainChanged);
92
+ provider.on('disconnect', this.onDisconnect);
371
93
  }
372
- })();
373
- }
374
-
375
- disconnect() {
376
- var _this2 = this;
377
-
378
- return _asyncToGenerator(function* () {
379
- var _this2$options, _client$storage3;
380
94
 
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
- })();
95
+ this.emit('message', {
96
+ type: 'connecting'
97
+ });
98
+ const account = await this.getAccount();
99
+ const id = await this.getChainId();
100
+ const unsupported = this.isChainUnsupported(id);
101
+ 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);
102
+ return {
103
+ account,
104
+ chain: {
105
+ id,
106
+ unsupported
107
+ },
108
+ provider
109
+ };
110
+ } catch (error) {
111
+ if (error.code === 4001) throw new UserRejectedRequestError();
112
+ throw error;
113
+ }
388
114
  }
389
115
 
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
116
+ async disconnect() {
117
+ var _this$options3, _client$storage3;
399
118
 
400
- return getAddress(accounts[0]);
401
- })();
119
+ const provider = await this.getProvider();
120
+ if (!(provider !== null && provider !== void 0 && provider.removeListener)) return;
121
+ provider.removeListener('accountsChanged', this.onAccountsChanged);
122
+ provider.removeListener('chainChanged', this.onChainChanged);
123
+ provider.removeListener('disconnect', this.onDisconnect);
124
+ 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
125
  }
403
126
 
404
- getChainId() {
405
- var _this4 = this;
127
+ async getAccount() {
128
+ const provider = await this.getProvider();
129
+ if (!provider) throw new ConnectorNotFoundError();
130
+ const accounts = await provider.request({
131
+ method: 'eth_requestAccounts'
132
+ }); // return checksum address
406
133
 
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
- })();
134
+ return getAddress(accounts[0]);
414
135
  }
415
136
 
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
- })();
137
+ async getChainId() {
138
+ const provider = await this.getProvider();
139
+ if (!provider) throw new ConnectorNotFoundError();
140
+ return await provider.request({
141
+ method: 'eth_chainId'
142
+ }).then(normalizeChainId);
423
143
  }
424
144
 
425
- getSigner() {
426
- var _this6 = this;
427
-
428
- return _asyncToGenerator(function* () {
429
- var provider = _this6.getProvider();
145
+ async getProvider() {
146
+ if (typeof window !== 'undefined' && !!window.ethereum) _classPrivateFieldSet(this, _provider, window.ethereum);
147
+ return _classPrivateFieldGet(this, _provider);
148
+ }
430
149
 
431
- var account = yield _this6.getAccount();
432
- return new providers.Web3Provider(provider).getSigner(account);
433
- })();
150
+ async getSigner() {
151
+ const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
152
+ return new providers.Web3Provider(provider).getSigner(account);
434
153
  }
435
154
 
436
- isAuthorized() {
437
- var _this7 = this;
155
+ async isAuthorized() {
156
+ try {
157
+ var _this$options4, _client$storage4;
438
158
 
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
- })();
159
+ 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;
160
+ const provider = await this.getProvider();
161
+ if (!provider) throw new ConnectorNotFoundError();
162
+ const accounts = await provider.request({
163
+ method: 'eth_accounts'
164
+ });
165
+ const account = accounts[0];
166
+ return !!account;
167
+ } catch {
168
+ return false;
169
+ }
455
170
  }
456
171
 
457
- switchChain(chainId) {
458
- var _this8 = this;
172
+ async switchChain(chainId) {
173
+ const provider = await this.getProvider();
174
+ if (!provider) throw new ConnectorNotFoundError();
175
+ const id = hexValue(chainId);
459
176
 
460
- return _asyncToGenerator(function* () {
461
- var provider = yield _this8.getProvider();
462
- if (!provider) throw new ConnectorNotFoundError();
463
- var id = hexValue(chainId);
177
+ try {
178
+ var _chains$find;
464
179
 
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
- })();
180
+ await provider.request({
181
+ method: 'wallet_switchEthereumChain',
182
+ params: [{
183
+ chainId: id
184
+ }]
185
+ });
186
+ const chains = [...this.chains, ...allChains];
187
+ return (_chains$find = chains.find(x => x.id === chainId)) !== null && _chains$find !== void 0 ? _chains$find : {
188
+ id: chainId,
189
+ name: "Chain ".concat(id),
190
+ rpcUrls: {
191
+ default: []
192
+ }
193
+ };
194
+ } catch (error) {
195
+ // Indicates chain is not added to provider
196
+ if (error.code === 4902) {
197
+ try {
198
+ const chain = this.chains.find(x => x.id === chainId);
199
+ if (!chain) throw new ChainNotConfiguredError();
200
+ await provider.request({
201
+ method: 'wallet_addEthereumChain',
202
+ params: [{
203
+ chainId: id,
204
+ chainName: chain.name,
205
+ nativeCurrency: chain.nativeCurrency,
206
+ rpcUrls: this.getRpcUrls(chain),
207
+ blockExplorerUrls: this.getBlockExplorerUrls(chain)
208
+ }]
209
+ });
210
+ return chain;
211
+ } catch (addError) {
212
+ throw new AddChainError();
213
+ }
214
+ } else if (error.code === 4001) throw new UserRejectedRequestError();else throw new SwitchChainError();
215
+ }
506
216
  }
507
217
 
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
- }
218
+ async watchAsset(_ref) {
219
+ let {
220
+ address,
221
+ decimals = 18,
222
+ image,
223
+ symbol
224
+ } = _ref;
225
+ const provider = await this.getProvider();
226
+ if (!provider) throw new ConnectorNotFoundError();
227
+ return await provider.request({
228
+ method: 'wallet_watchAsset',
229
+ params: {
230
+ type: 'ERC20',
231
+ options: {
232
+ address,
233
+ decimals,
234
+ image,
235
+ symbol
530
236
  }
531
- });
532
- })();
237
+ }
238
+ });
533
239
  }
534
240
 
535
241
  }
536
242
 
537
- var noopStorage = {
243
+ const noopStorage = {
538
244
  getItem: _key => '',
539
245
  setItem: (_key, _value) => null,
540
246
  removeItem: _key => null
541
247
  };
542
248
  function createStorage(_ref) {
543
- var {
249
+ let {
544
250
  storage,
545
251
  key: prefix = 'wagmi'
546
252
  } = _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));
253
+ return { ...storage,
254
+ getItem: function (key) {
255
+ let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
256
+ const value = storage.getItem("".concat(prefix, ".").concat(key));
551
257
 
552
258
  try {
553
259
  return value ? JSON.parse(value) : defaultState;
@@ -568,40 +274,18 @@ function createStorage(_ref) {
568
274
  }
569
275
  },
570
276
  removeItem: key => storage.removeItem("".concat(prefix, ".").concat(key))
571
- });
277
+ };
572
278
  }
573
279
 
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
280
  var _lastUsedConnector = /*#__PURE__*/new WeakMap();
593
281
 
594
282
  var _addEffects = /*#__PURE__*/new WeakSet();
595
283
 
596
284
  class Client {
597
285
  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;
286
+ var _config$autoConnect, _config$connectors, _config$provider, _config$storage;
287
+
288
+ let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
605
289
 
606
290
  _classPrivateMethodInitSpec(this, _addEffects);
607
291
 
@@ -616,53 +300,79 @@ class Client {
616
300
  value: void 0
617
301
  });
618
302
 
619
- this.config = {
620
- autoConnect,
621
- connectors: _connectors,
622
- provider: _provider,
623
- webSocketProvider: _webSocketProvider
303
+ // Set default values for config
304
+ const autoConnect = (_config$autoConnect = config.autoConnect) !== null && _config$autoConnect !== void 0 ? _config$autoConnect : false;
305
+
306
+ const _connectors = (_config$connectors = config.connectors) !== null && _config$connectors !== void 0 ? _config$connectors : [new InjectedConnector()];
307
+
308
+ const _provider = (_config$provider = config.provider) !== null && _config$provider !== void 0 ? _config$provider : config => {
309
+ try {
310
+ return getDefaultProvider(config.chainId);
311
+ } catch {
312
+ return getDefaultProvider();
313
+ }
624
314
  };
625
- var status = 'disconnected';
626
315
 
627
- var _chainId;
316
+ const storage = (_config$storage = config.storage) !== null && _config$storage !== void 0 ? _config$storage : createStorage({
317
+ storage: typeof window !== 'undefined' ? window.localStorage : noopStorage
318
+ });
319
+ const _webSocketProvider = config.webSocketProvider; // Check status for autoConnect flag
320
+
321
+ let status = 'disconnected';
322
+
323
+ let _chainId;
628
324
 
629
325
  if (autoConnect) {
630
326
  try {
631
327
  var _JSON$parse, _JSON$parse$state, _data$chain;
632
328
 
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
329
+ const rawState = storage.getItem('state', '');
330
+ 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
331
 
636
332
  status = data !== null && data !== void 0 && data.account ? 'reconnecting' : 'connecting';
637
333
  _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
334
  } 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,
335
+ } // Evaluate initial store values
336
+
337
+
338
+ const connectors_ = typeof _connectors === 'function' ? _connectors({
339
+ chainId: _chainId
340
+ }) : _connectors;
341
+ const provider_ = typeof _provider === 'function' ? _provider({
342
+ chainId: _chainId
343
+ }) : _provider;
344
+ const webSocketProvider_ = typeof _webSocketProvider === 'function' ? _webSocketProvider({
345
+ chainId: _chainId
346
+ }) : _webSocketProvider; // Create store
347
+
348
+ this.store = create(subscribeWithSelector(persist(() => ({
349
+ connectors: connectors_,
350
+ provider: provider_,
648
351
  status,
649
- webSocketProvider: typeof _webSocketProvider === 'function' ? _webSocketProvider({
650
- chainId: _chainId
651
- }) : _webSocketProvider
352
+ webSocketProvider: webSocketProvider_
652
353
  }), {
653
354
  name: 'state',
654
355
  getStorage: () => storage,
655
356
  partialize: state => {
656
357
  var _state$data, _state$data2;
657
358
 
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
- }
359
+ return { ...(autoConnect && {
360
+ data: {
361
+ account: state === null || state === void 0 ? void 0 : (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.account,
362
+ chain: state === null || state === void 0 ? void 0 : (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.chain
363
+ }
364
+ }),
365
+ chains: state === null || state === void 0 ? void 0 : state.chains
663
366
  };
664
367
  }
665
368
  })));
369
+ this.config = {
370
+ autoConnect,
371
+ connectors: _connectors,
372
+ provider: _provider,
373
+ storage,
374
+ webSocketProvider: _webSocketProvider
375
+ };
666
376
  this.storage = storage;
667
377
 
668
378
  _classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
@@ -670,6 +380,10 @@ class Client {
670
380
  _classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
671
381
  }
672
382
 
383
+ get chains() {
384
+ return this.store.getState().chains;
385
+ }
386
+
673
387
  get connectors() {
674
388
  return this.store.getState().connectors;
675
389
  }
@@ -703,12 +417,12 @@ class Client {
703
417
  }
704
418
 
705
419
  setState(updater) {
706
- var newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
420
+ const newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
707
421
  this.store.setState(newState, true);
708
422
  }
709
423
 
710
424
  clearState() {
711
- this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
425
+ this.setState(x => ({ ...x,
712
426
  connector: undefined,
713
427
  data: undefined,
714
428
  error: undefined,
@@ -716,84 +430,74 @@ class Client {
716
430
  }));
717
431
  }
718
432
 
719
- destroy() {
720
- var _this = this;
433
+ async destroy() {
434
+ var _this$connector$disco, _this$connector;
721
435
 
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);
726
-
727
- _this.clearState();
728
-
729
- _this.store.destroy();
730
- })();
436
+ 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));
437
+ this.clearState();
438
+ this.store.destroy();
731
439
  }
732
440
 
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
441
+ async autoConnect() {
442
+ if (!this.connectors.length) return; // Try last used connector first
443
+
444
+ const sorted = _classPrivateFieldGet(this, _lastUsedConnector) ? [...this.connectors].sort(x => x.id === _classPrivateFieldGet(this, _lastUsedConnector) ? -1 : 1) : this.connectors;
445
+ let connected = false;
446
+
447
+ for (const connector of sorted) {
448
+ if (!connector.ready || !connector.isAuthorized) continue;
449
+ const isAuthorized = await connector.isAuthorized();
450
+ if (!isAuthorized) continue;
451
+ const data = await connector.connect();
452
+ this.setState(x => ({ ...x,
453
+ connector,
454
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
455
+ data,
456
+ status: 'connected'
457
+ }));
458
+ connected = true;
459
+ break;
460
+ } // If connecting didn't succeed, set to disconnected
764
461
 
765
462
 
766
- if (!connected) _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
767
- status: 'disconnected'
768
- }));
769
- return _this2.data;
770
- })();
463
+ if (!connected) this.setState(x => ({ ...x,
464
+ status: 'disconnected'
465
+ }));
466
+ return this.data;
771
467
  }
772
468
 
773
469
  setLastUsedConnector() {
774
470
  var _this$storage;
775
471
 
776
- var lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
472
+ let lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
777
473
  (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.setItem('wallet', lastUsedConnector);
778
474
  }
779
475
 
780
476
  }
781
477
 
782
478
  function _addEffects2() {
783
- var onChange = data => this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
784
- data: _objectSpread2(_objectSpread2({}, x.data), data)
785
- }));
479
+ const onChange = data => {
480
+ this.setState(x => ({ ...x,
481
+ data: { ...x.data,
482
+ ...data
483
+ }
484
+ }));
485
+ };
786
486
 
787
- var onDisconnect = () => this.clearState();
487
+ const onDisconnect = () => {
488
+ this.clearState();
489
+ };
788
490
 
789
- var onError = error => this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
790
- error
791
- }));
491
+ const onError = error => {
492
+ this.setState(x => ({ ...x,
493
+ error
494
+ }));
495
+ };
792
496
 
793
- this.store.subscribe(_ref2 => {
794
- var {
497
+ this.store.subscribe(_ref => {
498
+ let {
795
499
  connector
796
- } = _ref2;
500
+ } = _ref;
797
501
  return connector;
798
502
  }, (connector, prevConnector) => {
799
503
  var _prevConnector$off, _prevConnector$off2, _prevConnector$off3, _connector$on, _connector$on2, _connector$on3;
@@ -806,23 +510,23 @@ function _addEffects2() {
806
510
  (_connector$on2 = connector.on) === null || _connector$on2 === void 0 ? void 0 : _connector$on2.call(connector, 'disconnect', onDisconnect);
807
511
  (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
808
512
  });
809
- var {
513
+ const {
810
514
  connectors,
811
515
  provider,
812
516
  webSocketProvider
813
517
  } = 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 => {
518
+ const subscribeConnectors = typeof connectors === 'function';
519
+ const subscribeProvider = typeof provider === 'function';
520
+ const subscribeWebSocketProvider = typeof webSocketProvider === 'function';
521
+ if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref2 => {
818
522
  var _data$chain2;
819
523
 
820
- var {
524
+ let {
821
525
  data
822
- } = _ref3;
526
+ } = _ref2;
823
527
  return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
824
528
  }, chainId => {
825
- this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
529
+ this.setState(x => ({ ...x,
826
530
  connectors: subscribeConnectors ? connectors({
827
531
  chainId
828
532
  }) : x.connectors,
@@ -836,105 +540,83 @@ function _addEffects2() {
836
540
  });
837
541
  }
838
542
 
839
- var client;
543
+ let client;
840
544
  function createClient(config) {
841
- var client_ = new Client(config);
545
+ const client_ = new Client(config);
842
546
  client = client_;
843
547
  return client_;
844
548
  }
845
-
846
- function connect(_x) {
847
- return _connect.apply(this, arguments);
848
- }
849
-
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);
549
+ function getClient() {
550
+ return client;
867
551
  }
868
552
 
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);
553
+ async function connect(_ref) {
554
+ let {
555
+ connector
556
+ } = _ref;
557
+ const activeConnector = client.connector;
558
+ if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new ConnectorAlreadyConnectedError();
559
+ const data = await connector.connect();
560
+ client.setLastUsedConnector(connector.id);
561
+ client.setState(x => ({ ...x,
562
+ connector,
563
+ chains: connector === null || connector === void 0 ? void 0 : connector.chains,
564
+ data
565
+ }));
566
+ client.storage.setItem('connected', true);
567
+ return { ...data,
568
+ connector
569
+ };
880
570
  }
881
571
 
882
- function fetchBalance(_x) {
883
- return _fetchBalance.apply(this, arguments);
572
+ async function disconnect() {
573
+ if (client.connector) await client.connector.disconnect();
574
+ client.clearState();
575
+ client.storage.removeItem('connected');
884
576
  }
885
577
 
886
- function _fetchBalance() {
887
- _fetchBalance = _asyncToGenerator(function* (_ref) {
888
- var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
578
+ async function fetchBalance(_ref) {
579
+ var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
889
580
 
890
- var {
891
- addressOrName,
892
- formatUnits: unit = 'ether',
893
- token
894
- } = _ref;
895
-
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
- }
581
+ let {
582
+ addressOrName,
583
+ formatUnits: unit = 'ether',
584
+ token
585
+ } = _ref;
907
586
 
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);
587
+ if (token) {
588
+ const contract = new Contract(token, erc20ABI, client.provider);
589
+ const [value, decimals, symbol] = await Promise.all([contract.balanceOf(addressOrName), contract.decimals(), contract.symbol()]);
911
590
  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,
591
+ decimals,
913
592
  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',
593
+ symbol,
915
594
  unit,
916
595
  value
917
596
  };
918
- });
919
- return _fetchBalance.apply(this, arguments);
920
- }
597
+ }
921
598
 
922
- function fetchSigner() {
923
- return _fetchSigner.apply(this, arguments);
599
+ 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];
600
+ const value = await client.provider.getBalance(addressOrName);
601
+ const chain = chains.find(x => x.id === client.provider.network.chainId);
602
+ return {
603
+ 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,
604
+ formatted: formatUnits(value, unit),
605
+ 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',
606
+ unit,
607
+ value
608
+ };
924
609
  }
925
610
 
926
- function _fetchSigner() {
927
- _fetchSigner = _asyncToGenerator(function* () {
928
- var _client$connector, _client$connector$get;
611
+ async function fetchSigner() {
612
+ var _client$connector, _client$connector$get;
929
613
 
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);
614
+ 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));
615
+ return signer;
934
616
  }
935
617
 
936
618
  function getAccount() {
937
- var {
619
+ const {
938
620
  data,
939
621
  connector
940
622
  } = client;
@@ -945,88 +627,72 @@ function getAccount() {
945
627
  }
946
628
 
947
629
  function getNetwork() {
948
- var _data$chain, _data$chain2, _connector$chains, _find;
630
+ var _data$chain, _data$chain2, _find;
949
631
 
950
- var {
951
- connector,
632
+ const {
633
+ chains,
952
634
  data
953
635
  } = 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 : {
636
+ const chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
637
+ const unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
638
+ const activeChains = chains !== null && chains !== void 0 ? chains : [];
639
+ const activeChain = (_find = [...activeChains, ...allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
958
640
  id: chainId,
959
641
  name: "Chain ".concat(chainId),
960
- rpcUrls: []
642
+ rpcUrls: {
643
+ default: []
644
+ }
961
645
  };
962
646
  return {
963
- chain: chainId ? _objectSpread2(_objectSpread2({}, activeChain), {}, {
647
+ chain: chainId ? { ...activeChain,
964
648
  id: chainId,
965
649
  unsupported
966
- }) : undefined,
650
+ } : undefined,
967
651
  chains: activeChains
968
652
  };
969
653
  }
970
654
 
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);
655
+ async function signMessage(args) {
656
+ try {
657
+ const signer = await fetchSigner();
658
+ if (!signer) throw new ConnectorNotFoundError();
659
+ return await signer.signMessage(args.message);
660
+ } catch (error_) {
661
+ let error = error_;
662
+ if (error_.code === 4001) error = new UserRejectedRequestError();
663
+ throw error;
664
+ }
992
665
  }
993
666
 
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
667
+ async function signTypedData(args) {
668
+ try {
669
+ const signer = await fetchSigner();
670
+ if (!signer) throw new ConnectorNotFoundError(); // Method name may be changed in the future, see https://docs.ethers.io/v5/api/signer/#Signer-signTypedData
999
671
 
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
- }
1009
-
1010
- function switchNetwork(_x) {
1011
- return _switchNetwork.apply(this, arguments);
672
+ return await signer._signTypedData(args.domain, args.types, args.value);
673
+ } catch (error_) {
674
+ let error = error_;
675
+ if (error_.code === 4001) error = new UserRejectedRequestError();
676
+ throw error;
677
+ }
1012
678
  }
1013
679
 
1014
- function _switchNetwork() {
1015
- _switchNetwork = _asyncToGenerator(function* (args) {
1016
- var _client$connector;
680
+ async function switchNetwork(_ref) {
681
+ var _client$connector;
1017
682
 
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);
683
+ let {
684
+ chainId
685
+ } = _ref;
686
+ if (!((_client$connector = client.connector) !== null && _client$connector !== void 0 && _client$connector.switchChain)) throw new SwitchChainNotSupportedError();
687
+ const chain = await client.connector.switchChain(chainId);
688
+ return chain;
1023
689
  }
1024
690
 
1025
691
  function watchAccount(callback) {
1026
- var handleChange = () => callback(getAccount());
692
+ const handleChange = () => callback(getAccount());
1027
693
 
1028
- var unsubscribe = client.subscribe(_ref => {
1029
- var {
694
+ const unsubscribe = client.subscribe(_ref => {
695
+ let {
1030
696
  data,
1031
697
  connector
1032
698
  } = _ref;
@@ -1041,22 +707,14 @@ function watchAccount(callback) {
1041
707
  }
1042
708
 
1043
709
  function watchBalance(args, callback) {
1044
- var handleChange = /*#__PURE__*/function () {
1045
- var _ref = _asyncToGenerator(function* () {
1046
- return callback(yield fetchBalance(args));
1047
- });
710
+ const handleChange = async () => callback(await fetchBalance(args));
1048
711
 
1049
- return function handleChange() {
1050
- return _ref.apply(this, arguments);
1051
- };
1052
- }();
1053
-
1054
- var unsubscribe = client.subscribe(_ref2 => {
712
+ const unsubscribe = client.subscribe(_ref => {
1055
713
  var _data$chain;
1056
714
 
1057
- var {
715
+ let {
1058
716
  data
1059
- } = _ref2;
717
+ } = _ref;
1060
718
  return {
1061
719
  account: data === null || data === void 0 ? void 0 : data.account,
1062
720
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id
@@ -1068,43 +726,35 @@ function watchBalance(args, callback) {
1068
726
  }
1069
727
 
1070
728
  function watchNetwork(callback) {
1071
- var handleChange = () => callback(getNetwork());
729
+ const handleChange = () => callback(getNetwork());
1072
730
 
1073
- var unsubscribe = client.subscribe(_ref => {
731
+ const unsubscribe = client.subscribe(_ref => {
1074
732
  var _data$chain;
1075
733
 
1076
- var {
734
+ let {
1077
735
  data,
1078
- connector
736
+ chains
1079
737
  } = _ref;
1080
738
  return {
1081
739
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
1082
- connector
740
+ chains
1083
741
  };
1084
742
  }, handleChange, {
1085
- equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.connector === previous.connector
743
+ equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.chains === previous.chains
1086
744
  });
1087
745
  return unsubscribe;
1088
746
  }
1089
747
 
1090
748
  function watchSigner(callback) {
1091
- var handleChange = /*#__PURE__*/function () {
1092
- var _ref = _asyncToGenerator(function* () {
1093
- return callback(yield fetchSigner());
1094
- });
749
+ const handleChange = async () => callback(await fetchSigner());
1095
750
 
1096
- return function handleChange() {
1097
- return _ref.apply(this, arguments);
1098
- };
1099
- }();
1100
-
1101
- var unsubscribe = client.subscribe(_ref2 => {
751
+ const unsubscribe = client.subscribe(_ref => {
1102
752
  var _data$chain;
1103
753
 
1104
- var {
754
+ let {
1105
755
  data,
1106
756
  connector
1107
- } = _ref2;
757
+ } = _ref;
1108
758
  return {
1109
759
  account: data === null || data === void 0 ? void 0 : data.account,
1110
760
  chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
@@ -1117,7 +767,7 @@ function watchSigner(callback) {
1117
767
  }
1118
768
 
1119
769
  function getContract(_ref) {
1120
- var {
770
+ let {
1121
771
  addressOrName,
1122
772
  contractInterface,
1123
773
  signerOrProvider
@@ -1125,27 +775,21 @@ function getContract(_ref) {
1125
775
  return new Contract(addressOrName, contractInterface, signerOrProvider);
1126
776
  }
1127
777
 
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;
778
+ async function readContract(contractConfig, functionName) {
779
+ let {
780
+ args,
781
+ overrides
782
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
783
+ const {
784
+ provider
785
+ } = client;
786
+ const contract = getContract({
787
+ signerOrProvider: provider,
788
+ ...contractConfig
1147
789
  });
1148
- return _readContract.apply(this, arguments);
790
+ const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
791
+ const response = await contract[functionName](...params);
792
+ return response;
1149
793
  }
1150
794
 
1151
795
  function watchContractEvent(
@@ -1153,36 +797,31 @@ function watchContractEvent(
1153
797
  contractArgs,
1154
798
  /** Event name to listen to */
1155
799
  eventName, callback) {
1156
- var {
800
+ let {
1157
801
  once
1158
802
  } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
1159
- var contract;
803
+ let contract;
1160
804
 
1161
- var watchEvent = /*#__PURE__*/function () {
1162
- var _ref = _asyncToGenerator(function* () {
1163
- if (contract) {
1164
- var _contract;
805
+ const watchEvent = async () => {
806
+ if (contract) {
807
+ var _contract;
1165
808
 
1166
- (_contract = contract) === null || _contract === void 0 ? void 0 : _contract.off(eventName, callback);
1167
- }
809
+ (_contract = contract) === null || _contract === void 0 ? void 0 : _contract.off(eventName, callback);
810
+ }
1168
811
 
1169
- contract = getContract(_objectSpread2({
1170
- signerOrProvider: client.webSocketProvider || client.provider
1171
- }, contractArgs));
1172
- if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
812
+ contract = getContract({
813
+ signerOrProvider: client.webSocketProvider || client.provider,
814
+ ...contractArgs
1173
815
  });
1174
-
1175
- return function watchEvent() {
1176
- return _ref.apply(this, arguments);
1177
- };
1178
- }();
816
+ if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
817
+ };
1179
818
 
1180
819
  watchEvent();
1181
- var unsubscribe = client.subscribe(_ref2 => {
1182
- var {
820
+ const unsubscribe = client.subscribe(_ref => {
821
+ let {
1183
822
  provider,
1184
823
  webSocketProvider
1185
- } = _ref2;
824
+ } = _ref;
1186
825
  return {
1187
826
  provider,
1188
827
  webSocketProvider
@@ -1198,23 +837,16 @@ eventName, callback) {
1198
837
  };
1199
838
  }
1200
839
 
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);
840
+ async function fetchBlockNumber() {
841
+ const blockNumber = await client.provider.getBlockNumber();
842
+ return blockNumber;
1211
843
  }
1212
844
 
1213
845
  function watchBlockNumber(args, callback) {
1214
- var prevProvider;
846
+ let prevProvider;
1215
847
 
1216
- var createListener = provider => {
1217
- var listener = blockNumber => {
848
+ const createListener = provider => {
849
+ const listener = blockNumber => {
1218
850
  callback(blockNumber);
1219
851
  };
1220
852
 
@@ -1228,14 +860,14 @@ function watchBlockNumber(args, callback) {
1228
860
  prevProvider = provider;
1229
861
  };
1230
862
 
1231
- var {
863
+ const {
1232
864
  provider,
1233
865
  webSocketProvider
1234
866
  } = client;
1235
- var provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
867
+ const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
1236
868
  if (args.listen) createListener(provider_);
1237
- var unsubscribe = client.subscribe(_ref => {
1238
- var {
869
+ const unsubscribe = client.subscribe(_ref => {
870
+ let {
1239
871
  provider,
1240
872
  webSocketProvider
1241
873
  } = _ref;
@@ -1243,25 +875,19 @@ function watchBlockNumber(args, callback) {
1243
875
  provider,
1244
876
  webSocketProvider
1245
877
  };
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
- }
878
+ }, async _ref2 => {
879
+ let {
880
+ provider,
881
+ webSocketProvider
882
+ } = _ref2;
883
+ const provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
1257
884
 
1258
- callback(yield fetchBlockNumber());
1259
- });
885
+ if (args.listen && provider_) {
886
+ createListener(provider_);
887
+ }
1260
888
 
1261
- return function (_x) {
1262
- return _ref3.apply(this, arguments);
1263
- };
1264
- }(), {
889
+ callback(await fetchBlockNumber());
890
+ }, {
1265
891
  equalityFn: (selected, previous) => selected.provider === previous.provider && selected.webSocketProvider === previous.webSocketProvider
1266
892
  });
1267
893
  return unsubscribe;
@@ -1270,26 +896,18 @@ function watchBlockNumber(args, callback) {
1270
896
  function watchReadContract(contractConfig, functionName) {
1271
897
  var _config$listenToBlock;
1272
898
 
1273
- var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1274
- var callback = arguments.length > 3 ? arguments[3] : undefined;
899
+ let config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
900
+ let callback = arguments.length > 3 ? arguments[3] : undefined;
1275
901
 
1276
- var handleChange = /*#__PURE__*/function () {
1277
- var _ref = _asyncToGenerator(function* () {
1278
- return callback(yield readContract(contractConfig, functionName, config));
1279
- });
902
+ const handleChange = async () => callback(await readContract(contractConfig, functionName, config));
1280
903
 
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({
904
+ const unwatch = ((_config$listenToBlock = config.listenToBlock) !== null && _config$listenToBlock !== void 0 ? _config$listenToBlock : true) ? watchBlockNumber({
1287
905
  listen: true
1288
906
  }, handleChange) : undefined;
1289
- var unsubscribe = client.subscribe(_ref2 => {
1290
- var {
907
+ const unsubscribe = client.subscribe(_ref => {
908
+ let {
1291
909
  provider
1292
- } = _ref2;
910
+ } = _ref;
1293
911
  return provider;
1294
912
  }, handleChange);
1295
913
  return () => {
@@ -1298,224 +916,142 @@ function watchReadContract(contractConfig, functionName) {
1298
916
  };
1299
917
  }
1300
918
 
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);
919
+ async function writeContract(contractConfig, functionName) {
920
+ let {
921
+ args,
922
+ overrides
923
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
924
+ const {
925
+ connector
926
+ } = client;
927
+ const contract = getContract(contractConfig);
928
+ if (!connector) throw new ConnectorNotFoundError();
929
+ const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
930
+
931
+ try {
932
+ const signer = await connector.getSigner();
933
+ const contract_ = contract.connect(signer);
934
+ const response = await contract_[functionName](...params);
935
+ return response;
936
+ } catch (error_) {
937
+ let error = error_;
938
+ if (error_.code === 4001) error = new UserRejectedRequestError();
939
+ throw error;
940
+ }
1354
941
  }
1355
942
 
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
- }
943
+ async function fetchEnsAddress(_ref) {
944
+ let {
945
+ name
946
+ } = _ref;
947
+ const address = await client.provider.resolveName(name);
1368
948
 
1369
- function fetchEnsName(_x) {
1370
- return _fetchEnsName.apply(this, arguments);
949
+ try {
950
+ return address ? getAddress(address) : null;
951
+ } catch (_error) {
952
+ return null;
953
+ }
1371
954
  }
1372
955
 
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);
956
+ async function fetchEnsAvatar(_ref) {
957
+ let {
958
+ addressOrName
959
+ } = _ref;
960
+ // TODO: Update with more advanced logic
961
+ // https://github.com/ensdomains/ens-avatar
962
+ const avatar = await client.provider.getAvatar(addressOrName);
963
+ return avatar;
1382
964
  }
1383
965
 
1384
- function fetchEnsResolver(_x) {
1385
- return _fetchEnsResolver.apply(this, arguments);
966
+ async function fetchEnsName(_ref) {
967
+ let {
968
+ address
969
+ } = _ref;
970
+ const ensName = await client.provider.lookupAddress(address);
971
+ return ensName;
1386
972
  }
1387
973
 
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);
974
+ async function fetchEnsResolver(_ref) {
975
+ let {
976
+ name
977
+ } = _ref;
978
+ const resolver = await client.provider.getResolver(name);
979
+ return resolver;
1397
980
  }
1398
981
 
1399
982
  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
- }();
983
+ const handleChange = async () => callback(await fetchEnsAddress(args));
1409
984
 
1410
- var unsubscribe = client.subscribe(_ref2 => {
1411
- var {
985
+ const unsubscribe = client.subscribe(_ref => {
986
+ let {
1412
987
  provider
1413
- } = _ref2;
988
+ } = _ref;
1414
989
  return provider;
1415
990
  }, handleChange);
1416
991
  return unsubscribe;
1417
992
  }
1418
993
 
1419
994
  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
- }();
995
+ const handleChange = async () => callback(await fetchEnsAvatar(args));
1429
996
 
1430
- var unsubscribe = client.subscribe(_ref2 => {
1431
- var {
997
+ const unsubscribe = client.subscribe(_ref => {
998
+ let {
1432
999
  provider
1433
- } = _ref2;
1000
+ } = _ref;
1434
1001
  return provider;
1435
1002
  }, handleChange);
1436
1003
  return unsubscribe;
1437
1004
  }
1438
1005
 
1439
1006
  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
- }();
1007
+ const handleChange = async () => callback(await fetchEnsName(args));
1449
1008
 
1450
- var unsubscribe = client.subscribe(_ref2 => {
1451
- var {
1009
+ const unsubscribe = client.subscribe(_ref => {
1010
+ let {
1452
1011
  provider
1453
- } = _ref2;
1012
+ } = _ref;
1454
1013
  return provider;
1455
1014
  }, handleChange);
1456
1015
  return unsubscribe;
1457
1016
  }
1458
1017
 
1459
1018
  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
- }();
1019
+ const handleChange = async () => callback(await fetchEnsResolver(args));
1469
1020
 
1470
- var unsubscribe = client.subscribe(_ref2 => {
1471
- var {
1021
+ const unsubscribe = client.subscribe(_ref => {
1022
+ let {
1472
1023
  provider
1473
- } = _ref2;
1024
+ } = _ref;
1474
1025
  return provider;
1475
1026
  }, handleChange);
1476
1027
  return unsubscribe;
1477
1028
  }
1478
1029
 
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);
1030
+ async function fetchFeeData() {
1031
+ let {
1032
+ formatUnits: units = 'wei'
1033
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1034
+ const feeData = await client.provider.getFeeData();
1035
+ const formatted = {
1036
+ gasPrice: formatUnits(feeData.gasPrice, units),
1037
+ maxFeePerGas: formatUnits(feeData.maxFeePerGas, units),
1038
+ maxPriorityFeePerGas: formatUnits(feeData.maxPriorityFeePerGas, units)
1039
+ };
1040
+ return { ...feeData,
1041
+ formatted
1042
+ };
1499
1043
  }
1500
1044
 
1501
1045
  function watchFeeData(args, callback) {
1502
- var handleChange = /*#__PURE__*/function () {
1503
- var _ref = _asyncToGenerator(function* () {
1504
- return callback(yield fetchFeeData(args));
1505
- });
1046
+ const handleChange = async () => callback(await fetchFeeData(args));
1506
1047
 
1507
- return function handleChange() {
1508
- return _ref.apply(this, arguments);
1509
- };
1510
- }();
1511
-
1512
- var unwatch = args.listenToBlock ? watchBlockNumber({
1048
+ const unwatch = args.listenToBlock ? watchBlockNumber({
1513
1049
  listen: true
1514
1050
  }, handleChange) : undefined;
1515
- var unsubscribe = client.subscribe(_ref2 => {
1516
- var {
1051
+ const unsubscribe = client.subscribe(_ref => {
1052
+ let {
1517
1053
  provider
1518
- } = _ref2;
1054
+ } = _ref;
1519
1055
  return provider;
1520
1056
  }, handleChange);
1521
1057
  return () => {
@@ -1525,99 +1061,70 @@ function watchFeeData(args, callback) {
1525
1061
  }
1526
1062
 
1527
1063
  function getProvider() {
1528
- return client.provider;
1064
+ return getClient().provider;
1529
1065
  }
1530
1066
 
1531
1067
  function getWebSocketProvider() {
1532
- return client.webSocketProvider;
1533
- }
1534
-
1535
- function fetchToken(_x) {
1536
- return _fetchToken.apply(this, arguments);
1068
+ return getClient().webSocketProvider;
1537
1069
  }
1538
1070
 
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);
1071
+ async function fetchToken(_ref) {
1072
+ let {
1073
+ address,
1074
+ formatUnits: units = 'ether'
1075
+ } = _ref;
1076
+ if (!address) throw new Error('address is required');
1077
+ const {
1078
+ provider
1079
+ } = client;
1080
+ const contract = new Contract(address, erc20ABI, provider);
1081
+ const [symbol, decimals, totalSupply] = await Promise.all([contract.symbol(), contract.decimals(), contract.totalSupply()]);
1082
+ const token = {
1083
+ address,
1084
+ decimals,
1085
+ symbol,
1086
+ totalSupply: {
1087
+ formatted: formatUnits(totalSupply, units),
1088
+ value: totalSupply
1089
+ }
1090
+ };
1091
+ return token;
1563
1092
  }
1564
1093
 
1565
1094
  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
- }();
1095
+ const handleChange = async () => callback(await fetchToken(args));
1575
1096
 
1576
- var unsubscribe = client.subscribe(_ref2 => {
1577
- var {
1097
+ const unsubscribe = client.subscribe(_ref => {
1098
+ let {
1578
1099
  provider
1579
- } = _ref2;
1100
+ } = _ref;
1580
1101
  return provider;
1581
1102
  }, handleChange);
1582
1103
  return unsubscribe;
1583
1104
  }
1584
1105
 
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);
1106
+ async function sendTransaction(args) {
1107
+ try {
1108
+ const signer = await fetchSigner();
1109
+ if (!signer) throw new ConnectorNotFoundError();
1110
+ const transaction = await signer.sendTransaction(args.request);
1111
+ return transaction;
1112
+ } catch (error_) {
1113
+ let error = error_;
1114
+ if (error_.code === 4001) error = new UserRejectedRequestError();
1115
+ throw error;
1116
+ }
1607
1117
  }
1608
1118
 
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
1119
+ async function waitForTransaction(args) {
1120
+ const {
1121
+ provider
1122
+ } = client;
1123
+ let promise; // eslint-disable-next-line testing-library/await-async-utils
1615
1124
 
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);
1125
+ 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');
1126
+ const receipt = await promise;
1127
+ return receipt;
1621
1128
  }
1622
1129
 
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 };
1130
+ 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 };