@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fiatToCryptoService.test.js","sourceRoot":"","sources":["../../../src/services/internal/fiatToCryptoService.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export declare const parseToBigInt: (value: string, decimals?: number) => bigint
|
|
|
15
15
|
*/
|
|
16
16
|
export declare const formatBNToReadable: (value: bigint | string, decimals?: number) => string;
|
|
17
17
|
export declare const roundNumericValue: (value?: string, precision?: number, useComaEvery3Digits?: boolean, significantFigures?: number) => string;
|
|
18
|
+
export declare function formatUnitsRounded(value: string, decimals: string | number | undefined, maxDecimalDigits?: number): string;
|
|
18
19
|
interface FormatTokenAmountOptions {
|
|
19
20
|
/**
|
|
20
21
|
* When set to true, formats `amount` to its exact value, without any rounding.
|
|
@@ -58,6 +58,21 @@ export const roundNumericValue = (value = "0", precision = 2, useComaEvery3Digit
|
|
|
58
58
|
? `${integers}.${take(decimals, precision).join("")}`
|
|
59
59
|
: integers;
|
|
60
60
|
};
|
|
61
|
+
export function formatUnitsRounded(value, decimals, maxDecimalDigits) {
|
|
62
|
+
const dc = decimals ?? 0;
|
|
63
|
+
try {
|
|
64
|
+
const formatted = formatBNToReadable(BigInt(value), Number(dc));
|
|
65
|
+
const [integerPart, fractionalPart] = formatted.split(".");
|
|
66
|
+
if (fractionalPart && maxDecimalDigits !== undefined) {
|
|
67
|
+
const roundedFractional = Math.round(Number(`0.${fractionalPart}`) * Math.pow(10, maxDecimalDigits)) / Math.pow(10, maxDecimalDigits);
|
|
68
|
+
return (Number(integerPart) + roundedFractional).toFixed(maxDecimalDigits);
|
|
69
|
+
}
|
|
70
|
+
return formatted;
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
61
76
|
const MAX_TOKEN_DECIMALS = 8;
|
|
62
77
|
const TOKEN_EXACT_AMOUNT_FORMATTER = new Intl.NumberFormat(DEFAULT_LOCALE, {
|
|
63
78
|
minimumFractionDigits: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberService.js","sourceRoot":"","sources":["../../../src/services/internal/numberService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numberService.js","sourceRoot":"","sources":["../../../src/services/internal/numberService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
2
|
/**
|
|
3
3
|
* Searches for tokens based on a query string, prioritizing results in the following order:
|
|
4
|
-
* 1. Exact address
|
|
4
|
+
* 1. Exact address
|
|
5
5
|
* 2. ETH on Ethereum mainnet (chainId 1)
|
|
6
6
|
* 3. Native tokens of chains matching the query (e.g., BNB when searching for "binance")
|
|
7
7
|
* 4. Exact matches for native tokens (e.g., native FTM when searching for "FTM")
|
|
@@ -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":"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"}
|
|
@@ -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":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAYrD,KAAK,UAAU,cAAc,CAAC,EAC5B,KAAK,EACL,MAAM,GACe;IACrB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAgB,KAAK,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE3D,IAAI,CAAC,OAAO;QAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC;IAEnD,QAAQ,OAAO,CAAC,MAAM,EAAE;QACtB,KAAK,CAAC;YACJ,OAAO,qBAAqB,CAAC,KAAK,CAAC;QACrC,KAAK,CAAC;YACJ,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACxC;IAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;AACvC,CAAC;AAMD,KAAK,UAAU,iBAAiB,CAAC,EAC/B,MAAM,EACN,KAAK,GACmB;IACxB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAmB,KAAK,CAAC,CAAC;IAExD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACtC;IAED,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE;QACjB,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACtC;IAED,OAAO,qBAAqB,CAAC,KAAK,CAAC;AACrC,CAAC;AAMD,KAAK,UAAU,iBAAiB,CAAC,EAC/B,MAAM,EACN,KAAK,GACmB;IACxB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAmB,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACvD,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACnB,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACtC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;QACtB,OAAO,qBAAqB,CAAC,KAAK,CAAC;KACpC;IAED,QAAQ,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE;QACzC,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC,OAAO,CAAC;QACvC,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACxC;IAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAChC,MAAM,GACY;IAClB,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;YAC7B,OAAO,qBAAqB,CAAC,OAAO,CAAC;SACtC;QAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACtC;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,UAAU,EAAE;YAC/B,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBAChD,OAAO,qBAAqB,CAAC,OAAO,CAAC;aACtC;SACF;QAED,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAMD,KAAK,UAAU,cAAc,CAAC,EAC5B,KAAK,EACL,MAAM,GACe;IACrB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE;QACrC,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,CAAC,GAAG,SAAS,KAAK,CAAC,SAAS,EAAE,CACxE,CAAC;KACH;IAED,MAAM,SAAS,GAAG,MAAM,SAAS,CAAgB,KAAK,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC;QACpD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE;QACpC,OAAO,qBAAqB,CAAC,KAAK,CAAC;KACpC;IAED,QAAQ,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QACzC,KAAK,SAAS;YACZ,OAAO,qBAAqB,CAAC,OAAO,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,qBAAqB,CAAC,KAAK,CAAC;QACrC;YACE,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACxC;AACH,CAAC;AAMD,KAAK,UAAU,eAAe,CAAC,EAC7B,KAAK,EACL,MAAM,GACgB;IACtB,MAAM,UAAU,GAAG,MAAM,SAAS,CAAiB,KAAK,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACzD,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,YAAY,CAAC,OAAO,EAAE;QACnC,OAAO,qBAAqB,CAAC,OAAO,CAAC;KACtC;IAED,OAAO,qBAAqB,CAAC,KAAK,CAAC;AACrC,CAAC;AAMD,KAAK,UAAU,kBAAkB,CAC/B,EAG2B;IAE3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,KAAK,EACL,MAAM,GAIP;IACC,QAAQ,KAAK,CAAC,SAAS,EAAE;QACvB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,cAAc,CAAC;gBACpB,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,iBAAiB,CAAC;gBACvB,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,iBAAiB,CAAC;gBACvB,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,kBAAkB,CAAC;gBACxB,MAAM;aACP,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,cAAc,CAAC;gBACpB,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,eAAe,CAAC;gBACrB,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,kBAAkB,CAAC;gBACxB,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;KACN;AACH,CAAC"}
|
|
@@ -1,13 +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
|
-
import { SolanaWallet } from "../../core/types/wallet";
|
|
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<
|
|
8
|
-
wallet: SolanaWallet;
|
|
9
|
-
address: string;
|
|
10
|
-
} | null>;
|
|
7
|
+
export declare const connectSolanaWallet: (wallet: SolanaWallet, { connectSolana }: Pick<ISolanaContextData, "connectSolana" | "wallet">) => Promise<ConnectWalletResult<ChainType.SOLANA> | null>;
|
|
11
8
|
/**
|
|
12
9
|
* Execute a Solana swap transaction
|
|
13
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":"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"}
|
|
@@ -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"}
|