@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.
Files changed (54) hide show
  1. package/dist/core/constants.d.ts +0 -4
  2. package/dist/core/constants.js +0 -4
  3. package/dist/core/constants.js.map +1 -1
  4. package/dist/core/providers/CosmosProvider.d.ts +2 -1
  5. package/dist/core/queries/queries-keys.d.ts +1 -3
  6. package/dist/core/queries/queries-keys.js +0 -6
  7. package/dist/core/queries/queries-keys.js.map +1 -1
  8. package/dist/hooks/cosmos/useCosmos.d.ts +3 -1
  9. package/dist/hooks/cosmos/useCosmos.js +27 -21
  10. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  11. package/dist/hooks/index.d.ts +2 -3
  12. package/dist/hooks/index.js +2 -3
  13. package/dist/hooks/index.js.map +1 -1
  14. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +34 -35
  15. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  16. package/dist/hooks/tokens/useBalance.d.ts +8 -249
  17. package/dist/hooks/tokens/useBalance.js +102 -37
  18. package/dist/hooks/tokens/useBalance.js.map +1 -1
  19. package/dist/hooks/tokens/useMultiChainBalance.d.ts +1 -1
  20. package/dist/hooks/tokens/useMultiChainBalance.js +6 -19
  21. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  22. package/dist/hooks/tokens/useTokensWithBalance.d.ts +7 -0
  23. package/dist/hooks/tokens/useTokensWithBalance.js +53 -0
  24. package/dist/hooks/tokens/useTokensWithBalance.js.map +1 -0
  25. package/dist/hooks/transaction/useEstimate.js +2 -2
  26. package/dist/hooks/transaction/useEstimate.js.map +1 -1
  27. package/dist/hooks/transaction/useExecuteTransaction.js +1 -1
  28. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  29. package/dist/hooks/wallet/useMultiChainWallet.d.ts +4 -18
  30. package/dist/hooks/wallet/useMultiChainWallet.js +34 -48
  31. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  32. package/dist/hooks/wallet/useWallet.d.ts +6 -13
  33. package/dist/hooks/wallet/useWallet.js +62 -94
  34. package/dist/hooks/wallet/useWallet.js.map +1 -1
  35. package/dist/services/external/rpcService.js +12 -22
  36. package/dist/services/external/rpcService.js.map +1 -1
  37. package/dist/services/external/secretService.js +2 -2
  38. package/dist/services/external/secretService.js.map +1 -1
  39. package/dist/services/internal/assetsService.d.ts +0 -1
  40. package/dist/services/internal/assetsService.js +1 -6
  41. package/dist/services/internal/assetsService.js.map +1 -1
  42. package/dist/services/internal/walletService.d.ts +3 -29
  43. package/dist/services/internal/walletService.js +3 -59
  44. package/dist/services/internal/walletService.js.map +1 -1
  45. package/package.json +3 -3
  46. package/dist/hooks/store/useWalletStore.d.ts +0 -15
  47. package/dist/hooks/store/useWalletStore.js +0 -27
  48. package/dist/hooks/store/useWalletStore.js.map +0 -1
  49. package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +0 -87
  50. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -44
  51. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  52. package/dist/hooks/tokens/useNativeBalance.d.ts +0 -14
  53. package/dist/hooks/tokens/useNativeBalance.js +0 -80
  54. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
