wagmi 0.2.4 → 0.2.8

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.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p>
2
- <a aria-label="NPM version" href="https://www.npmjs.com/package/wagmi">
2
+ <a aria-label="Version" href="https://www.npmjs.com/package/wagmi">
3
3
  <img
4
4
  alt=""
5
5
  src="https://img.shields.io/npm/v/wagmi.svg?style=for-the-badge&labelColor=161c22"
@@ -17,6 +17,12 @@
17
17
  src="https://img.shields.io/github/sponsors/tmm.svg?style=for-the-badge&labelColor=161c22"
18
18
  />
19
19
  </a>
20
+ <a aria-label="Downloads" href="https://www.npmjs.com/package/wagmi">
21
+ <img
22
+ alt=""
23
+ src="https://img.shields.io/npm/dm/wagmi.svg?style=for-the-badge&labelColor=161c22"
24
+ />
25
+ </a>
20
26
  </p>
21
27
 
22
28
  # wagmi
@@ -1,4 +1,4 @@
1
- import { Chain } from 'wagmi-private';
1
+ import { Chain, SwitchChainError } from 'wagmi-private';
2
2
  export declare const useNetwork: () => readonly [{
3
3
  readonly data: {
4
4
  readonly chain: {
@@ -21,10 +21,10 @@ export declare const useNetwork: () => readonly [{
21
21
  };
22
22
  readonly error: Error | undefined;
23
23
  readonly loading: boolean | undefined;
24
- }, ((chainId: number) => Promise<false | {
25
- data: boolean;
26
- error: undefined;
27
- } | {
24
+ }, ((chainId: number) => Promise<{
28
25
  data: undefined;
29
- error: Error;
26
+ error: SwitchChainError;
27
+ } | {
28
+ data: Chain | undefined;
29
+ error: undefined;
30
30
  }>) | undefined];
@@ -1,6 +1,6 @@
1
1
  export { Provider, useContext } from './context';
2
2
  export type { Props as ProviderProps } from './context';
3
3
  export { useAccount, useBalance, useBlockNumber, useConnect, useContract, useContractEvent, useContractRead, useContractWrite, useEnsAvatar, useEnsLookup, useEnsResolver, useFeeData, useNetwork, useProvider, useSigner, useSignMessage, useToken, useTransaction, useWaitForTransaction, useWebSocketProvider, } from './hooks';
4
- export { Connector, InjectedConnector, chain, defaultChains, defaultL2Chains, developmentChains, erc1155ABI, erc20ABI, erc721ABI, normalizeChainId, } from 'wagmi-private';
4
+ export { Connector, InjectedConnector, chain, allChains, defaultChains, defaultL2Chains, developmentChains, erc1155ABI, erc20ABI, erc721ABI, normalizeChainId, } from 'wagmi-private';
5
5
  export { Context } from './context';
6
6
  export type { Chain, Data } from 'wagmi-private';
@@ -795,22 +795,25 @@ var useNetwork = () => {
795
795
  var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
796
796
  var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
797
797
  var activeChains = (_connector$chains = connector === null || connector === void 0 ? void 0 : connector.chains) !== null && _connector$chains !== void 0 ? _connector$chains : [];
798
- var activeChain = [...activeChains, ...wagmiPrivate.defaultChains, ...wagmiPrivate.defaultL2Chains].find(x => x.id === chainId);
798
+ var activeChain = [...activeChains, ...wagmiPrivate.allChains].find(x => x.id === chainId);
799
799
  var switchNetwork = React__namespace.useCallback( /*#__PURE__*/function () {
800
800
  var _ref = _asyncToGenerator(function* (chainId) {
801
- if (!(connector !== null && connector !== void 0 && connector.switchChain)) return false;
801
+ if (!(connector !== null && connector !== void 0 && connector.switchChain)) return {
802
+ data: undefined,
803
+ error: new wagmiPrivate.SwitchChainError()
804
+ };
802
805
 
803
806
  try {
804
807
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
805
808
  error: undefined,
806
809
  loading: true
807
810
  }));
808
- yield connector.switchChain(chainId);
811
+ var chain = yield connector.switchChain(chainId);
809
812
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
810
813
  loading: false
811
814
  }));
812
815
  return {
813
- data: true,
816
+ data: chain,
814
817
  error: undefined
815
818
  };
816
819
  } catch (error_) {
@@ -1038,7 +1041,9 @@ var useContractRead = function useContractRead(contractConfig, functionName) {
1038
1041
  };
1039
1042
  var params = [...(Array.isArray(config_.args) ? config_.args : config_.args ? [config_.args] : []), ...(config_.overrides ? [config_.overrides] : [])];
1040
1043
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
1041
- loading: true
1044
+ error: undefined,
1045
+ loading: true,
1046
+ response: undefined
1042
1047
  }));
1043
1048
  var response = yield contract[functionName](...params);
1044
1049
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
@@ -1126,7 +1131,9 @@ var useContractWrite = function useContractWrite(contractConfig, functionName) {
1126
1131
  if (!connector) throw new wagmiPrivate.ConnectorNotFoundError();
1127
1132
  var params = [...(Array.isArray(config_.args) ? config_.args : config_.args ? [config_.args] : []), ...(config_.overrides ? [config_.overrides] : [])];
1128
1133
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
1129
- loading: true
1134
+ error: undefined,
1135
+ loading: true,
1136
+ response: undefined
1130
1137
  }));
1131
1138
  var signer = yield connector.getSigner();
1132
1139
  var contract_ = contract.connect(signer);
@@ -1562,6 +1569,10 @@ Object.defineProperty(exports, 'InjectedConnector', {
1562
1569
  enumerable: true,
1563
1570
  get: function () { return wagmiPrivate.InjectedConnector; }
1564
1571
  });
1572
+ Object.defineProperty(exports, 'allChains', {
1573
+ enumerable: true,
1574
+ get: function () { return wagmiPrivate.allChains; }
1575
+ });
1565
1576
  Object.defineProperty(exports, 'chain', {
1566
1577
  enumerable: true,
1567
1578
  get: function () { return wagmiPrivate.chain; }
@@ -795,22 +795,25 @@ var useNetwork = () => {
795
795
  var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
796
796
  var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
797
797
  var activeChains = (_connector$chains = connector === null || connector === void 0 ? void 0 : connector.chains) !== null && _connector$chains !== void 0 ? _connector$chains : [];
798
- var activeChain = [...activeChains, ...wagmiPrivate.defaultChains, ...wagmiPrivate.defaultL2Chains].find(x => x.id === chainId);
798
+ var activeChain = [...activeChains, ...wagmiPrivate.allChains].find(x => x.id === chainId);
799
799
  var switchNetwork = React__namespace.useCallback( /*#__PURE__*/function () {
800
800
  var _ref = _asyncToGenerator(function* (chainId) {
801
- if (!(connector !== null && connector !== void 0 && connector.switchChain)) return false;
801
+ if (!(connector !== null && connector !== void 0 && connector.switchChain)) return {
802
+ data: undefined,
803
+ error: new wagmiPrivate.SwitchChainError()
804
+ };
802
805
 
803
806
  try {
804
807
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
805
808
  error: undefined,
806
809
  loading: true
807
810
  }));
808
- yield connector.switchChain(chainId);
811
+ var chain = yield connector.switchChain(chainId);
809
812
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
810
813
  loading: false
811
814
  }));
812
815
  return {
813
- data: true,
816
+ data: chain,
814
817
  error: undefined
815
818
  };
816
819
  } catch (error_) {
@@ -1038,7 +1041,9 @@ var useContractRead = function useContractRead(contractConfig, functionName) {
1038
1041
  };
1039
1042
  var params = [...(Array.isArray(config_.args) ? config_.args : config_.args ? [config_.args] : []), ...(config_.overrides ? [config_.overrides] : [])];
1040
1043
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
1041
- loading: true
1044
+ error: undefined,
1045
+ loading: true,
1046
+ response: undefined
1042
1047
  }));
1043
1048
  var response = yield contract[functionName](...params);
1044
1049
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
@@ -1126,7 +1131,9 @@ var useContractWrite = function useContractWrite(contractConfig, functionName) {
1126
1131
  if (!connector) throw new wagmiPrivate.ConnectorNotFoundError();
1127
1132
  var params = [...(Array.isArray(config_.args) ? config_.args : config_.args ? [config_.args] : []), ...(config_.overrides ? [config_.overrides] : [])];
1128
1133
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
1129
- loading: true
1134
+ error: undefined,
1135
+ loading: true,
1136
+ response: undefined
1130
1137
  }));
