@reef-knot/web3-react 1.0.0 → 1.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"useSupportedChains.d.ts","sourceRoot":"","sources":["../../src/hooks/useSupportedChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAK/D,eAAO,MAAM,kBAAkB;mBACd,OAAO;qBACL,OAAO,EAAE;CAe3B,CAAC"}
1
+ {"version":3,"file":"useSupportedChains.d.ts","sourceRoot":"","sources":["../../src/hooks/useSupportedChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAM/D,eAAO,MAAM,kBAAkB;mBACd,OAAO;qBACL,OAAO,EAAE;CAsC3B,CAAC"}
@@ -1,20 +1,41 @@
1
1
  import { useMemo } from 'react';
2
2
  import { getNetwork } from '@ethersproject/providers';
3
+ import { useNetwork } from 'wagmi';
3
4
  import { useWeb3 } from './useWeb3.js';
4
5
  import { UnsupportedChainIdError } from '@web3-react/core';
5
6
 
6
7
  var STABLE_ARRAY = [];
7
8
  var useSupportedChains = () => {
8
- var _a;
9
+ var supportedIds = STABLE_ARRAY;
10
+ var isUnsupported;
11
+ // legacy web3-react data
9
12
  var {
10
13
  error,
11
14
  connector
12
15
  } = useWeb3();
13
- var supportedIds = (_a = connector === null || connector === void 0 ? void 0 : connector.supportedChainIds) !== null && _a !== void 0 ? _a : STABLE_ARRAY;
16
+ // wagmi data
17
+ var {
18
+ chain,
19
+ chains
20
+ } = useNetwork();
21
+ var wagmiSupportedChainIds = useMemo(() => chains.map(c => c.id), [chains]);
22
+ // add chain ids from legacy web3-react connector
23
+ if (connector === null || connector === void 0 ? void 0 : connector.supportedChainIds) {
24
+ supportedIds = connector.supportedChainIds;
25
+ }
26
+ // add wagmi chain ids too
27
+ if (wagmiSupportedChainIds.length > 0) {
28
+ supportedIds = [...supportedIds, ...wagmiSupportedChainIds];
29
+ supportedIds = [...new Set(supportedIds)]; // deduplicate ids
30
+ }
31
+
14
32
  var supportedChains = useMemo(() => {
15
33
  return supportedIds.map(chainId => getNetwork(chainId));
16
34
  }, [supportedIds]);
17
- var isUnsupported = error instanceof UnsupportedChainIdError;
35
+ // legacy web3-react check
36
+ isUnsupported = error instanceof UnsupportedChainIdError;
37
+ // wagmi check
38
+ isUnsupported = isUnsupported || !!(chain === null || chain === void 0 ? void 0 : chain.unsupported);
18
39
  return {
19
40
  isUnsupported,
20
41
  supportedChains
@@ -1,4 +1,4 @@
1
- import { useWeb3React } from '@web3-react/core';
1
+ import { Web3ReactContextInterface } from '@web3-react/core/dist/types';
2
2
  export { UnsupportedChainIdError } from '@web3-react/core';
3
- export declare const useWeb3: typeof useWeb3React;
3
+ export declare function useWeb3<T = any>(key?: string): Web3ReactContextInterface<T>;
4
4
  //# sourceMappingURL=useWeb3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWeb3.d.ts","sourceRoot":"","sources":["../../src/hooks/useWeb3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,eAAO,MAAM,OAAO,qBAAe,CAAC"}
1
+ {"version":3,"file":"useWeb3.d.ts","sourceRoot":"","sources":["../../src/hooks/useWeb3.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,CA6B3E"}
@@ -1,6 +1,28 @@
1
1
  import { useWeb3React } from '@web3-react/core';
2
2
  export { UnsupportedChainIdError } from '@web3-react/core';
3
+ import { useAccount, useNetwork, useConnect } from 'wagmi';
3
4
 
4
- var useWeb3 = useWeb3React;
5
+ // Shimming useWeb3React hook to also use data returned from wagmi
6
+ function useWeb3(key) {
7
+ var _a;
8
+ var web3ReactData = useWeb3React();
9
+ var wagmiAccount = useAccount();
10
+ var wagmiNetwork = useNetwork();
11
+ var {
12
+ error: wagmiError
13
+ } = useConnect();
14
+ var account = web3ReactData.account || (wagmiAccount === null || wagmiAccount === void 0 ? void 0 : wagmiAccount.address);
15
+ var active = web3ReactData.active || (wagmiAccount === null || wagmiAccount === void 0 ? void 0 : wagmiAccount.isConnected);
16
+ var chainId = web3ReactData.chainId || ((_a = wagmiNetwork === null || wagmiNetwork === void 0 ? void 0 : wagmiNetwork.chain) === null || _a === void 0 ? void 0 : _a.id);
17
+ // wagmi and web3-react use the same Error type
18
+ // wagmi is first here because it can be null, but we need Error | undefined
19
+ var error = wagmiError || web3ReactData.error;
20
+ return Object.assign(Object.assign({}, web3ReactData), {
21
+ chainId,
22
+ account,
23
+ active,
24
+ error
25
+ });
26
+ }
5
27
 
6
28
  export { useWeb3 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reef-knot/web3-react",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {