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