@wagmi/core 0.2.0-next.6 → 0.2.0-next.9

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 (97) hide show
  1. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.d.ts +11 -1
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.js +15 -6
  3. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.d.ts +11 -1
  4. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.js +15 -6
  5. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.d.ts +11 -1
  6. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.js +15 -6
  7. package/dist/wagmi-core.cjs.d.ts +11 -1
  8. package/dist/wagmi-core.cjs.js +15 -6
  9. package/package.json +2 -3
  10. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +0 -253
  11. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +0 -253
  12. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +0 -231
  13. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +0 -304
  14. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +0 -304
  15. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +0 -295
  16. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +0 -215
  17. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +0 -215
  18. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +0 -193
  19. package/dist/base-09a653f3.cjs.dev.js +0 -453
  20. package/dist/base-824c3b6d.esm.js +0 -430
  21. package/dist/base-d8123d5f.cjs.prod.js +0 -453
  22. package/dist/classPrivateMethodGet-0e9a7925.cjs.prod.js +0 -19
  23. package/dist/classPrivateMethodGet-38b54c7a.cjs.dev.js +0 -19
  24. package/dist/classPrivateMethodGet-c9db96d6.esm.js +0 -16
  25. package/dist/declarations/src/actions/accounts/connect.d.ts +0 -7
  26. package/dist/declarations/src/actions/accounts/disconnect.d.ts +0 -1
  27. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +0 -18
  28. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +0 -3
  29. package/dist/declarations/src/actions/accounts/getAccount.d.ts +0 -6
  30. package/dist/declarations/src/actions/accounts/getNetwork.d.ts +0 -9
  31. package/dist/declarations/src/actions/accounts/index.d.ts +0 -13
  32. package/dist/declarations/src/actions/accounts/signMessage.d.ts +0 -9
  33. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +0 -13
  34. package/dist/declarations/src/actions/accounts/switchNetwork.d.ts +0 -6
  35. package/dist/declarations/src/actions/accounts/watchAccount.d.ts +0 -3
  36. package/dist/declarations/src/actions/accounts/watchBalance.d.ts +0 -3
  37. package/dist/declarations/src/actions/accounts/watchNetwork.d.ts +0 -3
  38. package/dist/declarations/src/actions/accounts/watchSigner.d.ts +0 -3
  39. package/dist/declarations/src/actions/contracts/getContract.d.ts +0 -11
  40. package/dist/declarations/src/actions/contracts/index.d.ts +0 -5
  41. package/dist/declarations/src/actions/contracts/readContract.d.ts +0 -11
  42. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +0 -12
  43. package/dist/declarations/src/actions/contracts/watchReadContract.d.ts +0 -7
  44. package/dist/declarations/src/actions/contracts/writeContract.d.ts +0 -11
  45. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +0 -6
  46. package/dist/declarations/src/actions/ens/fetchEnsAvatar.d.ts +0 -6
  47. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +0 -6
  48. package/dist/declarations/src/actions/ens/fetchEnsResolver.d.ts +0 -7
  49. package/dist/declarations/src/actions/ens/index.d.ts +0 -8
  50. package/dist/declarations/src/actions/ens/watchEnsAddress.d.ts +0 -3
  51. package/dist/declarations/src/actions/ens/watchEnsAvatar.d.ts +0 -3
  52. package/dist/declarations/src/actions/ens/watchEnsName.d.ts +0 -3
  53. package/dist/declarations/src/actions/ens/watchEnsResolver.d.ts +0 -3
  54. package/dist/declarations/src/actions/index.d.ts +0 -7
  55. package/dist/declarations/src/actions/network-status/fetchBlockNumber.d.ts +0 -2
  56. package/dist/declarations/src/actions/network-status/fetchFeeData.d.ts +0 -14
  57. package/dist/declarations/src/actions/network-status/index.d.ts +0 -4
  58. package/dist/declarations/src/actions/network-status/watchBlockNumber.d.ts +0 -6
  59. package/dist/declarations/src/actions/network-status/watchFeeData.d.ts +0 -7
  60. package/dist/declarations/src/actions/providers/getProvider.d.ts +0 -3
  61. package/dist/declarations/src/actions/providers/getWebSocketProvider.d.ts +0 -3
  62. package/dist/declarations/src/actions/providers/index.d.ts +0 -4
  63. package/dist/declarations/src/actions/providers/watchProvider.d.ts +0 -3
  64. package/dist/declarations/src/actions/providers/watchWebSocketProvider.d.ts +0 -3
  65. package/dist/declarations/src/actions/tokens/fetchToken.d.ts +0 -24
  66. package/dist/declarations/src/actions/tokens/index.d.ts +0 -2
  67. package/dist/declarations/src/actions/tokens/watchToken.d.ts +0 -3
  68. package/dist/declarations/src/actions/transactions/index.d.ts +0 -2
  69. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +0 -7
  70. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +0 -15
  71. package/dist/declarations/src/client.d.ts +0 -80
  72. package/dist/declarations/src/connectors/base.d.ts +0 -51
  73. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +0 -43
  74. package/dist/declarations/src/connectors/index.d.ts +0 -2
  75. package/dist/declarations/src/connectors/injected.d.ts +0 -55
  76. package/dist/declarations/src/connectors/mock/connector.d.ts +0 -37
  77. package/dist/declarations/src/connectors/mock/index.d.ts +0 -2
  78. package/dist/declarations/src/connectors/mock/provider.d.ts +0 -40
  79. package/dist/declarations/src/connectors/walletConnect.d.ts +0 -32
  80. package/dist/declarations/src/constants/abis/erc1155.d.ts +0 -17
  81. package/dist/declarations/src/constants/abis/erc20.d.ts +0 -38
  82. package/dist/declarations/src/constants/abis/erc721.d.ts +0 -15
  83. package/dist/declarations/src/constants/abis/index.d.ts +0 -3
  84. package/dist/declarations/src/constants/chains.d.ts +0 -10
  85. package/dist/declarations/src/constants/index.d.ts +0 -3
  86. package/dist/declarations/src/constants/units.d.ts +0 -1
  87. package/dist/declarations/src/errors.d.ts +0 -28
  88. package/dist/declarations/src/index.d.ts +0 -9
  89. package/dist/declarations/src/storage.d.ts +0 -12
  90. package/dist/declarations/src/types/declarations.d.ts +0 -52
  91. package/dist/declarations/src/types/index.d.ts +0 -14
  92. package/dist/declarations/src/utils/getInjectedName.d.ts +0 -1
  93. package/dist/declarations/src/utils/index.d.ts +0 -2
  94. package/dist/declarations/src/utils/normalizeChainId.d.ts +0 -1
  95. package/dist/wagmi-core.cjs.dev.js +0 -1697
  96. package/dist/wagmi-core.cjs.prod.js +0 -1697
  97. package/dist/wagmi-core.esm.js +0 -1631
@@ -1,1697 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var base = require('./base-d8123d5f.cjs.prod.js');
6
- var classPrivateMethodGet = require('./classPrivateMethodGet-0e9a7925.cjs.prod.js');
7
- var ethers = require('ethers');
8
- var create = require('zustand/vanilla');
9
- var middleware = require('zustand/middleware');
10
- var utils = require('ethers/lib/utils');
11
- var ethers$1 = require('ethers/lib/ethers');
12
- require('eventemitter3');
13
-
14
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
15
-
16
- var create__default = /*#__PURE__*/_interopDefault(create);
17
-
18
- function ownKeys(object, enumerableOnly) {
19
- var keys = Object.keys(object);
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
- }];
280
-
281
- // 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'];
283
-
284
- function getInjectedName(ethereum) {
285
- if (!ethereum) return 'Injected';
286
- if (ethereum.isMetaMask) return 'MetaMask';
287
- if (ethereum.isCoinbaseWallet) return 'Coinbase Wallet';
288
- if (ethereum.isFrame) return 'Frame';
289
- if (ethereum.isTally) return 'Tally';
290
- return 'Injected';
291
- }
292
-
293
- var shimKey = 'injected.shimDisconnect';
294
-
295
- var _provider = /*#__PURE__*/new WeakMap();
296
-
297
- class InjectedConnector extends base.Connector {
298
- constructor(config) {
299
- super(_objectSpread2(_objectSpread2({}, config), {}, {
300
- options: _objectSpread2({
301
- shimDisconnect: true
302
- }, config === null || config === void 0 ? void 0 : config.options)
303
- }));
304
-
305
- base._defineProperty(this, "id", 'injected');
306
-
307
- base._defineProperty(this, "name", void 0);
308
-
309
- base._defineProperty(this, "ready", typeof window != 'undefined' && !!window.ethereum);
310
-
311
- base._classPrivateFieldInitSpec(this, _provider, {
312
- writable: true,
313
- value: void 0
314
- });
315
-
316
- base._defineProperty(this, "onAccountsChanged", accounts => {
317
- if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
318
- account: utils.getAddress(accounts[0])
319
- });
320
- });
321
-
322
- base._defineProperty(this, "onChainChanged", chainId => {
323
- var id = base.normalizeChainId(chainId);
324
- var unsupported = this.isChainUnsupported(id);
325
- this.emit('change', {
326
- chain: {
327
- id,
328
- unsupported
329
- }
330
- });
331
- });
332
-
333
- base._defineProperty(this, "onDisconnect", () => {
334
- var _this$options, _client$storage;
335
-
336
- this.emit('disconnect');
337
- 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
- });
339
-
340
- var name = 'Injected';
341
- if (typeof window !== 'undefined') name = getInjectedName(window.ethereum);
342
- this.name = name;
343
- }
344
-
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
- _this.emit('connecting');
362
-
363
- var account = yield _this.getAccount();
364
- var id = yield _this.getChainId();
365
-
366
- var unsupported = _this.isChainUnsupported(id);
367
-
368
- 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);
369
- return {
370
- account,
371
- chain: {
372
- id,
373
- unsupported
374
- },
375
- provider
376
- };
377
- } catch (error) {
378
- if (error.code === 4001) throw new base.UserRejectedRequestError();
379
- throw error;
380
- }
381
- })();
382
- }
383
-
384
- disconnect() {
385
- var _this2 = this;
386
-
387
- return base._asyncToGenerator(function* () {
388
- var _this2$options, _client$storage3;
389
-
390
- var provider = yield _this2.getProvider();
391
- if (!(provider !== null && provider !== void 0 && provider.removeListener)) return;
392
- provider.removeListener('accountsChanged', _this2.onAccountsChanged);
393
- provider.removeListener('chainChanged', _this2.onChainChanged);
394
- provider.removeListener('disconnect', _this2.onDisconnect);
395
- 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);
396
- })();
397
- }
398
-
399
- getAccount() {
400
- var _this3 = this;
401
-
402
- return base._asyncToGenerator(function* () {
403
- var provider = yield _this3.getProvider();
404
- if (!provider) throw new base.ConnectorNotFoundError();
405
- var accounts = yield provider.request({
406
- method: 'eth_requestAccounts'
407
- }); // return checksum address
408
-
409
- return utils.getAddress(accounts[0]);
410
- })();
411
- }
412
-
413
- getChainId() {
414
- var _this4 = this;
415
-
416
- return base._asyncToGenerator(function* () {
417
- var provider = yield _this4.getProvider();
418
- if (!provider) throw new base.ConnectorNotFoundError();
419
- return yield provider.request({
420
- method: 'eth_chainId'
421
- }).then(base.normalizeChainId);
422
- })();
423
- }
424
-
425
- getProvider() {
426
- var _this5 = this;
427
-
428
- return base._asyncToGenerator(function* () {
429
- if (typeof window !== 'undefined' && !!window.ethereum) base._classPrivateFieldSet(_this5, _provider, window.ethereum);
430
- return base._classPrivateFieldGet(_this5, _provider);
431
- })();
432
- }
433
-
434
- getSigner() {
435
- var _this6 = this;
436
-
437
- return base._asyncToGenerator(function* () {
438
- var [provider, account] = yield Promise.all([_this6.getProvider(), _this6.getAccount()]);
439
- return new ethers.providers.Web3Provider(provider).getSigner(account);
440
- })();
441
- }
442
-
443
- isAuthorized() {
444
- var _this7 = this;
445
-
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
- })();
462
- }
463
-
464
- switchChain(chainId) {
465
- var _this8 = this;
466
-
467
- return base._asyncToGenerator(function* () {
468
- var provider = yield _this8.getProvider();
469
- if (!provider) throw new base.ConnectorNotFoundError();
470
- var id = utils.hexValue(chainId);
471
-
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
- })();
513
- }
514
-
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
- }
537
- }
538
- });
539
- })();
540
- }
541
-
542
- }
543
-
544
- var noopStorage = {
545
- getItem: _key => '',
546
- setItem: (_key, _value) => null,
547
- removeItem: _key => null
548
- };
549
- function createStorage(_ref) {
550
- var {
551
- storage,
552
- key: prefix = 'wagmi'
553
- } = _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));
558
-
559
- try {
560
- return value ? JSON.parse(value) : defaultState;
561
- } catch (error) {
562
- console.warn(error);
563
- return defaultState;
564
- }
565
- },
566
- setItem: (key, value) => {
567
- if (value === null) {
568
- storage.removeItem("".concat(prefix, ".").concat(key));
569
- } else {
570
- try {
571
- storage.setItem("".concat(prefix, ".").concat(key), JSON.stringify(value));
572
- } catch (err) {
573
- console.error(err);
574
- }
575
- }
576
- },
577
- removeItem: key => storage.removeItem("".concat(prefix, ".").concat(key))
578
- });
579
- }
580
-
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
- var _lastUsedConnector = /*#__PURE__*/new WeakMap();
600
-
601
- var _addEffects = /*#__PURE__*/new WeakSet();
602
-
603
- class Client {
604
- 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;
612
-
613
- classPrivateMethodGet._classPrivateMethodInitSpec(this, _addEffects);
614
-
615
- base._defineProperty(this, "config", void 0);
616
-
617
- base._defineProperty(this, "storage", void 0);
618
-
619
- base._defineProperty(this, "store", void 0);
620
-
621
- base._classPrivateFieldInitSpec(this, _lastUsedConnector, {
622
- writable: true,
623
- value: void 0
624
- });
625
-
626
- this.config = {
627
- autoConnect,
628
- connectors: _connectors,
629
- provider: _provider,
630
- webSocketProvider: _webSocketProvider
631
- };
632
- var status = 'disconnected';
633
-
634
- var _chainId;
635
-
636
- if (autoConnect) {
637
- try {
638
- var _JSON$parse, _JSON$parse$state, _data$chain;
639
-
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
642
-
643
- status = data !== null && data !== void 0 && data.account ? 'reconnecting' : 'connecting';
644
- _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
- } 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,
655
- status,
656
- webSocketProvider: typeof _webSocketProvider === 'function' ? _webSocketProvider({
657
- chainId: _chainId
658
- }) : _webSocketProvider
659
- }), {
660
- name: 'state',
661
- getStorage: () => storage,
662
- partialize: state => {
663
- var _state$data, _state$data2;
664
-
665
- return _objectSpread2(_objectSpread2({}, this.config.autoConnect && {
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
- }
670
- }), {}, {
671
- chains: state === null || state === void 0 ? void 0 : state.chains
672
- });
673
- }
674
- })));
675
- this.storage = storage;
676
-
677
- base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
678
-
679
- classPrivateMethodGet._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
680
- }
681
-
682
- get chains() {
683
- return this.store.getState().chains;
684
- }
685
-
686
- get connectors() {
687
- return this.store.getState().connectors;
688
- }
689
-
690
- get connector() {
691
- return this.store.getState().connector;
692
- }
693
-
694
- get data() {
695
- return this.store.getState().data;
696
- }
697
-
698
- get error() {
699
- return this.store.getState().error;
700
- }
701
-
702
- get provider() {
703
- return this.store.getState().provider;
704
- }
705
-
706
- get status() {
707
- return this.store.getState().status;
708
- }
709
-
710
- get subscribe() {
711
- return this.store.subscribe;
712
- }
713
-
714
- get webSocketProvider() {
715
- return this.store.getState().webSocketProvider;
716
- }
717
-
718
- setState(updater) {
719
- var newState = typeof updater === 'function' ? updater(this.store.getState()) : updater;
720
- this.store.setState(newState, true);
721
- }
722
-
723
- clearState() {
724
- this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
725
- connector: undefined,
726
- data: undefined,
727
- error: undefined,
728
- status: 'disconnected'
729
- }));
730
- }
731
-
732
- destroy() {
733
- var _this = this;
734
-
735
- return base._asyncToGenerator(function* () {
736
- var _this$connector$disco, _this$connector;
737
-
738
- 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);
739
-
740
- _this.clearState();
741
-
742
- _this.store.destroy();
743
- })();
744
- }
745
-
746
- autoConnect() {
747
- var _this2 = this;
748
-
749
- return base._asyncToGenerator(function* () {
750
- if (!_this2.connectors.length) return; // Try last used connector first
751
-
752
- var sorted = base._classPrivateFieldGet(_this2, _lastUsedConnector) ? [..._this2.connectors].sort(x => x.id === base._classPrivateFieldGet(_this2, _lastUsedConnector) ? -1 : 1) : _this2.connectors;
753
- var connected = false;
754
-
755
- var _loop = function* _loop(connector) {
756
- if (!connector.ready || !connector.isAuthorized) return "continue";
757
- var isAuthorized = yield connector.isAuthorized();
758
- if (!isAuthorized) return "continue";
759
- var data = yield connector.connect();
760
-
761
- _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
762
- connector,
763
- chains: connector === null || connector === void 0 ? void 0 : connector.chains,
764
- data,
765
- status: 'connected'
766
- }));
767
-
768
- connected = true;
769
- return "break";
770
- };
771
-
772
- for (var connector of sorted) {
773
- var _ret = yield* _loop(connector);
774
-
775
- if (_ret === "continue") continue;
776
- if (_ret === "break") break;
777
- } // If connecting didn't succeed, set to disconnected
778
-
779
-
780
- if (!connected) _this2.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
781
- status: 'disconnected'
782
- }));
783
- return _this2.data;
784
- })();
785
- }
786
-
787
- setLastUsedConnector() {
788
- var _this$storage;
789
-
790
- var lastUsedConnector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
791
- (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.setItem('wallet', lastUsedConnector);
792
- }
793
-
794
- }
795
-
796
- function _addEffects2() {
797
- var onChange = data => this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
798
- data: _objectSpread2(_objectSpread2({}, x.data), data)
799
- }));
800
-
801
- var onDisconnect = () => this.clearState();
802
-
803
- var onError = error => this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
804
- error
805
- }));
806
-
807
- this.store.subscribe(_ref2 => {
808
- var {
809
- connector
810
- } = _ref2;
811
- return connector;
812
- }, (connector, prevConnector) => {
813
- var _prevConnector$off, _prevConnector$off2, _prevConnector$off3, _connector$on, _connector$on2, _connector$on3;
814
-
815
- prevConnector === null || prevConnector === void 0 ? void 0 : (_prevConnector$off = prevConnector.off) === null || _prevConnector$off === void 0 ? void 0 : _prevConnector$off.call(prevConnector, 'change', onChange);
816
- prevConnector === null || prevConnector === void 0 ? void 0 : (_prevConnector$off2 = prevConnector.off) === null || _prevConnector$off2 === void 0 ? void 0 : _prevConnector$off2.call(prevConnector, 'disconnect', onDisconnect);
817
- prevConnector === null || prevConnector === void 0 ? void 0 : (_prevConnector$off3 = prevConnector.off) === null || _prevConnector$off3 === void 0 ? void 0 : _prevConnector$off3.call(prevConnector, 'error', onError);
818
- if (!connector) return;
819
- (_connector$on = connector.on) === null || _connector$on === void 0 ? void 0 : _connector$on.call(connector, 'change', onChange);
820
- (_connector$on2 = connector.on) === null || _connector$on2 === void 0 ? void 0 : _connector$on2.call(connector, 'disconnect', onDisconnect);
821
- (_connector$on3 = connector.on) === null || _connector$on3 === void 0 ? void 0 : _connector$on3.call(connector, 'error', onError);
822
- });
823
- var {
824
- connectors,
825
- provider,
826
- webSocketProvider
827
- } = this.config;
828
- var subscribeConnectors = typeof connectors === 'function';
829
- var subscribeProvider = typeof provider === 'function';
830
- var subscribeWebSocketProvider = typeof webSocketProvider === 'function';
831
- if (subscribeConnectors || subscribeProvider || subscribeWebSocketProvider) this.store.subscribe(_ref3 => {
832
- var _data$chain2;
833
-
834
- var {
835
- data
836
- } = _ref3;
837
- return data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.id;
838
- }, chainId => {
839
- this.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
840
- connectors: subscribeConnectors ? connectors({
841
- chainId
842
- }) : x.connectors,
843
- provider: subscribeProvider ? provider({
844
- chainId
845
- }) : x.provider,
846
- webSocketProvider: subscribeWebSocketProvider ? webSocketProvider({
847
- chainId
848
- }) : x.webSocketProvider
849
- }));
850
- });
851
- }
852
-
853
- var client;
854
- function createClient(config) {
855
- var client_ = new Client(config);
856
- client = client_;
857
- return client_;
858
- }
859
-
860
- function connect(_x) {
861
- return _connect.apply(this, arguments);
862
- }
863
-
864
- function _connect() {
865
- _connect = base._asyncToGenerator(function* (connector) {
866
- var activeConnector = client.connector;
867
- if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new base.ConnectorAlreadyConnectedError();
868
- var data = yield connector.connect();
869
- client.setLastUsedConnector(connector.id);
870
- client.setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
871
- connector,
872
- chains: connector === null || connector === void 0 ? void 0 : connector.chains,
873
- data
874
- }));
875
- client.storage.setItem('connected', true);
876
- return {
877
- data,
878
- connector
879
- };
880
- });
881
- return _connect.apply(this, arguments);
882
- }
883
-
884
- function disconnect() {
885
- return _disconnect.apply(this, arguments);
886
- }
887
-
888
- function _disconnect() {
889
- _disconnect = base._asyncToGenerator(function* () {
890
- if (client.connector) yield client.connector.disconnect();
891
- client.storage.removeItem('connected');
892
- client.clearState();
893
- });
894
- return _disconnect.apply(this, arguments);
895
- }
896
-
897
- function fetchBalance(_x) {
898
- return _fetchBalance.apply(this, arguments);
899
- }
900
-
901
- function _fetchBalance() {
902
- _fetchBalance = base._asyncToGenerator(function* (_ref) {
903
- var _client$connector$cha, _client$connector, _chain$nativeCurrency, _chain$nativeCurrency2, _chain$nativeCurrency3, _chain$nativeCurrency4;
904
-
905
- var {
906
- addressOrName,
907
- formatUnits: unit = 'ether',
908
- token
909
- } = _ref;
910
-
911
- if (token) {
912
- var contract = new ethers$1.Contract(token, erc20ABI, client.provider);
913
- var [_value, decimals, symbol] = yield Promise.all([contract.balanceOf(addressOrName), contract.decimals(), contract.symbol()]);
914
- return {
915
- decimals,
916
- formatted: utils.formatUnits(_value, unit),
917
- symbol,
918
- unit,
919
- value: _value
920
- };
921
- }
922
-
923
- 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];
924
- var value = yield client.provider.getBalance(addressOrName);
925
- var chain = chains.find(x => x.id === client.provider.network.chainId);
926
- return {
927
- 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,
928
- formatted: utils.formatUnits(value, unit),
929
- 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',
930
- unit,
931
- value
932
- };
933
- });
934
- return _fetchBalance.apply(this, arguments);
935
- }
936
-
937
- function fetchSigner() {
938
- return _fetchSigner.apply(this, arguments);
939
- }
940
-
941
- function _fetchSigner() {
942
- _fetchSigner = base._asyncToGenerator(function* () {
943
- var _client$connector, _client$connector$get;
944
-
945
- 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);
946
- return signer;
947
- });
948
- return _fetchSigner.apply(this, arguments);
949
- }
950
-
951
- function getAccount() {
952
- var {
953
- data,
954
- connector
955
- } = client;
956
- return {
957
- address: data === null || data === void 0 ? void 0 : data.account,
958
- connector
959
- };
960
- }
961
-
962
- function getNetwork() {
963
- var _data$chain, _data$chain2, _find;
964
-
965
- var {
966
- chains,
967
- data
968
- } = client;
969
- var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
970
- var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
971
- var activeChains = chains !== null && chains !== void 0 ? chains : [];
972
- var activeChain = (_find = [...activeChains, ...base.allChains].find(x => x.id === chainId)) !== null && _find !== void 0 ? _find : {
973
- id: chainId,
974
- name: "Chain ".concat(chainId),
975
- rpcUrls: []
976
- };
977
- return {
978
- chain: chainId ? _objectSpread2(_objectSpread2({}, activeChain), {}, {
979
- id: chainId,
980
- unsupported
981
- }) : undefined,
982
- chains: activeChains
983
- };
984
- }
985
-
986
- function signMessage(_x) {
987
- return _signMessage.apply(this, arguments);
988
- }
989
-
990
- function _signMessage() {
991
- _signMessage = base._asyncToGenerator(function* (args) {
992
- try {
993
- var signer = yield fetchSigner();
994
- if (!signer) throw new base.ConnectorNotFoundError();
995
- return yield signer.signMessage(args.message);
996
- } catch (error_) {
997
- var error = error_;
998
- if (error_.code === 4001) error = new base.UserRejectedRequestError();
999
- throw error;
1000
- }
1001
- });
1002
- return _signMessage.apply(this, arguments);
1003
- }
1004
-
1005
- function signTypedData(_x) {
1006
- return _signTypedData.apply(this, arguments);
1007
- }
1008
-
1009
- function _signTypedData() {
1010
- _signTypedData = base._asyncToGenerator(function* (args) {
1011
- try {
1012
- var signer = yield fetchSigner();
1013
- if (!signer) throw new base.ConnectorNotFoundError(); // Method name may be changed in the future, see https://docs.ethers.io/v5/api/signer/#Signer-signTypedData
1014
-
1015
- return yield signer._signTypedData(args.domain, args.types, args.value);
1016
- } catch (error_) {
1017
- var error = error_;
1018
- if (error_.code === 4001) error = new base.UserRejectedRequestError();
1019
- throw error;
1020
- }
1021
- });
1022
- return _signTypedData.apply(this, arguments);
1023
- }
1024
-
1025
- function switchNetwork(_x) {
1026
- return _switchNetwork.apply(this, arguments);
1027
- }
1028
-
1029
- function _switchNetwork() {
1030
- _switchNetwork = base._asyncToGenerator(function* (args) {
1031
- var _client$connector;
1032
-
1033
- if (!((_client$connector = client.connector) !== null && _client$connector !== void 0 && _client$connector.switchChain)) throw new base.SwitchChainNotSupportedError();
1034
- var chain = yield client.connector.switchChain(args.chainId);
1035
- return chain;
1036
- });
1037
- return _switchNetwork.apply(this, arguments);
1038
- }
1039
-
1040
- function watchAccount(callback) {
1041
- var handleChange = () => callback(getAccount());
1042
-
1043
- var unsubscribe = client.subscribe(_ref => {
1044
- var {
1045
- data,
1046
- connector
1047
- } = _ref;
1048
- return {
1049
- account: data === null || data === void 0 ? void 0 : data.account,
1050
- connector
1051
- };
1052
- }, handleChange, {
1053
- equalityFn: (selected, previous) => selected.account === previous.account && selected.connector === previous.connector
1054
- });
1055
- return unsubscribe;
1056
- }
1057
-
1058
- function watchBalance(args, callback) {
1059
- var handleChange = /*#__PURE__*/function () {
1060
- var _ref = base._asyncToGenerator(function* () {
1061
- return callback(yield fetchBalance(args));
1062
- });
1063
-
1064
- return function handleChange() {
1065
- return _ref.apply(this, arguments);
1066
- };
1067
- }();
1068
-
1069
- var unsubscribe = client.subscribe(_ref2 => {
1070
- var _data$chain;
1071
-
1072
- var {
1073
- data
1074
- } = _ref2;
1075
- return {
1076
- account: data === null || data === void 0 ? void 0 : data.account,
1077
- chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id
1078
- };
1079
- }, handleChange, {
1080
- equalityFn: (selected, previous) => selected.account === previous.account && selected.chainId === previous.chainId
1081
- });
1082
- return unsubscribe;
1083
- }
1084
-
1085
- function watchNetwork(callback) {
1086
- var handleChange = () => callback(getNetwork());
1087
-
1088
- var unsubscribe = client.subscribe(_ref => {
1089
- var _data$chain;
1090
-
1091
- var {
1092
- data,
1093
- chains
1094
- } = _ref;
1095
- return {
1096
- chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
1097
- chains
1098
- };
1099
- }, handleChange, {
1100
- equalityFn: (selected, previous) => selected.chainId === previous.chainId && selected.chains === previous.chains
1101
- });
1102
- return unsubscribe;
1103
- }
1104
-
1105
- function watchSigner(callback) {
1106
- var handleChange = /*#__PURE__*/function () {
1107
- var _ref = base._asyncToGenerator(function* () {
1108
- return callback(yield fetchSigner());
1109
- });
1110
-
1111
- return function handleChange() {
1112
- return _ref.apply(this, arguments);
1113
- };
1114
- }();
1115
-
1116
- var unsubscribe = client.subscribe(_ref2 => {
1117
- var _data$chain;
1118
-
1119
- var {
1120
- data,
1121
- connector
1122
- } = _ref2;
1123
- return {
1124
- account: data === null || data === void 0 ? void 0 : data.account,
1125
- chainId: data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id,
1126
- connector
1127
- };
1128
- }, handleChange, {
1129
- equalityFn: (selected, previous) => selected.account === previous.account && selected.chainId === previous.chainId && selected.connector === previous.connector
1130
- });
1131
- return unsubscribe;
1132
- }
1133
-
1134
- function getContract(_ref) {
1135
- var {
1136
- addressOrName,
1137
- contractInterface,
1138
- signerOrProvider
1139
- } = _ref;
1140
- return new ethers$1.Contract(addressOrName, contractInterface, signerOrProvider);
1141
- }
1142
-
1143
- function readContract(_x, _x2) {
1144
- return _readContract.apply(this, arguments);
1145
- }
1146
-
1147
- function _readContract() {
1148
- _readContract = base._asyncToGenerator(function* (contractConfig, functionName) {
1149
- var {
1150
- args,
1151
- overrides
1152
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1153
- var {
1154
- provider
1155
- } = client;
1156
- var contract = getContract(_objectSpread2({
1157
- signerOrProvider: provider
1158
- }, contractConfig));
1159
- var params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
1160
- var response = yield contract[functionName](...params);
1161
- return response;
1162
- });
1163
- return _readContract.apply(this, arguments);
1164
- }
1165
-
1166
- function watchContractEvent(
1167
- /** Contract configuration */
1168
- contractArgs,
1169
- /** Event name to listen to */
1170
- eventName, callback) {
1171
- var {
1172
- once
1173
- } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
1174
- var contract;
1175
-
1176
- var watchEvent = /*#__PURE__*/function () {
1177
- var _ref = base._asyncToGenerator(function* () {
1178
- if (contract) {
1179
- var _contract;
1180
-
1181
- (_contract = contract) === null || _contract === void 0 ? void 0 : _contract.off(eventName, callback);
1182
- }
1183
-
1184
- contract = getContract(_objectSpread2({
1185
- signerOrProvider: client.webSocketProvider || client.provider
1186
- }, contractArgs));
1187
- if (once) contract.once(eventName, callback);else contract.on(eventName, callback);
1188
- });
1189
-
1190
- return function watchEvent() {
1191
- return _ref.apply(this, arguments);
1192
- };
1193
- }();
1194
-
1195
- watchEvent();
1196
- var unsubscribe = client.subscribe(_ref2 => {
1197
- var {
1198
- provider,
1199
- webSocketProvider
1200
- } = _ref2;
1201
- return {
1202
- provider,
1203
- webSocketProvider
1204
- };
1205
- }, watchEvent, {
1206
- equalityFn: (selected, previous) => selected.provider === previous.provider && selected.webSocketProvider === previous.webSocketProvider
1207
- });
1208
- return () => {
1209
- var _contract2;
1210
-
1211
- (_contract2 = contract) === null || _contract2 === void 0 ? void 0 : _contract2.off(eventName, callback);
1212
- unsubscribe();
1213
- };
1214
- }
1215
-
1216
- function fetchBlockNumber() {
1217
- return _fetchBlockNumber.apply(this, arguments);
1218
- }
1219
-
1220
- function _fetchBlockNumber() {
1221
- _fetchBlockNumber = base._asyncToGenerator(function* () {
1222
- var blockNumber = yield client.provider.getBlockNumber();
1223
- return blockNumber;
1224
- });
1225
- return _fetchBlockNumber.apply(this, arguments);
1226
- }
1227
-
1228
- function watchBlockNumber(args, callback) {
1229
- var prevProvider;
1230
-
1231
- var createListener = provider => {
1232
- var listener = blockNumber => {
1233
- callback(blockNumber);
1234
- };
1235
-
1236
- if (prevProvider) {
1237
- var _prevProvider;
1238
-
1239
- (_prevProvider = prevProvider) === null || _prevProvider === void 0 ? void 0 : _prevProvider.off('block', listener);
1240
- }
1241
-
1242
- provider.on('block', listener);
1243
- prevProvider = provider;
1244
- };
1245
-
1246
- var {
1247
- provider,
1248
- webSocketProvider
1249
- } = client;
1250
- var provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
1251
- if (args.listen) createListener(provider_);
1252
- var unsubscribe = client.subscribe(_ref => {
1253
- var {
1254
- provider,
1255
- webSocketProvider
1256
- } = _ref;
1257
- return {
1258
- provider,
1259
- webSocketProvider
1260
- };
1261
- }, /*#__PURE__*/function () {
1262
- var _ref3 = base._asyncToGenerator(function* (_ref2) {
1263
- var {
1264
- provider,
1265
- webSocketProvider
1266
- } = _ref2;
1267
- var provider_ = webSocketProvider !== null && webSocketProvider !== void 0 ? webSocketProvider : provider;
1268
-
1269
- if (args.listen && provider_) {
1270
- createListener(provider_);
1271
- }
1272
-
1273
- callback(yield fetchBlockNumber());
1274
- });
1275
-
1276
- return function (_x) {
1277
- return _ref3.apply(this, arguments);
1278
- };
1279
- }(), {
1280
- equalityFn: (selected, previous) => selected.provider === previous.provider && selected.webSocketProvider === previous.webSocketProvider
1281
- });
1282
- return unsubscribe;
1283
- }
1284
-
1285
- function watchReadContract(contractConfig, functionName) {
1286
- var _config$listenToBlock;
1287
-
1288
- var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1289
- var callback = arguments.length > 3 ? arguments[3] : undefined;
1290
-
1291
- var handleChange = /*#__PURE__*/function () {
1292
- var _ref = base._asyncToGenerator(function* () {
1293
- return callback(yield readContract(contractConfig, functionName, config));
1294
- });
1295
-
1296
- return function handleChange() {
1297
- return _ref.apply(this, arguments);
1298
- };
1299
- }();
1300
-
1301
- var unwatch = ((_config$listenToBlock = config.listenToBlock) !== null && _config$listenToBlock !== void 0 ? _config$listenToBlock : true) ? watchBlockNumber({
1302
- listen: true
1303
- }, handleChange) : undefined;
1304
- var unsubscribe = client.subscribe(_ref2 => {
1305
- var {
1306
- provider
1307
- } = _ref2;
1308
- return provider;
1309
- }, handleChange);
1310
- return () => {
1311
- unsubscribe();
1312
- unwatch === null || unwatch === void 0 ? void 0 : unwatch();
1313
- };
1314
- }
1315
-
1316
- function writeContract(_x, _x2) {
1317
- return _writeContract.apply(this, arguments);
1318
- }
1319
-
1320
- function _writeContract() {
1321
- _writeContract = base._asyncToGenerator(function* (contractConfig, functionName) {
1322
- var {
1323
- args,
1324
- overrides
1325
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1326
- var {
1327
- connector
1328
- } = client;
1329
- var contract = getContract(contractConfig);
1330
- if (!connector) throw new base.ConnectorNotFoundError();
1331
- var params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
1332
-
1333
- try {
1334
- var signer = yield connector.getSigner();
1335
- var contract_ = contract.connect(signer);
1336
- var response = yield contract_[functionName](...params);
1337
- return response;
1338
- } catch (error_) {
1339
- var error = error_;
1340
- if (error_.code === 4001) error = new base.UserRejectedRequestError();
1341
- throw error;
1342
- }
1343
- });
1344
- return _writeContract.apply(this, arguments);
1345
- }
1346
-
1347
- function fetchEnsAddress(_x) {
1348
- return _fetchEnsAddress.apply(this, arguments);
1349
- }
1350
-
1351
- function _fetchEnsAddress() {
1352
- _fetchEnsAddress = base._asyncToGenerator(function* (_ref) {
1353
- var {
1354
- name
1355
- } = _ref;
1356
- var address = yield client.provider.resolveName(name);
1357
-
1358
- try {
1359
- return address ? utils.getAddress(address) : null;
1360
- } catch (_error) {
1361
- return null;
1362
- }
1363
- });
1364
- return _fetchEnsAddress.apply(this, arguments);
1365
- }
1366
-
1367
- function fetchEnsAvatar(_x) {
1368
- return _fetchEnsAvatar.apply(this, arguments);
1369
- }
1370
-
1371
- function _fetchEnsAvatar() {
1372
- _fetchEnsAvatar = base._asyncToGenerator(function* (_ref) {
1373
- var {
1374
- addressOrName
1375
- } = _ref;
1376
- // TODO: Update with more advanced logic
1377
- // https://github.com/ensdomains/ens-avatar
1378
- var avatar = yield client.provider.getAvatar(addressOrName);
1379
- return avatar;
1380
- });
1381
- return _fetchEnsAvatar.apply(this, arguments);
1382
- }
1383
-
1384
- function fetchEnsName(_x) {
1385
- return _fetchEnsName.apply(this, arguments);
1386
- }
1387
-
1388
- function _fetchEnsName() {
1389
- _fetchEnsName = base._asyncToGenerator(function* (_ref) {
1390
- var {
1391
- address
1392
- } = _ref;
1393
- var ensName = yield client.provider.lookupAddress(address);
1394
- return ensName;
1395
- });
1396
- return _fetchEnsName.apply(this, arguments);
1397
- }
1398
-
1399
- function fetchEnsResolver(_x) {
1400
- return _fetchEnsResolver.apply(this, arguments);
1401
- }
1402
-
1403
- function _fetchEnsResolver() {
1404
- _fetchEnsResolver = base._asyncToGenerator(function* (_ref) {
1405
- var {
1406
- name
1407
- } = _ref;
1408
- var resolver = yield client.provider.getResolver(name);
1409
- return resolver;
1410
- });
1411
- return _fetchEnsResolver.apply(this, arguments);
1412
- }
1413
-
1414
- function watchEnsAddress(args, callback) {
1415
- var handleChange = /*#__PURE__*/function () {
1416
- var _ref = base._asyncToGenerator(function* () {
1417
- return callback(yield fetchEnsAddress(args));
1418
- });
1419
-
1420
- return function handleChange() {
1421
- return _ref.apply(this, arguments);
1422
- };
1423
- }();
1424
-
1425
- var unsubscribe = client.subscribe(_ref2 => {
1426
- var {
1427
- provider
1428
- } = _ref2;
1429
- return provider;
1430
- }, handleChange);
1431
- return unsubscribe;
1432
- }
1433
-
1434
- function watchEnsAvatar(args, callback) {
1435
- var handleChange = /*#__PURE__*/function () {
1436
- var _ref = base._asyncToGenerator(function* () {
1437
- return callback(yield fetchEnsAvatar(args));
1438
- });
1439
-
1440
- return function handleChange() {
1441
- return _ref.apply(this, arguments);
1442
- };
1443
- }();
1444
-
1445
- var unsubscribe = client.subscribe(_ref2 => {
1446
- var {
1447
- provider
1448
- } = _ref2;
1449
- return provider;
1450
- }, handleChange);
1451
- return unsubscribe;
1452
- }
1453
-
1454
- function watchEnsName(args, callback) {
1455
- var handleChange = /*#__PURE__*/function () {
1456
- var _ref = base._asyncToGenerator(function* () {
1457
- return callback(yield fetchEnsName(args));
1458
- });
1459
-
1460
- return function handleChange() {
1461
- return _ref.apply(this, arguments);
1462
- };
1463
- }();
1464
-
1465
- var unsubscribe = client.subscribe(_ref2 => {
1466
- var {
1467
- provider
1468
- } = _ref2;
1469
- return provider;
1470
- }, handleChange);
1471
- return unsubscribe;
1472
- }
1473
-
1474
- function watchEnsResolver(args, callback) {
1475
- var handleChange = /*#__PURE__*/function () {
1476
- var _ref = base._asyncToGenerator(function* () {
1477
- return callback(yield fetchEnsResolver(args));
1478
- });
1479
-
1480
- return function handleChange() {
1481
- return _ref.apply(this, arguments);
1482
- };
1483
- }();
1484
-
1485
- var unsubscribe = client.subscribe(_ref2 => {
1486
- var {
1487
- provider
1488
- } = _ref2;
1489
- return provider;
1490
- }, handleChange);
1491
- return unsubscribe;
1492
- }
1493
-
1494
- function fetchFeeData() {
1495
- return _fetchFeeData.apply(this, arguments);
1496
- }
1497
-
1498
- function _fetchFeeData() {
1499
- _fetchFeeData = base._asyncToGenerator(function* () {
1500
- var {
1501
- formatUnits: units = 'wei'
1502
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1503
- var feeData = yield client.provider.getFeeData();
1504
- var formatted = {
1505
- gasPrice: utils.formatUnits(feeData.gasPrice, units),
1506
- maxFeePerGas: utils.formatUnits(feeData.maxFeePerGas, units),
1507
- maxPriorityFeePerGas: utils.formatUnits(feeData.maxPriorityFeePerGas, units)
1508
- };
1509
- return _objectSpread2(_objectSpread2({}, feeData), {}, {
1510
- formatted
1511
- });
1512
- });
1513
- return _fetchFeeData.apply(this, arguments);
1514
- }
1515
-
1516
- function watchFeeData(args, callback) {
1517
- var handleChange = /*#__PURE__*/function () {
1518
- var _ref = base._asyncToGenerator(function* () {
1519
- return callback(yield fetchFeeData(args));
1520
- });
1521
-
1522
- return function handleChange() {
1523
- return _ref.apply(this, arguments);
1524
- };
1525
- }();
1526
-
1527
- var unwatch = args.listenToBlock ? watchBlockNumber({
1528
- listen: true
1529
- }, handleChange) : undefined;
1530
- var unsubscribe = client.subscribe(_ref2 => {
1531
- var {
1532
- provider
1533
- } = _ref2;
1534
- return provider;
1535
- }, handleChange);
1536
- return () => {
1537
- unsubscribe();
1538
- unwatch === null || unwatch === void 0 ? void 0 : unwatch();
1539
- };
1540
- }
1541
-
1542
- function getProvider() {
1543
- return client.provider;
1544
- }
1545
-
1546
- function getWebSocketProvider() {
1547
- return client.webSocketProvider;
1548
- }
1549
-
1550
- function fetchToken(_x) {
1551
- return _fetchToken.apply(this, arguments);
1552
- }
1553
-
1554
- function _fetchToken() {
1555
- _fetchToken = base._asyncToGenerator(function* (_ref) {
1556
- var {
1557
- address,
1558
- formatUnits: units = 'ether'
1559
- } = _ref;
1560
- if (!address) throw new Error('address is required');
1561
- var {
1562
- provider
1563
- } = client;
1564
- var contract = new ethers$1.Contract(address, erc20ABI, provider);
1565
- var [symbol, decimals, totalSupply] = yield Promise.all([contract.symbol(), contract.decimals(), contract.totalSupply()]);
1566
- var token = {
1567
- address,
1568
- decimals,
1569
- symbol,
1570
- totalSupply: {
1571
- formatted: utils.formatUnits(totalSupply, units),
1572
- value: totalSupply
1573
- }
1574
- };
1575
- return token;
1576
- });
1577
- return _fetchToken.apply(this, arguments);
1578
- }
1579
-
1580
- function watchToken(args, callback) {
1581
- var handleChange = /*#__PURE__*/function () {
1582
- var _ref = base._asyncToGenerator(function* () {
1583
- return callback(yield fetchToken(args));
1584
- });
1585
-
1586
- return function handleChange() {
1587
- return _ref.apply(this, arguments);
1588
- };
1589
- }();
1590
-
1591
- var unsubscribe = client.subscribe(_ref2 => {
1592
- var {
1593
- provider
1594
- } = _ref2;
1595
- return provider;
1596
- }, handleChange);
1597
- return unsubscribe;
1598
- }
1599
-
1600
- function sendTransaction(_x) {
1601
- return _sendTransaction.apply(this, arguments);
1602
- }
1603
-
1604
- function _sendTransaction() {
1605
- _sendTransaction = base._asyncToGenerator(function* (args) {
1606
- try {
1607
- var signer = yield fetchSigner();
1608
- if (!signer) throw new base.ConnectorNotFoundError();
1609
- var transaction = yield signer.sendTransaction(args.request);
1610
- return transaction;
1611
- } catch (error_) {
1612
- var error = error_;
1613
- if (error_.code === 4001) error = new base.UserRejectedRequestError();
1614
- throw error;
1615
- }
1616
- });
1617
- return _sendTransaction.apply(this, arguments);
1618
- }
1619
-
1620
- function waitForTransaction(_x) {
1621
- return _waitForTransaction.apply(this, arguments);
1622
- }
1623
-
1624
- function _waitForTransaction() {
1625
- _waitForTransaction = base._asyncToGenerator(function* (args) {
1626
- var {
1627
- provider
1628
- } = client;
1629
- var promise; // eslint-disable-next-line testing-library/await-async-utils
1630
-
1631
- 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');
1632
- var receipt = yield promise;
1633
- return receipt;
1634
- });
1635
- return _waitForTransaction.apply(this, arguments);
1636
- }
1637
-
1638
- exports.AddChainError = base.AddChainError;
1639
- exports.ChainNotConfiguredError = base.ChainNotConfiguredError;
1640
- exports.Connector = base.Connector;
1641
- exports.ConnectorAlreadyConnectedError = base.ConnectorAlreadyConnectedError;
1642
- exports.ConnectorNotFoundError = base.ConnectorNotFoundError;
1643
- exports.SwitchChainError = base.SwitchChainError;
1644
- exports.SwitchChainNotSupportedError = base.SwitchChainNotSupportedError;
1645
- exports.UserRejectedRequestError = base.UserRejectedRequestError;
1646
- exports.allChains = base.allChains;
1647
- exports.chain = base.chain;
1648
- exports.defaultChains = base.defaultChains;
1649
- exports.normalizeChainId = base.normalizeChainId;
1650
- exports.Client = Client;
1651
- exports.InjectedConnector = InjectedConnector;
1652
- exports.WagmiClient = Client;
1653
- exports.connect = connect;
1654
- exports.createClient = createClient;
1655
- exports.createStorage = createStorage;
1656
- exports.createWagmiClient = createClient;
1657
- exports.createWagmiStorage = createStorage;
1658
- exports.disconnect = disconnect;
1659
- exports.erc1155ABI = erc1155ABI;
1660
- exports.erc20ABI = erc20ABI;
1661
- exports.erc721ABI = erc721ABI;
1662
- exports.fetchBalance = fetchBalance;
1663
- exports.fetchBlockNumber = fetchBlockNumber;
1664
- exports.fetchEnsAddress = fetchEnsAddress;
1665
- exports.fetchEnsAvatar = fetchEnsAvatar;
1666
- exports.fetchEnsName = fetchEnsName;
1667
- exports.fetchEnsResolver = fetchEnsResolver;
1668
- exports.fetchFeeData = fetchFeeData;
1669
- exports.fetchSigner = fetchSigner;
1670
- exports.fetchToken = fetchToken;
1671
- exports.getAccount = getAccount;
1672
- exports.getContract = getContract;
1673
- exports.getNetwork = getNetwork;
1674
- exports.getProvider = getProvider;
1675
- exports.getWebSocketProvider = getWebSocketProvider;
1676
- exports.noopStorage = noopStorage;
1677
- exports.readContract = readContract;
1678
- exports.sendTransaction = sendTransaction;
1679
- exports.signMessage = signMessage;
1680
- exports.signTypedData = signTypedData;
1681
- exports.switchNetwork = switchNetwork;
1682
- exports.units = units;
1683
- exports.waitForTransaction = waitForTransaction;
1684
- exports.watchAccount = watchAccount;
1685
- exports.watchBalance = watchBalance;
1686
- exports.watchBlockNumber = watchBlockNumber;
1687
- exports.watchContractEvent = watchContractEvent;
1688
- exports.watchEnsAddress = watchEnsAddress;
1689
- exports.watchEnsAvatar = watchEnsAvatar;
1690
- exports.watchEnsName = watchEnsName;
1691
- exports.watchEnsResolver = watchEnsResolver;
1692
- exports.watchFeeData = watchFeeData;
1693
- exports.watchNetwork = watchNetwork;
1694
- exports.watchReadContract = watchReadContract;
1695
- exports.watchSigner = watchSigner;
1696
- exports.watchToken = watchToken;
1697
- exports.writeContract = writeContract;