@wagmi/core 0.4.9 → 0.5.0-prepare-hooks.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +4 -4
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +26 -24
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +26 -24
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +3 -1
  5. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.d.ts +1 -0
  6. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.dev.js +200 -0
  7. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.js +7 -0
  8. package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.prod.js +200 -0
  9. package/connectors/injected/dist/wagmi-core-connectors-injected.esm.js +196 -0
  10. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +21 -22
  11. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +21 -22
  12. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +4 -5
  13. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +30 -28
  14. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +30 -28
  15. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +3 -1
  16. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +22 -23
  17. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +22 -23
  18. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +3 -4
  19. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.d.ts +11 -0
  20. package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.js +16 -0
  21. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +3 -3
  22. package/dist/declarations/src/actions/contracts/index.d.ts +2 -1
  23. package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +37 -0
  24. package/dist/declarations/src/actions/contracts/writeContract.d.ts +44 -8
  25. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +2 -1
  26. package/dist/declarations/src/actions/index.d.ts +2 -2
  27. package/dist/declarations/src/actions/transactions/index.d.ts +2 -1
  28. package/dist/declarations/src/actions/transactions/prepareSendTransaction.d.ts +36 -0
  29. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +43 -8
  30. package/dist/declarations/src/client.d.ts +2 -2
  31. package/dist/declarations/src/connectors/base.d.ts +1 -2
  32. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +1 -1
  33. package/dist/declarations/src/connectors/injected.d.ts +1 -1
  34. package/dist/declarations/src/connectors/mock/connector.d.ts +1 -1
  35. package/dist/declarations/src/connectors/mock/provider.d.ts +3 -3
  36. package/dist/declarations/src/connectors/walletConnect.d.ts +2 -1
  37. package/dist/declarations/src/errors.d.ts +10 -3
  38. package/dist/declarations/src/index.d.ts +4 -4
  39. package/dist/declarations/src/providers/alchemy.d.ts +1 -2
  40. package/dist/declarations/src/providers/infura.d.ts +1 -2
  41. package/dist/declarations/src/providers/jsonRpc.d.ts +1 -2
  42. package/dist/declarations/src/providers/public.d.ts +2 -4
  43. package/dist/declarations/src/types/index.d.ts +3 -1
  44. package/dist/declarations/src/utils/configureChains.d.ts +3 -1
  45. package/dist/{client-fbdcbdb2.esm.js → getProvider-048a69c4.esm.js} +365 -2
  46. package/dist/{client-4983a639.cjs.dev.js → getProvider-27edfd38.cjs.prod.js} +432 -44
  47. package/dist/{client-dfad744f.cjs.prod.js → getProvider-ec251513.cjs.dev.js} +432 -44
  48. package/dist/wagmi-core.cjs.dev.js +439 -278
  49. package/dist/wagmi-core.cjs.prod.js +439 -278
  50. package/dist/wagmi-core.esm.js +353 -196
  51. package/package.json +2 -2
  52. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +0 -2
  53. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +0 -2
  54. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +0 -2
  55. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +0 -2
  56. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +0 -2
  57. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +0 -2
  58. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +0 -2
  59. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +0 -2
  60. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +0 -2
  61. package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +0 -2
  62. package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +0 -2
  63. package/providers/public/dist/wagmi-core-providers-public.esm.js +0 -2
  64. package/dist/base-337e6424.cjs.prod.js +0 -343
  65. package/dist/base-bd337280.cjs.dev.js +0 -343
  66. package/dist/base-f1bbf263.esm.js +0 -316
@@ -1,14 +1,94 @@
1
1
  'use strict';
2
2
 
3
- var base = require('./base-337e6424.cjs.prod.js');
4
3
  var create = require('zustand/vanilla');
5
4
  var middleware = require('zustand/middleware');
6
5
  var ethers = require('ethers');
7
6
  var utils = require('ethers/lib/utils');
7
+ var EventEmitter = require('eventemitter3');
8
+ var chains = require('./chains-ba6218fb.cjs.dev.js');
8
9
 
9
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
10
11
 
