@0xsquid/react-hooks 3.0.27-beta.4 → 3.0.28
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/dist/core/constants.d.ts +0 -4
- package/dist/core/constants.js +0 -4
- package/dist/core/constants.js.map +1 -1
- package/dist/core/providers/CosmosProvider.d.ts +2 -1
- package/dist/core/queries/queries-keys.d.ts +1 -3
- package/dist/core/queries/queries-keys.js +0 -6
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.d.ts +3 -1
- package/dist/hooks/cosmos/useCosmos.js +27 -21
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -3
- package/dist/hooks/index.js +2 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +34 -35
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +8 -249
- package/dist/hooks/tokens/useBalance.js +102 -37
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.d.ts +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +6 -19
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useTokensWithBalance.d.ts +7 -0
- package/dist/hooks/tokens/useTokensWithBalance.js +53 -0
- package/dist/hooks/tokens/useTokensWithBalance.js.map +1 -0
- package/dist/hooks/transaction/useEstimate.js +2 -2
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.js +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +4 -18
- package/dist/hooks/wallet/useMultiChainWallet.js +34 -48
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +6 -13
- package/dist/hooks/wallet/useWallet.js +62 -94
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/services/external/rpcService.js +12 -22
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/external/secretService.js +2 -2
- package/dist/services/external/secretService.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +0 -1
- package/dist/services/internal/assetsService.js +1 -6
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +3 -29
- package/dist/services/internal/walletService.js +3 -59
- package/dist/services/internal/walletService.js.map +1 -1
- package/package.json +3 -3
- package/dist/hooks/store/useWalletStore.d.ts +0 -15
- package/dist/hooks/store/useWalletStore.js +0 -27
- package/dist/hooks/store/useWalletStore.js.map +0 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +0 -87
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -44
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +0 -14
- package/dist/hooks/tokens/useNativeBalance.js +0 -80
- package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExecuteTransaction.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useExecuteTransaction.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useExecuteTransaction.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useExecuteTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
import type { ChainData } from "@0xsquid/squid-types";
|
|
2
|
-
import {
|
|
3
|
-
export declare const useMultiChainWallet: (
|
|
2
|
+
import type { FullAddressData } from "../../core/types/wallet";
|
|
3
|
+
export declare const useMultiChainWallet: (chainToCompare: ChainData | undefined) => {
|
|
4
4
|
changeNetworkIfNeeded: import("@tanstack/react-query").UseMutationResult<boolean, any, void, unknown>;
|
|
5
|
-
networkConnected: boolean;
|
|
5
|
+
networkConnected: boolean | undefined;
|
|
6
6
|
networkConnectedOnRightChain: boolean;
|
|
7
|
-
connectedAddress:
|
|
8
|
-
address?: undefined;
|
|
9
|
-
formatted?: undefined;
|
|
10
|
-
ens?: undefined;
|
|
11
|
-
} | {
|
|
12
|
-
address: string | undefined;
|
|
13
|
-
formatted: string;
|
|
14
|
-
ens: import("../..").EnsData | undefined;
|
|
15
|
-
} | {
|
|
16
|
-
address: string | undefined;
|
|
17
|
-
formatted: string;
|
|
18
|
-
ens?: undefined;
|
|
19
|
-
};
|
|
7
|
+
connectedAddress: FullAddressData;
|
|
20
8
|
connectedEvmChain: ChainData | undefined;
|
|
21
|
-
evmAddress: string | undefined;
|
|
22
|
-
isChainTypeConnected: (chainType: ChainType) => boolean;
|
|
23
9
|
};
|
|
@@ -1,70 +1,67 @@
|
|
|
1
1
|
import { ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import { useMutation } from "@tanstack/react-query";
|
|
3
|
-
import {
|
|
3
|
+
import { useMemo } from "react";
|
|
4
4
|
import { UserRejectedRequestError } from "viem";
|
|
5
5
|
import { useAccount, useSwitchChain } from "wagmi";
|
|
6
6
|
import { useCosmosContext } from "../../core/providers/CosmosProvider";
|
|
7
|
+
import { useCosmosForChain } from "../../hooks/cosmos/useCosmosForChain";
|
|
7
8
|
import { addEthereumChain, formatHash, isEvmChainNotSupportedError, } from "../../services/internal/walletService";
|
|
8
9
|
import { useSquidChains } from "../chains/useSquidChains";
|
|
9
10
|
import { useEnsDataForAddress } from "./useEns";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const { connectedAddresses, connectedWallets } = useWallet();
|
|
13
|
-
const { chain: currentEvmChain, connector: evmConnector } = useAccount();
|
|
11
|
+
export const useMultiChainWallet = (chainToCompare) => {
|
|
12
|
+
const { chain: currentEvmChain, isConnected: isEvmConnected, connector, address: evmAddress, } = useAccount();
|
|
14
13
|
const { chains } = useSquidChains();
|
|
15
|
-
const {
|
|
14
|
+
const { isConnected: cosmosIsConnected } = useCosmosContext();
|
|
15
|
+
const { cosmosAddress } = useCosmosForChain(chainToCompare);
|
|
16
16
|
const { switchChainAsync } = useSwitchChain();
|
|
17
|
-
const evmAddress = useMemo(() => connectedAddresses[ChainType.EVM], [connectedAddresses]);
|
|
18
17
|
const evmEnsData = useEnsDataForAddress({
|
|
19
18
|
address: evmAddress,
|
|
20
19
|
options: {
|
|
21
|
-
enabled:
|
|
20
|
+
enabled: chainToCompare?.chainType === ChainType.EVM,
|
|
22
21
|
},
|
|
23
22
|
});
|
|
24
|
-
const [cosmosAddress, setCosmosAddress] = useState(undefined);
|
|
25
23
|
/**
|
|
26
24
|
* Get connected address, depends on chainType
|
|
27
25
|
*/
|
|
28
26
|
const connectedAddress = useMemo(() => {
|
|
29
|
-
if (!
|
|
27
|
+
if (!chainToCompare) {
|
|
30
28
|
return {};
|
|
31
|
-
|
|
29
|
+
}
|
|
30
|
+
switch (chainToCompare.chainType) {
|
|
32
31
|
case ChainType.EVM:
|
|
33
32
|
return {
|
|
34
33
|
address: evmAddress,
|
|
35
34
|
formatted: formatHash({
|
|
36
35
|
hash: evmAddress,
|
|
37
|
-
chainType:
|
|
36
|
+
chainType: chainToCompare.chainType,
|
|
38
37
|
}),
|
|
39
38
|
ens: evmEnsData.data,
|
|
40
39
|
};
|
|
41
40
|
case ChainType.COSMOS:
|
|
42
41
|
return {
|
|
43
42
|
address: cosmosAddress,
|
|
44
|
-
formatted:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
})
|
|
49
|
-
: "",
|
|
43
|
+
formatted: formatHash({
|
|
44
|
+
hash: cosmosAddress,
|
|
45
|
+
chainType: chainToCompare.chainType,
|
|
46
|
+
}),
|
|
50
47
|
};
|
|
51
48
|
default:
|
|
52
49
|
return {};
|
|
53
50
|
}
|
|
54
|
-
}, [
|
|
51
|
+
}, [chainToCompare, cosmosAddress, evmAddress, evmEnsData.data]);
|
|
55
52
|
/**
|
|
56
53
|
* Change current network for desired chain
|
|
57
54
|
*/
|
|
58
55
|
const changeNetworkIfNeeded = useMutation(async () => {
|
|
59
56
|
// throw for tenderly fork chain addition
|
|
60
|
-
if (
|
|
57
|
+
if (chainToCompare?.rpc.includes("tenderly")) {
|
|
61
58
|
throw new Error("Add tenderly chain");
|
|
62
59
|
}
|
|
63
|
-
const isNotOnDesiredChain =
|
|
64
|
-
currentEvmChain?.id !== Number(
|
|
60
|
+
const isNotOnDesiredChain = chainToCompare?.chainType === ChainType.EVM &&
|
|
61
|
+
currentEvmChain?.id !== Number(chainToCompare.chainId);
|
|
65
62
|
if (isNotOnDesiredChain) {
|
|
66
63
|
await switchChainAsync({
|
|
67
|
-
chainId: Number(
|
|
64
|
+
chainId: Number(chainToCompare.chainId),
|
|
68
65
|
});
|
|
69
66
|
}
|
|
70
67
|
// Implement keplr change network
|
|
@@ -75,39 +72,30 @@ export const useMultiChainWallet = (chain) => {
|
|
|
75
72
|
if (error instanceof UserRejectedRequestError) {
|
|
76
73
|
return;
|
|
77
74
|
}
|
|
78
|
-
if (isEvmChainNotSupportedError(error) &&
|
|
79
|
-
const provider = await
|
|
75
|
+
if (isEvmChainNotSupportedError(error) && chainToCompare && connector) {
|
|
76
|
+
const provider = await connector.getProvider();
|
|
80
77
|
addEthereumChain({
|
|
81
|
-
chain:
|
|
78
|
+
chain: chainToCompare,
|
|
82
79
|
provider,
|
|
83
80
|
});
|
|
84
81
|
}
|
|
85
82
|
},
|
|
86
83
|
});
|
|
87
|
-
const isChainTypeConnected = useCallback((chainType) => {
|
|
88
|
-
const connectedWallet = connectedWallets[chainType];
|
|
89
|
-
return !!connectedWallet?.wallet && !!connectedWallet?.address;
|
|
90
|
-
}, [connectedWallets]);
|
|
91
84
|
/**
|
|
92
85
|
* Handle multiple chains
|
|
93
86
|
*/
|
|
94
87
|
const networkConnected = useMemo(() => {
|
|
95
|
-
if (!
|
|
88
|
+
if (!chainToCompare)
|
|
96
89
|
return false;
|
|
97
|
-
switch (
|
|
90
|
+
switch (chainToCompare.chainType) {
|
|
98
91
|
case ChainType.EVM:
|
|
99
|
-
return
|
|
92
|
+
return isEvmConnected;
|
|
100
93
|
case ChainType.COSMOS:
|
|
101
|
-
return
|
|
94
|
+
return cosmosIsConnected;
|
|
102
95
|
default:
|
|
103
96
|
return false;
|
|
104
97
|
}
|
|
105
|
-
}, [
|
|
106
|
-
useEffect(() => {
|
|
107
|
-
if (chain?.chainType === ChainType.COSMOS && networkConnected) {
|
|
108
|
-
getCosmosAddressForChain(chain.chainId).then(setCosmosAddress);
|
|
109
|
-
}
|
|
110
|
-
}, [chain, getCosmosAddressForChain, networkConnected]);
|
|
98
|
+
}, [isEvmConnected, chainToCompare, cosmosIsConnected]);
|
|
111
99
|
const connectedEvmChain = useMemo(() => {
|
|
112
100
|
if (!currentEvmChain)
|
|
113
101
|
return undefined;
|
|
@@ -118,27 +106,25 @@ export const useMultiChainWallet = (chain) => {
|
|
|
118
106
|
* Checks if Network is connected and with the right chain
|
|
119
107
|
*/
|
|
120
108
|
const networkConnectedOnRightChain = useMemo(() => {
|
|
121
|
-
if (
|
|
109
|
+
if (chainToCompare?.chainType === ChainType.EVM) {
|
|
122
110
|
// tenderly validation based on rpc
|
|
123
111
|
if (currentEvmChain?.rpcUrls?.default?.http?.length &&
|
|
124
112
|
currentEvmChain?.rpcUrls?.default?.http[0].includes("tenderly")) {
|
|
125
|
-
return (
|
|
113
|
+
return (isEvmConnected &&
|
|
126
114
|
currentEvmChain?.rpcUrls?.default?.http[0].toLowerCase() ===
|
|
127
|
-
|
|
115
|
+
chainToCompare.rpc.toLowerCase());
|
|
128
116
|
}
|
|
129
|
-
return (
|
|
130
|
-
currentEvmChain?.id.toString() ===
|
|
117
|
+
return (isEvmConnected &&
|
|
118
|
+
currentEvmChain?.id.toString() === chainToCompare.chainId);
|
|
131
119
|
}
|
|
132
120
|
return true;
|
|
133
|
-
}, [
|
|
121
|
+
}, [isEvmConnected, currentEvmChain, chainToCompare]);
|
|
134
122
|
return {
|
|
135
123
|
changeNetworkIfNeeded,
|
|
136
124
|
networkConnected,
|
|
137
125
|
networkConnectedOnRightChain,
|
|
138
126
|
connectedAddress,
|
|
139
127
|
connectedEvmChain,
|
|
140
|
-
evmAddress,
|
|
141
|
-
isChainTypeConnected,
|
|
142
128
|
};
|
|
143
129
|
};
|
|
144
130
|
//# sourceMappingURL=useMultiChainWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMultiChainWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useMultiChainWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useMultiChainWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useMultiChainWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import type { ChainData } from "@0xsquid/squid-types";
|
|
2
|
-
import { ChainType } from "@0xsquid/squid-types";
|
|
3
2
|
import type { Wallet } from "../../core/types/wallet";
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const useWallet: () => {
|
|
3
|
+
export declare const useWallet: (chain: ChainData | undefined) => {
|
|
6
4
|
wallets: Wallet[];
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
address: string | undefined;
|
|
10
|
-
}>;
|
|
11
|
-
connectedAddresses: Record<ChainType, string | undefined>;
|
|
12
|
-
connectingWallet: Wallet | undefined;
|
|
13
|
-
changeWallet: () => Promise<void>;
|
|
14
|
-
disconnectWallet: (chainType: ChainType) => Promise<void>;
|
|
5
|
+
disconnectEvm: import("wagmi/query").DisconnectMutateAsync<unknown>;
|
|
6
|
+
currentWallet: Wallet | undefined;
|
|
15
7
|
connectWallet: import("@tanstack/react-query").UseMutateAsyncFunction<boolean, unknown, {
|
|
16
8
|
wallet: Wallet;
|
|
17
|
-
|
|
9
|
+
direction?: "from" | "to" | undefined;
|
|
18
10
|
}, unknown>;
|
|
19
|
-
|
|
11
|
+
changeWallet: () => Promise<void>;
|
|
12
|
+
connectingWallet: Wallet | null;
|
|
20
13
|
};
|
|
@@ -1,125 +1,93 @@
|
|
|
1
1
|
import { ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import { useMutation } from "@tanstack/react-query";
|
|
3
|
-
import {
|
|
3
|
+
import { useMemo, useState } from "react";
|
|
4
4
|
import { useAccount, useConnect, useDisconnect, useWalletClient } from "wagmi";
|
|
5
|
-
import { CHAIN_IDS } from "../../core/constants";
|
|
6
5
|
import { useCosmosContext } from "../../core/providers/CosmosProvider";
|
|
7
|
-
import {
|
|
8
|
-
import { useSquidChains } from "../chains/useSquidChains";
|
|
9
|
-
import { useWalletStore } from "../store/useWalletStore";
|
|
6
|
+
import { findWalletByWagmiConnector, redirectExtensionStoreIfNotInstalled, } from "../../services/internal/walletService";
|
|
10
7
|
import { useWallets } from "./useWallets";
|
|
11
|
-
export const
|
|
12
|
-
const { address, connector, isConnected } = useAccount();
|
|
8
|
+
export const useWallet = (chain) => {
|
|
13
9
|
const { wallets } = useWallets();
|
|
14
|
-
const {
|
|
15
|
-
|
|
16
|
-
if (isConnected && address && connector) {
|
|
17
|
-
const wallet = findWalletByWagmiConnector(wallets, connector);
|
|
18
|
-
setConnectedWallet(ChainType.EVM, wallet, address);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
setConnectedWallet(ChainType.EVM, undefined, undefined);
|
|
22
|
-
}
|
|
23
|
-
}, [isConnected, address, connector, setConnectedWallet, wallets]);
|
|
24
|
-
};
|
|
25
|
-
export const useWallet = () => {
|
|
26
|
-
const { wallets } = useWallets();
|
|
27
|
-
const { connector: activeEvmConnector, address: evmAddress } = useAccount();
|
|
10
|
+
const { data: walletClient } = useWalletClient();
|
|
11
|
+
const { connector: activeConnector, isConnected: isEvmConnected } = useAccount();
|
|
28
12
|
const { disconnectAsync: disconnectEvm } = useDisconnect();
|
|
29
|
-
const { connectCosmos, cosmosConnectedWallet } = useCosmosContext();
|
|
30
|
-
const { connectAsync
|
|
31
|
-
const
|
|
32
|
-
useEvmWalletListener();
|
|
33
|
-
const { connectedWallets, connectingWallet, setConnectedWallet, setConnectingWallet, disconnectWallet: storeDisconnectWallet, } = useWalletStore();
|
|
34
|
-
const getBaseChain = (wallet, chain) => {
|
|
35
|
-
if (chain)
|
|
36
|
-
return chain;
|
|
37
|
-
switch (wallet.type) {
|
|
38
|
-
case ChainType.EVM:
|
|
39
|
-
return findChain(CHAIN_IDS.ETHEREUM.mainnet);
|
|
40
|
-
case ChainType.COSMOS:
|
|
41
|
-
return findChain(CHAIN_IDS.OSMOSIS.mainnet);
|
|
42
|
-
default:
|
|
43
|
-
throw new Error(`Unsupported wallet type: ${wallet.type}`);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
13
|
+
const { isConnected: cosmosIsConnected, connectCosmos, cosmosConnectedWallet, } = useCosmosContext();
|
|
14
|
+
const { connectAsync } = useConnect();
|
|
15
|
+
const [connectingWallet, setConnectingWallet] = useState(null);
|
|
46
16
|
const connectWalletMutation = useMutation({
|
|
47
|
-
mutationFn: async ({ wallet,
|
|
17
|
+
mutationFn: async ({ wallet, direction, }) => {
|
|
48
18
|
setConnectingWallet(wallet);
|
|
49
19
|
redirectExtensionStoreIfNotInstalled(wallet);
|
|
50
|
-
const baseChain = getBaseChain(wallet, chain);
|
|
51
20
|
try {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
21
|
+
if (wallet &&
|
|
22
|
+
wallet.type === ChainType.EVM &&
|
|
23
|
+
wallet.connector) {
|
|
24
|
+
const evmWallet = wallet;
|
|
25
|
+
if (evmWallet.connectorId !== activeConnector?.id) {
|
|
26
|
+
if (evmWallet.connector) {
|
|
27
|
+
await connectAsync({ connector: evmWallet.connector() });
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
throw new Error("Wallet connector is undefined");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (wallet.type === ChainType.COSMOS && chain) {
|
|
35
|
+
const cosmosWallet = wallet;
|
|
36
|
+
if (cosmosWallet.connectorId !== cosmosConnectedWallet?.connectorId) {
|
|
37
|
+
await connectCosmos?.mutateAsync({
|
|
38
|
+
chain,
|
|
39
|
+
wallet: cosmosWallet,
|
|
40
|
+
direction,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
60
43
|
}
|
|
61
44
|
return true;
|
|
62
45
|
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
console.error("Failed to connect wallet", error);
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
46
|
finally {
|
|
68
|
-
setConnectingWallet(
|
|
47
|
+
setConnectingWallet(null);
|
|
69
48
|
}
|
|
70
49
|
},
|
|
71
50
|
});
|
|
72
|
-
const disconnectWallet = async (chainType) => {
|
|
73
|
-
switch (chainType) {
|
|
74
|
-
case ChainType.EVM:
|
|
75
|
-
await disconnectEvm();
|
|
76
|
-
break;
|
|
77
|
-
case ChainType.COSMOS:
|
|
78
|
-
// TODO: Implement cosmos disconnect
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
storeDisconnectWallet(chainType);
|
|
82
|
-
};
|
|
83
|
-
const { data: walletClient } = useWalletClient();
|
|
84
51
|
const changeWallet = async () => {
|
|
85
52
|
try {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
{
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
],
|
|
93
|
-
});
|
|
53
|
+
if (activeConnector?.id && isEvmConnected && walletClient) {
|
|
54
|
+
await walletClient.request({
|
|
55
|
+
method: "wallet_requestPermissions",
|
|
56
|
+
params: [{ eth_accounts: {} }],
|
|
57
|
+
});
|
|
58
|
+
}
|
|
94
59
|
}
|
|
95
60
|
catch (error) {
|
|
96
|
-
console.error("Failed to change wallet"
|
|
61
|
+
console.error("Failed to change wallet");
|
|
97
62
|
}
|
|
98
63
|
};
|
|
99
|
-
|
|
100
|
-
if (
|
|
101
|
-
|
|
64
|
+
const currentWallet = useMemo(() => {
|
|
65
|
+
if (chain?.chainType === ChainType.EVM) {
|
|
66
|
+
if (activeConnector?.id && isEvmConnected) {
|
|
67
|
+
return findWalletByWagmiConnector(wallets, activeConnector);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (chain?.chainType === ChainType.COSMOS) {
|
|
71
|
+
if (cosmosIsConnected) {
|
|
72
|
+
return wallets.find((w) => w.connectorId === cosmosConnectedWallet?.connectorId);
|
|
73
|
+
}
|
|
102
74
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return connectedWallet?.wallet?.connectorId === wallet.connectorId;
|
|
113
|
-
}, [connectedWallets]);
|
|
75
|
+
return undefined;
|
|
76
|
+
}, [
|
|
77
|
+
chain?.chainType,
|
|
78
|
+
activeConnector,
|
|
79
|
+
isEvmConnected,
|
|
80
|
+
wallets,
|
|
81
|
+
cosmosIsConnected,
|
|
82
|
+
cosmosConnectedWallet?.connectorId,
|
|
83
|
+
]);
|
|
114
84
|
return {
|
|
115
85
|
wallets,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
connectingWallet,
|
|
119
|
-
changeWallet,
|
|
120
|
-
disconnectWallet,
|
|
86
|
+
disconnectEvm,
|
|
87
|
+
currentWallet,
|
|
121
88
|
connectWallet: connectWalletMutation.mutateAsync,
|
|
122
|
-
|
|
89
|
+
changeWallet,
|
|
90
|
+
connectingWallet,
|
|
123
91
|
};
|
|
124
92
|
};
|
|
125
93
|
//# sourceMappingURL=useWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,18 +120,19 @@ const testCosmosRpc = async (rpc) => {
|
|
|
120
120
|
return rpcIsValid;
|
|
121
121
|
};
|
|
122
122
|
export const getWorkingCosmosRpcUrl = async (chainData) => {
|
|
123
|
-
const
|
|
124
|
-
|
|
123
|
+
const rpcList = (chainData.rpcList ?? chainData.rpc)
|
|
124
|
+
? [chainData.rpc]
|
|
125
|
+
: [];
|
|
125
126
|
// if rpcList is empty, use the default rpc
|
|
126
127
|
if (rpcList.length === 0) {
|
|
127
128
|
try {
|
|
128
|
-
const isValid = await testCosmosRpc(
|
|
129
|
+
const isValid = await testCosmosRpc(chainData.rpc);
|
|
129
130
|
if (isValid) {
|
|
130
|
-
return
|
|
131
|
+
return chainData.rpc;
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
catch (error) {
|
|
134
|
-
console.
|
|
135
|
+
console.log(`Error fetching rpc url: ${chainData.rpc} - Error: ${error?.toString()}`);
|
|
135
136
|
}
|
|
136
137
|
}
|
|
137
138
|
// if rpcList is not empty, try to fetch each rpc until we find a valid one
|
|
@@ -144,11 +145,11 @@ export const getWorkingCosmosRpcUrl = async (chainData) => {
|
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
catch (error) {
|
|
147
|
-
console.
|
|
148
|
+
console.log(`Error fetching rpc url: ${chainData.rpc} - Error: ${error?.toString()}`);
|
|
148
149
|
}
|
|
149
150
|
}
|
|
150
151
|
// In the case that all rpcs are invalid, return the default rpc anyway
|
|
151
|
-
return
|
|
152
|
+
return chainData.rpc;
|
|
152
153
|
};
|
|
153
154
|
// const deriveCosmosAddress = (chainPrefix: string, address: string): string => {
|
|
154
155
|
// return toBech32(chainPrefix, fromBech32(address).data);
|
|
@@ -196,35 +197,24 @@ export const getAllCosmosBalancesForAddress = async ({ addresses, cosmosTokens,
|
|
|
196
197
|
try {
|
|
197
198
|
// These are networks that were not working with the default rpc.cosmos.directory
|
|
198
199
|
const specialNetworks = [
|
|
200
|
+
"migaloo",
|
|
199
201
|
"injective",
|
|
200
|
-
"
|
|
201
|
-
"celestia",
|
|
202
|
+
"axelarnet",
|
|
202
203
|
"c4e",
|
|
203
|
-
"cosmoshub",
|
|
204
204
|
"kava-ibc",
|
|
205
205
|
"secret-snip",
|
|
206
206
|
"terra-2",
|
|
207
207
|
"sei",
|
|
208
208
|
"umee",
|
|
209
209
|
"irisnet",
|
|
210
|
-
"persistence",
|
|
211
|
-
"sommelier",
|
|
212
210
|
];
|
|
213
211
|
let rpc;
|
|
214
212
|
if (specialNetworks.includes(cosmosChain.networkIdentifier)) {
|
|
215
213
|
rpc = await getWorkingCosmosRpcUrl(cosmosChain);
|
|
216
214
|
}
|
|
217
215
|
else {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
rpc = `https://rpc.cosmos.directory/axelar`;
|
|
221
|
-
break;
|
|
222
|
-
case "sentinel":
|
|
223
|
-
rpc = `https://rpc.sentinel.chaintools.tech`;
|
|
224
|
-
break;
|
|
225
|
-
default:
|
|
226
|
-
rpc = `https://rpc.cosmos.directory/${cosmosChain.networkIdentifier}`;
|
|
227
|
-
}
|
|
216
|
+
// TODO: Our backend need to have a better RPC list to avoid using this
|
|
217
|
+
rpc = `https://rpc.cosmos.directory/${cosmosChain.networkIdentifier}`;
|
|
228
218
|
}
|
|
229
219
|
const balances = await getAllCosmosBalancesForChain({
|
|
230
220
|
rpc,
|