@@ -7,259 +7,18 @@ export declare const useEvmBalance: ({ chain, token, userAddress, enabled, refre
7
7
  refreshIntervalMs?: number | undefined;
8
8
  }) => {
9
9
  balance: string;
10
- data: {
11
- decimals: number;
12
- formatted: string;
13
- symbol: string;
14
- value: bigint;
15
- };
16
- error: import("viem").GetBalanceErrorType;
17
- isError: true;
18
- isLoading: false;
19
- isLoadingError: false;
20
- isRefetchError: true;
21
- isSuccess: false;
22
- status: "error";
23
- dataUpdatedAt: number;
24
- errorUpdatedAt: number;
25
- failureCount: number;
26
- failureReason: import("viem").GetBalanceErrorType | null;
27
- errorUpdateCount: number;
28
- isFetched: boolean;
29
- isFetchedAfterMount: boolean;
30
- isFetching: boolean;
31
- isInitialLoading: boolean;
32
- isPaused: boolean;
33
- isPlaceholderData: boolean;
34
- isPreviousData: boolean;
35
- isRefetching: boolean;
36
- isStale: boolean;
37
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<{
38
- decimals: number;
39
- formatted: string;
40
- symbol: string;
41
- value: bigint;
42
- }, import("viem").GetBalanceErrorType>>;
43
- remove: () => void;
44
- fetchStatus: import("@tanstack/react-query").FetchStatus;
45
- queryKey: import("@tanstack/react-query").QueryKey;
46
- } | {
47
- balance: string;
48
- data: {
49
- decimals: number;
50
- formatted: string;
51
- symbol: string;
52
- value: bigint;
53
- };
54
- error: null;
55
- isError: false;
56
- isLoading: false;
57
- isLoadingError: false;
58
- isRefetchError: false;
59
- isSuccess: true;
60
- status: "success";
61
- dataUpdatedAt: number;
62
- errorUpdatedAt: number;
63
- failureCount: number;
64
- failureReason: import("viem").GetBalanceErrorType | null;
65
- errorUpdateCount: number;
66
- isFetched: boolean;
67
- isFetchedAfterMount: boolean;
68
- isFetching: boolean;
69
- isInitialLoading: boolean;
70
- isPaused: boolean;
71
- isPlaceholderData: boolean;
72
- isPreviousData: boolean;
73
- isRefetching: boolean;
74
- isStale: boolean;
75
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<{
76
- decimals: number;
77
- formatted: string;
78
- symbol: string;
79
- value: bigint;
80
- }, import("viem").GetBalanceErrorType>>;
81
- remove: () => void;
82
- fetchStatus: import("@tanstack/react-query").FetchStatus;
83
- queryKey: import("@tanstack/react-query").QueryKey;
84
- } | {
85
- balance: string;
86
- data: undefined;
87
- error: import("viem").GetBalanceErrorType;
88
- isError: true;
89
- isLoading: false;
90
- isLoadingError: true;
91
- isRefetchError: false;
92
- isSuccess: false;
93
- status: "error";
94
- dataUpdatedAt: number;
95
- errorUpdatedAt: number;
96
- failureCount: number;
97
- failureReason: import("viem").GetBalanceErrorType | null;
98
- errorUpdateCount: number;
99
- isFetched: boolean;
100
- isFetchedAfterMount: boolean;
101
- isFetching: boolean;
102
- isInitialLoading: boolean;
103
- isPaused: boolean;
104
- isPlaceholderData: boolean;
105
- isPreviousData: boolean;
106
- isRefetching: boolean;
107
- isStale: boolean;
108
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<{
109
- decimals: number;
110
- formatted: string;
111
- symbol: string;
112
- value: bigint;
113
- }, import("viem").GetBalanceErrorType>>;
114
- remove: () => void;
115
- fetchStatus: import("@tanstack/react-query").FetchStatus;
116
- queryKey: import("@tanstack/react-query").QueryKey;
117
- } | {
118
- balance: string;
119
- data: undefined;
120
- error: null;
121
- isError: false;
122
- isLoading: true;
123
- isLoadingError: false;
124
- isRefetchError: false;
125
- isSuccess: false;
126
- status: "loading";
127
- dataUpdatedAt: number;
128
- errorUpdatedAt: number;
129
- failureCount: number;
130
- failureReason: import("viem").GetBalanceErrorType | null;
131
- errorUpdateCount: number;
132
- isFetched: boolean;
133
- isFetchedAfterMount: boolean;
134
- isFetching: boolean;
135
- isInitialLoading: boolean;
136
- isPaused: boolean;
137
- isPlaceholderData: boolean;
138
- isPreviousData: boolean;
139
- isRefetching: boolean;
140
- isStale: boolean;
141
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<{
142
- decimals: number;
143
- formatted: string;
144
- symbol: string;
145
- value: bigint;
146
- }, import("viem").GetBalanceErrorType>>;
147
- remove: () => void;
148
- fetchStatus: import("@tanstack/react-query").FetchStatus;
149
- queryKey: import("@tanstack/react-query").QueryKey;
150
10
  };
