@wagmi/core 0.5.8 → 0.6.1

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 (86) hide show
  1. package/chains/dist/wagmi-core-chains.cjs.dev.js +2 -2
  2. package/chains/dist/wagmi-core-chains.cjs.prod.js +2 -2
  3. package/chains/dist/wagmi-core-chains.esm.js +2 -2
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +11 -12
  5. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +11 -12
  6. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +11 -12
  7. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +4 -3
  8. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +4 -3
  9. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +4 -3
  10. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +9 -13
  11. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +9 -13
  12. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +9 -13
  13. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +9 -11
  14. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +9 -11
  15. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +9 -11
  16. package/dist/{chains-8c76af1b.esm.js → chains-2970e5fa.esm.js} +17 -11
  17. package/dist/{chains-ec1de502.cjs.dev.js → chains-45d5aa86.cjs.prod.js} +17 -11
  18. package/dist/{chains-789e0c2e.cjs.prod.js → chains-524f4950.cjs.dev.js} +17 -11
  19. package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +4 -4
  20. package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +5 -1
  21. package/dist/declarations/src/actions/accounts/index.d.ts +1 -1
  22. package/dist/declarations/src/actions/accounts/signMessage.d.ts +3 -5
  23. package/dist/declarations/src/actions/accounts/signTypedData.d.ts +19 -20
  24. package/dist/declarations/src/actions/accounts/watchSigner.d.ts +5 -3
  25. package/dist/declarations/src/actions/contracts/fetchToken.d.ts +5 -5
  26. package/dist/declarations/src/actions/contracts/getContract.d.ts +111 -8
  27. package/dist/declarations/src/actions/contracts/index.d.ts +5 -4
  28. package/dist/declarations/src/actions/contracts/multicall.d.ts +11 -15
  29. package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +26 -16
  30. package/dist/declarations/src/actions/contracts/readContract.d.ts +12 -14
  31. package/dist/declarations/src/actions/contracts/readContracts.d.ts +25 -16
  32. package/dist/declarations/src/actions/contracts/watchContractEvent.d.ts +22 -8
  33. package/dist/declarations/src/actions/contracts/watchMulticall.d.ts +10 -0
  34. package/dist/declarations/src/actions/contracts/watchReadContract.d.ts +4 -3
  35. package/dist/declarations/src/actions/contracts/watchReadContracts.d.ts +7 -3
  36. package/dist/declarations/src/actions/contracts/writeContract.d.ts +43 -23
  37. package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +1 -1
  38. package/dist/declarations/src/actions/ens/fetchEnsName.d.ts +2 -1
  39. package/dist/declarations/src/actions/index.d.ts +3 -3
  40. package/dist/declarations/src/actions/transactions/index.d.ts +0 -1
  41. package/dist/declarations/src/actions/transactions/prepareSendTransaction.d.ts +5 -4
  42. package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +3 -2
  43. package/dist/declarations/src/actions/transactions/waitForTransaction.d.ts +2 -1
  44. package/dist/declarations/src/connectors/base.d.ts +5 -4
  45. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +5 -3
  46. package/dist/declarations/src/connectors/injected.d.ts +10 -9
  47. package/dist/declarations/src/connectors/metaMask.d.ts +1 -1
  48. package/dist/declarations/src/connectors/mock/connector.d.ts +1 -1
  49. package/dist/declarations/src/connectors/mock/provider.d.ts +1 -1
  50. package/dist/declarations/src/connectors/walletConnect.d.ts +2 -2
  51. package/dist/declarations/src/constants/abis.d.ts +421 -2
  52. package/dist/declarations/src/constants/blockExplorers.d.ts +1 -1
  53. package/dist/declarations/src/constants/index.d.ts +1 -2
  54. package/dist/declarations/src/errors.d.ts +8 -8
  55. package/dist/declarations/src/index.d.ts +4 -3
  56. package/dist/declarations/src/internal.d.ts +2 -0
  57. package/dist/declarations/src/types/contracts.d.ts +241 -0
  58. package/dist/declarations/src/types/index.d.ts +31 -9
  59. package/dist/declarations/src/types/utils.d.ts +103 -0
  60. package/dist/declarations/src/utils/assertActiveChain.d.ts +3 -0
  61. package/dist/declarations/src/utils/configureChains.d.ts +3 -5
  62. package/dist/declarations/src/utils/index.d.ts +2 -0
  63. package/dist/declarations/src/utils/minimizeContractInterface.d.ts +5 -5
  64. package/dist/declarations/src/utils/normalizeFunctionName.d.ts +17 -0
  65. package/dist/declarations/src/utils/parseContractResult.d.ts +4 -4
  66. package/dist/{getProvider-5b4b62c3.esm.js → getProvider-24ec6544.esm.js} +49 -50
  67. package/dist/{getProvider-1b3eeda8.cjs.dev.js → getProvider-ed469b94.cjs.prod.js} +48 -49
  68. package/dist/{getProvider-ad4ce6a4.cjs.prod.js → getProvider-f6f17fa1.cjs.dev.js} +48 -49
  69. package/dist/{rpcs-d2cd65f1.cjs.dev.js → rpcs-0d21dfe8.cjs.dev.js} +5 -5
  70. package/dist/{rpcs-8d636858.esm.js → rpcs-b4aa70b9.esm.js} +6 -6
  71. package/dist/{rpcs-edec227e.cjs.prod.js → rpcs-c62bf9b0.cjs.prod.js} +5 -5
  72. package/dist/wagmi-core.cjs.dev.js +847 -395
  73. package/dist/wagmi-core.cjs.prod.js +847 -395
  74. package/dist/wagmi-core.esm.js +849 -397
  75. package/package.json +3 -2
  76. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +2 -2
  77. package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +2 -2
  78. package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +2 -2
  79. package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +2 -2
  80. package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +2 -2
  81. package/providers/infura/dist/wagmi-core-providers-infura.esm.js +2 -2
  82. package/dist/declarations/src/actions/contracts/deprecatedWriteContract.d.ts +0 -16
  83. package/dist/declarations/src/actions/transactions/deprecatedSendTransaction.d.ts +0 -12
  84. package/dist/declarations/src/constants/multicall.d.ts +0 -25
  85. package/providers/coinbaseNode/dist/wagmi-core-providers-coinbaseNode.cjs.d.ts +0 -11
  86. package/providers/coinbaseNode/dist/wagmi-core-providers-coinbaseNode.cjs.js +0 -16
