@0xsquid/react-hooks 6.4.6 → 6.4.7-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 (132) hide show
  1. package/dist/core/connectors/bitcoin/errors/index.d.ts +2 -1
  2. package/dist/core/connectors/bitcoin/errors/index.js +1 -1
  3. package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
  4. package/dist/core/constants.d.ts +7 -4
  5. package/dist/core/constants.js +21 -4
  6. package/dist/core/constants.js.map +1 -1
  7. package/dist/core/externalLinks.d.ts +1 -1
  8. package/dist/core/externalLinks.js +1 -1
  9. package/dist/core/index.d.ts +1 -1
  10. package/dist/core/index.js +1 -1
  11. package/dist/core/index.js.map +1 -1
  12. package/dist/core/providers/CosmosProvider.d.ts +1 -1
  13. package/dist/core/providers/CosmosProvider.js.map +1 -1
  14. package/dist/core/providers/SuiProvider.d.ts +19 -0
  15. package/dist/core/providers/SuiProvider.js +15 -0
  16. package/dist/core/providers/SuiProvider.js.map +1 -0
  17. package/dist/core/queries/queries-keys.d.ts +4 -4
  18. package/dist/core/types/error.d.ts +0 -1
  19. package/dist/core/types/error.js.map +1 -1
  20. package/dist/core/types/rpc.d.ts +10 -0
  21. package/dist/core/types/rpc.js +2 -0
  22. package/dist/core/types/rpc.js.map +1 -0
  23. package/dist/core/types/sui.d.ts +14 -0
  24. package/dist/core/types/sui.js +2 -0
  25. package/dist/core/types/sui.js.map +1 -0
  26. package/dist/core/types/transaction.d.ts +0 -1
  27. package/dist/core/types/wallet.d.ts +19 -2
  28. package/dist/core/types/wallet.js.map +1 -1
  29. package/dist/core/wallets.d.ts +1 -0
  30. package/dist/core/wallets.js +1 -1
  31. package/dist/core/wallets.js.map +1 -1
  32. package/dist/hooks/chains/useSquidChains.d.ts +1 -0
  33. package/dist/hooks/chains/useSquidChains.js +23 -4
  34. package/dist/hooks/chains/useSquidChains.js.map +1 -1
  35. package/dist/hooks/cosmos/useCosmos.js +15 -20
  36. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  37. package/dist/hooks/index.d.ts +1 -0
  38. package/dist/hooks/index.js +1 -0
  39. package/dist/hooks/index.js.map +1 -1
  40. package/dist/hooks/solana/useSolana.js +8 -2
  41. package/dist/hooks/solana/useSolana.js.map +1 -1
  42. package/dist/hooks/store/useWalletStore.d.ts +5 -5
  43. package/dist/hooks/store/useWalletStore.js +13 -20
  44. package/dist/hooks/store/useWalletStore.js.map +1 -1
  45. package/dist/hooks/sui/useSui.d.ts +2 -0
  46. package/dist/hooks/sui/useSui.js +28 -0
  47. package/dist/hooks/sui/useSui.js.map +1 -0
  48. package/dist/hooks/sui/useSuiClient.d.ts +9 -0
  49. package/dist/hooks/sui/useSuiClient.js +16 -0
  50. package/dist/hooks/sui/useSuiClient.js.map +1 -0
  51. package/dist/hooks/sui/useSuiWallets.d.ts +7 -0
  52. package/dist/hooks/sui/useSuiWallets.js +36 -0
  53. package/dist/hooks/sui/useSuiWallets.js.map +1 -0
  54. package/dist/hooks/swap/useSwap.js +3 -3
  55. package/dist/hooks/swap/useSwap.js.map +1 -1
  56. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +12 -1
  57. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  58. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +4 -5
  59. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +30 -17
  60. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  61. package/dist/hooks/tokens/useBalance.d.ts +18 -246
  62. package/dist/hooks/tokens/useBalance.js +66 -25
  63. package/dist/hooks/tokens/useBalance.js.map +1 -1
  64. package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
  65. package/dist/hooks/tokens/useMultiChainBalance.js +38 -35
  66. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  67. package/dist/hooks/tokens/useNativeBalance.d.ts +16 -18
  68. package/dist/hooks/tokens/useNativeBalance.js +121 -56
  69. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  70. package/dist/hooks/tokens/useNativeTokenForChain.js +6 -4
  71. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
  72. package/dist/hooks/tokens/useSquidTokens.d.ts +2 -11
  73. package/dist/hooks/tokens/useSquidTokens.js +8 -16
  74. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  75. package/dist/hooks/transaction/useEstimate.js +1 -1
  76. package/dist/hooks/transaction/useEstimate.js.map +1 -1
  77. package/dist/hooks/transaction/useExecuteTransaction.d.ts +0 -2
  78. package/dist/hooks/transaction/useExecuteTransaction.js +81 -39
  79. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  80. package/dist/hooks/transaction/useGetRoute.d.ts +1 -2
  81. package/dist/hooks/transaction/useGetRoute.js +2 -2
  82. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  83. package/dist/hooks/transaction/useSingleTransaction.js +1 -1
  84. package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
  85. package/dist/hooks/user/useUserParams.js +1 -1
  86. package/dist/hooks/user/useUserParams.js.map +1 -1
  87. package/dist/hooks/wallet/useIntegratorContext.js +1 -1
  88. package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
  89. package/dist/hooks/wallet/useMultiChainWallet.d.ts +1 -3
  90. package/dist/hooks/wallet/useMultiChainWallet.js +32 -25
  91. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  92. package/dist/hooks/wallet/useSigner.d.ts +2 -2
  93. package/dist/hooks/wallet/useSigner.js +32 -3
  94. package/dist/hooks/wallet/useSigner.js.map +1 -1
  95. package/dist/hooks/wallet/useWallet.d.ts +53 -7
  96. package/dist/hooks/wallet/useWallet.js +25 -11
  97. package/dist/hooks/wallet/useWallet.js.map +1 -1
  98. package/dist/hooks/wallet/useWallets.d.ts +29 -1
  99. package/dist/hooks/wallet/useWallets.js +5 -1
  100. package/dist/hooks/wallet/useWallets.js.map +1 -1
  101. package/dist/provider/index.d.ts +1 -1
  102. package/dist/provider/index.js +10 -8
  103. package/dist/provider/index.js.map +1 -1
  104. package/dist/services/external/rpcService.d.ts +8 -4
  105. package/dist/services/external/rpcService.js +38 -14
  106. package/dist/services/external/rpcService.js.map +1 -1
  107. package/dist/services/external/suiRpcClient.d.ts +32 -0
  108. package/dist/services/external/suiRpcClient.js +80 -0
  109. package/dist/services/external/suiRpcClient.js.map +1 -0
  110. package/dist/services/internal/assetsService.d.ts +2 -2
  111. package/dist/services/internal/assetsService.js +2 -2
  112. package/dist/services/internal/assetsService.js.map +1 -1
  113. package/dist/services/internal/bitcoinService.d.ts +3 -5
  114. package/dist/services/internal/bitcoinService.js.map +1 -1
  115. package/dist/services/internal/cosmosService.d.ts +4 -14
  116. package/dist/services/internal/cosmosService.js +1 -1
  117. package/dist/services/internal/cosmosService.js.map +1 -1
  118. package/dist/services/internal/errorService.d.ts +15 -0
  119. package/dist/services/internal/errorService.js +34 -4
  120. package/dist/services/internal/errorService.js.map +1 -1
  121. package/dist/services/internal/evmService.d.ts +3 -6
  122. package/dist/services/internal/evmService.js.map +1 -1
  123. package/dist/services/internal/solanaService.d.ts +3 -6
  124. package/dist/services/internal/solanaService.js.map +1 -1
  125. package/dist/services/internal/suiService.d.ts +9 -0
  126. package/dist/services/internal/suiService.js +88 -0
  127. package/dist/services/internal/suiService.js.map +1 -0
  128. package/dist/services/internal/transactionService.d.ts +0 -1
  129. package/dist/services/internal/walletService.d.ts +20 -14
  130. package/dist/services/internal/walletService.js +32 -25
  131. package/dist/services/internal/walletService.js.map +1 -1
  132. package/package.json +11 -7
