@0xsquid/react-hooks 6.3.9-beta.8 → 6.3.9-evmos-beta.0

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 (137) hide show
  1. package/dist/core/abis/ics20.json +534 -0
  2. package/dist/core/constants.d.ts +1 -7
  3. package/dist/core/constants.js +1 -26
  4. package/dist/core/constants.js.map +1 -1
  5. package/dist/core/externalLinks.d.ts +1 -1
  6. package/dist/core/externalLinks.js +1 -1
  7. package/dist/core/externalLinks.js.map +1 -1
  8. package/dist/core/index.d.ts +1 -1
  9. package/dist/core/index.js +1 -1
  10. package/dist/core/index.js.map +1 -1
  11. package/dist/core/providers/CosmosProvider.d.ts +1 -1
  12. package/dist/core/providers/CosmosProvider.js.map +1 -1
  13. package/dist/core/queries/queries-keys.d.ts +4 -4
  14. package/dist/core/types/error.d.ts +1 -0
  15. package/dist/core/types/error.js.map +1 -1
  16. package/dist/core/types/transaction.d.ts +1 -0
  17. package/dist/core/types/wallet.d.ts +3 -21
  18. package/dist/core/types/wallet.js +0 -2
  19. package/dist/core/types/wallet.js.map +1 -1
  20. package/dist/core/wagmiConfig.js +32 -17
  21. package/dist/core/wagmiConfig.js.map +1 -1
  22. package/dist/core/wallets.js +0 -39
  23. package/dist/core/wallets.js.map +1 -1
  24. package/dist/hooks/chains/useSquidChains.js +1 -1
  25. package/dist/hooks/chains/useSquidChains.js.map +1 -1
  26. package/dist/hooks/cosmos/useCosmos.js +15 -5
  27. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  28. package/dist/hooks/evmos/useIcs20Allowance.d.ts +142 -0
  29. package/dist/hooks/evmos/useIcs20Allowance.js +34 -0
  30. package/dist/hooks/evmos/useIcs20Allowance.js.map +1 -0
  31. package/dist/hooks/index.d.ts +0 -1
  32. package/dist/hooks/index.js +0 -1
  33. package/dist/hooks/index.js.map +1 -1
  34. package/dist/hooks/squid/useSquid.js +1 -1
  35. package/dist/hooks/squid/useSquid.js.map +1 -1
  36. package/dist/hooks/store/useWalletStore.js +6 -5
  37. package/dist/hooks/store/useWalletStore.js.map +1 -1
  38. package/dist/hooks/swap/useSwap.js +3 -9
  39. package/dist/hooks/swap/useSwap.js.map +1 -1
  40. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +1 -12
  41. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  42. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +5 -4
  43. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +16 -30
  44. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  45. package/dist/hooks/tokens/useBalance.d.ts +246 -18
  46. package/dist/hooks/tokens/useBalance.js +26 -63
  47. package/dist/hooks/tokens/useBalance.js.map +1 -1
  48. package/dist/hooks/tokens/useMultiChainBalance.d.ts +1 -1
  49. package/dist/hooks/tokens/useMultiChainBalance.js +19 -18
  50. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  51. package/dist/hooks/tokens/useNativeBalance.d.ts +18 -16
  52. package/dist/hooks/tokens/useNativeBalance.js +52 -121
  53. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  54. package/dist/hooks/tokens/useNativeTokenForChain.js +4 -6
  55. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
  56. package/dist/hooks/tokens/useSquidTokens.d.ts +11 -2
  57. package/dist/hooks/tokens/useSquidTokens.js +16 -10
  58. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  59. package/dist/hooks/transaction/useApproval.js +75 -16
  60. package/dist/hooks/transaction/useApproval.js.map +1 -1
  61. package/dist/hooks/transaction/useEstimate.js +1 -1
  62. package/dist/hooks/transaction/useEstimate.js.map +1 -1
  63. package/dist/hooks/transaction/useExecuteTransaction.d.ts +2 -0
  64. package/dist/hooks/transaction/useExecuteTransaction.js +53 -72
  65. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  66. package/dist/hooks/transaction/useGetRoute.d.ts +8 -7
  67. package/dist/hooks/transaction/useGetRoute.js +15 -219
  68. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  69. package/dist/hooks/transaction/useSingleTransaction.js +1 -1
  70. package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
  71. package/dist/hooks/user/useUserParams.js +1 -1
  72. package/dist/hooks/user/useUserParams.js.map +1 -1
  73. package/dist/hooks/wallet/useIntegratorContext.js +1 -1
  74. package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
  75. package/dist/hooks/wallet/useMultiChainWallet.d.ts +4 -10
  76. package/dist/hooks/wallet/useMultiChainWallet.js +55 -43
  77. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  78. package/dist/hooks/wallet/useSigner.d.ts +2 -2
  79. package/dist/hooks/wallet/useSigner.js +3 -34
  80. package/dist/hooks/wallet/useSigner.js.map +1 -1
  81. package/dist/hooks/wallet/useWallet.d.ts +1 -1
  82. package/dist/hooks/wallet/useWallet.js +5 -14
  83. package/dist/hooks/wallet/useWallet.js.map +1 -1
  84. package/dist/provider/index.d.ts +1 -1
  85. package/dist/provider/index.js +7 -7
  86. package/dist/provider/index.js.map +1 -1
  87. package/dist/services/external/rpcService.d.ts +1 -4
  88. package/dist/services/external/rpcService.js +8 -96
  89. package/dist/services/external/rpcService.js.map +1 -1
  90. package/dist/services/index.d.ts +0 -1
  91. package/dist/services/index.js +0 -1
  92. package/dist/services/index.js.map +1 -1
  93. package/dist/services/internal/assetsService.d.ts +11 -4
  94. package/dist/services/internal/assetsService.js +77 -136
  95. package/dist/services/internal/assetsService.js.map +1 -1
  96. package/dist/services/internal/cosmosService.d.ts +13 -3
  97. package/dist/services/internal/cosmosService.js +1 -1
  98. package/dist/services/internal/cosmosService.js.map +1 -1
  99. package/dist/services/internal/errorService.d.ts +5 -1
  100. package/dist/services/internal/errorService.js +35 -21
  101. package/dist/services/internal/errorService.js.map +1 -1
  102. package/dist/services/internal/evmService.d.ts +7 -2
  103. package/dist/services/internal/evmService.js +6 -0
  104. package/dist/services/internal/evmService.js.map +1 -1
  105. package/dist/services/internal/solanaService.d.ts +5 -2
  106. package/dist/services/internal/solanaService.js.map +1 -1
  107. package/dist/services/internal/transactionService.d.ts +2 -1
  108. package/dist/services/internal/transactionService.js +1 -10
  109. package/dist/services/internal/transactionService.js.map +1 -1
  110. package/dist/services/internal/walletService.d.ts +11 -21
  111. package/dist/services/internal/walletService.js +17 -44
  112. package/dist/services/internal/walletService.js.map +1 -1
  113. package/package.json +7 -8
  114. package/dist/core/connectors/xrp/CrossMark.d.ts +0 -16
  115. package/dist/core/connectors/xrp/CrossMark.js +0 -30
  116. package/dist/core/connectors/xrp/CrossMark.js.map +0 -1
  117. package/dist/core/connectors/xrp/XrpMetamaskSnap.d.ts +0 -40
  118. package/dist/core/connectors/xrp/XrpMetamaskSnap.js +0 -204
  119. package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +0 -1
  120. package/dist/core/types/xrp.d.ts +0 -23
  121. package/dist/core/types/xrp.js +0 -2
  122. package/dist/core/types/xrp.js.map +0 -1
  123. package/dist/core/xrp/config.d.ts +0 -21
  124. package/dist/core/xrp/config.js +0 -53
  125. package/dist/core/xrp/config.js.map +0 -1
  126. package/dist/hooks/xrp/useXrp.d.ts +0 -7
  127. package/dist/hooks/xrp/useXrp.js +0 -22
  128. package/dist/hooks/xrp/useXrp.js.map +0 -1
  129. package/dist/hooks/xrp/useXrpPrice.d.ts +0 -1
  130. package/dist/hooks/xrp/useXrpPrice.js +0 -12
  131. package/dist/hooks/xrp/useXrpPrice.js.map +0 -1
  132. package/dist/services/internal/xrpService.d.ts +0 -27
  133. package/dist/services/internal/xrpService.js +0 -86
  134. package/dist/services/internal/xrpService.js.map +0 -1
  135. package/dist/services/internal/xrpStatusService.d.ts +0 -4
  136. package/dist/services/internal/xrpStatusService.js +0 -100
  137. package/dist/services/internal/xrpStatusService.js.map +0 -1