@@ -3,7 +3,7 @@ import create from 'zustand/vanilla';
3
3
  import { providers } from 'ethers';
4
4
  import { getAddress, hexValue } from 'ethers/lib/utils';
5
5
  import EventEmitter from 'eventemitter3';
6
- import { d as defaultChains } from './chains-8c76af1b.esm.js';
6
+ import { d as defaultChains } from './chains-2970e5fa.esm.js';
7
7
 
8
8
  function _checkPrivateRedeclaration(obj, privateCollection) {
9
9
  if (privateCollection.has(obj)) {
@@ -156,7 +156,7 @@ class ChainDoesNotSupportMulticallError extends Error {
156
156
  blockNumber,
157
157
  chain
158
158
  } = _ref;
159
- super("Chain \"".concat(chain.name, "\" does not support multicall").concat(blockNumber ? " on block ".concat(blockNumber) : '', "."));
159
+ super(`Chain "${chain.name}" does not support multicall${blockNumber ? ` on block ${blockNumber}` : ''}.`);
160
160
 
161
161
  _defineProperty(this, "name", 'ChainDoesNotSupportMulticall');
162
162
  }
@@ -168,7 +168,7 @@ class ChainMismatchError extends Error {
168
168
  activeChain,
169
169
  targetChain
170
170
  } = _ref2;
171
- super("Chain mismatch: Expected \"".concat(targetChain, "\", received \"").concat(activeChain, "\"."));
171
+ super(`Chain mismatch: Expected "${targetChain}", received "${activeChain}".`);
172
172
 
173
173
  _defineProperty(this, "name", 'ChainMismatchError');
174
174
  }
@@ -209,7 +209,7 @@ class ContractMethodDoesNotExistError extends Error {
209
209
  var _chain$blockExplorers;
210
210
 
211
211
  let {
212
- addressOrName,
212
+ address,
213
213
  chainId,
214
214
  functionName
215
215
  } = _ref3;
@@ -224,7 +224,7 @@ class ContractMethodDoesNotExistError extends Error {
224
224
  return id === (chainId || network.chainId);
225
225
  });
226
226
  const blockExplorer = chain === null || chain === void 0 ? void 0 : (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default;
227
- 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'));
227
+ super([`Function "${functionName}" on contract "${address}" does not exist.`, ...(blockExplorer ? ['', `${blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.name}: ${blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.url}/address/${address}#readContract`] : [])].join('\n'));
228
228
 
229
229
  _defineProperty(this, "name", 'ContractMethodDoesNotExistError');
230
230
  }
