@0xsquid/react-hooks 6.4.4-dex-widget-beta.0 → 6.4.4-stellar-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/client/index.d.ts +17 -0
- package/dist/core/client/index.js +40 -0
- package/dist/core/client/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/errors/index.d.ts +2 -1
- package/dist/core/connectors/bitcoin/errors/index.js +1 -1
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
- package/dist/core/connectors/bitcoin/helpers.d.ts +15 -0
- package/dist/core/connectors/bitcoin/helpers.js +6 -1
- package/dist/core/connectors/bitcoin/helpers.js.map +1 -1
- package/dist/core/connectors/bitcoin/wallets/index.d.ts +1 -0
- package/dist/core/connectors/bitcoin/wallets/index.js +1 -0
- package/dist/core/connectors/bitcoin/wallets/index.js.map +1 -1
- package/dist/core/connectors/bitcoin/wallets/keplr.d.ts +11 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js +28 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js.map +1 -0
- package/dist/core/connectors/xrpl/CrossMark.d.ts +13 -0
- package/dist/core/connectors/xrpl/CrossMark.js +76 -0
- package/dist/core/connectors/xrpl/CrossMark.js.map +1 -0
- package/dist/core/connectors/xrpl/Xaman.d.ts +16 -0
- package/dist/core/connectors/xrpl/Xaman.js +80 -0
- package/dist/core/connectors/xrpl/Xaman.js.map +1 -0
- package/dist/core/connectors/xrpl/XamanQr.d.ts +15 -0
- package/dist/core/connectors/xrpl/XamanQr.js +78 -0
- package/dist/core/connectors/xrpl/XamanQr.js.map +1 -0
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.d.ts +35 -0
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +177 -0
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +1 -0
- package/dist/core/constants.d.ts +18 -16
- package/dist/core/constants.js +57 -21
- package/dist/core/constants.js.map +1 -1
- package/dist/core/externalLinks.d.ts +1 -1
- package/dist/core/externalLinks.js +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/multicall3.d.ts +5 -1
- package/dist/core/multicall3.js +21 -1
- package/dist/core/multicall3.js.map +1 -1
- package/dist/core/providers/CosmosProvider.d.ts +1 -1
- package/dist/core/providers/CosmosProvider.js.map +1 -1
- package/dist/core/providers/SolanaProvider.d.ts +0 -2
- package/dist/core/providers/SolanaProvider.js.map +1 -1
- package/dist/core/providers/StellarProvider.d.ts +19 -0
- package/dist/core/providers/StellarProvider.js +15 -0
- package/dist/core/providers/StellarProvider.js.map +1 -0
- package/dist/core/providers/SuiProvider.d.ts +19 -0
- package/dist/core/providers/SuiProvider.js +15 -0
- package/dist/core/providers/SuiProvider.js.map +1 -0
- package/dist/core/providers/XrplProvider.d.ts +17 -0
- package/dist/core/providers/XrplProvider.js +15 -0
- package/dist/core/providers/XrplProvider.js.map +1 -0
- package/dist/core/queries/queries-keys.d.ts +29 -28
- package/dist/core/queries/queries-keys.js +88 -76
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/stellar-test.d.ts +1 -0
- package/dist/core/stellar-test.js +11 -0
- package/dist/core/stellar-test.js.map +1 -0
- package/dist/core/types/config.d.ts +2 -0
- package/dist/core/types/error.d.ts +4 -4
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/event.d.ts +31 -1
- package/dist/core/types/history.d.ts +84 -0
- package/dist/core/types/history.js +7 -0
- package/dist/core/types/history.js.map +1 -0
- package/dist/core/types/index.d.ts +5 -1
- package/dist/core/types/index.js +3 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/onramps/index.d.ts +2 -0
- package/dist/core/types/onramps/index.js +3 -0
- package/dist/core/types/onramps/index.js.map +1 -0
- package/dist/core/types/onramps/onramp.d.ts +157 -0
- package/dist/core/types/onramps/onramp.js +2 -0
- package/dist/core/types/onramps/onramp.js.map +1 -0
- package/dist/core/types/onramps/revolut.d.ts +92 -0
- package/dist/core/types/onramps/revolut.js +2 -0
- package/dist/core/types/onramps/revolut.js.map +1 -0
- package/dist/core/types/rpc.d.ts +10 -0
- package/dist/core/types/rpc.js +2 -0
- package/dist/core/types/rpc.js.map +1 -0
- package/dist/core/types/stellar.d.ts +3 -0
- package/dist/core/types/stellar.js +2 -0
- package/dist/core/types/stellar.js.map +1 -0
- package/dist/core/types/sui.d.ts +14 -0
- package/dist/core/types/sui.js +2 -0
- package/dist/core/types/sui.js.map +1 -0
- package/dist/core/types/swap.d.ts +0 -5
- package/dist/core/types/swap.js +1 -6
- package/dist/core/types/swap.js.map +1 -1
- package/dist/core/types/transaction.d.ts +10 -31
- package/dist/core/types/transaction.js +6 -0
- package/dist/core/types/transaction.js.map +1 -1
- package/dist/core/types/wallet.d.ts +39 -4
- package/dist/core/types/wallet.js +4 -0
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/types/xrpl.d.ts +70 -0
- package/dist/core/types/xrpl.js +20 -0
- package/dist/core/types/xrpl.js.map +1 -0
- package/dist/core/wagmiConfig.js +2 -8
- package/dist/core/wagmiConfig.js.map +1 -1
- package/dist/core/wallets.d.ts +2 -1
- package/dist/core/wallets.js +76 -21
- package/dist/core/wallets.js.map +1 -1
- package/dist/hooks/analytics/useTrackSearchEmpty.d.ts +12 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.js +22 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.js.map +1 -0
- package/dist/hooks/chains/useSquidChains.d.ts +1 -0
- package/dist/hooks/chains/useSquidChains.js +23 -4
- package/dist/hooks/chains/useSquidChains.js.map +1 -1
- package/dist/hooks/client/useClient.d.ts +2 -0
- package/dist/hooks/client/useClient.js +58 -1
- package/dist/hooks/client/useClient.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.d.ts +9 -0
- package/dist/hooks/cosmos/useCosmos.js +52 -52
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/cosmos/useCosmosForChain.d.ts +1 -1
- package/dist/hooks/cosmos/useCosmosForChain.js +20 -13
- package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -1
- package/dist/hooks/index.d.ts +12 -1
- package/dist/hooks/index.js +12 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/onramp/useFiatToCrypto.d.ts +84 -0
- package/dist/hooks/onramp/useFiatToCrypto.js +316 -0
- package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -0
- package/dist/hooks/solana/useSolana.d.ts +2 -1
- package/dist/hooks/solana/useSolana.js +12 -4
- package/dist/hooks/solana/useSolana.js.map +1 -1
- package/dist/hooks/stellar/useStellar.d.ts +2 -0
- package/dist/hooks/stellar/useStellar.js +27 -0
- package/dist/hooks/stellar/useStellar.js.map +1 -0
- package/dist/hooks/stellar/useStellarWallets.d.ts +4 -0
- package/dist/hooks/stellar/useStellarWallets.js +12 -0
- package/dist/hooks/stellar/useStellarWallets.js.map +1 -0
- package/dist/hooks/store/useAddressBookStore.d.ts +1 -1
- package/dist/hooks/store/useAddressBookStore.js +6 -2
- package/dist/hooks/store/useAddressBookStore.js.map +1 -1
- package/dist/hooks/store/useHistoryStore.d.ts +33 -13
- package/dist/hooks/store/useHistoryStore.js +120 -32
- package/dist/hooks/store/useHistoryStore.js.map +1 -1
- package/dist/hooks/store/useSendTransactionStore.d.ts +20 -0
- package/dist/hooks/store/useSendTransactionStore.js +21 -0
- package/dist/hooks/store/useSendTransactionStore.js.map +1 -0
- package/dist/hooks/store/useSquidStore.d.ts +0 -5
- package/dist/hooks/store/useSquidStore.js +0 -2
- package/dist/hooks/store/useSquidStore.js.map +1 -1
- package/dist/hooks/store/useWalletStore.d.ts +8 -5
- package/dist/hooks/store/useWalletStore.js +13 -20
- package/dist/hooks/store/useWalletStore.js.map +1 -1
- package/dist/hooks/sui/useSui.d.ts +2 -0
- package/dist/hooks/sui/useSui.js +28 -0
- package/dist/hooks/sui/useSui.js.map +1 -0
- package/dist/hooks/sui/useSuiWallets.d.ts +7 -0
- package/dist/hooks/sui/useSuiWallets.js +42 -0
- package/dist/hooks/sui/useSuiWallets.js.map +1 -0
- package/dist/hooks/swap/useSwap.d.ts +1 -0
- package/dist/hooks/swap/useSwap.js +7 -13
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +34 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +4 -5
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +52 -17
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +20 -246
- package/dist/hooks/tokens/useBalance.js +105 -25
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
- package/dist/hooks/tokens/useMultiChainBalance.js +56 -35
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +18 -18
- package/dist/hooks/tokens/useNativeBalance.js +184 -56
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +10 -4
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +4 -11
- package/dist/hooks/tokens/useSquidTokens.js +18 -16
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.d.ts +28 -0
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +58 -0
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +1 -0
- package/dist/hooks/transaction/send/useSendTransaction.d.ts +13 -0
- package/dist/hooks/transaction/send/useSendTransaction.js +256 -0
- package/dist/hooks/transaction/send/useSendTransaction.js.map +1 -0
- package/dist/hooks/transaction/send/useSendTransactionGas.d.ts +6 -0
- package/dist/hooks/transaction/send/useSendTransactionGas.js +73 -0
- package/dist/hooks/transaction/send/useSendTransactionGas.js.map +1 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.d.ts +34 -2
- package/dist/hooks/transaction/useAllTransactionsStatus.js +119 -62
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -1
- package/dist/hooks/transaction/useApproval.js +3 -3
- package/dist/hooks/transaction/useApproval.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.d.ts +1 -1
- package/dist/hooks/transaction/useEstimate.js +1 -1
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useEstimatePriceImpact.d.ts +1 -2
- package/dist/hooks/transaction/useEstimatePriceImpact.js +12 -12
- package/dist/hooks/transaction/useEstimatePriceImpact.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +1 -2
- package/dist/hooks/transaction/useExecuteTransaction.js +202 -74
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +7 -2
- package/dist/hooks/transaction/useGetRoute.js +12 -9
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSendTransactionStatus.d.ts +11 -0
- package/dist/hooks/transaction/useSendTransactionStatus.js +63 -0
- package/dist/hooks/transaction/useSendTransactionStatus.js.map +1 -0
- package/dist/hooks/transaction/useSwapTransactionStatus.d.ts +15 -0
- package/dist/hooks/transaction/{useSingleTransaction.js → useSwapTransactionStatus.js} +40 -18
- package/dist/hooks/transaction/useSwapTransactionStatus.js.map +1 -0
- package/dist/hooks/user/useAvatar.js +13 -7
- package/dist/hooks/user/useAvatar.js.map +1 -1
- package/dist/hooks/user/useHistory.d.ts +12 -10
- package/dist/hooks/user/useHistory.js +49 -51
- package/dist/hooks/user/useHistory.js.map +1 -1
- package/dist/hooks/user/useUserParams.js +1 -1
- package/dist/hooks/user/useUserParams.js.map +1 -1
- package/dist/hooks/utils/useUtils.d.ts +7 -0
- package/dist/hooks/utils/useUtils.js +20 -0
- package/dist/hooks/utils/useUtils.js.map +1 -0
- package/dist/hooks/wallet/useEns.d.ts +0 -1
- package/dist/hooks/wallet/useEns.js +1 -13
- package/dist/hooks/wallet/useEns.js.map +1 -1
- package/dist/hooks/wallet/useGnosisContext.js +7 -11
- package/dist/hooks/wallet/useGnosisContext.js.map +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +3 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +78 -24
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +10 -7
- package/dist/hooks/wallet/useSigner.js +62 -14
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +65 -8
- package/dist/hooks/wallet/useWallet.js +69 -12
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/hooks/wallet/useWallets.d.ts +31 -1
- package/dist/hooks/wallet/useWallets.js +35 -1
- package/dist/hooks/wallet/useWallets.js.map +1 -1
- package/dist/hooks/xrpl/useXrpl.d.ts +2 -0
- package/dist/hooks/xrpl/useXrpl.js +21 -0
- package/dist/hooks/xrpl/useXrpl.js.map +1 -0
- package/dist/hooks/xrpl/useXrplTrustLine.d.ts +17 -0
- package/dist/hooks/xrpl/useXrplTrustLine.js +136 -0
- package/dist/hooks/xrpl/useXrplTrustLine.js.map +1 -0
- package/dist/hooks/xrpl/useXrplWallets.d.ts +4 -0
- package/dist/hooks/xrpl/useXrplWallets.js +46 -0
- package/dist/hooks/xrpl/useXrplWallets.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.js +14 -9
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/cosmosRestClient.d.ts +18 -0
- package/dist/services/external/cosmosRestClient.js +45 -0
- package/dist/services/external/cosmosRestClient.js.map +1 -0
- package/dist/services/external/index.d.ts +1 -0
- package/dist/services/external/index.js +2 -0
- package/dist/services/external/index.js.map +1 -0
- package/dist/services/external/onrampAdapter.d.ts +12 -0
- package/dist/services/external/onrampAdapter.js +41 -0
- package/dist/services/external/onrampAdapter.js.map +1 -0
- package/dist/services/external/rpcService.d.ts +15 -8
- package/dist/services/external/rpcService.js +84 -64
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/external/suiRpcClient.d.ts +32 -0
- package/dist/services/external/suiRpcClient.js +80 -0
- package/dist/services/external/suiRpcClient.js.map +1 -0
- package/dist/services/external/websocket.d.ts +6 -0
- package/dist/services/external/websocket.js +34 -0
- package/dist/services/external/websocket.js.map +1 -0
- package/dist/services/external/xaman.d.ts +30 -0
- package/dist/services/external/xaman.js +46 -0
- package/dist/services/external/xaman.js.map +1 -0
- package/dist/services/external/xrplRpcClient.d.ts +39 -0
- package/dist/services/external/xrplRpcClient.js +167 -0
- package/dist/services/external/xrplRpcClient.js.map +1 -0
- package/dist/services/index.d.ts +4 -1
- package/dist/services/index.js +4 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +4 -2
- package/dist/services/internal/assetsService.js +21 -5
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/bitcoinService.d.ts +3 -5
- package/dist/services/internal/bitcoinService.js +9 -1
- package/dist/services/internal/bitcoinService.js.map +1 -1
- package/dist/services/internal/configService.js +10 -2
- package/dist/services/internal/configService.js.map +1 -1
- package/dist/services/internal/cosmosService.d.ts +16 -14
- package/dist/services/internal/cosmosService.js +19 -2
- package/dist/services/internal/cosmosService.js.map +1 -1
- package/dist/services/internal/countryCurrencyMap.d.ts +13 -0
- package/dist/services/internal/countryCurrencyMap.js +1102 -0
- package/dist/services/internal/countryCurrencyMap.js.map +1 -0
- package/dist/services/internal/errorService.d.ts +18 -7
- package/dist/services/internal/errorService.js +34 -4
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/estimateService.js +5 -5
- package/dist/services/internal/estimateService.js.map +1 -1
- package/dist/services/internal/eventService.d.ts +46 -0
- package/dist/services/internal/eventService.js +61 -5
- package/dist/services/internal/eventService.js.map +1 -1
- package/dist/services/internal/evmService.d.ts +3 -6
- package/dist/services/internal/evmService.js.map +1 -1
- package/dist/services/internal/fiatToCryptoService.d.ts +29 -0
- package/dist/services/internal/fiatToCryptoService.js +84 -0
- package/dist/services/internal/fiatToCryptoService.js.map +1 -0
- package/dist/services/internal/fiatToCryptoService.test.d.ts +1 -0
- package/dist/services/internal/fiatToCryptoService.test.js +45 -0
- package/dist/services/internal/fiatToCryptoService.test.js.map +1 -0
- package/dist/services/internal/numberService.d.ts +1 -0
- package/dist/services/internal/numberService.js +15 -0
- package/dist/services/internal/numberService.js.map +1 -1
- package/dist/services/internal/searchService.d.ts +1 -1
- package/dist/services/internal/searchService.js +18 -15
- package/dist/services/internal/searchService.js.map +1 -1
- package/dist/services/internal/sendTransaction.d.ts +53 -0
- package/dist/services/internal/sendTransaction.js +194 -0
- package/dist/services/internal/sendTransaction.js.map +1 -0
- package/dist/services/internal/sendTransactionStatus.d.ts +6 -0
- package/dist/services/internal/sendTransactionStatus.js +142 -0
- package/dist/services/internal/sendTransactionStatus.js.map +1 -0
- package/dist/services/internal/solanaService.d.ts +3 -6
- package/dist/services/internal/solanaService.js.map +1 -1
- package/dist/services/internal/stellarService.d.ts +4 -0
- package/dist/services/internal/stellarService.js +20 -0
- package/dist/services/internal/stellarService.js.map +1 -0
- package/dist/services/internal/suiService.d.ts +20 -0
- package/dist/services/internal/suiService.js +119 -0
- package/dist/services/internal/suiService.js.map +1 -0
- package/dist/services/internal/transactionService.d.ts +8 -37
- package/dist/services/internal/transactionService.js +33 -29
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/transactionStatusService.d.ts +16 -5
- package/dist/services/internal/transactionStatusService.js +82 -5
- package/dist/services/internal/transactionStatusService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +31 -16
- package/dist/services/internal/walletService.js +86 -33
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/services/internal/xionService.d.ts +1 -0
- package/dist/services/internal/xionService.js +6 -0
- package/dist/services/internal/xionService.js.map +1 -0
- package/dist/services/internal/xrplService.d.ts +17 -0
- package/dist/services/internal/xrplService.js +50 -0
- package/dist/services/internal/xrplService.js.map +1 -0
- package/dist/tests/assetsService.test.js +13 -26
- package/dist/tests/assetsService.test.js.map +1 -1
- package/dist/tests/numberService.test.js +12 -1
- package/dist/tests/numberService.test.js.map +1 -1
- package/dist/tests/searchService.test.js +0 -6
- package/dist/tests/searchService.test.js.map +1 -1
- package/dist/tests/swapConfig.test.js +72 -7
- package/dist/tests/swapConfig.test.js.map +1 -1
- package/dist/tests/transactionService.test.js +18 -18
- package/dist/tests/transactionService.test.js.map +1 -1
- package/package.json +18 -8
- package/dist/hooks/transaction/useSingleTransaction.d.ts +0 -10
- package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { ChainData } from "@0xsquid/squid-types";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
interface Balance {
|
|
3
|
+
decimals: number;
|
|
4
|
+
value: bigint;
|
|
5
|
+
}
|
|
6
|
+
interface UseNativeBalanceResult {
|
|
7
|
+
balance: Balance | undefined;
|
|
4
8
|
isLoading: boolean;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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;
|
|
17
|
+
export declare const useXrplNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
|
|
18
|
+
export declare const useStellarNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
|
|
12
19
|
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;
|
|
20
|
+
nativeBalance: Balance | undefined;
|
|
22
21
|
nativeBalanceFormatted: string | undefined;
|
|
23
22
|
isLoading: boolean;
|
|
24
23
|
};
|
|
24
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChainType
|
|
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, useStellarBalance, useSuiBalance, useXrplBalance, } from "./useBalance";
|
|
12
12
|
import { useNativeTokenForChain } from "./useNativeTokenForChain";
|
|
13
|
-
const useEvmNativeBalance = (chain,
|
|
14
|
-
const {
|
|
15
|
-
|
|
16
|
-
address:
|
|
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:
|
|
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,
|
|
40
|
+
const useCosmosNativeBalance = ({ address, chain, }) => {
|
|
28
41
|
const { isConnected: isCosmosConnected } = useCosmosContext();
|
|
29
42
|
const { nativeToken: nativeCosmosToken } = useNativeTokenForChain(chain);
|
|
30
|
-
const { balance:
|
|
31
|
-
|
|
43
|
+
const { balance: rawBalance, isLoading } = useCosmosBalance({
|
|
44
|
+
chain,
|
|
32
45
|
token: nativeCosmosToken,
|
|
33
|
-
userAddress:
|
|
46
|
+
userAddress: address,
|
|
34
47
|
enabled: isCosmosConnected && chain?.chainType === ChainType.COSMOS,
|
|
35
48
|
refreshIntervalMs: 10000,
|
|
36
49
|
});
|
|
37
|
-
|
|
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
|
-
|
|
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,156 @@ 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]);
|
|
111
|
+
return {
|
|
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]);
|
|
75
131
|
return {
|
|
76
|
-
|
|
132
|
+
balance,
|
|
133
|
+
isLoading,
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
export const useXrplNativeBalance = ({ address, chain, }) => {
|
|
137
|
+
const { nativeToken } = useNativeTokenForChain(chain);
|
|
138
|
+
const { balance: rawBalance, isLoading } = useXrplBalance({
|
|
139
|
+
chain,
|
|
140
|
+
token: nativeToken,
|
|
141
|
+
userAddress: address,
|
|
142
|
+
enabled: chain?.chainType === ChainType.XRPL,
|
|
143
|
+
});
|
|
144
|
+
const balance = useMemo(() => {
|
|
145
|
+
if (nativeToken?.decimals && rawBalance) {
|
|
146
|
+
return {
|
|
147
|
+
decimals: nativeToken.decimals,
|
|
148
|
+
value: parseToBigInt(rawBalance, nativeToken.decimals),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}, [nativeToken?.decimals, rawBalance]);
|
|
152
|
+
return {
|
|
153
|
+
balance,
|
|
154
|
+
isLoading,
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
export const useStellarNativeBalance = ({ address, chain, }) => {
|
|
158
|
+
const { nativeToken } = useNativeTokenForChain(chain);
|
|
159
|
+
const { balance: rawBalance, isLoading } = useStellarBalance({
|
|
160
|
+
chain,
|
|
161
|
+
token: nativeToken,
|
|
162
|
+
userAddress: address,
|
|
163
|
+
enabled: chain?.chainType === ChainType.STELLAR,
|
|
164
|
+
});
|
|
165
|
+
const balance = useMemo(() => {
|
|
166
|
+
if (nativeToken?.decimals && rawBalance) {
|
|
167
|
+
return {
|
|
168
|
+
decimals: nativeToken.decimals,
|
|
169
|
+
value: parseToBigInt(rawBalance, nativeToken.decimals),
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
}, [nativeToken?.decimals, rawBalance]);
|
|
173
|
+
return {
|
|
174
|
+
balance,
|
|
77
175
|
isLoading,
|
|
78
|
-
nativeToken,
|
|
79
176
|
};
|
|
80
177
|
};
|
|
81
178
|
export const useNativeBalance = (chain) => {
|
|
82
179
|
const { connectedAddresses } = useWallet();
|
|
83
180
|
const { data: cosmosAddressForChain } = useCosmosForChain(chain);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const {
|
|
87
|
-
|
|
88
|
-
|
|
181
|
+
// Cosmos is a special case because the address changes on every chain
|
|
182
|
+
// so we can't use the default cosmos connected address
|
|
183
|
+
const { balance: nativeCosmosBalance, isLoading: isCosmosLoading } = useCosmosNativeBalance({
|
|
184
|
+
address: cosmosAddressForChain,
|
|
185
|
+
chain,
|
|
186
|
+
});
|
|
187
|
+
const { balance: nativeEvmBalance, isLoading: isEvmLoading } = useEvmNativeBalance({ address: connectedAddresses[ChainType.EVM], chain });
|
|
188
|
+
const { balance: nativeBitcoinBalance, isLoading: isBitcoinLoading } = useBitcoinNativeBalance({
|
|
189
|
+
address: connectedAddresses[ChainType.BTC],
|
|
190
|
+
chain,
|
|
191
|
+
});
|
|
192
|
+
const { balance: nativeSolanaBalance, isLoading: isSolanaLoading } = useSolanaNativeBalance({
|
|
193
|
+
address: connectedAddresses[ChainType.SOLANA],
|
|
194
|
+
chain,
|
|
195
|
+
});
|
|
196
|
+
const { balance: nativeSuiBalance, isLoading: isSuiLoading } = useSuiNativeBalance({
|
|
197
|
+
address: connectedAddresses[ChainType.SUI],
|
|
198
|
+
chain,
|
|
199
|
+
});
|
|
200
|
+
const { balance: nativeXrplBalance, isLoading: isXrpLoading } = useXrplNativeBalance({
|
|
201
|
+
address: connectedAddresses[ChainType.XRPL],
|
|
202
|
+
chain,
|
|
203
|
+
});
|
|
204
|
+
const { balance: nativeStellarBalance, isLoading: isStellarLoading } = useStellarNativeBalance({
|
|
205
|
+
address: connectedAddresses[ChainType.STELLAR],
|
|
206
|
+
chain,
|
|
207
|
+
});
|
|
208
|
+
const { nativeBalance, nativeBalanceFormatted } = useMemo(() => {
|
|
209
|
+
let balance;
|
|
89
210
|
switch (chain?.chainType) {
|
|
90
211
|
case ChainType.EVM:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
: undefined;
|
|
212
|
+
balance = nativeEvmBalance;
|
|
213
|
+
break;
|
|
94
214
|
case ChainType.COSMOS:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
decimals: nativeCosmosToken.decimals,
|
|
98
|
-
value: parseToBigInt(nativeCosmosBalance, nativeCosmosToken.decimals),
|
|
99
|
-
}
|
|
100
|
-
: undefined;
|
|
215
|
+
balance = nativeCosmosBalance;
|
|
216
|
+
break;
|
|
101
217
|
case ChainType.BTC:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
decimals: nativeBitcoinToken.decimals,
|
|
105
|
-
value: parseToBigInt(nativeBitcoinBalance, nativeBitcoinToken.decimals),
|
|
106
|
-
}
|
|
107
|
-
: undefined;
|
|
218
|
+
balance = nativeBitcoinBalance;
|
|
219
|
+
break;
|
|
108
220
|
case ChainType.SOLANA:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
221
|
+
balance = nativeSolanaBalance;
|
|
222
|
+
break;
|
|
223
|
+
case ChainType.SUI:
|
|
224
|
+
balance = nativeSuiBalance;
|
|
225
|
+
break;
|
|
226
|
+
case ChainType.XRPL:
|
|
227
|
+
balance = nativeXrplBalance;
|
|
228
|
+
break;
|
|
229
|
+
case ChainType.STELLAR:
|
|
230
|
+
balance = nativeStellarBalance;
|
|
117
231
|
}
|
|
232
|
+
const balanceFormatted = !!balance
|
|
233
|
+
? formatBNToReadable(balance.value, balance.decimals)
|
|
234
|
+
: undefined;
|
|
235
|
+
return {
|
|
236
|
+
nativeBalance: balance,
|
|
237
|
+
nativeBalanceFormatted: balanceFormatted,
|
|
238
|
+
};
|
|
118
239
|
}, [
|
|
119
240
|
chain?.chainType,
|
|
120
241
|
nativeEvmBalance,
|
|
121
|
-
nativeCosmosToken?.decimals,
|
|
122
242
|
nativeCosmosBalance,
|
|
123
|
-
nativeBitcoinToken?.decimals,
|
|
124
243
|
nativeBitcoinBalance,
|
|
125
244
|
nativeSolanaBalance,
|
|
126
|
-
|
|
245
|
+
nativeSuiBalance,
|
|
246
|
+
nativeXrplBalance,
|
|
247
|
+
nativeStellarBalance,
|
|
127
248
|
]);
|
|
128
249
|
const isLoading = useMemo(() => {
|
|
129
|
-
|
|
250
|
+
if (!chain?.chainType)
|
|
251
|
+
return false;
|
|
252
|
+
switch (chain.chainType) {
|
|
130
253
|
case ChainType.EVM:
|
|
131
254
|
return isEvmLoading;
|
|
132
255
|
case ChainType.COSMOS:
|
|
@@ -135,8 +258,12 @@ export const useNativeBalance = (chain) => {
|
|
|
135
258
|
return isBitcoinLoading;
|
|
136
259
|
case ChainType.SOLANA:
|
|
137
260
|
return isSolanaLoading;
|
|
138
|
-
|
|
139
|
-
return
|
|
261
|
+
case ChainType.SUI:
|
|
262
|
+
return isSuiLoading;
|
|
263
|
+
case ChainType.XRPL:
|
|
264
|
+
return isXrpLoading;
|
|
265
|
+
case ChainType.STELLAR:
|
|
266
|
+
return isStellarLoading;
|
|
140
267
|
}
|
|
141
268
|
}, [
|
|
142
269
|
chain?.chainType,
|
|
@@ -144,9 +271,10 @@ export const useNativeBalance = (chain) => {
|
|
|
144
271
|
isCosmosLoading,
|
|
145
272
|
isBitcoinLoading,
|
|
146
273
|
isSolanaLoading,
|
|
274
|
+
isSuiLoading,
|
|
275
|
+
isXrpLoading,
|
|
276
|
+
isStellarLoading,
|
|
147
277
|
]);
|
|
148
|
-
const nativeBalanceFormatted = nativeBalance &&
|
|
149
|
-
formatBNToReadable(nativeBalance?.value, nativeBalance?.decimals);
|
|
150
278
|
return { nativeBalance, nativeBalanceFormatted, isLoading };
|
|
151
279
|
};
|
|
152
280
|
//# sourceMappingURL=useNativeBalance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNativeBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useNativeBalance.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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, xrplTokens, stellarTokens, } = useSquidTokens();
|
|
7
7
|
const getTokensForChainType = () => {
|
|
8
|
-
|
|
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,12 @@ export function useNativeTokenForChain(chain) {
|
|
|
14
16
|
return solanaTokens;
|
|
15
17
|
case ChainType.BTC:
|
|
16
18
|
return bitcoinTokens;
|
|
17
|
-
|
|
18
|
-
return
|
|
19
|
+
case ChainType.SUI:
|
|
20
|
+
return suiTokens;
|
|
21
|
+
case ChainType.XRPL:
|
|
22
|
+
return xrplTokens;
|
|
23
|
+
case ChainType.STELLAR:
|
|
24
|
+
return stellarTokens;
|
|
19
25
|
}
|
|
20
26
|
};
|
|
21
27
|
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;
|
|
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,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,GACd,GAAG,cAAc,EAAE,CAAC;IAErB,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;YACnB,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,UAAU,CAAC;YACpB,KAAK,SAAS,CAAC,OAAO;gBACpB,OAAO,aAAa,CAAC;SACxB;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,12 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
threshold: number;
|
|
12
|
-
findAllMatches: boolean;
|
|
13
|
-
includeMatches: boolean;
|
|
14
|
-
keys: {
|
|
15
|
-
name: string;
|
|
16
|
-
weight: number;
|
|
17
|
-
}[];
|
|
18
|
-
};
|
|
9
|
+
suiTokens: Token[];
|
|
10
|
+
xrplTokens: Token[];
|
|
11
|
+
stellarTokens: Token[];
|
|
19
12
|
};
|
|
@@ -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, xrplTokens, stellarTokens, } = useMemo(() => {
|
|
38
38
|
return filteredTokensForDirection?.reduce((acc, token) => {
|
|
39
39
|
switch (token.type) {
|
|
40
40
|
case ChainType.EVM:
|
|
@@ -49,6 +49,15 @@ 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;
|
|
55
|
+
case ChainType.XRPL:
|
|
56
|
+
acc.xrplTokens.push(token);
|
|
57
|
+
break;
|
|
58
|
+
case ChainType.STELLAR:
|
|
59
|
+
acc.stellarTokens.push(token);
|
|
60
|
+
break;
|
|
52
61
|
}
|
|
53
62
|
return acc;
|
|
54
63
|
}, {
|
|
@@ -56,6 +65,9 @@ export const useSquidTokens = (direction) => {
|
|
|
56
65
|
cosmosTokens: [],
|
|
57
66
|
solanaTokens: [],
|
|
58
67
|
bitcoinTokens: [],
|
|
68
|
+
suiTokens: [],
|
|
69
|
+
xrplTokens: [],
|
|
70
|
+
stellarTokens: [],
|
|
59
71
|
});
|
|
60
72
|
}, [filteredTokensForDirection]);
|
|
61
73
|
const findToken = useCallback((address, chainId) => {
|
|
@@ -63,26 +75,16 @@ export const useSquidTokens = (direction) => {
|
|
|
63
75
|
return undefined;
|
|
64
76
|
return updatedTokens?.find((t) => t.address === address && t.chainId === chainId);
|
|
65
77
|
}, [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
78
|
return {
|
|
79
79
|
tokens: updatedTokens,
|
|
80
|
+
findToken,
|
|
80
81
|
evmTokens,
|
|
81
82
|
solanaTokens,
|
|
82
83
|
cosmosTokens,
|
|
83
84
|
bitcoinTokens,
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
suiTokens,
|
|
86
|
+
xrplTokens,
|
|
87
|
+
stellarTokens,
|
|
86
88
|
};
|
|
87
89
|
};
|
|
88
90
|
//# sourceMappingURL=useSquidTokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSquidTokens.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useSquidTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"useSquidTokens.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useSquidTokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
|
+
interface UseEstimateSendReturnType {
|
|
3
|
+
/**
|
|
4
|
+
* Estimated gas for the transaction
|
|
5
|
+
*/
|
|
6
|
+
estimatedGas: bigint | undefined;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether the native balance is enough to pay for the network gas fees
|
|
10
|
+
*/
|
|
11
|
+
isNativeBalanceEnoughToPayGasFees: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the balance of the selected token is enough to send the requested `amount`.
|
|
14
|
+
*/
|
|
15
|
+
isBalanceEnough: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The safe amount the user can send to have enough balance to pay for the network gas fees
|
|
18
|
+
*/
|
|
19
|
+
minAmountValueWarnMsg: string | undefined;
|
|
20
|
+
}
|
|
21
|
+
export declare function useEstimateSendTransaction({ chain, token, amount, balance, from, }: {
|
|
22
|
+
chain: ChainData | undefined;
|
|
23
|
+
token: Token | undefined;
|
|
24
|
+
amount: string | undefined;
|
|
25
|
+
balance: string | undefined;
|
|
26
|
+
from: string | undefined;
|
|
27
|
+
}): UseEstimateSendReturnType;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { chainTypeToNativeTokenAddressMap } from "../../../core/constants";
|
|
3
|
+
import { useNativeBalance } from "../../../hooks/tokens/useNativeBalance";
|
|
4
|
+
import { parseToBigInt } from "../../../services";
|
|
5
|
+
import { calculateMinAmountValueWarnMsg } from "../../../services/internal/estimateService";
|
|
6
|
+
import { useSendTransactionGas } from "./useSendTransactionGas";
|
|
7
|
+
export function useEstimateSendTransaction({ chain, token, amount, balance, from, }) {
|
|
8
|
+
const { data: estimatedGas = BigInt(0), isLoading } = useSendTransactionGas({
|
|
9
|
+
chain,
|
|
10
|
+
token,
|
|
11
|
+
from,
|
|
12
|
+
});
|
|
13
|
+
const { nativeBalance } = useNativeBalance(chain);
|
|
14
|
+
const isNativeBalanceEnoughToPayGasFees = useMemo(() => {
|
|
15
|
+
if (!nativeBalance?.value || !amount || !token?.decimals) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const isTokenNative = token.address.toLowerCase() ===
|
|
19
|
+
chainTypeToNativeTokenAddressMap[token.type].toLowerCase();
|
|
20
|
+
if (isTokenNative) {
|
|
21
|
+
return (parseToBigInt(amount, token.decimals) + estimatedGas <=
|
|
22
|
+
nativeBalance.value);
|
|
23
|
+
}
|
|
24
|
+
return estimatedGas <= nativeBalance.value;
|
|
25
|
+
}, [amount, estimatedGas, nativeBalance?.value, token]);
|
|
26
|
+
const isBalanceEnough = useMemo(() => {
|
|
27
|
+
if (token?.decimals == null || !balance || !amount)
|
|
28
|
+
return false;
|
|
29
|
+
return (parseToBigInt(balance, token.decimals) >=
|
|
30
|
+
parseToBigInt(amount, token.decimals));
|
|
31
|
+
}, [amount, balance, token?.decimals]);
|
|
32
|
+
const minAmountValueWarnMsg = useMemo(() => {
|
|
33
|
+
if (!token?.address || !nativeBalance?.value || !estimatedGas)
|
|
34
|
+
return undefined;
|
|
35
|
+
const isFromTokenNative = token.address.toLowerCase() ===
|
|
36
|
+
chainTypeToNativeTokenAddressMap[token.type].toLowerCase();
|
|
37
|
+
return calculateMinAmountValueWarnMsg({
|
|
38
|
+
isFromTokenNative,
|
|
39
|
+
nativeTokenBalanceFromChainWei: nativeBalance.value,
|
|
40
|
+
sourceChainNativeTokenDecimals: nativeBalance.decimals,
|
|
41
|
+
totalFeesInNativeTokenPlusRatio: estimatedGas,
|
|
42
|
+
});
|
|
43
|
+
}, [
|
|
44
|
+
estimatedGas,
|
|
45
|
+
nativeBalance?.decimals,
|
|
46
|
+
nativeBalance?.value,
|
|
47
|
+
token?.address,
|
|
48
|
+
token?.type,
|
|
49
|
+
]);
|
|
50
|
+
return {
|
|
51
|
+
estimatedGas,
|
|
52
|
+
isBalanceEnough,
|
|
53
|
+
isLoading,
|
|
54
|
+
isNativeBalanceEnoughToPayGasFees,
|
|
55
|
+
minAmountValueWarnMsg,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=useEstimateSendTransactionGas.js.map
|