1131
1138
  var signer = yield connector.getSigner();
1132
1139
  var contract_ = contract.connect(signer);
@@ -1562,6 +1569,10 @@ Object.defineProperty(exports, 'InjectedConnector', {
1562
1569
  enumerable: true,
1563
1570
  get: function () { return wagmiPrivate.InjectedConnector; }
1564
1571
  });
1572
+ Object.defineProperty(exports, 'allChains', {
1573
+ enumerable: true,
1574
+ get: function () { return wagmiPrivate.allChains; }
1575
+ });
1565
1576
  Object.defineProperty(exports, 'chain', {
1566
1577
  enumerable: true,
1567
1578
  get: function () { return wagmiPrivate.chain; }
package/dist/wagmi.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { getDefaultProvider } from '@ethersproject/providers';
3
- import { erc20ABI, defaultChains, defaultL2Chains, ConnectorNotFoundError, UserRejectedRequestError, InjectedConnector } from 'wagmi-private';
4
- export { Connector, InjectedConnector, chain, defaultChains, defaultL2Chains, developmentChains, erc1155ABI, erc20ABI, erc721ABI, normalizeChainId } from 'wagmi-private';
3
+ import { erc20ABI, defaultChains, defaultL2Chains, allChains, SwitchChainError, ConnectorNotFoundError, UserRejectedRequestError, InjectedConnector } from 'wagmi-private';
4
+ export { Connector, InjectedConnector, allChains, chain, defaultChains, defaultL2Chains, developmentChains, erc1155ABI, erc20ABI, erc721ABI, normalizeChainId } from 'wagmi-private';
5
5
  import { utils, ethers, Contract } from 'ethers';
6
6
 
7
7
  function _defineProperty(obj, key, value) {
@@ -772,22 +772,25 @@ var useNetwork = () => {
772
772
  var chainId = data === null || data === void 0 ? void 0 : (_data$chain = data.chain) === null || _data$chain === void 0 ? void 0 : _data$chain.id;
773
773
  var unsupported = data === null || data === void 0 ? void 0 : (_data$chain2 = data.chain) === null || _data$chain2 === void 0 ? void 0 : _data$chain2.unsupported;
774
774
  var activeChains = (_connector$chains = connector === null || connector === void 0 ? void 0 : connector.chains) !== null && _connector$chains !== void 0 ? _connector$chains : [];
775
- var activeChain = [...activeChains, ...defaultChains, ...defaultL2Chains].find(x => x.id === chainId);
775
+ var activeChain = [...activeChains, ...allChains].find(x => x.id === chainId);
776
776
  var switchNetwork = React.useCallback( /*#__PURE__*/function () {
777
777
  var _ref = _asyncToGenerator(function* (chainId) {
778
- if (!(connector !== null && connector !== void 0 && connector.switchChain)) return false;
778
+ if (!(connector !== null && connector !== void 0 && connector.switchChain)) return {
779
+ data: undefined,
780
+ error: new SwitchChainError()
781
+ };
779
782
 
780
783
  try {
781
784
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
782
785
  error: undefined,
783
786
  loading: true
784
787
  }));
785
- yield connector.switchChain(chainId);
788
+ var chain = yield connector.switchChain(chainId);
786
789
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
787
790
  loading: false
788
791
  }));
789
792
  return {
790
- data: true,
793
+ data: chain,
791
794
  error: undefined
792
795
  };
793
796
  } catch (error_) {
@@ -1015,7 +1018,9 @@ var useContractRead = function useContractRead(contractConfig, functionName) {
1015
1018
  };
1016
1019
  var params = [...(Array.isArray(config_.args) ? config_.args : config_.args ? [config_.args] : []), ...(config_.overrides ? [config_.overrides] : [])];
1017
1020
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
1018
- loading: true
1021
+ error: undefined,
1022
+ loading: true,
1023
+ response: undefined
1019
1024
  }));
1020
1025
  var response = yield contract[functionName](...params);