@@ -233,14 +233,14 @@ class ContractMethodDoesNotExistError extends Error {
233
233
  class ContractMethodNoResultError extends Error {
234
234
  constructor(_ref5) {
235
235
  let {
236
- addressOrName,
236
+ address,
237
237
  args,
238
238
  chainId,
239
239
  functionName
240
240
  } = _ref5;
241
- super(['Contract read returned an empty response. This could be due to any of the following:', "- The contract does not have the function \"".concat(functionName, "\","), '- The parameters passed to the contract function may be invalid, or', '- The address is not a contract.', '', "Config:", JSON.stringify({
242
- addressOrName,
243
- contractInterface: '...',
241
+ super(['Contract read returned an empty response. This could be due to any of the following:', `- The contract does not have the function "${functionName}",`, '- The parameters passed to the contract function may be invalid, or', '- The address is not a contract.', '', `Config:`, JSON.stringify({
242
+ address,
243
+ abi: '...',
244
244
  functionName,
245
245
  chainId,
246
246
  args
@@ -253,19 +253,19 @@ class ContractMethodNoResultError extends Error {
253
253
  class ContractMethodRevertedError extends Error {
254
254
  constructor(_ref6) {
255
255
  let {
256
- addressOrName,
256
+ address,
257
257
  args,
258
258
  chainId,
259
259
  functionName,
260
260
  errorMessage
261
261
  } = _ref6;
262
- super(['Contract method reverted with an error.', '', "Config:", JSON.stringify({
263
- addressOrName,
264
- contractInterface: '...',
262
+ super(['Contract method reverted with an error.', '', `Config:`, JSON.stringify({
263
+ address,
264
+ abi: '...',
265
265
  functionName,
266
266
  chainId,
267
267
  args
268
- }, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
268
+ }, null, 2), '', `Details: ${errorMessage}`].join('\n'));
269
269
 
270
270
  _defineProperty(this, "name", 'ContractMethodRevertedError');
271
271
  }
@@ -274,19 +274,19 @@ class ContractMethodRevertedError extends Error {
274
274
  class ContractResultDecodeError extends Error {
275
275
  constructor(_ref7) {
276
276
  let {
277
- addressOrName,
277
+ address,
278
278
  args,
279
279
  chainId,
280
280
  functionName,
281
281
  errorMessage
282
282
  } = _ref7;
283
- super(['Failed to decode contract function result.', '', "Config:", JSON.stringify({
284
- addressOrName,
285
- contractInterface: '...',
283
+ super(['Failed to decode contract function result.', '', `Config:`, JSON.stringify({
284
+ address,
285
+ abi: '...',
286
286
  functionName,
287
287
  chainId,
288
288
  args
289
- }, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
289
+ }, null, 2), '', `Details: ${errorMessage}`].join('\n'));
290
290
 
291
291
  _defineProperty(this, "name", 'ContractResultDecodeError');
292
292
  }
@@ -323,7 +323,7 @@ class SwitchChainNotSupportedError extends Error {
323
323
  let {
324
324
  connector
325
325
  } = _ref8;
326
- super("\"".concat(connector.name, "\" does not support programmatic chain switching."));
326
+ super(`"${connector.name}" does not support programmatic chain switching.`);
327
327
 
328
328
  _defineProperty(this, "name", 'SwitchChainNotSupportedError');
329
329
  }
@@ -339,11 +339,12 @@ class UserRejectedRequestError extends ProviderRpcError {
339
339
  }
340
340
 
341
341
  function getInjectedName(ethereum) {
342
- var _ethereum$providers, _getName;
342
+ var _ethereum$providers;
343
343
 
344
344
  if (!ethereum) return 'Injected';
345
345
 
346
346
  const getName = provider => {
347
+ if (provider.isAvalanche) return 'Core Wallet';
347
348
  if (provider.isBitKeep) return 'BitKeep';
348
349
  if (provider.isBraveWallet) return 'Brave Wallet';
349
350
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
@@ -361,8 +362,6 @@ function getInjectedName(ethereum) {
361
362
 
362
363
 
363
364
  if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
364
- var _names$;
365
-
366
365
  // Deduplicate names using Set
367
366
  // Coinbase Wallet puts multiple providers in `ethereum.providers`
368
367
  const nameSet = new Set();
@@ -372,7 +371,7 @@ function getInjectedName(ethereum) {
372
371
  let name = getName(provider);
373
372
 
374
373
  if (!name) {
375
- name = "Unknown Wallet #".concat(unknownCount);
374
+ name = `Unknown Wallet #${unknownCount}`;
376
375
  unknownCount += 1;
377
376
  }
378
377
 
@@ -381,10 +380,10 @@ function getInjectedName(ethereum) {
381
380
 
382
381
  const names = [...nameSet];
383
382
  if (names.length) return names;
384
- return (_names$ = names[0]) !== null && _names$ !== void 0 ? _names$ : 'Injected';
383
+ return names[0] ?? 'Injected';
385
384
  }
386
385
 
387
- return (_getName = getName(ethereum)) !== null && _getName !== void 0 ? _getName : 'Injected';
386
+ return getName(ethereum) ?? 'Injected';
388
387
  }
389
388
 
390
389
  function normalizeChainId(chainId) {
@@ -425,12 +424,10 @@ class Connector extends EventEmitter {
425
424
  }
426
425
 
427
426
  getBlockExplorerUrls(chain) {
428
- var _chain$blockExplorers;
429
-
430
427
  const {
431
428
  default: blockExplorer,
432
429
  ...blockExplorers
433
- } = (_chain$blockExplorers = chain.blockExplorers) !== null && _chain$blockExplorers !== void 0 ? _chain$blockExplorers : {};
430
+ } = chain.blockExplorers ?? {};
434
431
  if (blockExplorer) return [blockExplorer.url, ...Object.values(blockExplorers).map(x => x.url)];
435
432
  return [];
436
433
  }
@@ -449,10 +446,13 @@ class InjectedConnector extends Connector {
449
446
  constructor() {
450
447
  let {
451
448
  chains,
452
- options = {
453
- shimDisconnect: true
454
- }
449
+ options: options_
455
450
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
451
+ const options = {
452
+ shimDisconnect: true,
453
+ shimChainChangedDisconnect: true,
454
+ ...options_
455
+ };
456
456
  super({
457
457
  chains,
458
458
  options
@@ -604,8 +604,11 @@ class InjectedConnector extends Connector {
604
604
  }
605
605
 
606
606
  async getSigner() {
607
+ let {
608
+ chainId
609
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
607
610
  const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
608
- return new providers.Web3Provider(provider).getSigner(account);
611
+ return new providers.Web3Provider(provider, chainId).getSigner(account);
609
612
  }
610
613
 
611
614
  async isAuthorized() {
@@ -635,18 +638,16 @@ class InjectedConnector extends Connector {
635
638
  const id = hexValue(chainId);
636
639
 
637
640
  try {
638
- var _this$chains$find;
639
-
640
641
  await provider.request({
641
642
  method: 'wallet_switchEthereumChain',
642
643
  params: [{
643
644
  chainId: id
644
645
  }]
645
646
  });
646
- return (_this$chains$find = this.chains.find(x => x.id === chainId)) !== null && _this$chains$find !== void 0 ? _this$chains$find : {
647
+ return this.chains.find(x => x.id === chainId) ?? {
647
648
  id: chainId,
648
- name: "Chain ".concat(id),
649
- network: "".concat(id),
649
+ name: `Chain ${id}`,
650
+ network: `${id}`,
650
651
  rpcUrls: {
651
652
  default: ''
652
653
  }
@@ -661,15 +662,13 @@ class InjectedConnector extends Connector {
661
662
  // https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
662
663
  (error === null || error === void 0 ? void 0 : (_data = error.data) === null || _data === void 0 ? void 0 : (_data$originalError = _data.originalError) === null || _data$originalError === void 0 ? void 0 : _data$originalError.code) === 4902) {
663
664
  try {
664
- var _chain$rpcUrls$public;
665
-
666
665
  await provider.request({
667
666
  method: 'wallet_addEthereumChain',
668
667
  params: [{
669
668
  chainId: id,
670
669
  chainName: chain.name,
671
670
  nativeCurrency: chain.nativeCurrency,
672
- rpcUrls: [(_chain$rpcUrls$public = chain.rpcUrls.public) !== null && _chain$rpcUrls$public !== void 0 ? _chain$rpcUrls$public : chain.rpcUrls.default],
671
+ rpcUrls: [chain.rpcUrls.public ?? chain.rpcUrls.default],
673
672
  blockExplorerUrls: this.getBlockExplorerUrls(chain)
674
673
  }]
675
674
  });
@@ -727,7 +726,7 @@ function createStorage(_ref) {
727
726
  return { ...storage,
728
727
  getItem: function (key) {
729
728
  let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
730
- const value = storage.getItem("".concat(prefix, ".").concat(key));
729
+ const value = storage.getItem(`${prefix}.${key}`);
731
730
 
732
731
  try {
733
732
  return value ? JSON.parse(value) : defaultState;
@@ -738,16 +737,16 @@ function createStorage(_ref) {
738
737
  },
739
738
  setItem: (key, value) => {
740
739
  if (value === null) {
741
- storage.removeItem("".concat(prefix, ".").concat(key));
740
+ storage.removeItem(`${prefix}.${key}`);
742
741
  } else {
743
742
  try {
744
- storage.setItem("".concat(prefix, ".").concat(key), JSON.stringify(value));
743
+ storage.setItem(`${prefix}.${key}`, JSON.stringify(value));
745
744
  } catch (err) {
746
745
  console.error(err);
747
746
  }
748
747
  }
749
748
  },
750
- removeItem: key => storage.removeItem("".concat(prefix, ".").concat(key))
749
+ removeItem: key => storage.removeItem(`${prefix}.${key}`)
751
750
  };
752
751
  }
753
752
 
@@ -971,7 +970,7 @@ class Client {
971
970
  bust,
972
971
  chainId
973
972
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
974
- let provider_ = this.providers.get(chainId !== null && chainId !== void 0 ? chainId : -1);
973
+ let provider_ = this.providers.get(chainId ?? -1);
975
974
  if (provider_ && !bust) return provider_;
976
975
  const {
977
976
  provider
@@ -979,7 +978,7 @@ class Client {
979
978
  provider_ = typeof provider === 'function' ? provider({
980
979
  chainId
981
980
  }) : provider;
982
- this.providers.set(chainId !== null && chainId !== void 0 ? chainId : -1, provider_);
981
+ this.providers.set(chainId ?? -1, provider_);
983
982
  return provider_;
984
983
  }
985
984
 
@@ -988,7 +987,7 @@ class Client {
988
987
  bust,
989
988
  chainId
990
989
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
991
- let webSocketProvider_ = this.webSocketProviders.get(chainId !== null && chainId !== void 0 ? chainId : -1);
990
+ let webSocketProvider_ = this.webSocketProviders.get(chainId ?? -1);
992
991
  if (webSocketProvider_ && !bust) return webSocketProvider_;
993
992
  const {
994
993
  webSocketProvider
@@ -996,7 +995,7 @@ class Client {
996
995
  webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
997
996
  chainId
998
997
  }) : webSocketProvider;
999
- if (webSocketProvider_) this.webSocketProviders.set(chainId !== null && chainId !== void 0 ? chainId : -1, webSocketProvider_);
998
+ if (webSocketProvider_) this.webSocketProviders.set(chainId ?? -1, webSocketProvider_);
1000
999
  return webSocketProvider_;
1001
1000
  }
1002
1001
 
@@ -1096,4 +1095,4 @@ function getProvider() {
1096
1095
  return client.provider;
1097
1096
  }
1098
1097
 
1099
- export { AddChainError as A, ConnectorAlreadyConnectedError as C, InjectedConnector as I, ProviderChainsNotFound as P, ResourceUnavailableError as R, SwitchChainNotSupportedError as S, UserRejectedRequestError as U, _classPrivateMethodInitSpec as _, ConnectorNotFoundError as a, ChainMismatchError as b, ContractResultDecodeError as c, ContractMethodDoesNotExistError as d, getProvider as e, ChainDoesNotSupportMulticallError as f, getClient as g, ContractMethodRevertedError as h, ContractMethodNoResultError as i, createClient as j, Client as k, Connector as l, ChainNotConfiguredError as m, normalizeChainId as n, ProviderRpcError as o, RpcError as p, SwitchChainError as q, createStorage as r, noopStorage as s, _defineProperty as t, _classPrivateFieldInitSpec as u, _classPrivateFieldGet as v, _classPrivateFieldSet as w, _classPrivateMethodGet as x };
1098
+ export { AddChainError as A, ChainMismatchError as C, InjectedConnector as I, ProviderChainsNotFound as P, ResourceUnavailableError as R, SwitchChainNotSupportedError as S, UserRejectedRequestError as U, _classPrivateMethodInitSpec as _, ConnectorAlreadyConnectedError as a, ContractResultDecodeError as b, ConnectorNotFoundError as c, ContractMethodDoesNotExistError as d, getProvider as e, ChainDoesNotSupportMulticallError as f, getClient as g, ContractMethodRevertedError as h, ContractMethodNoResultError as i, createClient as j, Client as k, Connector as l, ChainNotConfiguredError as m, normalizeChainId as n, ProviderRpcError as o, RpcError as p, SwitchChainError as q, createStorage as r, noopStorage as s, _defineProperty as t, _classPrivateMethodGet as u, _classPrivateFieldInitSpec as v, _classPrivateFieldSet as w, _classPrivateFieldGet as x };
@@ -5,7 +5,7 @@ var create = require('zustand/vanilla');
5
5
  var ethers = require('ethers');
6
6
  var utils = require('ethers/lib/utils');
7
7
  var EventEmitter = require('eventemitter3');
8
- var chains = require('./chains-ec1de502.cjs.dev.js');
8
+ var chains = require('./chains-45d5aa86.cjs.prod.js');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
11
11
 
@@ -163,7 +163,7 @@ class ChainDoesNotSupportMulticallError extends Error {
163
163
  blockNumber,
164
164
  chain
165
165
  } = _ref;
166
- super("Chain \"".concat(chain.name, "\" does not support multicall").concat(blockNumber ? " on block ".concat(blockNumber) : '', "."));
166
+ super(`Chain "${chain.name}" does not support multicall${blockNumber ? ` on block ${blockNumber}` : ''}.`);
167
167
 
168
168
  _defineProperty(this, "name", 'ChainDoesNotSupportMulticall');
169
169
  }
@@ -175,7 +175,7 @@ class ChainMismatchError extends Error {
175
175
  activeChain,
176
176
  targetChain
177
177
  } = _ref2;
178
- super("Chain mismatch: Expected \"".concat(targetChain, "\", received \"").concat(activeChain, "\"."));
178
+ super(`Chain mismatch: Expected "${targetChain}", received "${activeChain}".`);
179
179
 
180
180
  _defineProperty(this, "name", 'ChainMismatchError');
181
181
  }
@@ -216,7 +216,7 @@ class ContractMethodDoesNotExistError extends Error {
216
216
  var _chain$blockExplorers;
217
217
 
218
218
  let {
219
- addressOrName,
219
+ address,
220
220
  chainId,
221
221
  functionName
222
222
  } = _ref3;
@@ -231,7 +231,7 @@ class ContractMethodDoesNotExistError extends Error {
231
231
  return id === (chainId || network.chainId);
232
232
  });
233
233
  const blockExplorer = chain === null || chain === void 0 ? void 0 : (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default;
234
- 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'));
234
+ super([`Function "${functionName}" on contract "${address}" does not exist.`, ...(blockExplorer ? ['', `${blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.name}: ${blockExplorer === null || blockExplorer === void 0 ? void 0 : blockExplorer.url}/address/${address}#readContract`] : [])].join('\n'));
235
235
 
236
236
  _defineProperty(this, "name", 'ContractMethodDoesNotExistError');
237
237
  }
@@ -240,14 +240,14 @@ class ContractMethodDoesNotExistError extends Error {
240
240
  class ContractMethodNoResultError extends Error {
241
241
  constructor(_ref5) {
242
242
  let {
243
- addressOrName,
243
+ address,
244
244
  args,
245
245
  chainId,
246
246
  functionName
247
247
  } = _ref5;
248
- super(['Contract read returned an empty response. This could be due to any of the following:', "- The contract does not have the function \"".concat(functionName, "\","), '- The parameters passed to the contract function may be invalid, or', '- The address is not a contract.', '', "Config:", JSON.stringify({
249
- addressOrName,
250
- contractInterface: '...',
248
+ super(['Contract read returned an empty response. This could be due to any of the following:', `- The contract does not have the function "${functionName}",`, '- The parameters passed to the contract function may be invalid, or', '- The address is not a contract.', '', `Config:`, JSON.stringify({
249
+ address,
250
+ abi: '...',
251
251
  functionName,
252
252
  chainId,
253
253
  args
@@ -260,19 +260,19 @@ class ContractMethodNoResultError extends Error {
260
260
  class ContractMethodRevertedError extends Error {
261
261
  constructor(_ref6) {
262
262
  let {
263
- addressOrName,
263
+ address,
264
264
  args,
265
265
  chainId,
266
266
  functionName,
267
267
  errorMessage
268
268
  } = _ref6;
269
- super(['Contract method reverted with an error.', '', "Config:", JSON.stringify({
270
- addressOrName,
271
- contractInterface: '...',
269
+ super(['Contract method reverted with an error.', '', `Config:`, JSON.stringify({
270
+ address,
271
+ abi: '...',
272
272
  functionName,
273
273
  chainId,
274
274
  args
275
- }, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
275
+ }, null, 2), '', `Details: ${errorMessage}`].join('\n'));
276
276
 
277
277
  _defineProperty(this, "name", 'ContractMethodRevertedError');
278
278
  }
@@ -281,19 +281,19 @@ class ContractMethodRevertedError extends Error {
281
281
  class ContractResultDecodeError extends Error {
282
282
  constructor(_ref7) {
283
283
  let {
284
- addressOrName,
284
+ address,
285
285
  args,
286
286
  chainId,
287
287
  functionName,
288
288
  errorMessage
289
289
  } = _ref7;
290
- super(['Failed to decode contract function result.', '', "Config:", JSON.stringify({
291
- addressOrName,
292
- contractInterface: '...',
290
+ super(['Failed to decode contract function result.', '', `Config:`, JSON.stringify({
291
+ address,
292
+ abi: '...',
293
293
  functionName,
294
294
  chainId,
295
295
  args
296
- }, null, 2), '', "Details: ".concat(errorMessage)].join('\n'));
296
+ }, null, 2), '', `Details: ${errorMessage}`].join('\n'));
297
297
 
298
298
  _defineProperty(this, "name", 'ContractResultDecodeError');
299
299
  }
@@ -330,7 +330,7 @@ class SwitchChainNotSupportedError extends Error {
330
330
  let {
331
331
  connector
332
332
  } = _ref8;
333
- super("\"".concat(connector.name, "\" does not support programmatic chain switching."));
333
+ super(`"${connector.name}" does not support programmatic chain switching.`);
334
334
 
335
335
  _defineProperty(this, "name", 'SwitchChainNotSupportedError');
336
336
  }
@@ -346,11 +346,12 @@ class UserRejectedRequestError extends ProviderRpcError {
346
346
  }
347
347
 
348
348
  function getInjectedName(ethereum) {
349
- var _ethereum$providers, _getName;
349
+ var _ethereum$providers;
350
350
 
351
351
  if (!ethereum) return 'Injected';
352
352
 
353
353
  const getName = provider => {
354
+ if (provider.isAvalanche) return 'Core Wallet';
354
355
  if (provider.isBitKeep) return 'BitKeep';
355
356
  if (provider.isBraveWallet) return 'Brave Wallet';
356
357
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
@@ -368,8 +369,6 @@ function getInjectedName(ethereum) {
368
369
 
369
370
 
370
371
  if ((_ethereum$providers = ethereum.providers) !== null && _ethereum$providers !== void 0 && _ethereum$providers.length) {
371
- var _names$;
372
-
373
372
  // Deduplicate names using Set
374
373
  // Coinbase Wallet puts multiple providers in `ethereum.providers`
375
374
  const nameSet = new Set();
@@ -379,7 +378,7 @@ function getInjectedName(ethereum) {
379
378
  let name = getName(provider);
380
379
 
381
380
  if (!name) {
382
- name = "Unknown Wallet #".concat(unknownCount);
381
+ name = `Unknown Wallet #${unknownCount}`;
383
382
  unknownCount += 1;
384
383
  }
385
384
 
@@ -388,10 +387,10 @@ function getInjectedName(ethereum) {
388
387
 
389
388
  const names = [...nameSet];
390
389
  if (names.length) return names;
391
- return (_names$ = names[0]) !== null && _names$ !== void 0 ? _names$ : 'Injected';
390
+ return names[0] ?? 'Injected';
392
391
  }
393
392
 
394
- return (_getName = getName(ethereum)) !== null && _getName !== void 0 ? _getName : 'Injected';
393
+ return getName(ethereum) ?? 'Injected';
395
394
  }
396
395
 
397
396
  function normalizeChainId(chainId) {
@@ -432,12 +431,10 @@ class Connector extends EventEmitter__default["default"] {
432
431
  }
433
432
 
434
433
  getBlockExplorerUrls(chain) {
435
- var _chain$blockExplorers;
436
-
437
434
  const {
438
435
  default: blockExplorer,
439
436
  ...blockExplorers
440
- } = (_chain$blockExplorers = chain.blockExplorers) !== null && _chain$blockExplorers !== void 0 ? _chain$blockExplorers : {};
437
+ } = chain.blockExplorers ?? {};
441
438
  if (blockExplorer) return [blockExplorer.url, ...Object.values(blockExplorers).map(x => x.url)];
442
439
  return [];
443
440
  }
@@ -456,10 +453,13 @@ class InjectedConnector extends Connector {
456
453
  constructor() {
457
454
  let {
458
455
  chains,
459
- options = {
460
- shimDisconnect: true
461
- }
456
+ options: options_
462
457
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
458
+ const options = {
459
+ shimDisconnect: true,
460
+ shimChainChangedDisconnect: true,
461
+ ...options_
462
+ };
463
463
  super({
464
464
  chains,
465
465
  options
@@ -611,8 +611,11 @@ class InjectedConnector extends Connector {
611
611
  }
612
612
 
613
613
  async getSigner() {
614
+ let {
615
+ chainId
616
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
614
617
  const [provider, account] = await Promise.all([this.getProvider(), this.getAccount()]);
615
- return new ethers.providers.Web3Provider(provider).getSigner(account);
618
+ return new ethers.providers.Web3Provider(provider, chainId).getSigner(account);
616
619
  }
617
620
 
618
621
  async isAuthorized() {
@@ -642,18 +645,16 @@ class InjectedConnector extends Connector {
642
645
  const id = utils.hexValue(chainId);
643
646
 
644
647
  try {
645
- var _this$chains$find;
646
-
647
648
  await provider.request({
648
649
  method: 'wallet_switchEthereumChain',
649
650
  params: [{
650
651
  chainId: id
651
652
  }]
652
653
  });
653
- return (_this$chains$find = this.chains.find(x => x.id === chainId)) !== null && _this$chains$find !== void 0 ? _this$chains$find : {
654
+ return this.chains.find(x => x.id === chainId) ?? {
654
655
  id: chainId,
655
- name: "Chain ".concat(id),
656
- network: "".concat(id),
656
+ name: `Chain ${id}`,
657
+ network: `${id}`,
657
658
  rpcUrls: {
658
659
  default: ''
659
660
  }
@@ -668,15 +669,13 @@ class InjectedConnector extends Connector {
668
669
  // https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
669
670
  (error === null || error === void 0 ? void 0 : (_data = error.data) === null || _data === void 0 ? void 0 : (_data$originalError = _data.originalError) === null || _data$originalError === void 0 ? void 0 : _data$originalError.code) === 4902) {
670
671
  try {
671
- var _chain$rpcUrls$public;
672
-
673
672
  await provider.request({
674
673
  method: 'wallet_addEthereumChain',
675
674
  params: [{
676
675
  chainId: id,
677
676
  chainName: chain.name,
678
677
  nativeCurrency: chain.nativeCurrency,
679
- rpcUrls: [(_chain$rpcUrls$public = chain.rpcUrls.public) !== null && _chain$rpcUrls$public !== void 0 ? _chain$rpcUrls$public : chain.rpcUrls.default],
678
+ rpcUrls: [chain.rpcUrls.public ?? chain.rpcUrls.default],
680
679
  blockExplorerUrls: this.getBlockExplorerUrls(chain)
681
680
  }]
682
681
  });
@@ -734,7 +733,7 @@ function createStorage(_ref) {
734
733
  return { ...storage,
735
734
  getItem: function (key) {
736
735
  let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
737
- const value = storage.getItem("".concat(prefix, ".").concat(key));
736
+ const value = storage.getItem(`${prefix}.${key}`);
738
737
 
739
738
  try {
740
739
  return value ? JSON.parse(value) : defaultState;
@@ -745,16 +744,16 @@ function createStorage(_ref) {
745
744
  },
746
745
  setItem: (key, value) => {
747
746
  if (value === null) {
748
- storage.removeItem("".concat(prefix, ".").concat(key));
747
+ storage.removeItem(`${prefix}.${key}`);
749
748
  } else {
750
749
  try {
751
- storage.setItem("".concat(prefix, ".").concat(key), JSON.stringify(value));
750
+ storage.setItem(`${prefix}.${key}`, JSON.stringify(value));
752
751
  } catch (err) {
753
752
  console.error(err);
754
753
  }
755
754
  }
756
755
  },
757
- removeItem: key => storage.removeItem("".concat(prefix, ".").concat(key))
756
+ removeItem: key => storage.removeItem(`${prefix}.${key}`)
758
757
  };
759
758
  }
760
759
 
@@ -978,7 +977,7 @@ class Client {
978
977
  bust,
979
978
  chainId
980
979
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
981
- let provider_ = this.providers.get(chainId !== null && chainId !== void 0 ? chainId : -1);
980
+ let provider_ = this.providers.get(chainId ?? -1);
982
981
  if (provider_ && !bust) return provider_;
983
982
  const {
984
983
  provider
@@ -986,7 +985,7 @@ class Client {
986
985
  provider_ = typeof provider === 'function' ? provider({
987
986
  chainId
988
987
  }) : provider;
989
- this.providers.set(chainId !== null && chainId !== void 0 ? chainId : -1, provider_);
988
+ this.providers.set(chainId ?? -1, provider_);
990
989
  return provider_;
991
990
  }
992
991
 
@@ -995,7 +994,7 @@ class Client {
995
994
  bust,
996
995
  chainId
997
996
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
998
- let webSocketProvider_ = this.webSocketProviders.get(chainId !== null && chainId !== void 0 ? chainId : -1);
997
+ let webSocketProvider_ = this.webSocketProviders.get(chainId ?? -1);
999
998
  if (webSocketProvider_ && !bust) return webSocketProvider_;
1000
999
  const {
1001
1000
  webSocketProvider
@@ -1003,7 +1002,7 @@ class Client {
1003
1002
  webSocketProvider_ = typeof webSocketProvider === 'function' ? webSocketProvider({
1004
1003
  chainId
1005
1004
  }) : webSocketProvider;
1006
- if (webSocketProvider_) this.webSocketProviders.set(chainId !== null && chainId !== void 0 ? chainId : -1, webSocketProvider_);
1005
+ if (webSocketProvider_) this.webSocketProviders.set(chainId ?? -1, webSocketProvider_);
1007
1006
  return webSocketProvider_;
1008
1007
  }
1009
1008