@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;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
package/dist/hooks/useWeb3.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Web3ReactContextInterface } from '@web3-react/core/dist/types';
|
|
2
2
|
export { UnsupportedChainIdError } from '@web3-react/core';
|
|
3
|
-
export declare
|
|
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":"
|
|
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"}
|
package/dist/hooks/useWeb3.js
CHANGED
|
@@ -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
|
-
|
|
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 };
|