1021
1026
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
@@ -1103,7 +1108,9 @@ var useContractWrite = function useContractWrite(contractConfig, functionName) {
1103
1108
  if (!connector) throw new ConnectorNotFoundError();
1104
1109
  var params = [...(Array.isArray(config_.args) ? config_.args : config_.args ? [config_.args] : []), ...(config_.overrides ? [config_.overrides] : [])];
1105
1110
  setState(x => _objectSpread2(_objectSpread2({}, x), {}, {
1106
- loading: true
1111
+ error: undefined,
1112
+ loading: true,
1113
+ response: undefined
1107
1114
  }));
1108
1115
  var signer = yield connector.getSigner();
1109
1116
  var contract_ = contract.connect(signer);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "wagmi",
3
3
  "description": "React Hooks library for Ethereum",
4
4
  "license": "MIT",
5
- "version": "0.2.4",
5
+ "version": "0.2.8",
6
6
  "ethereum": "awkweb.eth",
7
7
  "repository": "tmm/wagmi",
8
8
  "homepage": "https://wagmi-xyz.vercel.app",
@@ -47,7 +47,7 @@
47
47
  "dependencies": {
48
48
  "@ethersproject/providers": "^5.5.1",
49
49
  "@walletconnect/ethereum-provider": "1.7.1",
50
- "wagmi-private": "0.1.5",
50
+ "wagmi-private": "0.1.7",
51
51
  "walletlink": "^2.2.8"
52
52
  },
53
53
  "devDependencies": {
@@ -57,7 +57,7 @@
57
57
  "ethers": "^5.5.1",
58
58
  "react": "^17.0.0",
59
59
  "walletlink": "^2.2.8",
60
- "wagmi-testing": "0.1.5"
60
+ "wagmi-testing": "0.1.7"
61
61
  },
62
- "readme": "<p>\n <a aria-label=\"NPM version\" href=\"https://www.npmjs.com/package/wagmi\">\n <img\n alt=\"\"\n src=\"https://img.shields.io/npm/v/wagmi.svg?style=for-the-badge&labelColor=161c22\"\n />\n </a>\n <a aria-label=\"License\" href=\"/LICENSE\">\n <img\n alt=\"\"\n src=\"https://img.shields.io/npm/l/wagmi.svg?style=for-the-badge&labelColor=161c22\"\n />\n </a>\n <a aria-label=\"Sponsors\" href=\"https://github.com/sponsors/tmm\">\n <img\n alt=\"\"\n src=\"https://img.shields.io/github/sponsors/tmm.svg?style=for-the-badge&labelColor=161c22\"\n />\n </a>\n</p>\n\n# wagmi\n\n**React Hooks library for Ethereum, built on [ethers.js](https://github.com/ethers-io/ethers.js).**\n\nšŸš€ &nbsp; 20+ hooks for working with wallets, ENS, contracts, transactions, signing, etc.\n\nšŸ’¼ &nbsp; Built-in wallet connectors for MetaMask, WalletConnect, and Coinbase Wallet\n\nšŸŒ€ &nbsp; Auto-refresh data on wallet and network changes\n\nšŸ¦„ &nbsp; TypeScript ready\n\nšŸ’Ø &nbsp; Zero-dependencies (besides ethers.js peer dependency)\n\n🌳 &nbsp; Test suite and documentation\n\nšŸ“– &nbsp; MIT License\n\n## Documentation\n\nVisit https://wagmi-xyz.vercel.app to view the full documentation.\n\n## Usage\n\n1. Install the dependencies.\n\n```bash\npnpm add wagmi ethers\n```\n\n2. Wrap your app with the `Provider` component.\n\n```tsx\nimport { Provider } from 'wagmi'\n\nconst App = () => (\n <Provider>\n <YourRoutes />\n </Provider>\n)\n```\n\n3. Use hooks.\n\n```tsx\nimport { useAccount } from 'wagmi'\n\nconst Page = () => {\n const [{ data, error, loading }, disconnect] = useAccount({\n fetchEns: true,\n })\n\n return ...\n}\n```\n\nEvery component inside the `Provider` is set up with the default `InjectedConnector` for connecting wallets and ethers.js [Default Provider](https://docs.ethers.io/v5/api/providers/#providers-getDefaultProvider) for fetching data.\n\nWant to learn more? Check out the [guides](https://wagmi-xyz.vercel.app/guides/connect-wallet) or browse the [API docs](https://wagmi-xyz.vercel.app/docs/provider).\n\n## Community\n\nFeel free to join the [discussions on GitHub](https://github.com/tmm/wagmi/discussions) or reach out [on Twitter](https://twitter.com/awkweb)!\n\n## Support\n\n- awkweb.eth\n- [GitHub Sponsors](https://github.com/sponsors/tmm)\n- Sign the [guestbook](https://github.com/tmm/wagmi/discussions/2)\n\n## Thanks\n\n- [ricmoo.eth](https://twitter.com/ricmoo) for creating and continued work on [ethers.js](https://github.com/ethers-io/ethers.js)\n- [Mirror](https://mirror.xyz) for creating space to do good work\n\n## License\n\nMIT.\n\n<br />\n\nwagmi\n"
62
+ "readme": "<p>\n <a aria-label=\"Version\" href=\"https://www.npmjs.com/package/wagmi\">\n <img\n alt=\"\"\n src=\"https://img.shields.io/npm/v/wagmi.svg?style=for-the-badge&labelColor=161c22\"\n />\n </a>\n <a aria-label=\"License\" href=\"/LICENSE\">\n <img\n alt=\"\"\n src=\"https://img.shields.io/npm/l/wagmi.svg?style=for-the-badge&labelColor=161c22\"\n />\n </a>\n <a aria-label=\"Sponsors\" href=\"https://github.com/sponsors/tmm\">\n <img\n alt=\"\"\n src=\"https://img.shields.io/github/sponsors/tmm.svg?style=for-the-badge&labelColor=161c22\"\n />\n </a>\n <a aria-label=\"Downloads\" href=\"https://www.npmjs.com/package/wagmi\">\n <img\n alt=\"\"\n src=\"https://img.shields.io/npm/dm/wagmi.svg?style=for-the-badge&labelColor=161c22\"\n />\n </a>\n</p>\n\n# wagmi\n\n**React Hooks library for Ethereum, built on [ethers.js](https://github.com/ethers-io/ethers.js).**\n\nšŸš€ &nbsp; 20+ hooks for working with wallets, ENS, contracts, transactions, signing, etc.\n\nšŸ’¼ &nbsp; Built-in wallet connectors for MetaMask, WalletConnect, and Coinbase Wallet\n\nšŸŒ€ &nbsp; Auto-refresh data on wallet and network changes\n\nšŸ¦„ &nbsp; TypeScript ready\n\nšŸ’Ø &nbsp; Zero-dependencies (besides ethers.js peer dependency)\n\n🌳 &nbsp; Test suite and documentation\n\nšŸ“– &nbsp; MIT License\n\n## Documentation\n\nVisit https://wagmi-xyz.vercel.app to view the full documentation.\n\n## Usage\n\n1. Install the dependencies.\n\n```bash\npnpm add wagmi ethers\n```\n\n2. Wrap your app with the `Provider` component.\n\n```tsx\nimport { Provider } from 'wagmi'\n\nconst App = () => (\n <Provider>\n <YourRoutes />\n </Provider>\n)\n```\n\n3. Use hooks.\n\n```tsx\nimport { useAccount } from 'wagmi'\n\nconst Page = () => {\n const [{ data, error, loading }, disconnect] = useAccount({\n fetchEns: true,\n })\n\n return ...\n}\n```\n\nEvery component inside the `Provider` is set up with the default `InjectedConnector` for connecting wallets and ethers.js [Default Provider](https://docs.ethers.io/v5/api/providers/#providers-getDefaultProvider) for fetching data.\n\nWant to learn more? Check out the [guides](https://wagmi-xyz.vercel.app/guides/connect-wallet) or browse the [API docs](https://wagmi-xyz.vercel.app/docs/provider).\n\n## Community\n\nFeel free to join the [discussions on GitHub](https://github.com/tmm/wagmi/discussions) or reach out [on Twitter](https://twitter.com/awkweb)!\n\n## Support\n\n- awkweb.eth\n- [GitHub Sponsors](https://github.com/sponsors/tmm)\n- Sign the [guestbook](https://github.com/tmm/wagmi/discussions/2)\n\n## Thanks\n\n- [ricmoo.eth](https://twitter.com/ricmoo) for creating and continued work on [ethers.js](https://github.com/ethers-io/ethers.js)\n- [Mirror](https://mirror.xyz) for creating space to do good work\n\n## License\n\nMIT.\n\n<br />\n\nwagmi\n"
63
63
  }