11
12
  var create__default = /*#__PURE__*/_interopDefault(create);
13
+ var EventEmitter__default = /*#__PURE__*/_interopDefault(EventEmitter);
14
+
15
+ function _checkPrivateRedeclaration(obj, privateCollection) {
16
+ if (privateCollection.has(obj)) {
17
+ throw new TypeError("Cannot initialize the same private elements twice on an object");
18
+ }
19
+ }
20
+
21
+ function _classPrivateMethodInitSpec(obj, privateSet) {
22
+ _checkPrivateRedeclaration(obj, privateSet);
23
+ privateSet.add(obj);
24
+ }
25
+
26
+ function _classPrivateFieldInitSpec(obj, privateMap, value) {
27
+ _checkPrivateRedeclaration(obj, privateMap);
28
+ privateMap.set(obj, value);
29
+ }
30
+
31
+ function _defineProperty(obj, key, value) {
32
+ if (key in obj) {
33
+ Object.defineProperty(obj, key, {
34
+ value: value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ } else {
40
+ obj[key] = value;
41
+ }
42
+
43
+ return obj;
44
+ }
45
+
46
+ function _classApplyDescriptorGet(receiver, descriptor) {
47
+ if (descriptor.get) {
48
+ return descriptor.get.call(receiver);
49
+ }
50
+
51
+ return descriptor.value;
52
+ }
53
+
54
+ function _classExtractFieldDescriptor(receiver, privateMap, action) {
55
+ if (!privateMap.has(receiver)) {
56
+ throw new TypeError("attempted to " + action + " private field on non-instance");
57
+ }
58
+
59
+ return privateMap.get(receiver);
60
+ }
61
+
62
+ function _classPrivateFieldGet(receiver, privateMap) {
63
+ var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get");
64
+ return _classApplyDescriptorGet(receiver, descriptor);
65
+ }
66
+
67
+ function _classPrivateMethodGet(receiver, privateSet, fn) {
68
+ if (!privateSet.has(receiver)) {
69
+ throw new TypeError("attempted to get private field on non-instance");
70
+ }
71
+
72
+ return fn;
73
+ }
74
+
75
+ function _classApplyDescriptorSet(receiver, descriptor, value) {
76
+ if (descriptor.set) {
77
+ descriptor.set.call(receiver, value);
78
+ } else {
79
+ if (!descriptor.writable) {
80
+ throw new TypeError("attempted to set read only private field");
81
+ }
82
+
83
+ descriptor.value = value;
84
+ }
85
+ }
86
+
87
+ function _classPrivateFieldSet(receiver, privateMap, value) {
88
+ var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set");
89
+ _classApplyDescriptorSet(receiver, descriptor, value);
90
+ return value;
91
+ }
12
92
 
13
93
  function getInjectedName(ethereum) {
14
94
  var _ethereum$providers, _getName;
@@ -56,11 +136,284 @@ function getInjectedName(ethereum) {
56
136
  return (_getName = getName(ethereum)) !== null && _getName !== void 0 ? _getName : 'Injected';
57
137
  }
58
138
 
139
+ function normalizeChainId(chainId) {
140
+ if (typeof chainId === 'string') return Number.parseInt(chainId, chainId.trim().substring(0, 2) === '0x' ? 16 : 10);
141
+ if (typeof chainId === 'bigint') return Number(chainId);
142
+ return chainId;
143
+ }
144
+
145
+ /**
146
+ * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.
147
+ * @see https://eips.ethereum.org/EIPS/eip-1474
148
+ */
149
+ class RpcError extends Error {
150
+ constructor(
151
+ /** Number error code */
152
+ code,
153
+ /** Human-readable string */
154
+ message,
155
+ /** Low-level error */
156
+ internal,
157
+ /** Other useful information about error */
158
+ data) {
159
+ if (!Number.isInteger(code)) throw new Error('"code" must be an integer.');
160
+ if (!message || typeof message !== 'string') throw new Error('"message" must be a nonempty string.');
161
+ super(message);
162
+
163
+ _defineProperty(this, "code", void 0);
164
+
165
+ _defineProperty(this, "data", void 0);
166
+
167
+ _defineProperty(this, "internal", void 0);
168
+
169
+ this.code = code;
170
+ this.data = data;
171
+ this.internal = internal;
172
+ }
173
+
174
+ }
175
+ /**
176
+ * Error subclass implementing Ethereum Provider errors per EIP-1193.
177
+ * @see https://eips.ethereum.org/EIPS/eip-1193
178
+ */
179
+
180
+ class ProviderRpcError extends RpcError {
181
+ /**
182
+ * Create an Ethereum Provider JSON-RPC error.
183
+ * `code` must be an integer in the 1000 <= 4999 range.
184
+ */
185
+ constructor(
186
+ /**
187
+ * Number error code
188
+ * @see https://eips.ethereum.org/EIPS/eip-1193#error-standards
189
+ */
190
+ code,
191
+ /** Human-readable string */
192
+ message,
193
+ /** Low-level error */
194
+ internal,
195
+ /** Other useful information about error */
196
+ data) {
197
+ if (!(Number.isInteger(code) && code >= 1000 && code <= 4999)) throw new Error('"code" must be an integer such that: 1000 <= code <= 4999');
198
+ super(code, message, internal, data);
199
+ }
200
+
201
+ }
202
+ class AddChainError extends Error {
203
+ constructor() {
204
+ super(...arguments);
205
+
206
+ _defineProperty(this, "name", 'AddChainError');
207
+
208
+ _defineProperty(this, "message", 'Error adding chain');
209
+ }
210
+
211
+ }
212
+ class ChainDoesNotSupportMulticallError extends Error {
213
+ constructor(_ref) {
214
+ let {
215
+ blockNumber,
216
+ chain
217
+ } = _ref;
218
+ super("Chain \"".concat(chain.name, "\" does not support multicall").concat(blockNumber ? " on block ".concat(blockNumber) : '', "."));
219
+
220
+ _defineProperty(this, "name", 'ChainDoesNotSupportMulticall');
221
+ }
222
+
223
+ }
224
+ class ChainMismatchError extends Error {
225
+ constructor(_ref2) {
226
+ let {
227
+ activeChain,
228
+ targetChain
229
+ } = _ref2;
230
+ super("Chain mismatch: Expected \"".concat(targetChain, "\", received \"").concat(activeChain, "."));
231
+
232
+ _defineProperty(this, "name", 'ChainMismatchError');
233
+ }
234
+
235
+ }
236
+ class ChainNotConfiguredError extends Error {
237
+ constructor() {
238
+ super(...arguments);
239
+
240
+ _defineProperty(this, "name", 'ChainNotConfigured');
241
+
242
+ _defineProperty(this, "message", 'Chain not configured');
243
+ }
244
+
245
+ }
246
+ class ConnectorAlreadyConnectedError extends Error {
247
+ constructor() {
248
+ super(...arguments);
249
+
250
+ _defineProperty(this, "name", 'ConnectorAlreadyConnectedError');
251
+
252
+ _defineProperty(this, "message", 'Connector already connected');
253
+ }
254
+
255
+ }
256
+ class ConnectorNotFoundError extends Error {
257
+ constructor() {
258
+ super(...arguments);
259
+
260
+ _defineProperty(this, "name", 'ConnectorNotFoundError');
261
+
262
+ _defineProperty(this, "message", 'Connector not found');
263
+ }
264
+
265
+ }
266
+ class ContractMethodDoesNotExistError extends Error {
267
+ constructor(_ref3) {
268
+ var _chain$blockExplorers;
269
+
270
+ let {
271
+ addressOrName,
272
+ chainId,
273
+ functionName
274
+ } = _ref3;
275
+ const {
276
+ chains,
277
+ network
278
+ } = getProvider();
279
+ const chain = chains === null || chains === void 0 ? void 0 : chains.find(_ref4 => {
280
+ let {
281
+ id
282
+ } = _ref4;
283
+ return id === (chainId || network.chainId);
284
+ });
285
+ const blockExplorer = chain === null || chain === void 0 ? void 0 : (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default;
286
+ super(["Function \"".concat(functionName, "\" on contract \"").concat(addressOrName, "\" does not exist."), ...(blockExplorer ? ['', "".concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.name, ": ").concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.url, "/address/").concat(addressOrName, "#readContract")] : [])].join('\n'));
287
+
288
+ _defineProperty(this, "name", 'ContractMethodDoesNotExistError');
289
+ }
290
+
291
+ }
292
+ class ContractMethodNoResultError extends Error {
293
+ constructor(_ref5) {
294
+ var _chain$blockExplorers2;
295
+
296
+ let {
297
+ addressOrName,
298
+ chainId,
299
+ functionName
300
+ } = _ref5;
301
+ const {
302
+ chains,
303
+ network
304
+ } = getProvider();
305
+ const chain = chains === null || chains === void 0 ? void 0 : chains.find(_ref6 => {
306
+ let {
307
+ id
308
+ } = _ref6;
309
+ return id === (chainId || network.chainId);
310
+ });
311
+ const blockExplorer = chain === null || chain === void 0 ? void 0 : (_chain$blockExplorers2 = chain.blockExplorers) === null || _chain$blockExplorers2 === void 0 ? void 0 : _chain$blockExplorers2.default;
312
+ super(["Function \"".concat(functionName, "\" on contract \"").concat(addressOrName, "\" returned an empty response."), '', "Are you sure the function \"".concat(functionName, "\" exists on this contract?"), ...(blockExplorer ? ['', "".concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.name, ": ").concat(blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.url, "/address/").concat(addressOrName, "#readContract")] : [])].join('\n'));
313
+
314
+ _defineProperty(this, "name", 'ContractMethodNoResultError');
315
+ }
316
+
317
+ }
318
+ class ProviderChainsNotFound extends Error {
319
+ constructor() {
320
+ super(...arguments);
321
+
322
+ _defineProperty(this, "name", 'ProviderChainsNotFound');
323
+
324
+ _defineProperty(this, "message", ['No chains were found on the wagmi provider. Some functions that require a chain may not work.', '', 'It is recommended to add a list of chains to the provider in `createClient`.', '', 'Example:', '', '```', "import { getDefaultProvider } from 'ethers'", "import { chain, createClient } from 'wagmi'", '', 'createClient({', ' provider: Object.assign(getDefaultProvider(), { chains: [chain.mainnet] })', '})', '```'].join('\n'));
325
+ }
326
+
327
+ }
328
+ class ResourceUnavailableError extends RpcError {
329
+ constructor(error) {
330
+ super(-32002, 'Resource unavailable', error);
331
+
332
+ _defineProperty(this, "name", 'ResourceUnavailable');
333
+ }
334
+
335
+ }
336
+ class SwitchChainError extends ProviderRpcError {
337
+ constructor(error) {
338
+ super(4902, 'Error switching chain', error);
339
+
340
+ _defineProperty(this, "name", 'SwitchChainError');
341
+ }
342
+
343
+ }
344
+ class SwitchChainNotSupportedError extends Error {
345
+ constructor(_ref7) {
346
+ let {
347
+ connector
348
+ } = _ref7;
349
+ super("\"".concat(connector.name, "\" does not support programmatic chain switching."));
350
+
351
+ _defineProperty(this, "name", 'SwitchChainNotSupportedError');
352
+ }
353
+
354
+ }
355
+ class UserRejectedRequestError extends ProviderRpcError {
356
+ constructor(error) {
357
+ super(4001, 'User rejected request', error);
358
+
359
+ _defineProperty(this, "name", 'UserRejectedRequestError');
360
+ }
361
+
362
+ }
363
+
364
+ class Connector extends EventEmitter__default["default"] {
365
+ /** Unique connector id */
366
+
367
+ /** Connector name */
368
+
369
+ /** Chains connector supports */
370
+
371
+ /** Options to use with connector */
372
+
373
+ /** Whether connector is usable */
374
+ constructor(_ref) {
375
+ let {
376
+ chains: chains$1 = chains.defaultChains,
377
+ options
378
+ } = _ref;
379
+ super();
380
+
381
+ _defineProperty(this, "id", void 0);
382
+
383
+ _defineProperty(this, "name", void 0);
384
+
385
+ _defineProperty(this, "chains", void 0);
386
+
387
+ _defineProperty(this, "options", void 0);
388
+
389
+ _defineProperty(this, "ready", void 0);
390
+
391
+ this.chains = chains$1;
392
+ this.options = options;
393
+ }
394
+
395
+ getBlockExplorerUrls(chain) {
396
+ var _chain$blockExplorers;
397
+
398
+ const {
399
+ default: blockExplorer,
400
+ ...blockExplorers
401
+ } = (_chain$blockExplorers = chain.blockExplorers) !== null && _chain$blockExplorers !== void 0 ? _chain$blockExplorers : {};
402
+ if (blockExplorer) return [blockExplorer.url, ...Object.values(blockExplorers).map(x => x.url)];
403
+ return [];
404
+ }
405
+
406
+ isChainUnsupported(chainId) {
407
+ return !this.chains.some(x => x.id === chainId);
408
+ }
409
+
410
+ }
411
+
59
412
  var _provider = /*#__PURE__*/new WeakMap();
60
413
 
61
414
  var _switchingChains = /*#__PURE__*/new WeakMap();
62
415
 
63
- class InjectedConnector extends base.Connector {
416
+ class InjectedConnector extends Connector {
64
417
  constructor() {
65
418
  let {
66
419
  chains,
@@ -73,32 +426,32 @@ class InjectedConnector extends base.Connector {
73
426
  options
74
427
  });
75
428
 
76
- base._defineProperty(this, "id", void 0);
429
+ _defineProperty(this, "id", void 0);
77
430
 
78
- base._defineProperty(this, "name", void 0);
431
+ _defineProperty(this, "name", void 0);
79
432
 
80
- base._defineProperty(this, "ready", typeof window != 'undefined' && !!window.ethereum);
433
+ _defineProperty(this, "ready", typeof window != 'undefined' && !!window.ethereum);
81
434
 
82
- base._classPrivateFieldInitSpec(this, _provider, {
435
+ _classPrivateFieldInitSpec(this, _provider, {
83
436
  writable: true,
84
437
  value: void 0
85
438
  });
86
439
 
87
- base._classPrivateFieldInitSpec(this, _switchingChains, {
440
+ _classPrivateFieldInitSpec(this, _switchingChains, {
88
441
  writable: true,
89
442
  value: void 0
90
443
  });
91
444
 
92
- base._defineProperty(this, "shimDisconnectKey", 'injected.shimDisconnect');
445
+ _defineProperty(this, "shimDisconnectKey", 'injected.shimDisconnect');
93
446
 
94
- base._defineProperty(this, "onAccountsChanged", accounts => {
447
+ _defineProperty(this, "onAccountsChanged", accounts => {
95
448
  if (accounts.length === 0) this.emit('disconnect');else this.emit('change', {
96
449
  account: utils.getAddress(accounts[0])
97
450
  });
98
451
  });
99
452
 
100
- base._defineProperty(this, "onChainChanged", chainId => {
101
- const id = base.normalizeChainId(chainId);
453
+ _defineProperty(this, "onChainChanged", chainId => {
454
+ const id = normalizeChainId(chainId);
102
455
  const unsupported = this.isChainUnsupported(id);
103
456
  this.emit('change', {
104
457
  chain: {
@@ -108,14 +461,14 @@ class InjectedConnector extends base.Connector {
108
461
  });
109
462
  });
110
463
 
111
- base._defineProperty(this, "onDisconnect", () => {
464
+ _defineProperty(this, "onDisconnect", () => {
112
465
  var _this$options, _this$options2, _getClient$storage;
113
466
 
114
467
  // We need this as MetaMask can emit the "disconnect" event
115
468
  // upon switching chains. This workaround ensures that the
116
469
  // user currently isn't in the process of switching chains.
117
- if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.shimChainChangedDisconnect && base._classPrivateFieldGet(this, _switchingChains)) {
118
- base._classPrivateFieldSet(this, _switchingChains, false);
470
+ if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.shimChainChangedDisconnect && _classPrivateFieldGet(this, _switchingChains)) {
471
+ _classPrivateFieldSet(this, _switchingChains, false);
119
472
 
120
473
  return;
121
474
  }
@@ -144,7 +497,7 @@ class InjectedConnector extends base.Connector {
144
497
  var _this$options3, _getClient$storage2;
145
498
 
146
499
  const provider = await this.getProvider();
147
- if (!provider) throw new base.ConnectorNotFoundError();
500
+ if (!provider) throw new ConnectorNotFoundError();
148
501
 
149
502
  if (provider.on) {
150
503
  provider.on('accountsChanged', this.onAccountsChanged);
@@ -177,8 +530,8 @@ class InjectedConnector extends base.Connector {
177
530
  provider
178
531
  };
179
532
  } catch (error) {
180
- if (this.isUserRejectedRequestError(error)) throw new base.UserRejectedRequestError(error);
181
- if (error.code === -32002) throw new base.ResourceUnavailableError(error);
533
+ if (this.isUserRejectedRequestError(error)) throw new UserRejectedRequestError(error);
534
+ if (error.code === -32002) throw new ResourceUnavailableError(error);
182
535
  throw error;
183
536
  }
184
537
  }
@@ -197,7 +550,7 @@ class InjectedConnector extends base.Connector {
197
550
 
198
551
  async getAccount() {
199
552
  const provider = await this.getProvider();
200
- if (!provider) throw new base.ConnectorNotFoundError();
553
+ if (!provider) throw new ConnectorNotFoundError();
201
554
  const accounts = await provider.request({
202
555
  method: 'eth_requestAccounts'
203
556
  }); // return checksum address
@@ -207,15 +560,15 @@ class InjectedConnector extends base.Connector {
207
560
 
208
561
  async getChainId() {
209
562
  const provider = await this.getProvider();
210
- if (!provider) throw new base.ConnectorNotFoundError();
563
+ if (!provider) throw new ConnectorNotFoundError();
211
564
  return await provider.request({
212
565
  method: 'eth_chainId'
213
- }).then(base.normalizeChainId);
566
+ }).then(normalizeChainId);
214
567
  }
215
568
 
216
569
  async getProvider() {
217
- if (typeof window !== 'undefined' && !!window.ethereum) base._classPrivateFieldSet(this, _provider, window.ethereum);
218
- return base._classPrivateFieldGet(this, _provider);
570
+ if (typeof window !== 'undefined' && !!window.ethereum) _classPrivateFieldSet(this, _provider, window.ethereum);
571
+ return _classPrivateFieldGet(this, _provider);
219
572
  }
220
573
 
221
574
  async getSigner() {
@@ -230,7 +583,7 @@ class InjectedConnector extends base.Connector {
230
583
  if ((_this$options5 = this.options) !== null && _this$options5 !== void 0 && _this$options5.shimDisconnect && // If shim does not exist in storage, wallet is disconnected
231
584
  !((_getClient$storage4 = getClient().storage) !== null && _getClient$storage4 !== void 0 && _getClient$storage4.getItem(this.shimDisconnectKey))) return false;
232
585
  const provider = await this.getProvider();
233
- if (!provider) throw new base.ConnectorNotFoundError();
586
+ if (!provider) throw new ConnectorNotFoundError();
234
587
  const accounts = await provider.request({
235
588
  method: 'eth_accounts'
236
589
  });
@@ -244,9 +597,9 @@ class InjectedConnector extends base.Connector {
244
597
  async switchChain(chainId) {
245
598
  var _this$options6;
246
599
 
247
- if ((_this$options6 = this.options) !== null && _this$options6 !== void 0 && _this$options6.shimChainChangedDisconnect) base._classPrivateFieldSet(this, _switchingChains, true);
600
+ if ((_this$options6 = this.options) !== null && _this$options6 !== void 0 && _this$options6.shimChainChangedDisconnect) _classPrivateFieldSet(this, _switchingChains, true);
248
601
  const provider = await this.getProvider();
249
- if (!provider) throw new base.ConnectorNotFoundError();
602
+ if (!provider) throw new ConnectorNotFoundError();
250
603
  const id = utils.hexValue(chainId);
251
604
 
252
605
  try {
@@ -270,7 +623,7 @@ class InjectedConnector extends base.Connector {
270
623
  var _data, _data$originalError;
271
624
 
272
625
  const chain = this.chains.find(x => x.id === chainId);
273
- if (!chain) throw new base.ChainNotConfiguredError(); // Indicates chain is not added to provider
626
+ if (!chain) throw new ChainNotConfiguredError(); // Indicates chain is not added to provider
274
627
 
275
628
  if (error.code === 4902 || // Unwrapping for MetaMask Mobile
276
629
  // https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
@@ -290,13 +643,13 @@ class InjectedConnector extends base.Connector {
290
643
  });
291
644
  return chain;
292
645
  } catch (addError) {
293
- if (this.isUserRejectedRequestError(addError)) throw new base.UserRejectedRequestError(error);
294
- throw new base.AddChainError();
646
+ if (this.isUserRejectedRequestError(addError)) throw new UserRejectedRequestError(error);
647
+ throw new AddChainError();
295
648
  }
296
649
  }
297
650
 
298
- if (this.isUserRejectedRequestError(error)) throw new base.UserRejectedRequestError(error);
299
- throw new base.SwitchChainError(error);
651
+ if (this.isUserRejectedRequestError(error)) throw new UserRejectedRequestError(error);
652
+ throw new SwitchChainError(error);
300
653
  }
301
654
  }
302
655
 
@@ -308,7 +661,7 @@ class InjectedConnector extends base.Connector {
308
661
  symbol
309
662
  } = _ref;
310
663
  const provider = await this.getProvider();
311
- if (!provider) throw new base.ConnectorNotFoundError();
664
+ if (!provider) throw new ConnectorNotFoundError();
312
665
  return await provider.request({
313
666
  method: 'wallet_watchAsset',
314
667
  params: {
@@ -386,20 +739,20 @@ class Client {
386
739
  webSocketProvider: _webSocketProvider
387
740
  } = _ref;
388
741
 
389
- base._classPrivateMethodInitSpec(this, _addEffects);
742
+ _classPrivateMethodInitSpec(this, _addEffects);
390
743
 
391
- base._defineProperty(this, "config", void 0);
744
+ _defineProperty(this, "config", void 0);
392
745
 
393
- base._defineProperty(this, "storage", void 0);
746
+ _defineProperty(this, "storage", void 0);
394
747
 
395
- base._defineProperty(this, "store", void 0);
748
+ _defineProperty(this, "store", void 0);
396
749
 
397
- base._classPrivateFieldInitSpec(this, _isAutoConnecting, {
750
+ _classPrivateFieldInitSpec(this, _isAutoConnecting, {
398
751
  writable: true,
399
752
  value: void 0
400
753
  });
401
754
 
402
- base._classPrivateFieldInitSpec(this, _lastUsedConnector, {
755
+ _classPrivateFieldInitSpec(this, _lastUsedConnector, {
403
756
  writable: true,
404
757
  value: void 0
405
758
  });
@@ -457,9 +810,9 @@ class Client {
457
810
  };
458
811
  this.storage = storage;
459
812
 
460
- base._classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
813
+ _classPrivateFieldSet(this, _lastUsedConnector, storage === null || storage === void 0 ? void 0 : storage.getItem('wallet'));
461
814
 
462
- base._classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
815
+ _classPrivateMethodGet(this, _addEffects, _addEffects2).call(this);
463
816
  }
464
817
 
465
818
  get chains() {
@@ -523,16 +876,16 @@ class Client {
523
876
 
524
877
  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));
525
878
 
526
- base._classPrivateFieldSet(this, _isAutoConnecting, false);
879
+ _classPrivateFieldSet(this, _isAutoConnecting, false);
527
880
 
528
881
  this.clearState();
529
882
  this.store.destroy();
530
883
  }
531
884
 
532
885
  async autoConnect() {
533
- if (base._classPrivateFieldGet(this, _isAutoConnecting)) return;
886
+ if (_classPrivateFieldGet(this, _isAutoConnecting)) return;
534
887
 
535
- base._classPrivateFieldSet(this, _isAutoConnecting, true);
888
+ _classPrivateFieldSet(this, _isAutoConnecting, true);
536
889
 
537
890
  this.setState(x => {
538
891
  var _x$data;
@@ -542,7 +895,7 @@ class Client {
542
895
  };
543
896
  }); // Try last used connector first
544
897
 
545
- const sorted = base._classPrivateFieldGet(this, _lastUsedConnector) ? [...this.connectors].sort(x => x.id === base._classPrivateFieldGet(this, _lastUsedConnector) ? -1 : 1) : this.connectors;
898
+ const sorted = _classPrivateFieldGet(this, _lastUsedConnector) ? [...this.connectors].sort(x => x.id === _classPrivateFieldGet(this, _lastUsedConnector) ? -1 : 1) : this.connectors;
546
899
  let connected = false;
547
900
 
548
901
  for (const connector of sorted) {
@@ -566,7 +919,7 @@ class Client {
566
919
  status: 'disconnected'
567
920
  }));
568
921
 
569
- base._classPrivateFieldSet(this, _isAutoConnecting, false);
922
+ _classPrivateFieldSet(this, _isAutoConnecting, false);
570
923
 
571
924
  return this.data;
572
925
  }
@@ -654,9 +1007,44 @@ function getClient() {
654
1007
  return client;
655
1008
  }
656
1009
 
1010
+ function getProvider() {
1011
+ let {
1012
+ chainId
1013
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1014
+ const client = getClient();
1015
+ if (chainId && typeof client.config.provider === 'function') return client.config.provider({
1016
+ chainId
1017
+ });
1018
+ return client.provider;
1019
+ }
1020
+
1021
+ exports.AddChainError = AddChainError;
1022
+ exports.ChainDoesNotSupportMulticallError = ChainDoesNotSupportMulticallError;
1023
+ exports.ChainMismatchError = ChainMismatchError;
1024
+ exports.ChainNotConfiguredError = ChainNotConfiguredError;
657
1025
  exports.Client = Client;
1026
+ exports.Connector = Connector;
1027
+ exports.ConnectorAlreadyConnectedError = ConnectorAlreadyConnectedError;
1028
+ exports.ConnectorNotFoundError = ConnectorNotFoundError;
1029
+ exports.ContractMethodDoesNotExistError = ContractMethodDoesNotExistError;
1030
+ exports.ContractMethodNoResultError = ContractMethodNoResultError;
658
1031
  exports.InjectedConnector = InjectedConnector;
1032
+ exports.ProviderChainsNotFound = ProviderChainsNotFound;
1033
+ exports.ProviderRpcError = ProviderRpcError;
1034
+ exports.ResourceUnavailableError = ResourceUnavailableError;
1035
+ exports.RpcError = RpcError;
1036
+ exports.SwitchChainError = SwitchChainError;
1037
+ exports.SwitchChainNotSupportedError = SwitchChainNotSupportedError;
1038
+ exports.UserRejectedRequestError = UserRejectedRequestError;
1039
+ exports._classPrivateFieldGet = _classPrivateFieldGet;
1040
+ exports._classPrivateFieldInitSpec = _classPrivateFieldInitSpec;
1041
+ exports._classPrivateFieldSet = _classPrivateFieldSet;
1042
+ exports._classPrivateMethodGet = _classPrivateMethodGet;
1043
+ exports._classPrivateMethodInitSpec = _classPrivateMethodInitSpec;
1044
+ exports._defineProperty = _defineProperty;
659
1045
  exports.createClient = createClient;
660
1046
  exports.createStorage = createStorage;
661
1047
  exports.getClient = getClient;
1048
+ exports.getProvider = getProvider;
662
1049
  exports.noopStorage = noopStorage;
1050
+ exports.normalizeChainId = normalizeChainId;