151
- export declare const useCosmosBalance: ({ chainData, token, userAddress, enabled, refreshIntervalMs, }: {
11
+ export declare const useCosmosBalance: ({ chainData, token, userAddress, }: {
152
12
  chainData: CosmosChain | undefined;
153
13
  token?: Token | undefined;
154
14
  userAddress?: string | undefined;
155
- enabled?: boolean | undefined;
156
- refreshIntervalMs?: number | undefined;
157
15
  }) => {
158
16
  balance: string;
159
- data: string;
160
- error: unknown;
161
- isError: true;
162
- isLoading: false;
163
- isLoadingError: false;
164
- isRefetchError: true;
165
- isSuccess: false;
166
- status: "error";
167
- dataUpdatedAt: number;
168
- errorUpdatedAt: number;
169
- failureCount: number;
170
- failureReason: unknown;
171
- errorUpdateCount: number;
172
- isFetched: boolean;
173
- isFetchedAfterMount: boolean;
174
- isFetching: boolean;
175
- isInitialLoading: boolean;
176
- isPaused: boolean;
177
- isPlaceholderData: boolean;
178
- isPreviousData: boolean;
179
- isRefetching: boolean;
180
- isStale: boolean;
181
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<string, unknown>>;
182
- remove: () => void;
183
- fetchStatus: import("@tanstack/react-query").FetchStatus;
184
- } | {
185
- balance: string;
186
- data: string;
187
- error: null;
188
- isError: false;
189
- isLoading: false;
190
- isLoadingError: false;
191
- isRefetchError: false;
192
- isSuccess: true;
193
- status: "success";
194
- dataUpdatedAt: number;
195
- errorUpdatedAt: number;
196
- failureCount: number;
197
- failureReason: unknown;
198
- errorUpdateCount: number;
199
- isFetched: boolean;
200
- isFetchedAfterMount: boolean;
201
- isFetching: boolean;
202
- isInitialLoading: boolean;
203
- isPaused: boolean;
204
- isPlaceholderData: boolean;
205
- isPreviousData: boolean;
206
- isRefetching: boolean;
207
- isStale: boolean;
208
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<string, unknown>>;
209
- remove: () => void;
210
- fetchStatus: import("@tanstack/react-query").FetchStatus;
211
- } | {
212
- balance: string;
213
- data: undefined;
214
- error: unknown;
215
- isError: true;
216
- isLoading: false;
217
- isLoadingError: true;
218
- isRefetchError: false;
219
- isSuccess: false;
220
- status: "error";
221
- dataUpdatedAt: number;
222
- errorUpdatedAt: number;
223
- failureCount: number;
224
- failureReason: unknown;
225
- errorUpdateCount: number;
226
- isFetched: boolean;
227
- isFetchedAfterMount: boolean;
228
- isFetching: boolean;
229
- isInitialLoading: boolean;
230
- isPaused: boolean;
231
- isPlaceholderData: boolean;
232
- isPreviousData: boolean;
233
- isRefetching: boolean;
234
- isStale: boolean;
235
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<string, unknown>>;
236
- remove: () => void;
237
- fetchStatus: import("@tanstack/react-query").FetchStatus;
238
- } | {
239
- balance: string;
240
- data: undefined;
241
- error: null;
242
- isError: false;
243
- isLoading: true;
244
- isLoadingError: false;
245
- isRefetchError: false;
246
- isSuccess: false;
247
- status: "loading";
248
- dataUpdatedAt: number;
249
- errorUpdatedAt: number;
250
- failureCount: number;
251
- failureReason: unknown;
252
- errorUpdateCount: number;
253
- isFetched: boolean;
254
- isFetchedAfterMount: boolean;
255
- isFetching: boolean;
256
- isInitialLoading: boolean;
257
- isPaused: boolean;
258
- isPlaceholderData: boolean;
259
- isPreviousData: boolean;
260
- isRefetching: boolean;
261
- isStale: boolean;
262
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<string, unknown>>;
263
- remove: () => void;
264
- fetchStatus: import("@tanstack/react-query").FetchStatus;
17
+ };
18
+ export declare const useNativeBalance: (direction: "from" | "to") => {
19
+ nativeBalance: {
20
+ value: bigint;
21
+ decimals: number;
22
+ } | undefined;
23
+ nativeBalanceFormatted: string | undefined;
265
24
  };
@@ -1,53 +1,118 @@
1
+ import { useAccount, useBalance, useReadContract } from "wagmi";
1
2
  import { ChainType } from "@0xsquid/squid-types";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { useAccount, useBalance as useWagmiBalance } from "wagmi";
3
+ import { useMemo } from "react";
4
+ import { erc20Abi } from "viem";
4
5
  import { useCosmosContext } from "../../core";
5
6
  import { nativeEvmTokenAddress } from "../../core/constants";
6
- import { keys } from "../../core/queries/queries-keys";
7
- import { formatBNToReadable } from "../../services";
8
- import { useAllTokensWithBalanceForChainType } from "./useAllTokensWithBalanceForChainType";
9
- const DEFAULT_REFRESH_INTERVAL_MS = 15000;
10
- export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
7
+ import { findNativeToken, formatBNToReadable, parseToBigInt, } from "../../services";
8
+ import { useCosmosForChain } from "../cosmos/useCosmosForChain";
9
+ import { useSwap } from "../swap/useSwap";
10
+ import { useSquidTokens } from "./useSquidTokens";
11
+ import { useAllTokensWithBalanceForChain } from "./useTokensWithBalance";
12
+ const defaultRefreshIntervalMs = 15000;
13
+ export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = defaultRefreshIntervalMs, }) => {
11
14
  const { isConnected } = useAccount();
12
- const query = useWagmiBalance({
13
- address: userAddress,
15
+ const isNativeToken = token?.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
16
+ const userAddressParsed = userAddress;
17
+ // Only fetch using useBalance if it's a native token
18
+ const { data: nativeBalance } = useBalance({
19
+ address: userAddressParsed,
14
20
  chainId: Number(chain?.chainId),
15
- token: token?.address === nativeEvmTokenAddress
16
- ? undefined
17
- : token?.address,
18
21
  query: {
19
- enabled: isConnected && enabled && !!userAddress,
22
+ enabled: isConnected && enabled && !!userAddress && isNativeToken,
20
23
  refetchInterval: refreshIntervalMs,
21
24
  retry: 2,
22
25
  },
23
26
  });
24
- const balance = formatBNToReadable(query.data?.value ?? 0n, query.data?.decimals ?? 0);
25
- return { ...query, balance };
27
+ // Only fetch using useReadContract if it's not a native token
28
+ // This is temporary, because of wagmi error: https://github.com/wevm/wagmi/issues/4353
29
+ const { data: erc20Balance } = useReadContract({
30
+ address: token?.address,
31
+ abi: erc20Abi,
32
+ functionName: "balanceOf",
33
+ args: [userAddressParsed],
34
+ chainId: Number(chain?.chainId),
35
+ query: {
36
+ enabled: isConnected && enabled && !!userAddress && !isNativeToken,
37
+ refetchInterval: refreshIntervalMs,
38
+ retry: 2,
39
+ },
40
+ });
41
+ const balance = isNativeToken ? nativeBalance?.value : erc20Balance;
42
+ const formattedBalance = formatBNToReadable(balance ?? BigInt(0), token?.decimals ?? 18);
43
+ return { balance: formattedBalance };
26
44
  };
27
- export const useCosmosBalance = ({ chainData, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
45
+ export const useCosmosBalance = ({ chainData, token, userAddress, }) => {
28
46
  const { isConnected } = useCosmosContext();
29
- const { tokens: cosmosBalances } = useAllTokensWithBalanceForChainType({
30
- chainType: ChainType.COSMOS,
31
- address: chainData?.chainType === ChainType.COSMOS ? userAddress : undefined,
32
- });
33
- const query = useQuery({
34
- queryKey: keys().balance(chainData?.chainId, token?.address, userAddress),
35
- queryFn: () => {
36
- if (userAddress &&
37
- chainData &&
38
- chainData.chainType === ChainType.COSMOS &&
39
- isConnected) {
40
- return (cosmosBalances?.find((b) => b.address === token?.address && b.chainId === chainData.chainId)?.balance ?? "0");
41
- }
42
- return "0";
47
+ const { cosmosAddress } = useCosmosForChain(chainData);
48
+ const { cosmosBalances } = useAllTokensWithBalanceForChain(chainData, userAddress);
49
+ const walletAddressToFetch = userAddress ?? cosmosAddress;
50
+ const balance = useMemo(() => {
51
+ if (walletAddressToFetch &&
52
+ chainData &&
53
+ chainData.chainType === ChainType.COSMOS &&
54
+ isConnected) {
55
+ return (cosmosBalances?.data?.find((b) => b.address === token?.address && b.chainId === chainData.chainId)?.balance ?? "0");
56
+ }
57
+ return "0";
58
+ }, [
59
+ cosmosBalances.data,
60
+ walletAddressToFetch,
61
+ chainData,
62
+ token,
63
+ isConnected,
64
+ ]);
65
+ return { balance };
66
+ };
67
+ export const useNativeBalance = (direction) => {
68
+ const { address: evmAddress, isConnected: isEvmConnected } = useAccount();
69
+ const { isConnected: isCosmosConnected, cosmosAddress } = useCosmosContext();
70
+ const { toChain, fromChain } = useSwap();
71
+ const chain = direction === "from" ? fromChain : toChain;
72
+ const { data: nativeEvmBalance } = useBalance({
73
+ address: evmAddress,
74
+ chainId: Number(chain?.chainId),
75
+ query: {
76
+ enabled: isEvmConnected && chain?.chainType === ChainType.EVM,
77
+ refetchInterval: 10000,
78
+ staleTime: 5000,
79
+ refetchOnWindowFocus: true,
80
+ refetchOnMount: true,
43
81
  },
44
- enabled: isConnected &&
45
- enabled &&
46
- !!userAddress &&
47
- chainData?.chainType === ChainType.COSMOS,
48
- refetchInterval: refreshIntervalMs,
49
- retry: 2,
50
82
  });
51
- return { ...query, balance: query.data ?? "0" };
83
+ const { cosmosTokens } = useSquidTokens(direction);
84
+ const nativeCosmosToken = useMemo(() => {
85
+ if (chain?.chainType !== ChainType.COSMOS) {
86
+ return;
87
+ }
88
+ return findNativeToken(cosmosTokens, chain);
89
+ }, [cosmosTokens, chain]);
90
+ const { balance: nativeCosmosBalance } = useCosmosBalance({
91
+ chainData: isCosmosConnected && chain?.chainType === ChainType.COSMOS
92
+ ? chain
93
+ : undefined,
94
+ token: isCosmosConnected ? nativeCosmosToken : undefined,
95
+ userAddress: isCosmosConnected ? cosmosAddress : undefined,
96
+ });
97
+ const nativeBalance = (() => {
98
+ switch (chain?.chainType) {
99
+ case ChainType.EVM:
100
+ if (!nativeEvmBalance?.decimals || !nativeEvmBalance?.value)
101
+ return undefined;
102
+ return nativeEvmBalance;
103
+ case ChainType.COSMOS:
104
+ if (!nativeCosmosToken?.decimals || !nativeCosmosBalance)
105
+ return undefined;
106
+ return {
107
+ decimals: nativeCosmosToken.decimals,
108
+ value: parseToBigInt(nativeCosmosBalance, nativeCosmosToken.decimals),
109
+ };
110
+ default:
111
+ return undefined;
112
+ }
113
+ })();
114
+ const nativeBalanceFormatted = nativeBalance &&
115
+ formatBNToReadable(nativeBalance.value, nativeBalance.decimals);
116
+ return { nativeBalance, nativeBalanceFormatted };
52
117
  };
53
118
  //# sourceMappingURL=useBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useBalance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useBalance.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,5 @@ export declare const useMultiChainBalance: ({ chain, token, userAddress, enabled
13
13
  userAddress?: string | undefined;
14
14
  enabled?: boolean | undefined;
15
15
  }) => {
16
- balance: string | undefined;
16
+ balance: string;
17
17
  };
@@ -8,14 +8,14 @@ import { useCosmosBalance, useEvmBalance } from "../../hooks/tokens/useBalance";
8
8
  * @param {boolean} enabled
9
9
  * @returns balance as string
10
10
  */
11
- export const useMultiChainBalance = ({ chain, token, userAddress = "", enabled = true, }) => {
11
+ export const useMultiChainBalance = ({ chain, token, userAddress, enabled = true, }) => {
12
12
  /**
13
13
  * Get balance for EVM chain types
14
14
  */
15
15
  const { balance: evmBalance } = useEvmBalance({
16
16
  chain: chain,
17
17
  token,
18
- userAddress,
18
+ userAddress: userAddress ?? "",
19
19
  enabled: chain?.chainType === ChainType.EVM && enabled,
20
20
  });
21
21
  /**
@@ -26,23 +26,10 @@ export const useMultiChainBalance = ({ chain, token, userAddress = "", enabled =
26
26
  token,
27
27
  userAddress,
28
28
  });
29
- let balance;
30
- switch (chain?.chainType) {
31
- case ChainType.EVM:
32
- balance = evmBalance;
33
- break;
34
- case ChainType.COSMOS:
35
- balance = cosmosBalance;
36
- break;
37
- case ChainType.BTC:
38
- balance = undefined;
39
- break;
40
- // case ChainType.SOL:
41
- // balance = undefined;
42
- // break;
43
- default:
44
- balance = undefined;
45
- }
29
+ /**
30
+ * Get either EVM or cosmos Balance
31
+ */
32
+ const balance = chain?.chainType === ChainType.EVM ? evmBalance : cosmosBalance;
46
33
  return { balance };
47
34
  };
48
35
  //# sourceMappingURL=useMultiChainBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiChainBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultiChainBalance.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,KAAK,EACL,WAAW,GAAG,EAAE,EAChB,OAAO,GAAG,IAAI,GAMf,EAAE,EAAE;IACH;;OAEG;IACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QAC5C,KAAK,EAAE,KAAiB;QACxB,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,OAAO;KACvD,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC;QAClD,SAAS,EAAE,KAAoB;QAC/B,KAAK;QACL,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,OAA2B,CAAC;IAEhC,QAAQ,KAAK,EAAE,SAAS,EAAE;QACxB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,UAAU,CAAC;YACrB,MAAM;QACR,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,GAAG,aAAa,CAAC;YACxB,MAAM;QACR,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,SAAS,CAAC;YACpB,MAAM;QACR,sBAAsB;QACtB,yBAAyB;QACzB,WAAW;QACX;YACE,OAAO,GAAG,SAAS,CAAC;KACvB;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"useMultiChainBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultiChainBalance.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,GAAG,IAAI,GAMf,EAAE,EAAE;IACH;;OAEG;IACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QAC5C,KAAK,EAAE,KAAiB;QACxB,KAAK;QACL,WAAW,EAAE,WAAW,IAAI,EAAE;QAC9B,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,OAAO;KACvD,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC;QAClD,SAAS,EAAE,KAAoB;QAC/B,KAAK;QACL,WAAW;KACZ,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,OAAO,GACX,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;IAElE,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ChainData, Token } from "@0xsquid/squid-types";
2
+ import { TokenWithBalance } from "../../core/types/tokens";
3
+ export declare const useAllTokensWithBalanceForChain: (chainData?: ChainData, address?: string) => {
4
+ evmBalances: import("@tanstack/react-query").UseQueryResult<TokenWithBalance[], unknown>;
5
+ cosmosBalances: import("@tanstack/react-query").UseQueryResult<TokenWithBalance[], unknown>;
6
+ tokens: Token[];
7
+ };
@@ -0,0 +1,53 @@
1
+ import { ChainType } from "@0xsquid/squid-types";
2
+ import { useQuery } from "@tanstack/react-query";
3
+ import { CHAIN_IDS } from "../../core/constants";
4
+ import { useCosmosContext } from "../../core/providers/CosmosProvider";
5
+ import { keys } from "../../core/queries/queries-keys";
6
+ import { useCosmosForChain } from "../../hooks/cosmos/useCosmosForChain";
7
+ import { useSquidTokens } from "../../hooks/tokens/useSquidTokens";
8
+ import { getAllCosmosBalancesForChain, getAllEvmTokensBalance, getWorkingCosmosRpcUrl, } from "../../services/external/rpcService";
9
+ import { useSquidChains } from "../chains/useSquidChains";
10
+ export const useAllTokensWithBalanceForChain = (chainData, address = "") => {
11
+ const { tokens: squidTokens } = useSquidTokens();
12
+ const { chains = [] } = useSquidChains();
13
+ const { keplrTypeWallet, isConnected: isCosmosConnected } = useCosmosContext();
14
+ const { cosmosAddress } = useCosmosForChain(chainData);
15
+ const tokens = (squidTokens.filter((t) => t.chainId === chainData?.chainId) ??
16
+ []);
17
+ const evmBalances = useQuery(keys().tokensBalanceForChain(address, chainData?.chainId), async () => {
18
+ if (chainData && tokens) {
19
+ const tokensBalance = await getAllEvmTokensBalance(tokens, address, chains);
20
+ return tokensBalance ?? [];
21
+ }
22
+ return tokens?.map((s) => ({ ...s, balance: "" })) ?? [];
23
+ }, {
24
+ enabled: !!address && chainData?.chainType === ChainType.EVM && !!tokens,
25
+ });
26
+ const cosmosBalances = useQuery(keys().tokensBalanceForChain(cosmosAddress, chainData?.chainId), async () => {
27
+ if (chainData) {
28
+ if (chainData.chainId === CHAIN_IDS.SECRET.mainnet &&
29
+ isCosmosConnected) {
30
+ const squidSecretTokens = squidTokens.filter((t) => t.chainId === CHAIN_IDS.SECRET.mainnet);
31
+ const { fetchAllSecretBalances } = await import("../../services/external/secretService");
32
+ const secretTokens = await fetchAllSecretBalances(chainData, cosmosAddress, squidSecretTokens, keplrTypeWallet);
33
+ return secretTokens;
34
+ }
35
+ const rpc = await getWorkingCosmosRpcUrl(chainData);
36
+ const balances = await getAllCosmosBalancesForChain({
37
+ address: cosmosAddress ?? address,
38
+ rpc,
39
+ tokens,
40
+ });
41
+ return balances ?? [];
42
+ }
43
+ return [];
44
+ }, {
45
+ retry: false,
46
+ enabled: chainData?.chainType === ChainType.COSMOS &&
47
+ !!tokens &&
48
+ !!cosmosAddress &&
49
+ address.length > 0,
50
+ });
51
+ return { evmBalances, cosmosBalances, tokens };
52
+ };
53
+ //# sourceMappingURL=useTokensWithBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokensWithBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensWithBalance.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,15 @@ import { useSquidTokens } from "../../hooks/tokens/useSquidTokens";
4
4
  import { calculateEstimateResults, calculateTotalWithRefundEstimate, getProposedGasDestinationAmount, } from "../../services/internal/estimateService";
5
5
  import { useConfigStore } from "../store/useSquidStore";
6
6
  import { useSwap } from "../swap/useSwap";
7
+ import { useNativeBalance } from "../tokens/useBalance";
7
8
  import { useMultiChainBalance } from "../tokens/useMultiChainBalance";
8
- import { useNativeBalance } from "../tokens/useNativeBalance";
9
9
  import { useSingleTokenPrice } from "../tokens/useSingleTokenPrice";
10
10
  import { useEstimateExpress } from "./useExpress";
11
11
  export const useEstimate = (squidRoute) => {
12
12
  const collectFees = useConfigStore((state) => state.config.collectFees);
13
+ const { nativeBalance } = useNativeBalance("from");
13
14
  const { tokens } = useSquidTokens();
14
15
  const { fromChain, toChain } = useSwap();
15
- const { nativeBalance } = useNativeBalance(fromChain);
16
16
  const { expressActivatedUI } = useEstimateExpress();
17
17
  const estimateResults = useMemo(() => calculateEstimateResults({
18
18
  squidRoute,
@@ -1 +1 @@
1
- {"version":3,"file":"useEstimate.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useEstimate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useEstimate.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useEstimate.ts"],"names":[],"mappings":"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"}
@@ -163,7 +163,7 @@ export const useExecuteTransaction = (squidRoute) => {
163
163
  }
164
164
  }
165
165
  catch (error) {
166
- console.error(error);
166
+ console.log(error);
167
167
  const castedError = error ?? {};
168
168
  if (castedError.message?.includes("Request rejected")) {
169
169
  throw new Error(castedError.message);