@@ -1,65 +1,68 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
- import { useBitcoinBalance, useCosmosBalance, useEvmBalance, useSolanaBalance, } from "../../hooks/tokens/useBalance";
2
+ import { useMemo } from "react";
3
+ import { useBitcoinBalance, useCosmosBalance, useEvmBalance, useSolanaBalance, useSuiBalance, } from "./useBalance";
3
4
  /**
4
- * Exposes a hook to get balance depending on the chain type (EVM or Cosmos)
5
+ * Hook to get balance depending on the chain type
5
6
  * @param {ChainData} chain
6
7
  * @param {Token} token
7
8
  * @param {string} userAddress
8
9
  * @param {boolean} enabled
9
10
  * @returns balance as string
10
11
  */
11
- export const useMultiChainBalance = ({ chain, token, userAddress = "", enabled = true, }) => {
12
- /**
13
- * Get balance for EVM
14
- */
12
+ export const useMultiChainBalance = ({ chain, token, userAddress, enabled = true, }) => {
15
13
  const { balance: evmBalance } = useEvmBalance({
16
- chain: chain,
14
+ chain,
17
15
  token,
18
16
  userAddress,
19
17
  enabled: chain?.chainType === ChainType.EVM && enabled,
20
18
  });
21
- /**
22
- * Get balance for Cosmos
23
- */
24
19
  const { balance: cosmosBalance } = useCosmosBalance({
25
- chainData: chain,
20
+ chain,
26
21
  token,
27
22
  userAddress,
28
23
  enabled: chain?.chainType === ChainType.COSMOS && enabled,
29
24
  });
30
- /**
31
- * Get balance for Bitcoin
32
- */
33
25
  const { balance: bitcoinBalance } = useBitcoinBalance({
34
26
  chain,
35
- address: userAddress,
27
+ token,
28
+ userAddress,
29
+ enabled: chain?.chainType === ChainType.BTC && enabled,
36
30
  });
37
- /**
38
- * Get balance for Solana
39
- */
40
31
  const { balance: solanaBalance } = useSolanaBalance({
41
32
  chain,
42
33
  token,
43
34
  userAddress,
44
35
  enabled: chain?.chainType === ChainType.SOLANA && enabled,
45
36
  });
46
- let balance;
47
- switch (chain?.chainType) {
48
- case ChainType.EVM:
49
- balance = evmBalance;
50
- break;
51
- case ChainType.COSMOS:
52
- balance = cosmosBalance;
53
- break;
54
- case ChainType.BTC:
55
- balance = bitcoinBalance;
56
- break;
57
- case ChainType.SOLANA:
58
- balance = solanaBalance;
59
- break;
60
- default:
61
- balance = undefined;
62
- }
37
+ const { balance: suiBalance } = useSuiBalance({
38
+ chain,
39
+ token,
40
+ userAddress,
41
+ enabled: chain?.chainType === ChainType.SUI && enabled,
42
+ });
43
+ const balance = useMemo(() => {
44
+ if (!chain?.chainType)
45
+ return "0";
46
+ switch (chain.chainType) {
47
+ case ChainType.EVM:
48
+ return evmBalance;
49
+ case ChainType.COSMOS:
50
+ return cosmosBalance;
51
+ case ChainType.BTC:
52
+ return bitcoinBalance;
53
+ case ChainType.SOLANA:
54
+ return solanaBalance;
55
+ case ChainType.SUI:
56
+ return suiBalance;
57
+ }
58
+ }, [
59
+ chain?.chainType,
60
+ evmBalance,
61
+ cosmosBalance,
62
+ bitcoinBalance,
63
+ solanaBalance,
64
+ suiBalance,
65
+ ]);
63
66
  return { balance };
64
67
  };
65
68
  //# 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,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
+ {"version":3,"file":"useMultiChainBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultiChainBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,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,MAAM,OAAO,GAAW,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,KAAK,EAAE,SAAS;YAAE,OAAO,GAAG,CAAC;QAElC,QAAQ,KAAK,CAAC,SAAS,EAAE;YACvB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,UAAU,CAAC;YACpB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,aAAa,CAAC;YACvB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,cAAc,CAAC;YACxB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,aAAa,CAAC;YACvB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,UAAU,CAAC;SACrB;IACH,CAAC,EAAE;QACD,KAAK,EAAE,SAAS;QAChB,UAAU;QACV,aAAa;QACb,cAAc;QACd,aAAa;QACb,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC"}
@@ -1,24 +1,22 @@
1
1
  import { ChainData } from "@0xsquid/squid-types";
2
- export declare const useBitcoinNativeBalance: (chain?: ChainData, address?: string) => {
3
- data: string | undefined;
2
+ interface Balance {
3
+ decimals: number;
4
+ value: bigint;
5
+ }
6
+ interface UseNativeBalanceResult {
7
+ balance: Balance | undefined;
4
8
  isLoading: boolean;
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
- };
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 useSuiNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
12
17
  export declare const useNativeBalance: (chain?: ChainData) => {
13
- nativeBalance: {
14
- decimals: number;
15
- formatted: string;
16
- symbol: string;
17
- value: bigint;
18
- } | {
19
- decimals: number;
20
- value: bigint;
21
- } | undefined;
18
+ nativeBalance: Balance | undefined;
22
19
  nativeBalanceFormatted: string | undefined;
23
20
  isLoading: boolean;
24
21
  };
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,37 +8,58 @@ 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 } from "./useBalance";
11
+ import { useCosmosBalance, useSuiBalance } from "./useBalance";
12
12
  import { useNativeTokenForChain } from "./useNativeTokenForChain";
13
- const useEvmNativeBalance = (chain, evmAddress) => {
14
- const { isConnected: isEvmConnected } = useWallet();
15
- return useWagmiBalance({
16
- address: evmAddress,
13
+ const useEvmNativeBalance = ({ address, chain, }) => {
14
+ const { isChainTypeConnected } = useWallet();
15
+ const { data: nativeEvmBalance, isLoading } = useWagmiBalance({
16
+ address: address,
17
17
  chainId: Number(chain?.chainId),
18
18
  query: {
19
- enabled: isEvmConnected(ChainType.EVM) && !!evmAddress,
19
+ enabled: isChainTypeConnected(ChainType.EVM) && !!address,
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
+ };
26
39
  };
27
- const useCosmosNativeBalance = (chain, cosmosAddress) => {
40
+ const useCosmosNativeBalance = ({ address, chain, }) => {
28
41
  const { isConnected: isCosmosConnected } = useCosmosContext();
29
42
  const { nativeToken: nativeCosmosToken } = useNativeTokenForChain(chain);
30
- const { balance: nativeCosmosBalance, isLoading } = useCosmosBalance({
31
- chainData: chain,
43
+ const { balance: rawBalance, isLoading } = useCosmosBalance({
44
+ chain,
32
45
  token: nativeCosmosToken,
33
- userAddress: cosmosAddress,
46
+ userAddress: address,
34
47
  enabled: isCosmosConnected && chain?.chainType === ChainType.COSMOS,
35
48
  refreshIntervalMs: 10000,
36
49
  });
37
- return { nativeCosmosBalance, nativeCosmosToken, isLoading };
50
+ const balance = useMemo(() => {
51
+ if (nativeCosmosToken?.decimals && rawBalance) {
52
+ return {
53
+ decimals: nativeCosmosToken.decimals,
54
+ value: parseToBigInt(rawBalance, nativeCosmosToken.decimals),
55
+ };
56
+ }
57
+ }, [nativeCosmosToken?.decimals, rawBalance]);
58
+ return { balance, isLoading };
38
59
  };
39
- export const useBitcoinNativeBalance = (chain, address) => {
60
+ export const useBitcoinNativeBalance = ({ chain, address, }) => {
40
61
  const { nativeToken } = useNativeTokenForChain(chain);
41
- const { data, isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
62
+ const { data: rawBalance = "0", isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
42
63
  if (!address || !nativeToken)
43
64
  return "0";
44
65
  const balance = await getBitcoinNativeBalance(address);
@@ -52,15 +73,22 @@ export const useBitcoinNativeBalance = (chain, address) => {
52
73
  refetchOnWindowFocus: true,
53
74
  refetchOnMount: true,
54
75
  });
76
+ const balance = useMemo(() => {
77
+ if (nativeToken?.decimals && rawBalance) {
78
+ return {
79
+ decimals: nativeToken.decimals,
80
+ value: parseToBigInt(rawBalance, nativeToken.decimals),
81
+ };
82
+ }
83
+ }, [nativeToken?.decimals, rawBalance]);
55
84
  return {
56
- data,
85
+ balance,
57
86
  isLoading,
58
- nativeToken,
59
87
  };
60
88
  };
61
- export const useSolanaNativeBalance = (chain, address) => {
89
+ export const useSolanaNativeBalance = ({ chain, address, }) => {
62
90
  const { nativeToken } = useNativeTokenForChain(chain);
63
- const { data, isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
91
+ const { data: rawBalance, isLoading } = useQuery(keys().balance(chain?.chainId, nativeToken?.address, address), async () => {
64
92
  const balance = await getSolanaNativeBalance(address);
65
93
  return formatBNToReadable(balance, nativeToken.decimals);
66
94
  }, {
@@ -72,61 +100,99 @@ export const useSolanaNativeBalance = (chain, address) => {
72
100
  refetchOnWindowFocus: true,
73
101
  refetchOnMount: true,
74
102
  });
103
+ const balance = useMemo(() => {
104
+ if (nativeToken?.decimals && rawBalance) {
105
+ return {
106
+ decimals: nativeToken.decimals,
107
+ value: parseToBigInt(rawBalance, nativeToken.decimals),
108
+ };
109
+ }
110
+ }, [nativeToken?.decimals, rawBalance]);
75
111
  return {
76
- data,
112
+ balance,
113
+ isLoading,
114
+ };
115
+ };
116
+ export const useSuiNativeBalance = ({ address, chain, }) => {
117
+ const { nativeToken } = useNativeTokenForChain(chain);
118
+ const { balance: rawBalance, isLoading } = useSuiBalance({
119
+ chain,
120
+ token: nativeToken,
121
+ userAddress: address,
122
+ });
123
+ const balance = useMemo(() => {
124
+ if (nativeToken?.decimals && rawBalance) {
125
+ return {
126
+ decimals: nativeToken.decimals,
127
+ value: parseToBigInt(rawBalance, nativeToken.decimals),
128
+ };
129
+ }
130
+ }, [nativeToken?.decimals, rawBalance]);
131
+ return {
132
+ balance,
77
133
  isLoading,
78
- nativeToken,
79
134
  };
80
135
  };
81
136
  export const useNativeBalance = (chain) => {
82
137
  const { connectedAddresses } = useWallet();
83
138
  const { data: cosmosAddressForChain } = useCosmosForChain(chain);
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(() => {
139
+ // Cosmos is a special case because the address changes on every chain
140
+ // so we can't use the default cosmos connected address
141
+ const { balance: nativeCosmosBalance, isLoading: isCosmosLoading } = useCosmosNativeBalance({
142
+ address: cosmosAddressForChain,
143
+ chain,
144
+ });
145
+ const { balance: nativeEvmBalance, isLoading: isEvmLoading } = useEvmNativeBalance({ address: connectedAddresses[ChainType.EVM], chain });
146
+ const { balance: nativeBitcoinBalance, isLoading: isBitcoinLoading } = useBitcoinNativeBalance({
147
+ address: connectedAddresses[ChainType.BTC],
148
+ chain,
149
+ });
150
+ const { balance: nativeSolanaBalance, isLoading: isSolanaLoading } = useSolanaNativeBalance({
151
+ address: connectedAddresses[ChainType.SOLANA],
152
+ chain,
153
+ });
154
+ const { balance: nativeSuiBalance, isLoading: isSuiLoading } = useSuiNativeBalance({
155
+ address: connectedAddresses[ChainType.SUI],
156
+ chain,
157
+ });
158
+ const { nativeBalance, nativeBalanceFormatted } = useMemo(() => {
159
+ let balance;
89
160
  switch (chain?.chainType) {
90
161
  case ChainType.EVM:
91
- return nativeEvmBalance?.decimals && nativeEvmBalance?.value
92
- ? nativeEvmBalance
93
- : undefined;
162
+ balance = nativeEvmBalance;
163
+ break;
94
164
  case ChainType.COSMOS:
95
- return nativeCosmosToken?.decimals && nativeCosmosBalance
96
- ? {
97
- decimals: nativeCosmosToken.decimals,
98
- value: parseToBigInt(nativeCosmosBalance, nativeCosmosToken.decimals),
99
- }
100
- : undefined;
165
+ balance = nativeCosmosBalance;
166
+ break;
101
167
  case ChainType.BTC:
102
- return nativeBitcoinBalance && nativeBitcoinToken?.decimals
103
- ? {
104
- decimals: nativeBitcoinToken.decimals,
105
- value: parseToBigInt(nativeBitcoinBalance, nativeBitcoinToken.decimals),
106
- }
107
- : undefined;
168
+ balance = nativeBitcoinBalance;
169
+ break;
108
170
  case ChainType.SOLANA:
109
- return nativeSolanaBalance && nativeSolanaToken?.decimals
110
- ? {
111
- decimals: nativeSolanaToken.decimals,
112
- value: parseToBigInt(nativeSolanaBalance, nativeSolanaToken.decimals),
113
- }
114
- : undefined;
115
- default:
116
- return undefined;
171
+ balance = nativeSolanaBalance;
172
+ break;
173
+ case ChainType.SUI:
174
+ balance = nativeSuiBalance;
175
+ break;
117
176
  }
177
+ const balanceFormatted = !!balance
178
+ ? formatBNToReadable(balance.value, balance.decimals)
179
+ : undefined;
180
+ return {
181
+ nativeBalance: balance,
182
+ nativeBalanceFormatted: balanceFormatted,
183
+ };
118
184
  }, [
119
185
  chain?.chainType,
120
186
  nativeEvmBalance,
121
- nativeCosmosToken?.decimals,
122
187
  nativeCosmosBalance,
123
- nativeBitcoinToken?.decimals,
124
188
  nativeBitcoinBalance,
125
189
  nativeSolanaBalance,
126
- nativeSolanaToken?.decimals,
190
+ nativeSuiBalance,
127
191
  ]);
128
192
  const isLoading = useMemo(() => {
129
- switch (chain?.chainType) {
193
+ if (!chain?.chainType)
194
+ return false;
195
+ switch (chain.chainType) {
130
196
  case ChainType.EVM:
131
197
  return isEvmLoading;
132
198
  case ChainType.COSMOS:
@@ -135,8 +201,8 @@ export const useNativeBalance = (chain) => {
135
201
  return isBitcoinLoading;
136
202
  case ChainType.SOLANA:
137
203
  return isSolanaLoading;
138
- default:
139
- return false;
204
+ case ChainType.SUI:
205
+ return isSuiLoading;
140
206
  }
141
207
  }, [
142
208
  chain?.chainType,
@@ -144,9 +210,8 @@ export const useNativeBalance = (chain) => {
144
210
  isCosmosLoading,
145
211
  isBitcoinLoading,
146
212
  isSolanaLoading,
213
+ isSuiLoading,
147
214
  ]);
148
- const nativeBalanceFormatted = nativeBalance &&
149
- formatBNToReadable(nativeBalance?.value, nativeBalance?.decimals);
150
215
  return { nativeBalance, nativeBalanceFormatted, isLoading };
151
216
  };
152
217
  //# 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,9 +3,11 @@ 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 } = useSquidTokens();
6
+ const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens } = useSquidTokens();
7
7
  const getTokensForChainType = () => {
8
- switch (chain?.chainType) {
8
+ if (!chain?.chainType)
9
+ return [];
10
+ switch (chain.chainType) {
9
11
  case ChainType.EVM:
10
12
  return evmTokens;
11
13
  case ChainType.COSMOS:
@@ -14,8 +16,8 @@ export function useNativeTokenForChain(chain) {
14
16
  return solanaTokens;
15
17
  case ChainType.BTC:
16
18
  return bitcoinTokens;
17
- default:
18
- return [];
19
+ case ChainType.SUI:
20
+ return suiTokens;
19
21
  }
20
22
  };
21
23
  const nativeTokenForChainType = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useNativeTokenForChain.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useNativeTokenForChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,sBAAsB,CAAC,KAAiB;IACtD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,GAC5D,cAAc,EAAE,CAAC;IAEnB,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,QAAQ,KAAK,EAAE,SAAS,EAAE;YACxB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,SAAS,CAAC;YACnB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,YAAY,CAAC;YACtB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,YAAY,CAAC;YACtB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,aAAa,CAAC;YACvB;gBACE,OAAO,EAAE,CAAC;SACb;IACH,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3C,OAAO,eAAe,CAAC,qBAAqB,EAAE,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"useNativeTokenForChain.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useNativeTokenForChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,sBAAsB,CAAC,KAAiB;IACtD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,GACvE,cAAc,EAAE,CAAC;IAEnB,MAAM,qBAAqB,GAAG,GAAY,EAAE;QAC1C,IAAI,CAAC,KAAK,EAAE,SAAS;YAAE,OAAO,EAAE,CAAC;QAEjC,QAAQ,KAAK,CAAC,SAAS,EAAE;YACvB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,SAAS,CAAC;YACnB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,YAAY,CAAC;YACtB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,YAAY,CAAC;YACtB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,aAAa,CAAC;YACvB,KAAK,SAAS,CAAC,GAAG;gBAChB,OAAO,SAAS,CAAC;SACpB;IACH,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3C,OAAO,eAAe,CAAC,qBAAqB,EAAE,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;AAClD,CAAC"}
@@ -1,19 +1,10 @@
1
1
  import { Token } from "@0xsquid/squid-types";
2
2
  export declare const useSquidTokens: (direction?: "from" | "to") => {
3
3
  tokens: Token[];
4
+ findToken: (address?: string, chainId?: string) => Token | undefined;
4
5
  evmTokens: Token[];
5
6
  solanaTokens: Token[];
6
7
  cosmosTokens: Token[];
7
8
  bitcoinTokens: Token[];
8
- findToken: (address?: string, chainId?: string) => Token | undefined;
9
- fuseSearchOptions: {
10
- isCaseSensitive: boolean;
11
- threshold: number;
12
- findAllMatches: boolean;
13
- includeMatches: boolean;
14
- keys: {
15
- name: string;
16
- weight: number;
17
- }[];
18
- };
9
+ suiTokens: Token[];
19
10
  };
@@ -1,8 +1,8 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
2
  import { useCallback, useMemo } from "react";
3
- import { useConfigStore } from "../../hooks/store/useSquidStore";
4
3
  import { filterTokens, getDisabledChainsIds, sortAllTokens, } from "../../services";
5
4
  import { useSquid } from "../squid/useSquid";
5
+ import { useConfigStore } from "../store/useSquidStore";
6
6
  export const useSquidTokens = (direction) => {
7
7
  const { tokens: allSquidTokens = [], squidInfoQuery } = useSquid();
8
8
  const disabledChains = useConfigStore((state) => state.config.disabledChains);
@@ -34,7 +34,7 @@ export const useSquidTokens = (direction) => {
34
34
  direction,
35
35
  }), [direction, disabledChains]);
36
36
  const filteredTokensForDirection = useMemo(() => updatedTokens?.filter((token) => !disabledChainsForDirection.includes(String(token.chainId))), [updatedTokens, disabledChainsForDirection]);
37
- const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens } = useMemo(() => {
37
+ const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens } = useMemo(() => {
38
38
  return filteredTokensForDirection?.reduce((acc, token) => {
39
39
  switch (token.type) {
40
40
  case ChainType.EVM:
@@ -49,6 +49,9 @@ export const useSquidTokens = (direction) => {
49
49
  case ChainType.BTC:
50
50
  acc.bitcoinTokens.push(token);
51
51
  break;
52
+ case ChainType.SUI:
53
+ acc.suiTokens.push(token);
54
+ break;
52
55
  }
53
56
  return acc;
54
57
  }, {
@@ -56,6 +59,7 @@ export const useSquidTokens = (direction) => {
56
59
  cosmosTokens: [],
57
60
  solanaTokens: [],
58
61
  bitcoinTokens: [],
62
+ suiTokens: [],
59
63
  });
60
64
  }, [filteredTokensForDirection]);
61
65
  const findToken = useCallback((address, chainId) => {
@@ -63,26 +67,14 @@ export const useSquidTokens = (direction) => {
63
67
  return undefined;
64
68
  return updatedTokens?.find((t) => t.address === address && t.chainId === chainId);
65
69
  }, [updatedTokens]);
66
- const fuseSearchOptions = useMemo(() => {
67
- return {
68
- isCaseSensitive: false,
69
- threshold: 0.1,
70
- findAllMatches: false,
71
- includeMatches: true,
72
- keys: [
73
- { name: "symbol", weight: 1 },
74
- { name: "name", weight: 0.8 },
75
- ],
76
- };
77
- }, []);
78
70
  return {
79
71
  tokens: updatedTokens,
72
+ findToken,
80
73
  evmTokens,
81
74
  solanaTokens,
82
75
  cosmosTokens,
83
76
  bitcoinTokens,
84
- findToken,
85
- fuseSearchOptions,
77
+ suiTokens,
86
78
  };
87
79
  };
88
80
  //# sourceMappingURL=useSquidTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSquidTokens.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useSquidTokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSquidTokens.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useSquidTokens.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { FeeType } from "@0xsquid/squid-types";
2
2
  import { useMemo } from "react";
3
3
  import { limitTradeSizeUsd } from "../../core/constants";
4
- import { useSquidTokens } from "../../hooks/tokens/useSquidTokens";
5
4
  import { formatUsdAmount } from "../../services";
6
5
  import { calculateEstimateResults, calculateTotalWithRefundEstimate, getProposedGasDestinationAmount, } from "../../services/internal/estimateService";
7
6
  import { useConfigStore } from "../store/useSquidStore";
@@ -9,6 +8,7 @@ import { useSwap } from "../swap/useSwap";
9
8
  import { useMultiChainBalance } from "../tokens/useMultiChainBalance";
10
9
  import { useNativeBalance } from "../tokens/useNativeBalance";
11
10
  import { useSingleTokenPrice } from "../tokens/useSingleTokenPrice";
11
+ import { useSquidTokens } from "../tokens/useSquidTokens";
12
12
  const DEFAULT_PROVIDER_IMAGE_URL = "https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/providers/squid.webp";
13
13
  const AXELAR_PROVIDER_IMAGE_URL = "https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/providers/axelar.webp";
14
14
  export const useEstimate = (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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"}