@0xsquid/react-hooks 3.0.30-beta.2 → 3.0.30-beta.21

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 +1 -0
  2. package/dist/core/constants.js +1 -0
  3. package/dist/core/constants.js.map +1 -1
  4. package/dist/core/types/wallet.d.ts +1 -2
  5. package/dist/core/wagmiConfig.d.ts +2 -3
  6. package/dist/core/wagmiConfig.js +22 -23
  7. package/dist/core/wagmiConfig.js.map +1 -1
  8. package/dist/core/wallets.d.ts +2 -1
  9. package/dist/core/wallets.js +5 -5
  10. package/dist/core/wallets.js.map +1 -1
  11. package/dist/hooks/cosmos/useCosmos.js +2 -2
  12. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  13. package/dist/hooks/squid/useSquid.d.ts +2 -2
  14. package/dist/hooks/squid/useSquid.js +1 -0
  15. package/dist/hooks/squid/useSquid.js.map +1 -1
  16. package/dist/hooks/store/useWalletStore.d.ts +1 -1
  17. package/dist/hooks/store/useWalletStore.js +20 -12
  18. package/dist/hooks/store/useWalletStore.js.map +1 -1
  19. package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +17 -85
  20. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +50 -37
  21. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  22. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +7 -26
  23. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +70 -61
  24. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  25. package/dist/hooks/tokens/useBalance.js +10 -6
  26. package/dist/hooks/tokens/useBalance.js.map +1 -1
  27. package/dist/hooks/tokens/useMultipleTokenPrices.js +1 -1
  28. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +1 -1
  29. package/dist/hooks/tokens/useNativeBalance.js +7 -7
  30. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  31. package/dist/hooks/transaction/useApproval.js +8 -3
  32. package/dist/hooks/transaction/useApproval.js.map +1 -1
  33. package/dist/hooks/wallet/useAutoConnect.d.ts +3 -1
  34. package/dist/hooks/wallet/useAutoConnect.js +46 -17
  35. package/dist/hooks/wallet/useAutoConnect.js.map +1 -1
  36. package/dist/hooks/wallet/useGnosisContext.d.ts +2 -2
  37. package/dist/hooks/wallet/useGnosisContext.js +6 -4
  38. package/dist/hooks/wallet/useGnosisContext.js.map +1 -1
  39. package/dist/hooks/wallet/useWallet.d.ts +2 -1
  40. package/dist/hooks/wallet/useWallet.js +44 -23
  41. package/dist/hooks/wallet/useWallet.js.map +1 -1
  42. package/dist/provider/index.d.ts +2 -1
  43. package/dist/provider/index.js +15 -56
  44. package/dist/provider/index.js.map +1 -1
  45. package/dist/services/external/tokenDataService.js +3 -4
  46. package/dist/services/external/tokenDataService.js.map +1 -1
  47. package/dist/services/internal/errorService.js +20 -0
  48. package/dist/services/internal/errorService.js.map +1 -1
  49. package/dist/services/internal/walletService.d.ts +8 -1
  50. package/dist/services/internal/walletService.js +15 -2
  51. package/dist/services/internal/walletService.js.map +1 -1
  52. package/dist/tests/walletService.test.js +2 -2
  53. package/dist/tests/walletService.test.js.map +1 -1
  54. package/package.json +1 -1