@@ -1,91 +1,82 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
2
  import { useQuery } from "@tanstack/react-query";
3
- import { useReadContract, useBalance as useWagmiBalance } from "wagmi";
4
- import { useMemo } from "react";
3
+ import { useBalance, useReadContract } from "wagmi";
5
4
  import { erc20Abi } from "viem";
6
5
  import { useCosmosContext } from "../../core";
7
6
  import { nativeEvmTokenAddress } from "../../core/constants";
8
7
  import { keys } from "../../core/queries/queries-keys";
9
8
  import { formatBNToReadable, isCosmosAddressValid } from "../../services";
10
- import { getCosmosTokenBalance, getSolanaTokenBalance, getXrpTokenBalance, } from "../../services/external/rpcService";
11
- import { isXrpAddressValid } from "../../services/internal/xrpService";
9
+ import { getCosmosTokenBalance, getSolanaTokenBalance, } from "../../services/external/rpcService";
12
10
  import { useWallet } from "../wallet/useWallet";
13
11
  import { useBitcoinNativeBalance } from "./useNativeBalance";
14
12
  const DEFAULT_REFRESH_INTERVAL_MS = 15000;
15
13
  export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
16
- const { isChainTypeConnected } = useWallet();
14
+ const { isConnected } = useWallet();
17
15
  const isNativeToken = token?.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
