@0xsquid/react-hooks 6.4.4-beta.4 → 6.4.4-stellar-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.
- 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/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/{xrp → xrpl}/CrossMark.js +11 -11
- 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/{xrp/XrpMetamaskSnap.d.ts → xrpl/XrplMetamaskSnap.d.ts} +7 -16
- package/dist/core/connectors/{xrp/XrpMetamaskSnap.js → xrpl/XrplMetamaskSnap.js} +22 -57
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +1 -0
- package/dist/core/constants.d.ts +14 -22
- package/dist/core/constants.js +43 -41
- 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/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 +25 -30
- package/dist/core/queries/queries-keys.js +76 -86
- 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 -3
- 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 -2
- package/dist/core/types/index.js +2 -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/transaction.d.ts +10 -30
- package/dist/core/types/transaction.js +6 -0
- package/dist/core/types/transaction.js.map +1 -1
- package/dist/core/types/wallet.d.ts +34 -20
- package/dist/core/types/wallet.js +3 -1
- 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 +61 -45
- 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 +22 -3
- 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 +49 -39
- 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 +10 -3
- package/dist/hooks/index.js +10 -4
- 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/squid/useSquid.js +1 -1
- package/dist/hooks/squid/useSquid.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 +9 -15
- 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 +4 -16
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +28 -6
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +34 -17
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +3 -1
- package/dist/hooks/tokens/useBalance.js +49 -8
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +24 -6
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +3 -1
- package/dist/hooks/tokens/useNativeBalance.js +72 -10
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +7 -3
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +3 -1
- package/dist/hooks/tokens/useSquidTokens.js +15 -5
- 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/useExecuteTransaction.d.ts +1 -0
- package/dist/hooks/transaction/useExecuteTransaction.js +175 -99
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +13 -7
- package/dist/hooks/transaction/useGetRoute.js +17 -151
- 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/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/useMultiChainWallet.d.ts +4 -0
- package/dist/hooks/wallet/useMultiChainWallet.js +53 -6
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +9 -6
- package/dist/hooks/wallet/useSigner.js +41 -22
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +64 -7
- package/dist/hooks/wallet/useWallet.js +58 -10
- 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.js +9 -4
- 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 +13 -8
- package/dist/services/external/rpcService.js +58 -69
- 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 +11 -11
- package/dist/services/external/xrplRpcClient.js +46 -55
- package/dist/services/external/xrplRpcClient.js.map +1 -1
- package/dist/services/index.d.ts +4 -3
- package/dist/services/index.js +4 -4
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +5 -3
- package/dist/services/internal/assetsService.js +22 -377
- 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 +14 -2
- package/dist/services/internal/cosmosService.js +18 -1
- 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 +3 -7
- package/dist/services/internal/errorService.js +26 -2
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/estimateService.js +3 -3
- 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 +2 -2
- 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 -1
- 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 +2 -2
- 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 -36
- package/dist/services/internal/transactionService.js +32 -35
- 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 +17 -11
- package/dist/services/internal/walletService.js +70 -21
- 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/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 +13 -5
- package/dist/core/connectors/xrp/CrossMark.d.ts +0 -26
- package/dist/core/connectors/xrp/CrossMark.js.map +0 -1
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +0 -1
- package/dist/core/its/config.d.ts +0 -200
- package/dist/core/its/config.js +0 -193
- package/dist/core/its/config.js.map +0 -1
- package/dist/core/types/route.d.ts +0 -9
- package/dist/core/types/route.js +0 -4
- package/dist/core/types/route.js.map +0 -1
- package/dist/core/types/xrp.d.ts +0 -51
- package/dist/core/types/xrp.js +0 -2
- package/dist/core/types/xrp.js.map +0 -1
- package/dist/core/xrp/config.d.ts +0 -24
- package/dist/core/xrp/config.js +0 -74
- package/dist/core/xrp/config.js.map +0 -1
- package/dist/hooks/transaction/useSingleTransaction.d.ts +0 -10
- package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
- package/dist/hooks/xrp/useXrp.d.ts +0 -7
- package/dist/hooks/xrp/useXrp.js +0 -22
- package/dist/hooks/xrp/useXrp.js.map +0 -1
- package/dist/hooks/xrp/useXrpPrice.d.ts +0 -1
- package/dist/hooks/xrp/useXrpPrice.js +0 -12
- package/dist/hooks/xrp/useXrpPrice.js.map +0 -1
- package/dist/hooks/xrp/useXrplTrustLine.d.ts +0 -7
- package/dist/hooks/xrp/useXrplTrustLine.js +0 -127
- package/dist/hooks/xrp/useXrplTrustLine.js.map +0 -1
- package/dist/services/internal/xrpService.d.ts +0 -37
- package/dist/services/internal/xrpService.js +0 -179
- package/dist/services/internal/xrpService.js.map +0 -1
- package/dist/services/internal/xrpStatusService.d.ts +0 -4
- package/dist/services/internal/xrpStatusService.js +0 -102
- package/dist/services/internal/xrpStatusService.js.map +0 -1
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
import Fuse from "fuse.js";
|
|
2
2
|
import { nativeEvmTokenAddress } from "../../core/constants";
|
|
3
|
-
const fuseSearchOptions = {
|
|
4
|
-
isCaseSensitive: false,
|
|
5
|
-
threshold: 0.1,
|
|
6
|
-
findAllMatches: false,
|
|
7
|
-
includeMatches: true,
|
|
8
|
-
keys: [
|
|
9
|
-
{ name: "symbol", weight: 1 },
|
|
10
|
-
{ name: "name", weight: 0.8 },
|
|
11
|
-
],
|
|
12
|
-
};
|
|
13
3
|
/**
|
|
14
4
|
* Minimum length of a search query to search by address
|
|
15
5
|
* Some tokens can have very short addresses (e.g. "uosmo", "uixo", "satoshi", etc...)
|
|
@@ -20,9 +10,19 @@ const fuseSearchOptions = {
|
|
|
20
10
|
* but most blockchains should have longer addresses than this
|
|
21
11
|
*/
|
|
22
12
|
const minAddressLength = 7;
|
|
13
|
+
const fuseSearchOptions = {
|
|
14
|
+
isCaseSensitive: false,
|
|
15
|
+
threshold: 0.1,
|
|
16
|
+
findAllMatches: false,
|
|
17
|
+
includeMatches: true,
|
|
18
|
+
keys: [
|
|
19
|
+
{ name: "symbol", weight: 1 },
|
|
20
|
+
{ name: "name", weight: 0.8 },
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
23
|
/**
|
|
24
24
|
* Searches for tokens based on a query string, prioritizing results in the following order:
|
|
25
|
-
* 1. Exact address
|
|
25
|
+
* 1. Exact address
|
|
26
26
|
* 2. ETH on Ethereum mainnet (chainId 1)
|
|
27
27
|
* 3. Native tokens of chains matching the query (e.g., BNB when searching for "binance")
|
|
28
28
|
* 4. Exact matches for native tokens (e.g., native FTM when searching for "FTM")
|
|
@@ -40,10 +40,13 @@ export const searchTokens = (query, tokens, chains) => {
|
|
|
40
40
|
if (query.length <= 1)
|
|
41
41
|
return tokens;
|
|
42
42
|
// Check for exact address match first, only if query is long enough
|
|
43
|
-
const
|
|
44
|
-
tokens.
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
const exactAddressMatches = query.length >= minAddressLength
|
|
44
|
+
? tokens.filter((token) => token.address.toLowerCase() === query.toLowerCase())
|
|
45
|
+
: [];
|
|
46
|
+
// There can be multiple matches for the same address,
|
|
47
|
+
// e.g. ITS tokens share address across chains
|
|
48
|
+
if (exactAddressMatches.length > 0) {
|
|
49
|
+
return exactAddressMatches;
|
|
47
50
|
}
|
|
48
51
|
// Init fuse.js
|
|
49
52
|
const fuse = new Fuse(tokens, fuseSearchOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchService.js","sourceRoot":"","sources":["../../../src/services/internal/searchService.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,iBAAiB,GAA6B;IAClD,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,GAAG;IACd,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE;QAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;KAC9B;CACF,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"searchService.js","sourceRoot":"","sources":["../../../src/services/internal/searchService.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,iBAAiB,GAA6B;IAClD,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,GAAG;IACd,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE;QAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;KAC9B;CACF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAa,EACb,MAAe,EACf,MAAmB,EACV,EAAE;IACX,2CAA2C;IAC3C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAErC,oEAAoE;IACpE,MAAM,mBAAmB,GACvB,KAAK,CAAC,MAAM,IAAI,gBAAgB;QAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CACX,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAC/D;QACH,CAAC,CAAC,EAAE,CAAC;IAET,sDAAsD;IACtD,8CAA8C;IAC9C,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;QAClC,OAAO,mBAAmB,CAAC;KAC5B;IAED,eAAe;IACf,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAEjD,+BAA+B;IAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzC,iEAAiE;IACjE,MAAM,YAAY,GAAG,MAAM;SACxB,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;QACjE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACrE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7D,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACpE;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,MAAM,CAAC,IAAI,CACT,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC/B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,qBAAqB,CACxD,CACF;SACA,MAAM,CAAC,CAAC,KAAK,EAAkB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAE1D,gEAAgE;IAChE,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAClC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,CAC3D,CAAC;IACF,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,CAC9D,CAAC;IAEF,8CAA8C;IAC9C,MAAM,YAAY,GAAG,aAAa;SAC/B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SAC5B,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;QAChD,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CACrD,CAAC;IAEJ,gDAAgD;IAChD,MAAM,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAAC;QACpE,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAAC;QACpE,IAAI,SAAS,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,IAAI,SAAS;YAAE,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,MAAM,YAAY,GAAG,aAAa;SAC/B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SAC5B,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,CACC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;QAChD,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CACnD,CACJ,CAAC;IAEJ,oDAAoD;IACpD,MAAM,eAAe,GAAG;QACtB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,iBAAiB;QACpB,GAAG,uBAAuB;QAC1B,GAAG,YAAY;KAChB,CAAC;IAEF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3D,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
|
+
import { OfflineSigner } from "@cosmjs/proto-signing";
|
|
3
|
+
import { Adapter as SolanaAdapter } from "@solana/wallet-adapter-base";
|
|
4
|
+
import { Connection as SolanaConnection } from "@solana/web3.js";
|
|
5
|
+
import { JsonRpcSigner } from "ethers";
|
|
6
|
+
import { BitcoinConnector } from "../../core/connectors/bitcoin";
|
|
7
|
+
import { StellarConnector } from "../../core/types/stellar";
|
|
8
|
+
import { SuiAccount, SuiConnector } from "../../core/types/sui";
|
|
9
|
+
import { XrplConnector } from "../../core/types/xrpl";
|
|
10
|
+
interface SendTransactionParams {
|
|
11
|
+
to: string;
|
|
12
|
+
amount: string;
|
|
13
|
+
token: Token;
|
|
14
|
+
}
|
|
15
|
+
export interface SendTransactionResponse {
|
|
16
|
+
txHash: string;
|
|
17
|
+
}
|
|
18
|
+
interface SendTransactionEvmParams extends SendTransactionParams {
|
|
19
|
+
signer: JsonRpcSigner;
|
|
20
|
+
rpcUrl: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function sendTransactionEvm({ to, amount, token, signer, rpcUrl, }: SendTransactionEvmParams): Promise<SendTransactionResponse>;
|
|
23
|
+
interface SendTransactionCosmosParams extends SendTransactionParams {
|
|
24
|
+
signer: OfflineSigner;
|
|
25
|
+
rpcUrl: string;
|
|
26
|
+
nativeToken: Token;
|
|
27
|
+
}
|
|
28
|
+
export declare function sendTransactionCosmos({ amount, rpcUrl, signer, to, token, nativeToken, }: SendTransactionCosmosParams): Promise<SendTransactionResponse>;
|
|
29
|
+
interface SendTxSolanaParams extends SendTransactionParams {
|
|
30
|
+
signer: SolanaAdapter;
|
|
31
|
+
connection: SolanaConnection;
|
|
32
|
+
}
|
|
33
|
+
export declare function sendTransactionSolana({ signer, amount, to, token, connection, }: SendTxSolanaParams): Promise<SendTransactionResponse>;
|
|
34
|
+
interface SendTxBitcoinParams extends SendTransactionParams {
|
|
35
|
+
signer: BitcoinConnector;
|
|
36
|
+
}
|
|
37
|
+
export declare function sendTransactionBitcoin({ amount, signer, to, }: SendTxBitcoinParams): Promise<SendTransactionResponse>;
|
|
38
|
+
interface SendTxSuiParams extends SendTransactionParams {
|
|
39
|
+
account: SuiAccount["account"];
|
|
40
|
+
chain: ChainData;
|
|
41
|
+
signer: SuiConnector;
|
|
42
|
+
}
|
|
43
|
+
export declare function sendTransactionSui({ account, amount, chain, signer, to, token, }: SendTxSuiParams): Promise<SendTransactionResponse>;
|
|
44
|
+
interface SendTxXrplParams extends SendTransactionParams {
|
|
45
|
+
signer: XrplConnector;
|
|
46
|
+
from: string;
|
|
47
|
+
}
|
|
48
|
+
export declare function sendTransactionXrpl({ amount, signer, to, token, from, }: SendTxXrplParams): Promise<SendTransactionResponse>;
|
|
49
|
+
interface SendTxStellarParams extends SendTransactionParams {
|
|
50
|
+
signer: StellarConnector;
|
|
51
|
+
}
|
|
52
|
+
export declare function sendTransactionStellar({}: SendTxStellarParams): Promise<SendTransactionResponse>;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { coin as cosmJsCoin } from "@cosmjs/proto-signing";
|
|
3
|
+
import { SigningStargateClient, } from "@cosmjs/stargate";
|
|
4
|
+
import { Transaction } from "@mysten/sui/transactions";
|
|
5
|
+
import { Contract, JsonRpcProvider } from "ethers";
|
|
6
|
+
import { erc20Abi } from "viem";
|
|
7
|
+
import { getClient } from "../../core/client";
|
|
8
|
+
import { nativeEvmTokenAddress, nativeSuiTokenAddress, nativeXrplTokenAddress, } from "../../core/constants";
|
|
9
|
+
import { formatBNToReadable } from "./numberService";
|
|
10
|
+
import { executeSolanaTransfer } from "./solanaService";
|
|
11
|
+
import { getSuiChain } from "./suiService";
|
|
12
|
+
import { getXrplNetwork, isXrplAddressValid } from "./xrplService";
|
|
13
|
+
export async function sendTransactionEvm({ to, amount, token, signer, rpcUrl, }) {
|
|
14
|
+
const isNativeToken = token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
|
|
15
|
+
if (isNativeToken) {
|
|
16
|
+
const tx = await signer.sendTransaction({
|
|
17
|
+
to,
|
|
18
|
+
value: amount,
|
|
19
|
+
chainId: Number(token.chainId),
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
txHash: tx.hash,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const provider = new JsonRpcProvider(rpcUrl);
|
|
26
|
+
const erc20Contract = new Contract(token.address, erc20Abi, provider);
|
|
27
|
+
const encodedTransferCall = erc20Contract.interface.encodeFunctionData("transfer", [to, amount]);
|
|
28
|
+
const tx = await signer.sendTransaction({
|
|
29
|
+
to: token.address,
|
|
30
|
+
data: encodedTransferCall,
|
|
31
|
+
chainId: Number(token.chainId),
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
txHash: tx.hash,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export async function sendTransactionCosmos({ amount, rpcUrl, signer, to, token, nativeToken, }) {
|
|
38
|
+
const accounts = await signer.getAccounts();
|
|
39
|
+
const signingClient = await SigningStargateClient.connectWithSigner(rpcUrl, signer);
|
|
40
|
+
const senderAddress = accounts[0].address;
|
|
41
|
+
const coins = [cosmJsCoin(amount, token.address)];
|
|
42
|
+
const fee = {
|
|
43
|
+
amount: [cosmJsCoin("500", nativeToken.address)],
|
|
44
|
+
gas: "150000",
|
|
45
|
+
};
|
|
46
|
+
const sendMsg = {
|
|
47
|
+
typeUrl: "/cosmos.bank.v1beta1.MsgSend",
|
|
48
|
+
value: {
|
|
49
|
+
fromAddress: senderAddress,
|
|
50
|
+
toAddress: to,
|
|
51
|
+
amount: coins,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
const txHash = await signingClient.signAndBroadcastSync(senderAddress, [sendMsg], fee);
|
|
55
|
+
return { txHash };
|
|
56
|
+
}
|
|
57
|
+
export async function sendTransactionSolana({ signer, amount, to, token, connection, }) {
|
|
58
|
+
const amountBn = BigInt(amount);
|
|
59
|
+
const txHash = await executeSolanaTransfer({
|
|
60
|
+
amount: amountBn,
|
|
61
|
+
connection,
|
|
62
|
+
signer,
|
|
63
|
+
target: to,
|
|
64
|
+
sourceToken: token,
|
|
65
|
+
});
|
|
66
|
+
return { txHash };
|
|
67
|
+
}
|
|
68
|
+
export async function sendTransactionBitcoin({ amount, signer, to, }) {
|
|
69
|
+
const { txHash } = await signer.sendBTC(to, Number(amount));
|
|
70
|
+
return { txHash };
|
|
71
|
+
}
|
|
72
|
+
export async function sendTransactionSui({ account, amount, chain, signer, to, token, }) {
|
|
73
|
+
if (chain.chainType !== ChainType.SUI) {
|
|
74
|
+
throw new Error(`Invalid chain type, expected ${ChainType.SUI}, got ${chain.chainType}`);
|
|
75
|
+
}
|
|
76
|
+
const suiChain = getSuiChain(chain.chainId);
|
|
77
|
+
if (!suiChain) {
|
|
78
|
+
throw new Error(`Sui chain not found for chainId: ${chain.chainId}`);
|
|
79
|
+
}
|
|
80
|
+
const suiClient = await getClient(chain);
|
|
81
|
+
const isNativeToken = token.address.toLowerCase() === nativeSuiTokenAddress.toLowerCase();
|
|
82
|
+
const tx = new Transaction();
|
|
83
|
+
if (isNativeToken) {
|
|
84
|
+
const [coin] = tx.splitCoins(tx.gas, [amount]);
|
|
85
|
+
tx.transferObjects([coin], to);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const coinType = token.address;
|
|
89
|
+
const coinObjects = await suiClient.getCoins({
|
|
90
|
+
owner: account.address,
|
|
91
|
+
coinType,
|
|
92
|
+
});
|
|
93
|
+
const coinObject = coinObjects.data.find((coin) => BigInt(coin.balance) >= BigInt(amount));
|
|
94
|
+
// if a coin with enough balance is found, use it
|
|
95
|
+
// as it's more efficient than merging multiple coins
|
|
96
|
+
if (coinObject) {
|
|
97
|
+
const [coin] = tx.splitCoins(coinObject.coinObjectId, [amount]);
|
|
98
|
+
tx.transferObjects([coin], to);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// otherwise merge coins up to the required amount
|
|
102
|
+
// first, sort the coins by balance in descending order for efficiency
|
|
103
|
+
const sortedCoins = coinObjects.data.sort((a, b) => {
|
|
104
|
+
const diff = BigInt(b.balance) - BigInt(a.balance);
|
|
105
|
+
if (diff === BigInt(0)) {
|
|
106
|
+
return 0;
|
|
107
|
+
}
|
|
108
|
+
else if (diff > BigInt(0)) {
|
|
109
|
+
return 1;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return -1;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
// gather coins until the required amount is reached
|
|
116
|
+
const selectedCoinObjects = [];
|
|
117
|
+
let amountGathered = BigInt(0);
|
|
118
|
+
for (const coin of sortedCoins) {
|
|
119
|
+
if (amountGathered >= BigInt(amount)) {
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
selectedCoinObjects.push(coin);
|
|
123
|
+
amountGathered += BigInt(coin.balance);
|
|
124
|
+
}
|
|
125
|
+
if (amountGathered < BigInt(amount)) {
|
|
126
|
+
throw new Error(`Insufficient balance of ${coinType}`);
|
|
127
|
+
}
|
|
128
|
+
const [targetCoin, ...otherCoins] = selectedCoinObjects.map((c) => c.coinObjectId);
|
|
129
|
+
// merge the selected coins into a single coin
|
|
130
|
+
tx.mergeCoins(targetCoin, otherCoins);
|
|
131
|
+
// create a new coin with the required amount
|
|
132
|
+
const [coin] = tx.splitCoins(targetCoin, [amount]);
|
|
133
|
+
tx.transferObjects([coin], to);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const signedTx = await signer.signTransaction({
|
|
137
|
+
transaction: tx,
|
|
138
|
+
account,
|
|
139
|
+
chain: suiChain,
|
|
140
|
+
});
|
|
141
|
+
// execute transaction without waiting for confirmation
|
|
142
|
+
const txResponse = await suiClient.executeTransactionBlock({
|
|
143
|
+
signature: signedTx.signature,
|
|
144
|
+
transactionBlock: signedTx.bytes,
|
|
145
|
+
});
|
|
146
|
+
return { txHash: txResponse.digest };
|
|
147
|
+
}
|
|
148
|
+
export async function sendTransactionXrpl({ amount, signer, to, token, from, }) {
|
|
149
|
+
const xrplNetwork = getXrplNetwork(token.chainId);
|
|
150
|
+
if (xrplNetwork == null) {
|
|
151
|
+
throw new Error(`No XRPL network found for chainId '${token.chainId}'`);
|
|
152
|
+
}
|
|
153
|
+
if (!isXrplAddressValid(from) || !isXrplAddressValid(to)) {
|
|
154
|
+
throw new Error("Invalid from or to address");
|
|
155
|
+
}
|
|
156
|
+
const baseTransaction = {
|
|
157
|
+
TransactionType: "Payment",
|
|
158
|
+
Account: from,
|
|
159
|
+
Destination: to,
|
|
160
|
+
};
|
|
161
|
+
const isNativeToken = token.address.toLowerCase() === nativeXrplTokenAddress.toLowerCase();
|
|
162
|
+
if (isNativeToken) {
|
|
163
|
+
const { hash } = await signer.signAndSubmit({
|
|
164
|
+
network: xrplNetwork,
|
|
165
|
+
tx: {
|
|
166
|
+
...baseTransaction,
|
|
167
|
+
Amount: amount,
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
return {
|
|
171
|
+
txHash: hash,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
const [currency, issuer] = token.address.split(".");
|
|
175
|
+
const amountFormatted = formatBNToReadable(amount, token.decimals);
|
|
176
|
+
const { hash } = await signer.signAndSubmit({
|
|
177
|
+
network: xrplNetwork,
|
|
178
|
+
tx: {
|
|
179
|
+
...baseTransaction,
|
|
180
|
+
Amount: {
|
|
181
|
+
currency,
|
|
182
|
+
issuer,
|
|
183
|
+
value: amountFormatted,
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
});
|
|
187
|
+
return {
|
|
188
|
+
txHash: hash,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
export async function sendTransactionStellar({}) {
|
|
192
|
+
throw new Error("Not implemented");
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=sendTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendTransaction.js","sourceRoot":"","sources":["../../../src/services/internal/sendTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChainData } from "@0xsquid/squid-types";
|
|
2
|
+
import { SendTransactionStatus } from "../../core/types/transaction";
|
|
3
|
+
export declare function getSendTransactionStatus({ chain, txHash, }: {
|
|
4
|
+
chain: ChainData;
|
|
5
|
+
txHash: string;
|
|
6
|
+
}): Promise<SendTransactionStatus>;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { AxiosError } from "axios";
|
|
3
|
+
import { getClient } from "../../core/client";
|
|
4
|
+
import { getTransactionStatus as getBtcTxStatus } from "../../core/connectors/bitcoin/helpers";
|
|
5
|
+
import { SendTransactionStatus } from "../../core/types/transaction";
|
|
6
|
+
import { XrplTxStatus } from "../../core/types/xrpl";
|
|
7
|
+
async function getTxStatusEvm({ chain, txHash, }) {
|
|
8
|
+
const client = await getClient(chain);
|
|
9
|
+
const receipt = await client.getTransactionReceipt(txHash);
|
|
10
|
+
if (!receipt)
|
|
11
|
+
return SendTransactionStatus.ONGOING;
|
|
12
|
+
switch (receipt.status) {
|
|
13
|
+
case 0:
|
|
14
|
+
return SendTransactionStatus.ERROR;
|
|
15
|
+
case 1:
|
|
16
|
+
return SendTransactionStatus.SUCCESS;
|
|
17
|
+
}
|
|
18
|
+
return SendTransactionStatus.ONGOING;
|
|
19
|
+
}
|
|
20
|
+
async function getTxStatusCosmos({ txHash, chain, }) {
|
|
21
|
+
const client = await getClient(chain);
|
|
22
|
+
const tx = await client.getTx(txHash);
|
|
23
|
+
if (!tx) {
|
|
24
|
+
return SendTransactionStatus.ONGOING;
|
|
25
|
+
}
|
|
26
|
+
if (tx.code === 0) {
|
|
27
|
+
return SendTransactionStatus.SUCCESS;
|
|
28
|
+
}
|
|
29
|
+
return SendTransactionStatus.ERROR;
|
|
30
|
+
}
|
|
31
|
+
async function getTxStatusSolana({ txHash, chain, }) {
|
|
32
|
+
const client = await getClient(chain);
|
|
33
|
+
const txStatus = await client.getSignatureStatus(txHash, {
|
|
34
|
+
searchTransactionHistory: true,
|
|
35
|
+
});
|
|
36
|
+
if (!txStatus.value) {
|
|
37
|
+
return SendTransactionStatus.ONGOING;
|
|
38
|
+
}
|
|
39
|
+
if (txStatus.value.err) {
|
|
40
|
+
return SendTransactionStatus.ERROR;
|
|
41
|
+
}
|
|
42
|
+
switch (txStatus.value.confirmationStatus) {
|
|
43
|
+
case "processed":
|
|
44
|
+
case "confirmed":
|
|
45
|
+
return SendTransactionStatus.ONGOING;
|
|
46
|
+
case "finalized":
|
|
47
|
+
return SendTransactionStatus.SUCCESS;
|
|
48
|
+
}
|
|
49
|
+
return SendTransactionStatus.ONGOING;
|
|
50
|
+
}
|
|
51
|
+
async function getTxStatusBitcoin({ txHash, }) {
|
|
52
|
+
try {
|
|
53
|
+
const response = await getBtcTxStatus(txHash);
|
|
54
|
+
if (response.status.confirmed) {
|
|
55
|
+
return SendTransactionStatus.SUCCESS;
|
|
56
|
+
}
|
|
57
|
+
return SendTransactionStatus.ONGOING;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof AxiosError) {
|
|
61
|
+
if (/transaction not found/i.test(error.message)) {
|
|
62
|
+
return SendTransactionStatus.ONGOING;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function getTxStatusSui({ chain, txHash, }) {
|
|
69
|
+
if (chain.chainType !== ChainType.SUI) {
|
|
70
|
+
throw new Error(`Invalid chain type, expected ${ChainType.SUI}, got ${chain.chainType}`);
|
|
71
|
+
}
|
|
72
|
+
const suiClient = await getClient(chain);
|
|
73
|
+
const txResponse = await suiClient.waitForTransaction({
|
|
74
|
+
digest: txHash,
|
|
75
|
+
options: {
|
|
76
|
+
showEffects: true,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
if (txResponse.effects?.status.error) {
|
|
80
|
+
return SendTransactionStatus.ERROR;
|
|
81
|
+
}
|
|
82
|
+
switch (txResponse.effects?.status.status) {
|
|
83
|
+
case "success":
|
|
84
|
+
return SendTransactionStatus.SUCCESS;
|
|
85
|
+
case "failure":
|
|
86
|
+
return SendTransactionStatus.ERROR;
|
|
87
|
+
default:
|
|
88
|
+
return SendTransactionStatus.ONGOING;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async function getTxStatusXrpl({ chain, txHash, }) {
|
|
92
|
+
const xrplClient = await getClient(chain);
|
|
93
|
+
const status = await xrplClient.waitForTransaction(txHash, {
|
|
94
|
+
interval: 1_000,
|
|
95
|
+
});
|
|
96
|
+
if (status === XrplTxStatus.SUCCESS) {
|
|
97
|
+
return SendTransactionStatus.SUCCESS;
|
|
98
|
+
}
|
|
99
|
+
return SendTransactionStatus.ERROR;
|
|
100
|
+
}
|
|
101
|
+
async function getTxStatusStellar({}) {
|
|
102
|
+
throw new Error("Not implemented");
|
|
103
|
+
}
|
|
104
|
+
export async function getSendTransactionStatus({ chain, txHash, }) {
|
|
105
|
+
switch (chain.chainType) {
|
|
106
|
+
case ChainType.EVM:
|
|
107
|
+
return getTxStatusEvm({
|
|
108
|
+
txHash,
|
|
109
|
+
chain,
|
|
110
|
+
});
|
|
111
|
+
case ChainType.COSMOS:
|
|
112
|
+
return getTxStatusCosmos({
|
|
113
|
+
txHash,
|
|
114
|
+
chain,
|
|
115
|
+
});
|
|
116
|
+
case ChainType.SOLANA:
|
|
117
|
+
return getTxStatusSolana({
|
|
118
|
+
txHash,
|
|
119
|
+
chain,
|
|
120
|
+
});
|
|
121
|
+
case ChainType.BTC:
|
|
122
|
+
return getTxStatusBitcoin({
|
|
123
|
+
txHash,
|
|
124
|
+
});
|
|
125
|
+
case ChainType.SUI:
|
|
126
|
+
return getTxStatusSui({
|
|
127
|
+
txHash,
|
|
128
|
+
chain,
|
|
129
|
+
});
|
|
130
|
+
case ChainType.XRPL:
|
|
131
|
+
return getTxStatusXrpl({
|
|
132
|
+
txHash,
|
|
133
|
+
chain,
|
|
134
|
+
});
|
|
135
|
+
case ChainType.STELLAR:
|
|
136
|
+
return getTxStatusStellar({
|
|
137
|
+
txHash,
|
|
138
|
+
chain,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=sendTransactionStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendTransactionStatus.js","sourceRoot":"","sources":["../../../src/services/internal/sendTransactionStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { RouteResponse, Token } from "@0xsquid/squid-types";
|
|
1
|
+
import { ChainType, RouteResponse, Token } from "@0xsquid/squid-types";
|
|
2
2
|
import { Connection } from "@solana/web3.js";
|
|
3
3
|
import { Adapter } from "@solana/wallet-adapter-base";
|
|
4
4
|
import { ISolanaContextData } from "../../core/providers/SolanaProvider";
|
|
5
5
|
import { ConnectWalletResult, SolanaWallet } from "../../core/types/wallet";
|
|
6
6
|
export declare const isSolanaAddressValid: (address: string) => boolean;
|
|
7
|
-
export declare const connectSolanaWallet: (wallet: SolanaWallet, { connectSolana }: Pick<ISolanaContextData, "connectSolana" | "wallet">) => Promise<ConnectWalletResult | null>;
|
|
7
|
+
export declare const connectSolanaWallet: (wallet: SolanaWallet, { connectSolana }: Pick<ISolanaContextData, "connectSolana" | "wallet">) => Promise<ConnectWalletResult<ChainType.SOLANA> | null>;
|
|
8
8
|
/**
|
|
9
9
|
* Execute a Solana swap transaction
|
|
10
10
|
* This will be used for the swap flow - Using Jupiter Dex under the hood
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solanaService.js","sourceRoot":"","sources":["../../../src/services/internal/solanaService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"solanaService.js","sourceRoot":"","sources":["../../../src/services/internal/solanaService.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uCAAuC,EACvC,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,SAAS,EACT,aAAa,EACb,WAAW,EACX,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAIhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC/D,IAAI;QACF,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAoB,EACpB,EAAE,aAAa,EAAwD,EAChB,EAAE;IACzD,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,WAAW,CAAC;QAC/C,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE;QACX,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KAC5B;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,GAMT,EAAmB,EAAE;IACpB,IAAI,CAAE,KAAK,EAAE,kBAA2C,EAAE,IAAI,EAAE;QAC9D,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;IAED,MAAM,WAAW,GAAI,KAAK,CAAC,kBAA2C,CAAC,IAAI,CAAC;IAC5E,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAEzE,IAAI;QACF,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAExE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;QAEtB,MAAM,UAAU,CAAC,kBAAkB,CAAC;YAClC,SAAS;YACT,SAAS,EAAE,eAAe,CAAC,SAAS;YACpC,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;SAC3D,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;KAClB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,MAAM,EACN,MAAM,EACN,MAAM,EACN,UAAU,EACV,WAAW,EACX,QAAQ,GAQT,EAAmB,EAAE;IACpB,qCAAqC;IACrC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,MAAM,aAAa,GACjB,CAAC,WAAW;QACZ,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE;YAC/B,wBAAwB,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,aAAa,EAAE;QACjB,6BAA6B;QAC7B,WAAW,CAAC,GAAG,CACb,aAAa,CAAC,QAAQ,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,MAAM;SACjB,CAAC,CACH,CAAC;KACH;SAAM;QACL,4BAA4B;QAC5B,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhD,kEAAkE;QAClE,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAC/C,IAAI,EACJ,MAAM,CAAC,SAAS,EAChB,IAAI,CACL,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAE5E,kDAAkD;QAClD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,EAAE;YAClB,WAAW,CAAC,GAAG,CACb,uCAAuC,CACrC,MAAM,CAAC,SAAS,EAChB,SAAS,EACT,YAAY,EACZ,IAAI,CACL,CACF,CAAC;SACH;QAED,qCAAqC;QACrC,WAAW,CAAC,GAAG,CACb,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAC1E,CAAC;KACH;IAED,4CAA4C;IAC5C,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GACvC,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;IACxC,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAExC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAExE,wDAAwD;IACxD,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;IAEtB,oCAAoC;IACpC,MAAM,UAAU,CAAC,kBAAkB,CAAC;QAClC,SAAS;QACT,SAAS;QACT,oBAAoB;KACrB,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { StellarConnector } from "../../core/types/stellar";
|
|
2
|
+
import { StellarWallet } from "../../core/types/wallet";
|
|
3
|
+
export declare function isStellarAddressValid(address: string): boolean;
|
|
4
|
+
export declare function formatStellarWallet(wallet: StellarConnector): StellarWallet;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { StrKey } from "@stellar/stellar-sdk";
|
|
3
|
+
export function isStellarAddressValid(address) {
|
|
4
|
+
return StrKey.isValidEd25519PublicKey(address);
|
|
5
|
+
}
|
|
6
|
+
export function formatStellarWallet(wallet) {
|
|
7
|
+
const { productName, productId, productIcon } = wallet;
|
|
8
|
+
return {
|
|
9
|
+
connectorId: productId,
|
|
10
|
+
name: productName,
|
|
11
|
+
connectorName: productName,
|
|
12
|
+
type: ChainType.STELLAR,
|
|
13
|
+
icon: productIcon,
|
|
14
|
+
windowFlag: productName,
|
|
15
|
+
isMobile: false,
|
|
16
|
+
isInstalled: () => true,
|
|
17
|
+
connector: wallet,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=stellarService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stellarService.js","sourceRoot":"","sources":["../../../src/services/internal/stellarService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAQ9C,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IAC1D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAEvD,OAAO;QACL,WAAW,EAAE,SAAwB;QACrC,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,WAAW;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,WAA+B;QAC3C,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;QACvB,SAAS,EAAE,MAAM;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SuiChain, type Wallet as StandardWallet } from "@mysten/wallet-standard";
|
|
2
|
+
import { ConnectorID, SuiWallet } from "../../core/types/wallet";
|
|
3
|
+
export declare function filterSuiWallets(standardWallets: readonly StandardWallet[]): SuiWallet[];
|
|
4
|
+
export declare function isSuiAddressValid(address: string): boolean;
|
|
5
|
+
type SuiWalletOverride = {
|
|
6
|
+
icon: string;
|
|
7
|
+
connectorId?: ConnectorID;
|
|
8
|
+
name?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const slushWebWalletData: {
|
|
11
|
+
icon: string;
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Override Sui standard wallet properties
|
|
17
|
+
*/
|
|
18
|
+
export declare const suiStdWalletOverrides: Partial<Record<string, SuiWalletOverride>>;
|
|
19
|
+
export declare function getSuiChain(chainId: string): SuiChain | null;
|
|
20
|
+
export {};
|