@@ -1,33 +1,14 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
2
  import { UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
3
3
  import { TokenWithBalance } from "../../core/types/tokens";
4
+ type QueryData = {
5
+ tokens: TokenWithBalance[];
6
+ totalUsdBalance: string;
7
+ };
4
8
  export declare const useAllTokensWithBalanceForChainType: ({ chainType, address, direction, queryOptions, }: {
5
9
  chainType?: ChainType | undefined;
6
10
  address?: string | undefined;
7
11
  direction?: "from" | "to" | undefined;
8
- queryOptions?: UseQueryOptions<TokenWithBalance[], unknown, TokenWithBalance[], import("@tanstack/react-query").QueryKey> | undefined;
9
- }) => {
10
- tokensWithBalanceQuery: UseQueryResult<TokenWithBalance[], unknown>;
11
- tokens: {
12
- balance: string;
13
- type: ChainType;
14
- chainId: string;
15
- address: string;
16
- name: string;
17
- symbol: string;
18
- decimals: number;
19
- logoURI?: string | undefined;
20
- coingeckoId?: string | undefined;
21
- interchainTokenId?: string | undefined;
22
- volatility: import("@0xsquid/squid-types").Volatility;
23
- usdPrice?: number | undefined;
24
- axelarNetworkSymbol?: string | undefined;
25
- subGraphOnly?: boolean | undefined;
26
- subGraphIds?: string[] | undefined;
27
- feeOnTransfer?: boolean | undefined;
28
- isLpToken?: boolean | undefined;
29
- disabled?: boolean | undefined;
30
- }[];
31
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<TokenWithBalance[], unknown>>;
32
- totalUsdBalance: string;
33
- };
12
+ queryOptions?: UseQueryOptions<QueryData, unknown, QueryData, import("@tanstack/react-query").QueryKey> | undefined;
13
+ }) => UseQueryResult<QueryData>;
14
+ export {};
@@ -11,76 +11,85 @@ export const useAllTokensWithBalanceForChainType = ({ chainType, address, direct
11
11
  const { cosmosChains, chains } = useSquidChains(direction);
12
12
  const { evmTokens, cosmosTokens } = useSquidTokens(direction);
13
13
  const { keplrTypeWallet } = useCosmosContext();
14
- const tokensWithZeroBalance = useMemo(() => ({
15
- [ChainType.EVM]: evmTokens.map((t) => ({ ...t, balance: "0" })),
16
- [ChainType.COSMOS]: cosmosTokens.map((t) => ({ ...t, balance: "0" })),
17
- [ChainType.BTC]: [],
18
- }), [evmTokens, cosmosTokens]);
19
- const evmTokensQuery = useQuery(keys().allTokensBalance(address, ChainType.EVM), async () => {
20
- const evmTokensBalances = await getAllEvmTokensBalance(evmTokens, address, chains);
21
- return evmTokensBalances;
22
- }, {
23
- ...queryOptions,
24
- enabled: evmTokens.length > 0 &&
25
- chainType === ChainType.EVM &&
26
- !!address &&
27
- queryOptions?.enabled !== false,
28
- });
29
- const cosmosTokensQuery = useQuery(keys().allTokensBalance(address, ChainType.COSMOS), async () => {
30
- const addresses = await getAllKeysForSupportedCosmosChains(cosmosChains.map((c) => c.chainId), keplrTypeWallet);
31
- const cosmosBalances = await getAllCosmosBalancesForAddress({
32
- addresses,
33
- cosmosChains,
34
- cosmosTokens,
35
- });
36
- return cosmosBalances;
37
- }, {
38
- ...queryOptions,
39
- enabled: cosmosTokens.length > 0 &&
40
- chainType === ChainType.COSMOS &&
41
- !!address &&
42
- queryOptions?.enabled !== false,
43
- });
44
- const tokensWithBalanceQuery = useMemo(() => {
45
- let baseQuery;
14
+ const placeholderData = useMemo(() => {
15
+ const tokens = {
16
+ [ChainType.EVM]: evmTokens.map((t) => ({ ...t, balance: "0" })),
17
+ [ChainType.COSMOS]: cosmosTokens.map((t) => ({ ...t, balance: "0" })),
18
+ [ChainType.BTC]: [],
19
+ };
20
+ if (!chainType) {
21
+ return {
22
+ tokens: [...tokens[ChainType.EVM], ...tokens[ChainType.COSMOS]],
23
+ totalUsdBalance: "0",
24
+ };
25
+ }
26
+ return {
27
+ tokens: tokens[chainType],
28
+ totalUsdBalance: "0",
29
+ };
30
+ }, [evmTokens, cosmosTokens, chainType]);
31
+ const isQueryEnabled = useMemo(() => {
32
+ // Respect the queryOptions.enabled override if provided
33
+ if (queryOptions?.enabled === false)
34
+ return false;
46
35
  switch (chainType) {
36
+ case ChainType.EVM:
37
+ return evmTokens.length > 0 && !!address;
47
38
  case ChainType.COSMOS:
48
- baseQuery = cosmosTokensQuery;
49
- break;
39
+ return cosmosTokens.length > 0 && !!address;
40
+ case undefined:
41
+ return false;
42
+ case ChainType.BTC:
43
+ default:
44
+ return true;
45
+ }
46
+ }, [
47
+ chainType,
48
+ evmTokens.length,
49
+ cosmosTokens.length,
50
+ address,
51
+ queryOptions?.enabled,
52
+ ]);
53
+ const query = useQuery(keys().allTokensBalance(address, chainType), async () => {
54
+ // Return zero balances if no address
55
+ if (!address) {
56
+ const defaultTokens = placeholderData.tokens;
57
+ return {
58
+ tokens: defaultTokens,
59
+ totalUsdBalance: calculateTotalUsdBalanceUSD(defaultTokens),
60
+ };
61
+ }
62
+ let fetchedTokens = [];
63
+ // Fetch tokens based on chain type
64
+ switch (chainType) {
50
65
  case ChainType.EVM:
51
- baseQuery = evmTokensQuery;
66
+ fetchedTokens = await getAllEvmTokensBalance(evmTokens, address, chains);
67
+ break;
68
+ case ChainType.COSMOS:
69
+ const addresses = await getAllKeysForSupportedCosmosChains(cosmosChains.map((c) => c.chainId), keplrTypeWallet);
70
+ fetchedTokens = await getAllCosmosBalancesForAddress({
71
+ addresses,
72
+ cosmosChains,
73
+ cosmosTokens,
74
+ });
52
75
  break;
76
+ case ChainType.BTC:
53
77
  default:
54
- baseQuery = { data: tokensWithZeroBalance[ChainType.EVM] };
78
+ fetchedTokens = placeholderData.tokens;
79
+ break;
55
80
  }
56
81
  return {
57
- ...baseQuery,
58
- isLoading: chainType ? baseQuery.isLoading : false,
59
- isSuccess: chainType ? baseQuery.isSuccess : true,
60
- data: baseQuery.data ??
61
- tokensWithZeroBalance[chainType ?? ChainType.EVM] ??
62
- [],
82
+ tokens: fetchedTokens,
83
+ totalUsdBalance: calculateTotalUsdBalanceUSD(fetchedTokens),
63
84
  };
64
- }, [chainType, cosmosTokensQuery, evmTokensQuery, tokensWithZeroBalance]);
65
- const tokens = useMemo(() => {
66
- if (!chainType) {
67
- return [
68
- ...tokensWithZeroBalance[ChainType.EVM],
69
- ...tokensWithZeroBalance[ChainType.COSMOS],
70
- ...tokensWithZeroBalance[ChainType.BTC],
71
- ];
72
- }
73
- const selectedChainTokens = tokensWithBalanceQuery.data ?? tokensWithZeroBalance[chainType];
74
- const otherChainTypes = Object.values(ChainType).filter((type) => type !== chainType);
75
- const otherChainTokens = otherChainTypes.flatMap((type) => tokensWithZeroBalance[type]);
76
- return [...selectedChainTokens, ...otherChainTokens];
77
- }, [tokensWithBalanceQuery.data, tokensWithZeroBalance, chainType]);
78
- const totalUsdBalance = useMemo(() => calculateTotalUsdBalanceUSD(tokens), [tokens]);
85
+ }, {
86
+ ...queryOptions,
87
+ enabled: isQueryEnabled,
88
+ });
89
+ // Return placeholder if not fetched yet, otherwise return query data
79
90
  return {
80
- tokensWithBalanceQuery,
81
- tokens,
82
- refetch: tokensWithBalanceQuery.refetch,
83
- totalUsdBalance,
91
+ ...query,
92
+ data: query.data ?? placeholderData,
84
93
  };
85
94
  };
86
95
  //# sourceMappingURL=useAllTokensWithBalanceForChainType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAllTokensWithBalanceForChainType.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithBalanceForChainType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAllTokensWithBalanceForChainType.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithBalanceForChainType.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
2
  import { useQuery } from "@tanstack/react-query";
3
- import { useAccount, useBalance, useReadContract } from "wagmi";
3
+ import { useBalance, useReadContract } from "wagmi";
4
4
  import { erc20Abi } from "viem";
5
5
  import { useCosmosContext } from "../../core";
6
6
  import { nativeEvmTokenAddress } from "../../core/constants";
7
7
  import { keys } from "../../core/queries/queries-keys";
8
8
  import { formatBNToReadable } from "../../services";
9
+ import { useWallet } from "../wallet/useWallet";
9
10
  import { useAllTokensWithBalanceForChainType } from "./useAllTokensWithBalanceForChainType";
10
11
  const DEFAULT_REFRESH_INTERVAL_MS = 15000;
11
12
  export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
12
- const { isConnected } = useAccount();
13
+ const { isConnected } = useWallet();
13
14
  const isNativeToken = token?.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
14
15
  const userAddressParsed = userAddress;
15
16
  // Only fetch using useBalance if it's a native token
@@ -17,7 +18,7 @@ export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refre
17
18
  address: userAddressParsed,
18
19
  chainId: Number(chain?.chainId),
19
20
  query: {
20
- enabled: isConnected && enabled && !!userAddress && isNativeToken,
21
+ enabled: isConnected(ChainType.EVM) && enabled && !!userAddress && isNativeToken,
21
22
  refetchInterval: refreshIntervalMs,
22
23
  retry: 2,
23
24
  },
@@ -31,7 +32,10 @@ export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refre
31
32
  args: [userAddressParsed],
32
33
  chainId: Number(chain?.chainId),
33
34
  query: {
34
- enabled: isConnected && enabled && !!userAddress && !isNativeToken,
35
+ enabled: isConnected(ChainType.EVM) &&
36
+ enabled &&
37
+ !!userAddress &&
38
+ !isNativeToken,
35
39
  refetchInterval: refreshIntervalMs,
36
40
  retry: 2,
37
41
  },
@@ -42,7 +46,7 @@ export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refre
42
46
  };