18
16
  const userAddressParsed = userAddress;
19
17
  // Only fetch using useBalance if it's a native token
20
- const { data: nativeBalance, isLoading: isNativeTokenLoading } = useWagmiBalance({
18
+ const { data: nativeBalance } = useBalance({
21
19
  address: userAddressParsed,
22
20
  chainId: Number(chain?.chainId),
23
21
  query: {
24
- enabled: isChainTypeConnected(ChainType.EVM) &&
25
- enabled &&
26
- !!userAddress &&
27
- isNativeToken,
22
+ enabled: isConnected(ChainType.EVM) && enabled && !!userAddress && isNativeToken,
28
23
  refetchInterval: refreshIntervalMs,
29
24
  retry: 2,
30
25
  },
31
26
  });
32
27
  // Only fetch using useReadContract if it's not a native token
33
28
  // This is temporary, because of wagmi error: https://github.com/wevm/wagmi/issues/4353
34
- const { data: erc20Balance, isLoading: isErc20Loading } = useReadContract({
29
+ const { data: erc20Balance } = useReadContract({
35
30
  address: token?.address,
36
31
  abi: erc20Abi,
37
32
  functionName: "balanceOf",
38
33
  args: [userAddressParsed],
39
34
  chainId: Number(chain?.chainId),
40
35
  query: {
41
- enabled: isChainTypeConnected(ChainType.EVM) &&
36
+ enabled: isConnected(ChainType.EVM) &&
42
37
  enabled &&
43
38
  !!userAddress &&
44
- !isNativeToken &&
45
- token?.type === ChainType.EVM,
39
+ !isNativeToken,
46
40
  refetchInterval: refreshIntervalMs,
47
41
  retry: 2,
48
42
  },
49
43
  });
50
44
  const balance = isNativeToken ? nativeBalance?.value : erc20Balance;
51
- const isLoading = isNativeToken ? isNativeTokenLoading : isErc20Loading;
52
- const formattedBalance = balance != null && token?.decimals != null
53
- ? formatBNToReadable(balance, token.decimals)
54
- : "0";
55
- return { balance: formattedBalance, isLoading };
45
+ const formattedBalance = formatBNToReadable(balance ?? BigInt(0), token?.decimals ?? 18);
46
+ return { balance: formattedBalance };
56
47
  };
57
- export const useCosmosBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
48
+ export const useCosmosBalance = ({ chainData, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
58
49
  const { isConnected } = useCosmosContext();
59
- const { data: balance = "0", isLoading } = useQuery({
60
- queryKey: keys().balance(chain?.chainId, token?.address, userAddress),
50
+ const query = useQuery({
51
+ queryKey: keys().balance(chainData?.chainId, token?.address, userAddress),
61
52
  queryFn: async () => {
62
- if (!userAddress || !token || chain?.chainType !== ChainType.COSMOS) {
53
+ if (!userAddress || !token || chainData?.chainType !== ChainType.COSMOS) {
63
54
  return "0";
64
55
  }
65
- const isAddressValid = isCosmosAddressValid(chain.bech32Config.bech32PrefixAccAddr, userAddress);
56
+ const isAddressValid = isCosmosAddressValid(chainData.bech32Config.bech32PrefixAccAddr, userAddress);
66
57
  if (!isAddressValid)
67
58
  return "0";
68
- const balanceBn = await getCosmosTokenBalance(chain.rpc, userAddress, token.address);
69
- return formatBNToReadable(balanceBn, token.decimals);
59
+ const balance = await getCosmosTokenBalance(chainData.rpc, userAddress, token.address);
60
+ return formatBNToReadable(balance, token.decimals);
70
61
  },
71
62
  enabled: isConnected &&
72
63
  enabled &&
73
64
  !!userAddress &&
74
65
  !!token &&
75
- chain?.chainType === ChainType.COSMOS,
66
+ chainData?.chainType === ChainType.COSMOS,
76
67
  refetchInterval: refreshIntervalMs,
77
68
  retry: 2,
78
69
  });
79
- return { balance, isLoading };
70
+ return { ...query, balance: query.data ?? "0" };
80
71
  };
81
72
  export const useSolanaBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
82
- const { data: balance = "0", isLoading } = useQuery({
73
+ const query = useQuery({
83
74
  queryKey: keys().balance(chain?.chainId, token?.address, userAddress),
84
75
  queryFn: async () => {
85
76
  if (!userAddress || !token)
86
77
  return "0";
87
- const balanceBn = await getSolanaTokenBalance(userAddress, token.address);
88
- return formatBNToReadable(balanceBn, token.decimals);
78
+ const balance = await getSolanaTokenBalance(userAddress, token.address);
79
+ return formatBNToReadable(balance, token.decimals);
89
80
  },
90
81
  enabled: enabled &&
91
82
  !!userAddress &&
@@ -94,39 +85,11 @@ export const useSolanaBalance = ({ chain, token, userAddress, enabled = true, re
94
85
  refetchInterval: refreshIntervalMs,
95
86
  retry: 2,
96
87
  });
97
- return { balance, isLoading };
88
+ return { ...query, balance: query.data ?? "0" };
98
89
  };
99
90
  // TODO: implement fetching balances for all bitcoin tokens
100
- export const useBitcoinBalance = ({ userAddress, chain, }) => {
101
- const { balance: balanceBn, isLoading } = useBitcoinNativeBalance({
102
- address: userAddress,
103
- chain,
104
- });
105
- const balance = useMemo(() => {
106
- if (!balanceBn)
107
- return "0";
108
- return formatBNToReadable(balanceBn?.value, balanceBn?.decimals);
109
- }, [balanceBn]);
110
- return { balance, isLoading };
111
- };
112
- export const useXrpBalance = ({ userAddress, chain, enabled, token, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
113
- const { data: balance = "0", isLoading } = useQuery({
114
- queryKey: keys().balance(chain?.chainId, token?.address, userAddress),
115
- queryFn: async () => {
116
- if (!userAddress || !token || !chain)
117
- return "0";
118
- const balanceBn = await getXrpTokenBalance(userAddress, token.address, chain.rpc);
119
- return formatBNToReadable(balanceBn, token.decimals) ?? "0";
120
- },
121
- enabled: enabled &&
122
- !!userAddress &&
123
- !!token &&
124
- !!chain?.rpc &&
125
- chain?.chainType === ChainType.XRP &&
126
- isXrpAddressValid(userAddress),
127
- refetchInterval: refreshIntervalMs,
128
- retry: 2,
129
- });
130
- return { balance, isLoading };
91
+ export const useBitcoinBalance = ({ address, chain, }) => {
92
+ const { data: balance } = useBitcoinNativeBalance(chain, address);
93
+ return { balance };
131
94
  };
132
95
  //# 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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"}
@@ -1,6 +1,6 @@
1
1
  import type { ChainData, Token } from "@0xsquid/squid-types";
2
2
  /**
3
- * Hook to get balance depending on the chain type
3
+ * Exposes a hook to get balance depending on the chain type (EVM or Cosmos)
4
4
  * @param {ChainData} chain
5
5
  * @param {Token} token
6
6
  * @param {string} userAddress
@@ -1,44 +1,48 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
- import { useBitcoinBalance, useCosmosBalance, useEvmBalance, useSolanaBalance, useXrpBalance, } from "./useBalance";
2
+ import { useBitcoinBalance, useCosmosBalance, useEvmBalance, useSolanaBalance, } from "../../hooks/tokens/useBalance";
3
3
  /**
4
- * Hook to get balance depending on the chain type
4
+ * Exposes a hook to get balance depending on the chain type (EVM or Cosmos)
5
5
  * @param {ChainData} chain
6
6
  * @param {Token} token
7
7
  * @param {string} userAddress
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
+ /**
13
+ * Get balance for EVM
14
+ */
12
15
  const { balance: evmBalance } = useEvmBalance({
13
- chain,
16
+ chain: chain,
14
17
  token,
15
18
  userAddress,
16
19
  enabled: chain?.chainType === ChainType.EVM && enabled,
17
20
  });
21
+ /**
22
+ * Get balance for Cosmos
23
+ */
18
24
  const { balance: cosmosBalance } = useCosmosBalance({
19
- chain,
25
+ chainData: chain,
20
26
  token,
21
27
  userAddress,
22
28
  enabled: chain?.chainType === ChainType.COSMOS && enabled,
23
29
  });
30
+ /**
31
+ * Get balance for Bitcoin
32
+ */
24
33
  const { balance: bitcoinBalance } = useBitcoinBalance({
25
34
  chain,
26
- token,
27
- userAddress,
28
- enabled: chain?.chainType === ChainType.BTC && enabled,
35
+ address: userAddress,
29
36
  });
37
+ /**
38
+ * Get balance for Solana
39
+ */
30
40
  const { balance: solanaBalance } = useSolanaBalance({
31
41
  chain,
32
42
  token,
33
43
  userAddress,
34
44
  enabled: chain?.chainType === ChainType.SOLANA && enabled,
35
45
  });
36
- const { balance: xrpBalance } = useXrpBalance({
37
- chain,
38
- token,
39
- userAddress,
40
- enabled: chain?.chainType === ChainType.XRP && enabled,
41
- });
42
46
  let balance;
43
47
  switch (chain?.chainType) {
44
48
  case ChainType.EVM:
@@ -53,11 +57,8 @@ export const useMultiChainBalance = ({ chain, token, userAddress, enabled = true
53
57
  case ChainType.SOLANA:
54
58
  balance = solanaBalance;
55
59
  break;
56
- case ChainType.XRP:
57
- balance = xrpBalance;
58
- break;
59
60
  default:
60
- break;
61
+ balance = undefined;
61
62
  }
62
63
  return { balance };
63
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiChainBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultiChainBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,GAAG,IAAI,GAMf,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QAC5C,KAAK;QACL,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,OAAO;KACvD,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC;QAClD,KAAK;QACL,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM,IAAI,OAAO;KAC1D,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC;QACpD,KAAK;QACL,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,OAAO;KACvD,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC;QAClD,KAAK;QACL,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM,IAAI,OAAO;KAC1D,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QAC5C,KAAK;QACL,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,OAAO;KACvD,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,cAAc,CAAC;YACzB,MAAM;QACR,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,GAAG,aAAa,CAAC;YACxB,MAAM;QACR,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,UAAU,CAAC;YACrB,MAAM;QACR;YACE,MAAM;KACT;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,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;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;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM,IAAI,OAAO;KAC1D,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC;QACpD,KAAK;QACL,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC;QAClD,KAAK;QACL,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM,IAAI,OAAO;KAC1D,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,cAAc,CAAC;YACzB,MAAM;QACR,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,GAAG,aAAa,CAAC;YACxB,MAAM;QACR;YACE,OAAO,GAAG,SAAS,CAAC;KACvB;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC"}
@@ -1,22 +1,24 @@
1
1
  import { ChainData } from "@0xsquid/squid-types";
2
- interface Balance {
3
- decimals: number;
4
- value: bigint;
5
- }
6
- interface UseNativeBalanceResult {
7
- balance: Balance | undefined;
2
+ export declare const useBitcoinNativeBalance: (chain?: ChainData, address?: string) => {
3
+ data: string | undefined;
8
4
  isLoading: boolean;
9
- }
10
- interface UseNativeBalanceOptions {
11
- chain: ChainData | undefined;
12
- address: string | undefined;
13
- }
14
- export declare const useBitcoinNativeBalance: ({ chain, address, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
15
- export declare const useSolanaNativeBalance: ({ chain, address, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
16
- export declare const useXrpNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
5
+ nativeToken: import("@0xsquid/squid-types").Token | undefined;
6
+ };
7
+ export declare const useSolanaNativeBalance: (chain?: ChainData, address?: string) => {
8
+ data: string | undefined;
9
+ isLoading: boolean;
10
+ nativeToken: import("@0xsquid/squid-types").Token | undefined;
11
+ };
17
12
  export declare const useNativeBalance: (chain?: ChainData) => {
18
- nativeBalance: Balance | undefined;
13
+ nativeBalance: {
14
+ decimals: number;
15
+ formatted: string;
16
+ symbol: string;
17
+ value: bigint;
18
+ } | {
19
+ decimals: number;
20
+ value: bigint;
21
+ } | undefined;
19
22
  nativeBalanceFormatted: string | undefined;
20
23
  isLoading: boolean;
21
24
  };
22
- export {};
@@ -1,4 +1,4 @@
1
- import { ChainType } from "@0xsquid/squid-types";
1
+ import { ChainType, } from "@0xsquid/squid-types";
2
2
  import { useQuery } from "@tanstack/react-query";
3
3
  import { useMemo } from "react";
4
4
  import { useBalance as useWagmiBalance } from "wagmi";
@@ -8,59 +8,37 @@ import { formatBNToReadable, isWalletAddressValid, parseToBigInt, } from "../../
8
8
  import { getBitcoinNativeBalance, getSolanaNativeBalance, } from "../../services/external/rpcService";
9
9
  import { useCosmosForChain } from "../cosmos/useCosmosForChain";
10
10
  import { useWallet } from "../wallet/useWallet";
11
- import { useCosmosBalance, useXrpBalance } from "./useBalance";
11
+ import { useCosmosBalance } from "./useBalance";
12
12
  import { useNativeTokenForChain } from "./useNativeTokenForChain";
13
- const useEvmNativeBalance = ({ address, chain, }) => {
14
- const { isChainTypeConnected } = useWallet();
15
- const { data: nativeEvmBalance, isLoading } = useWagmiBalance({
16
- address: address,
13
+ const useEvmNativeBalance = (chain, evmAddress) => {
14
+ const { isConnected: isEvmConnected } = useWallet();
15
+ return useWagmiBalance({
16
+ address: evmAddress,
17
17
  chainId: Number(chain?.chainId),
18
18
  query: {
19
- enabled: isChainTypeConnected(ChainType.EVM) && !!address,
19
+ enabled: isEvmConnected(ChainType.EVM) && !!evmAddress,
20
20
  refetchInterval: 10000,
21
21
  staleTime: 5000,
22
22
  refetchOnWindowFocus: true,
23
23
  refetchOnMount: true,
24
24
  },
25
25
  });
26
- const balance = useMemo(() => {
27
- if (nativeEvmBalance?.decimals && nativeEvmBalance?.value) {
28
- return {
29
- decimals: nativeEvmBalance.decimals,
30
- value: nativeEvmBalance.value,
31
- };
32
- }
33
- return;
34
- }, [nativeEvmBalance?.decimals, nativeEvmBalance?.value]);
35
- return {
36
- balance,
37
- isLoading,
38
- };
39
26
  };
40
- const useCosmosNativeBalance = ({ address, chain, }) => {
27
+ const useCosmosNativeBalance = (chain, cosmosAddress) => {
41
28
  const { isConnected: isCosmosConnected } = useCosmosContext();
42
29
  const { nativeToken: nativeCosmosToken } = useNativeTokenForChain(chain);
43
- const { balance: rawBalance, isLoading } = useCosmosBalance({
44
- chain,
30
+ const { balance: nativeCosmosBalance, isLoading } = useCosmosBalance({
31
+ chainData: chain,
45
32
  token: nativeCosmosToken,
46
- userAddress: address,
33
+ userAddress: cosmosAddress,
47
34
  enabled: isCosmosConnected && chain?.chainType === ChainType.COSMOS,
48
35
  refreshIntervalMs: 10000,
49
36
  });
50
- const balance = useMemo(() => {
51
- if (nativeCosmosToken?.decimals && rawBalance) {
52
- return {
53
- decimals: nativeCosmosToken.decimals,
54
- value: parseToBigInt(rawBalance, nativeCosmosToken.decimals),
55
- };
56
- }
57
- return;
58
- }, [nativeCosmosToken?.decimals, rawBalance]);
59
- return { balance, isLoading };
37
+ return { nativeCosmosBalance, nativeCosmosToken, isLoading };
60
38
  };
61
- export const useBitcoinNativeBalance = ({ chain, address, }) => {
39
+ export const useBitcoinNativeBalance = (chain, address) => {
62
40
  const { nativeToken } = useNativeTokenForChain(chain);
63
- const { data: rawBalance = "0", isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
41
+ const { data, isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
64
42
  if (!address || !nativeToken)
65
43
  return "0";
66
44
  const balance = await getBitcoinNativeBalance(address);
@@ -74,22 +52,15 @@ export const useBitcoinNativeBalance = ({ chain, address, }) => {
74
52
  refetchOnWindowFocus: true,
75
53
  refetchOnMount: true,
76
54
  });
77
- const balance = useMemo(() => {
78
- if (nativeToken?.decimals && rawBalance) {
79
- return {
80
- decimals: nativeToken.decimals,
81
- value: parseToBigInt(rawBalance, nativeToken.decimals),
82
- };
83
- }
84
- }, [nativeToken?.decimals, rawBalance]);
85
55
  return {
86
- balance,
56
+ data,
87
57
  isLoading,
58
+ nativeToken,
88
59
  };
89
60
  };
90
- export const useSolanaNativeBalance = ({ chain, address, }) => {
61
+ export const useSolanaNativeBalance = (chain, address) => {
91
62
  const { nativeToken } = useNativeTokenForChain(chain);
92
- const { data: rawBalance, isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
63
+ const { data, isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
93
64
  const balance = await getSolanaNativeBalance(address);
94
65
  return formatBNToReadable(balance, nativeToken.decimals);
95
66
  }, {
@@ -101,97 +72,58 @@ export const useSolanaNativeBalance = ({ chain, address, }) => {
101
72
  refetchOnWindowFocus: true,
102
73
  refetchOnMount: true,
103
74
  });
104
- const balance = useMemo(() => {
105
- if (nativeToken?.decimals && rawBalance) {
106
- return {
107
- decimals: nativeToken.decimals,
108
- value: parseToBigInt(rawBalance, nativeToken.decimals),
109
- };
110
- }
111
- }, [nativeToken?.decimals, rawBalance]);
112
- return {
113
- balance,
114
- isLoading,
115
- };
116
- };
117
- export const useXrpNativeBalance = ({ address, chain, }) => {
118
- const { nativeToken } = useNativeTokenForChain(chain);
119
- const { balance: rawBalance, isLoading } = useXrpBalance({
120
- chain,
121
- token: nativeToken,
122
- userAddress: address,
123
- enabled: chain?.chainType === ChainType.XRP,
124
- });
125
- const balance = useMemo(() => {
126
- if (nativeToken?.decimals && rawBalance) {
127
- return {
128
- decimals: nativeToken.decimals,
129
- value: parseToBigInt(rawBalance, nativeToken.decimals),
130
- };
131
- }
132
- }, [nativeToken?.decimals, rawBalance]);
133
75
  return {
134
- balance,
76
+ data,
135
77
  isLoading,
78
+ nativeToken,
136
79
  };
137
80
  };
138
81
  export const useNativeBalance = (chain) => {
139
82
  const { connectedAddresses } = useWallet();
140
83
  const { data: cosmosAddressForChain } = useCosmosForChain(chain);
141
- // Cosmos is a special case because the address changes on every chain
142
- // so we can't use the default cosmos connected address
143
- const { balance: nativeCosmosBalance, isLoading: isCosmosLoading } = useCosmosNativeBalance({
144
- address: cosmosAddressForChain,
145
- chain,
146
- });
147
- const { balance: nativeEvmBalance, isLoading: isEvmLoading } = useEvmNativeBalance({ address: connectedAddresses[ChainType.EVM], chain });
148
- const { balance: nativeBitcoinBalance, isLoading: isBitcoinLoading } = useBitcoinNativeBalance({
149
- address: connectedAddresses[ChainType.BTC],
150
- chain,
151
- });
152
- const { balance: nativeSolanaBalance, isLoading: isSolanaLoading } = useSolanaNativeBalance({
153
- address: connectedAddresses[ChainType.SOLANA],
154
- chain,
155
- });
156
- const { balance: nativeXrpBalance, isLoading: isXrpLoading } = useXrpNativeBalance({
157
- address: connectedAddresses[ChainType.XRP],
158
- chain,
159
- });
160
- const { nativeBalance, nativeBalanceFormatted } = useMemo(() => {
161
- let balance;
84
+ const { data: nativeEvmBalance, isLoading: isEvmLoading } = useEvmNativeBalance(chain, connectedAddresses[ChainType.EVM]);
85
+ const { nativeCosmosBalance, nativeCosmosToken, isLoading: isCosmosLoading, } = useCosmosNativeBalance(chain, cosmosAddressForChain);
86
+ const { data: nativeBitcoinBalance, isLoading: isBitcoinLoading, nativeToken: nativeBitcoinToken, } = useBitcoinNativeBalance(chain, connectedAddresses[ChainType.BTC]);
87
+ const { data: nativeSolanaBalance, isLoading: isSolanaLoading, nativeToken: nativeSolanaToken, } = useSolanaNativeBalance(chain, connectedAddresses[ChainType.SOLANA]);
88
+ const nativeBalance = useMemo(() => {
162
89
  switch (chain?.chainType) {
163
90
  case ChainType.EVM:
164
- balance = nativeEvmBalance;
165
- break;
91
+ return nativeEvmBalance?.decimals && nativeEvmBalance?.value
92
+ ? nativeEvmBalance
93
+ : undefined;
166
94
  case ChainType.COSMOS:
167
- balance = nativeCosmosBalance;
168
- break;
95
+ return nativeCosmosToken?.decimals && nativeCosmosBalance
96
+ ? {
97
+ decimals: nativeCosmosToken.decimals,
98
+ value: parseToBigInt(nativeCosmosBalance, nativeCosmosToken.decimals),
99
+ }
100
+ : undefined;
169
101
  case ChainType.BTC:
170
- balance = nativeBitcoinBalance;
171
- break;
102
+ return nativeBitcoinBalance && nativeBitcoinToken?.decimals
103
+ ? {
104
+ decimals: nativeBitcoinToken.decimals,
105
+ value: parseToBigInt(nativeBitcoinBalance, nativeBitcoinToken.decimals),
106
+ }
107
+ : undefined;
172
108
  case ChainType.SOLANA:
173
- balance = nativeSolanaBalance;
174
- break;
175
- case ChainType.XRP:
176
- balance = nativeXrpBalance;
177
- break;
109
+ return nativeSolanaBalance && nativeSolanaToken?.decimals
110
+ ? {
111
+ decimals: nativeSolanaToken.decimals,
112
+ value: parseToBigInt(nativeSolanaBalance, nativeSolanaToken.decimals),
113
+ }
114
+ : undefined;
178
115
  default:
179
- break;
116
+ return undefined;
180
117
  }
181
- const balanceFormatted = !!balance
182
- ? formatBNToReadable(balance.value, balance.decimals)
183
- : undefined;
184
- return {
185
- nativeBalance: balance,
186
- nativeBalanceFormatted: balanceFormatted,
187
- };
188
118
  }, [
189
119
  chain?.chainType,
190
120
  nativeEvmBalance,
121
+ nativeCosmosToken?.decimals,
191
122
  nativeCosmosBalance,
123
+ nativeBitcoinToken?.decimals,
192
124
  nativeBitcoinBalance,
193
125
  nativeSolanaBalance,
194
- nativeXrpBalance,
126
+ nativeSolanaToken?.decimals,
195
127
  ]);
196
128
  const isLoading = useMemo(() => {
197
129
  switch (chain?.chainType) {
@@ -203,8 +135,6 @@ export const useNativeBalance = (chain) => {
203
135
  return isBitcoinLoading;
204
136
  case ChainType.SOLANA:
205
137
  return isSolanaLoading;
206
- case ChainType.XRP:
207
- return isXrpLoading;
208
138
  default:
209
139
  return false;
210
140
  }
@@ -214,8 +144,9 @@ export const useNativeBalance = (chain) => {
214
144
  isCosmosLoading,
215
145
  isBitcoinLoading,
216
146
  isSolanaLoading,
217
- isXrpLoading,
218
147
  ]);
148
+ const nativeBalanceFormatted = nativeBalance &&
149
+ formatBNToReadable(nativeBalance?.value, nativeBalance?.decimals);
219
150
  return { nativeBalance, nativeBalanceFormatted, isLoading };
220
151
  };
221
152
  //# sourceMappingURL=useNativeBalance.js.map
@@ -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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"}
@@ -3,11 +3,9 @@ import { useMemo } from "react";
3
3
  import { findNativeToken } from "../../services";
4
4
  import { useSquidTokens } from "./useSquidTokens";
5
5
  export function useNativeTokenForChain(chain) {
6
- const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, xrpTokens } = useSquidTokens();
6
+ const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens } = useSquidTokens();
7
7
  const getTokensForChainType = () => {
8
- if (!chain?.chainType)
9
- return [];
10
- switch (chain.chainType) {
8
+ switch (chain?.chainType) {
11
9
  case ChainType.EVM:
12
10
  return evmTokens;
13
11
  case ChainType.COSMOS:
@@ -16,8 +14,8 @@ export function useNativeTokenForChain(chain) {
16
14
  return solanaTokens;
17
15
  case ChainType.BTC:
18
16
  return bitcoinTokens;
19
- case ChainType.XRP:
20
- return xrpTokens;
17
+ default:
18
+ return [];
21
19
  }
22
20
  };
23
21
  const nativeTokenForChainType = useMemo(() => {