43
47
  export const useCosmosBalance = ({ chainData, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
44
48
  const { isConnected } = useCosmosContext();
45
- const { tokens: cosmosBalances } = useAllTokensWithBalanceForChainType({
49
+ const { data: cosmosBalancesData } = useAllTokensWithBalanceForChainType({
46
50
  chainType: ChainType.COSMOS,
47
51
  address: chainData?.chainType === ChainType.COSMOS ? userAddress : undefined,
48
52
  });
@@ -53,7 +57,7 @@ export const useCosmosBalance = ({ chainData, token, userAddress, enabled = true
53
57
  chainData &&
54
58
  chainData.chainType === ChainType.COSMOS &&
55
59
  isConnected) {
56
- return (cosmosBalances?.find((b) => b.address === token?.address && b.chainId === chainData.chainId)?.balance ?? "0");
60
+ return (cosmosBalancesData?.tokens?.find((b) => b.address === token?.address && b.chainId === chainData.chainId)?.balance ?? "0");
57
61
  }
58
62
  return "0";
59
63
  },
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from "@tanstack/react-query";
2
+ import { TOKEN_PRICE_API_URL } from "../../core/constants";
2
3
  import { keys } from "../../core/queries/queries-keys";
3
- const TOKEN_PRICE_API_URL = `https://squid-app-v2-git-chore-wallet-squid-hooks-wiring-0xsquid.vercel.app/api/coingecko`;
4
4
  export const useMultipleTokenPrices = (tokens) => {
5
5
  const coingeckoIds = Array.from(new Set(tokens.map((token) => token.coingeckoId).filter(Boolean)));
6
6
  const coinGeckoQuery = useQuery({
@@ -1 +1 @@
1
- {"version":3,"file":"useMultipleTokenPrices.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultipleTokenPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAEvD,MAAM,mBAAmB,GAAG,2FAA2F,CAAC;AAcxH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAoC,EACpC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACtD,CAAC;IAEd,MAAM,cAAc,GAAG,QAAQ,CAA2B;QACxD,QAAQ,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC3B,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,MAAM;aAC5B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,mBAAmB,IAAI,MAAM,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE;YACR,GAAG,CAAC,EAAE,CAAC,GAAG;gBACR,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,IAAI,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC;aAC9B,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,WAAmB,EAA8B,EAAE,CACxE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE3B,OAAO;QACL,WAAW;QACX,aAAa;QACb,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useMultipleTokenPrices.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultipleTokenPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAcvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAoC,EACpC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACtD,CAAC;IAEd,MAAM,cAAc,GAAG,QAAQ,CAA2B;QACxD,QAAQ,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC3B,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,MAAM;aAC5B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,mBAAmB,IAAI,MAAM,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE;YACR,GAAG,CAAC,EAAE,CAAC,GAAG;gBACR,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,IAAI,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC;aAC9B,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,WAAmB,EAA8B,EAAE,CACxE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE3B,OAAO;QACL,WAAW;QACX,aAAa;QACb,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,17 +1,18 @@
1
1
  import { ChainType, } from "@0xsquid/squid-types";
2
2
  import { useMemo } from "react";
3
- import { useAccount, useBalance as useWagmiBalance } from "wagmi";
3
+ import { useBalance as useWagmiBalance } from "wagmi";
4
4
  import { useCosmosContext } from "../../core";
5
5
  import { findNativeToken, formatBNToReadable, parseToBigInt, } from "../../services";
6
+ import { useWallet } from "../wallet/useWallet";
6
7
  import { useCosmosBalance } from "./useBalance";
7
8
  import { useSquidTokens } from "./useSquidTokens";
8
9
  const useEvmNativeBalance = (chain, evmAddress) => {
9
- const { isConnected: isEvmConnected } = useAccount();
10
+ const { isConnected: isEvmConnected } = useWallet();
10
11
  return useWagmiBalance({
11
12
  address: evmAddress,
12
13
  chainId: Number(chain?.chainId),
13
14
  query: {
14
- enabled: isEvmConnected && chain?.chainType === ChainType.EVM,
15
+ enabled: isEvmConnected(ChainType.EVM) && !!evmAddress,
15
16
  refetchInterval: 10000,
16
17
  staleTime: 5000,
17
18
  refetchOnWindowFocus: true,
@@ -37,10 +38,9 @@ const useCosmosNativeBalance = (chain, cosmosAddress) => {
37
38
  return { nativeCosmosBalance, nativeCosmosToken, isLoading };
38
39
  };
39
40
  export const useNativeBalance = (chain) => {
40
- const { address: evmAddress } = useAccount();
41
- const { cosmosAddress } = useCosmosContext();
42
- const { data: nativeEvmBalance, isLoading: isEvmLoading } = useEvmNativeBalance(chain, evmAddress);
43
- const { nativeCosmosBalance, nativeCosmosToken, isLoading: isCosmosLoading, } = useCosmosNativeBalance(chain, cosmosAddress);
41
+ const { connectedAddresses } = useWallet();
42
+ const { data: nativeEvmBalance, isLoading: isEvmLoading } = useEvmNativeBalance(chain, connectedAddresses[ChainType.EVM]);
43
+ const { nativeCosmosBalance, nativeCosmosToken, isLoading: isCosmosLoading, } = useCosmosNativeBalance(chain, connectedAddresses[ChainType.COSMOS]);
44
44
  const nativeBalance = useMemo(() => {
45
45
  switch (chain?.chainType) {
46
46
  case ChainType.EVM:
@@ -1 +1 @@
1
- {"version":3,"file":"useNativeBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useNativeBalance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useNativeBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useNativeBalance.ts"],"names":[],"mappings":"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"}
@@ -115,9 +115,14 @@ export const useApproval = ({ squidRoute, }) => {
115
115
  }
116
116
  if (!!squidRoute && walletClient && fromToken && evmSigner) {
117
117
  await approveSpecificTokenToZero(fromToken);
118
- // If needed, we can switch the chain here
119
- // If already on the correct chain, this will do nothing
120
- await switchChainAsync({ chainId: Number(fromChain?.chainId) });
118
+ try {
119
+ // If needed, we can switch the chain here
120
+ // If already on the correct chain, this will do nothing
121
+ await switchChainAsync({ chainId: Number(fromChain?.chainId) });
122
+ }
123
+ catch (error) {
124
+ console.error("Error switching network:", error);
125
+ }
121
126
  const approved = await squid?.approveRoute({
122
127
  route: squidRoute,
123
128
  signer: evmSigner,
@@ -1 +1 @@
1
- {"version":3,"file":"useApproval.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useApproval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useApproval.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useApproval.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,6 @@
3
3
  * Safe will always be the priority connector
4
4
  * Because if it's present, this means the user is on a Safe app iframe
5
5
  */
6
- export declare const useAutoConnect: () => void;
6
+ export declare const useAutoConnect: () => {
7
+ autoConnect: () => Promise<void>;
8
+ };
@@ -1,9 +1,10 @@
1
- import { useEffect } from "react";
2
- import { useConnect } from "wagmi";
1
+ import { useCallback, useEffect, useRef } from "react";
2
+ import { useAccount, useConnect, useReconnect, } from "wagmi";
3
3
  import { PriorityConnectors } from "../../core/constants";
4
+ import { useSquidChains } from "../chains/useSquidChains";
5
+ import { useConfigStore } from "../store/useSquidStore";
6
+ import { useEvmWalletListener } from "./useWallet";
4
7
  const PRIORITY_CONNECTOR_ID = [PriorityConnectors.Safe];
5
- // TODO: THis is probably not the case anymore since we are using wagmi v2
6
- const WAGMI_LOCAL_STORAGE_WALLET_ID = "wagmi.wallet";
7
8
  /**
8
9
  * Auto connect to Safe provider if it's present
9
10
  * Safe will always be the priority connector
@@ -11,8 +12,13 @@ const WAGMI_LOCAL_STORAGE_WALLET_ID = "wagmi.wallet";
11
12
  */
12
13
  export const useAutoConnect = () => {
13
14
  const { connect, connectors } = useConnect();
14
- const wagmiLocalStorageWalletID = localStorage.getItem(WAGMI_LOCAL_STORAGE_WALLET_ID);
15
- useEffect(() => {
15
+ const { isConnecting } = useAccount();
16
+ const { chains } = useSquidChains();
17
+ const { isInitialized } = useConfigStore();
18
+ const hasAttemptedReconnect = useRef(false);
19
+ const { reconnect } = useReconnect();
20
+ useEvmWalletListener();
21
+ const autoConnect = useCallback(async () => {
16
22
  const queryParameters = new URLSearchParams(window.location.search);
17
23
  // TODO: At the moment gnosis was published without the embed parameter in the manifest,
18
24
  // but we should ask gnosis to change our app url to https://app.squidrouter.com/?embed="safe"
@@ -23,23 +29,46 @@ export const useAutoConnect = () => {
23
29
  priorityConnector = connectors.find((c) => c.id === embedType);
24
30
  }
25
31
  else {
26
- priorityConnector = connectors.find((c) => PRIORITY_CONNECTOR_ID.includes(c.id) && c.ready);
32
+ for await (const c of connectors) {
33
+ if (PRIORITY_CONNECTOR_ID.includes(c.id)) {
34
+ if (await c.isAuthorized()) {
35
+ priorityConnector = c;
36
+ break;
37
+ }
38
+ }
39
+ }
27
40
  }
28
41
  // Connect priority provider if it's present
29
- // Otherwise, connect to the last wallet used if authorized
30
42
  if (priorityConnector) {
31
43
  connect({ connector: priorityConnector });
32
44
  }
33
- else if (wagmiLocalStorageWalletID) {
34
- const wagmiLocalStorageWalletConnector = connectors.find((c) => c.id === JSON.parse(wagmiLocalStorageWalletID) && c.ready);
35
- // If we do not check this, the wallet will try to connect even if the user disconnected on purpose
36
- // Checking this will prevent the wallet to popup at each page refresh if the user is disconnected
37
- wagmiLocalStorageWalletConnector?.isAuthorized().then((isAuthorized) => {
38
- if (isAuthorized) {
39
- connect({ connector: wagmiLocalStorageWalletConnector });
45
+ else {
46
+ if (chains.length > 0 &&
47
+ isInitialized &&
48
+ !isConnecting &&
49
+ !hasAttemptedReconnect.current) {
50
+ try {
51
+ reconnect();
40
52
  }
41
- });
53
+ catch (error) {
54
+ console.error("Error auto connecting wallet:", error);
55
+ }
56
+ finally {
57
+ hasAttemptedReconnect.current = true;
58
+ }
59
+ }
42
60
  }
43
- }, [connect, connectors, wagmiLocalStorageWalletID]);
61
+ }, [
62
+ connectors,
63
+ connect,
64
+ chains.length,
65
+ isInitialized,
66
+ isConnecting,
67
+ reconnect,
68
+ ]);
69
+ useEffect(() => {
70
+ autoConnect();
71
+ }, [autoConnect]);
72
+ return { autoConnect };
44
73
  };
45
74
  //# sourceMappingURL=useAutoConnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoConnect.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useAutoConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAExD,0EAA0E;AAC1E,MAAM,6BAA6B,GAAG,cAAc,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAE7C,MAAM,yBAAyB,GAAG,YAAY,CAAC,OAAO,CACpD,6BAA6B,CAC9B,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,wFAAwF;QACxF,8FAA8F;QAC9F,mFAAmF;QACnF,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAuB,CAAC;QACrE,IAAI,iBAAsB,CAAC;QAE3B,IAAI,SAAS,EAAE;YACb,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;SAChE;aAAM;YACL,iBAAiB,GAAG,UAAU,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAwB,CAAC,IAAI,CAAC,CAAC,KAAK,CACxE,CAAC;SACH;QAED,4CAA4C;QAC5C,2DAA2D;QAC3D,IAAI,iBAAiB,EAAE;YACrB,OAAO,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;SAC3C;aAAM,IAAI,yBAAyB,EAAE;YACpC,MAAM,gCAAgC,GAAG,UAAU,CAAC,IAAI,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,KAAK,CACjE,CAAC;YACF,mGAAmG;YACnG,kGAAkG;YAClG,gCAAgC,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;gBACrE,IAAI,YAAY,EAAE;oBAChB,OAAO,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"useAutoConnect.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useAutoConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAGL,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAEpC,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC;IACrC,oBAAoB,EAAE,CAAC;IAEvB,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,wFAAwF;QACxF,8FAA8F;QAC9F,mFAAmF;QACnF,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAuB,CAAC;QACrE,IAAI,iBAA4D,CAAC;QAEjE,IAAI,SAAS,EAAE;YACb,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;SAChE;aAAM;YACL,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE;gBAChC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAwB,CAAC,EAAE;oBAC9D,IAAI,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;wBAC1B,iBAAiB,GAAG,CAAC,CAAC;wBACtB,MAAM;qBACP;iBACF;aACF;SACF;QAED,4CAA4C;QAC5C,IAAI,iBAAiB,EAAE;YACrB,OAAO,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;SAC3C;aAAM;YACL,IACE,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,aAAa;gBACb,CAAC,YAAY;gBACb,CAAC,qBAAqB,CAAC,OAAO,EAC9B;gBACA,IAAI;oBACF,SAAS,EAAE,CAAC;iBACb;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;iBACvD;wBAAS;oBACR,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC;iBACtC;aACF;SACF;IACH,CAAC,EAAE;QACD,UAAU;QACV,OAAO;QACP,MAAM,CAAC,MAAM;QACb,aAAa;QACb,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import SafeAppsSDK from "@safe-global/safe-apps-sdk";
1
+ import { SafeInfo } from "@safe-global/safe-apps-sdk";
2
2
  export declare const useGnosisContext: () => {
3
- getGnosisSafeContext: () => Promise<SafeAppsSDK | undefined>;
3
+ gnosisSafeInfo: SafeInfo | undefined;
4
4
  isSameAddressAndGnosisContext: boolean;
5
5
  isGnosisContext: boolean;
6
6
  getGnosisTransactionHash: (initialHash: string) => Promise<string>;
@@ -9,7 +9,8 @@ export const useGnosisContext = () => {
9
9
  const { fromChain } = useSwap();
10
10
  const { swapRoute } = useSwapRoutePersistStore();
11
11
  const { connectedAddress } = useMultiChainWallet(fromChain);
12
- const [isGnosisContext, setisGnosisContext] = useState(false);
12
+ const [isGnosisContext, setIsGnosisContext] = useState(false);
13
+ const [gnosisSafeInfo, setGnosisSafeInfo] = useState();
13
14
  /**
14
15
  * Method that will be used to send transaction
15
16
  * TODO: could have loaded the sdk when app load and stored globally
@@ -20,14 +21,15 @@ export const useGnosisContext = () => {
20
21
  const isSafeContext = safe.chainId !== undefined &&
21
22
  safe.safeAddress !== undefined &&
22
23
  connector?.id === "safe";
23
- setisGnosisContext(isSafeContext);
24
+ setGnosisSafeInfo(safe);
25
+ setIsGnosisContext(isSafeContext);
24
26
  if (isSafeContext)
25
27
  return appsSdk;
26
28
  return undefined;
27
29
  }, [connector]);
28
30
  useEffect(() => {
29
31
  getGnosisSafeContext();
30
- }, [connector]);
32
+ }, [getGnosisSafeContext]);
31
33
  /**
32
34
  * Check if we are in a Gnosis Safe Context
33
35
  * And if source wallet address = destination address
@@ -60,7 +62,7 @@ export const useGnosisContext = () => {
60
62
  return tx?.txHash ?? initialHash;
61
63
  };
62
64
  return {
63
- getGnosisSafeContext,
65
+ gnosisSafeInfo,
64
66
  isSameAddressAndGnosisContext,
65
67
  isGnosisContext,
66
68
  getGnosisTransactionHash,
@@ -1 +1 @@
1
- {"version":3,"file":"useGnosisContext.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useGnosisContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGnosisContext.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useGnosisContext.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { ChainData } from "@0xsquid/squid-types";
2
2
  import { ChainType } from "@0xsquid/squid-types";
3
3
  import type { Wallet } from "../../core/types/wallet";
4
- export declare const useEvmWalletListener: () => void;
5
4
  export declare const useWallet: () => {
6
5
  wallets: Wallet[];
7
6
  connectedWallets: Wallet[];
@@ -18,4 +17,6 @@ export declare const useWallet: () => {
18
17
  chain?: ChainData | undefined;
19
18
  }, unknown>;
20
19
  isWalletConnected: (wallet: Wallet) => boolean;
20
+ isConnected: (chainType: ChainType) => boolean;
21
21
  };
22
+ export declare const useEvmWalletListener: () => void;