@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,179 +0,0 @@
|
|
|
1
|
-
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
-
import { AbiCoder, concat, ethers, getBytes, hexlify, parseUnits, randomBytes, } from "ethers";
|
|
3
|
-
import { isValidClassicAddress, isValidXAddress } from "ripple-address-codec";
|
|
4
|
-
import { CHAIN_IDS, nativeXrpTokenAddress, TESTNETS, } from "../../core/constants";
|
|
5
|
-
import { XRPL_CONFIG } from "../../core/xrp/config";
|
|
6
|
-
import { parseToBigInt } from "./numberService";
|
|
7
|
-
import { isWalletAddressValid } from "./walletService";
|
|
8
|
-
export const chainIdToItsFee = {
|
|
9
|
-
[CHAIN_IDS.XRPL_EVM]: parseUnits("0.5", 18),
|
|
10
|
-
[CHAIN_IDS.ETHEREUM_SEPOLIA]: parseUnits("0.002", 18),
|
|
11
|
-
[CHAIN_IDS.AVALANCHE_FUJI]: parseUnits("0.03", 18),
|
|
12
|
-
};
|
|
13
|
-
const chainIdToAxelarChainMap = {
|
|
14
|
-
[CHAIN_IDS.ETHEREUM_SEPOLIA]: "ethereum-sepolia",
|
|
15
|
-
[CHAIN_IDS.XRPL]: "xrpl",
|
|
16
|
-
[CHAIN_IDS.XRPL_EVM]: "xrpl-evm",
|
|
17
|
-
[CHAIN_IDS.AVALANCHE_FUJI]: "avalanche-fuji",
|
|
18
|
-
};
|
|
19
|
-
export const axelarChainToChainIdMap = {
|
|
20
|
-
"ethereum-sepolia": CHAIN_IDS.ETHEREUM_SEPOLIA,
|
|
21
|
-
xrpl: CHAIN_IDS.XRPL,
|
|
22
|
-
"xrpl-evm": CHAIN_IDS.XRPL_EVM,
|
|
23
|
-
"avalanche-fuji": CHAIN_IDS.AVALANCHE_FUJI,
|
|
24
|
-
};
|
|
25
|
-
export const chainIdToItsAddressMap = {
|
|
26
|
-
[CHAIN_IDS.ETHEREUM_SEPOLIA]: "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C",
|
|
27
|
-
[CHAIN_IDS.AVALANCHE_FUJI]: "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C",
|
|
28
|
-
[CHAIN_IDS.XRPL_EVM]: "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C",
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Validates that a given address is a valid X-Address or a valid classic address.
|
|
32
|
-
*
|
|
33
|
-
* XRP has two types of addresses:
|
|
34
|
-
* - X-addresses (e.g XVfC9...pokKH)
|
|
35
|
-
* - Classic addresses (e.g r4bA...WHCG)
|
|
36
|
-
*/
|
|
37
|
-
export function isXrpAddressValid(address) {
|
|
38
|
-
if (!address)
|
|
39
|
-
return false;
|
|
40
|
-
return isValidXAddress(address) || isValidClassicAddress(address);
|
|
41
|
-
}
|
|
42
|
-
export async function sendInterchainTransfer({ destinationAddress: toAddress, fromAmount: amount, fromToken, signer, toChain, fromChain, }) {
|
|
43
|
-
if (!TESTNETS.includes(fromChain.chainId)) {
|
|
44
|
-
throw new Error(`Chain ${fromChain.chainId} is not supported`);
|
|
45
|
-
}
|
|
46
|
-
if (!isWalletAddressValid(toChain, toAddress)) {
|
|
47
|
-
throw new Error("Destination address is not a valid XRP address");
|
|
48
|
-
}
|
|
49
|
-
const itsToken = XRPL_CONFIG.ITS_TOKENS[fromToken.symbol];
|
|
50
|
-
if (!itsToken) {
|
|
51
|
-
throw new Error(`From token ${fromToken.symbol} is not supported`);
|
|
52
|
-
}
|
|
53
|
-
const fee = chainIdToItsFee[fromChain.chainId];
|
|
54
|
-
if (!fee) {
|
|
55
|
-
throw new Error(`Fee is missing for chain ${fromChain.chainId}`);
|
|
56
|
-
}
|
|
57
|
-
const destinationChain = chainIdToAxelarChainMap[toChain.chainId];
|
|
58
|
-
if (!destinationChain) {
|
|
59
|
-
throw new Error(`Destination chain ${toChain.chainId} is not supported`);
|
|
60
|
-
}
|
|
61
|
-
const ITS_ABI = [
|
|
62
|
-
"function interchainTransfer(bytes32 tokenId, string destinationChain, bytes destinationAddress, uint256 amount, bytes metadata, uint256 gasValue) external",
|
|
63
|
-
];
|
|
64
|
-
const itsContract = new ethers.Contract(chainIdToItsAddressMap[fromChain.chainId], ITS_ABI, signer);
|
|
65
|
-
const destinationAddress = toChain.chainType === ChainType.XRP
|
|
66
|
-
? convertXrplAddressToHex(toAddress)
|
|
67
|
-
: toAddress;
|
|
68
|
-
const metadata = "0x";
|
|
69
|
-
const tx = await itsContract.interchainTransfer(itsToken.id, destinationChain, destinationAddress, amount, metadata, fee, {
|
|
70
|
-
value: fee,
|
|
71
|
-
});
|
|
72
|
-
return tx;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Converts an XRPL address to a hex string
|
|
76
|
-
* to be able to send it through Axelar ITS
|
|
77
|
-
*/
|
|
78
|
-
function convertXrplAddressToHex(address) {
|
|
79
|
-
return `0x${hex(address)}`;
|
|
80
|
-
}
|
|
81
|
-
export function hex(str) {
|
|
82
|
-
return Buffer.from(str).toString("hex");
|
|
83
|
-
}
|
|
84
|
-
export function isHexString(str) {
|
|
85
|
-
return /^[a-fA-F0-9]+$/.test(str);
|
|
86
|
-
}
|
|
87
|
-
export function asHexString(str) {
|
|
88
|
-
if (!isHexString(str)) {
|
|
89
|
-
throw new Error(`Invalid hex string: ${str}`);
|
|
90
|
-
}
|
|
91
|
-
return str;
|
|
92
|
-
}
|
|
93
|
-
export function buildXrplPayment({ fromAmount, sourceAddress, destinationAddress, fromToken, toChain, }) {
|
|
94
|
-
const fromAmountBn = parseToBigInt(fromAmount, 6).toString();
|
|
95
|
-
const isXrpPayment = fromToken.address.toLowerCase() === nativeXrpTokenAddress.toLowerCase();
|
|
96
|
-
const [currency, issuer] = fromToken.address.split(".");
|
|
97
|
-
const amountObj = isXrpPayment
|
|
98
|
-
? fromAmountBn
|
|
99
|
-
: {
|
|
100
|
-
currency,
|
|
101
|
-
issuer,
|
|
102
|
-
value: fromAmount,
|
|
103
|
-
};
|
|
104
|
-
const partialPayment = {
|
|
105
|
-
TransactionType: "Payment",
|
|
106
|
-
Account: sourceAddress,
|
|
107
|
-
Amount: amountObj,
|
|
108
|
-
Destination: XRPL_CONFIG.XRPL_AXELAR_MULTISIG_ADDRESS,
|
|
109
|
-
};
|
|
110
|
-
const isEvmDestination = toChain.chainType === ChainType.EVM;
|
|
111
|
-
const destinationChain = chainIdToAxelarChainMap[toChain.chainId];
|
|
112
|
-
const fee = XRPL_CONFIG.ITS_TOKENS[fromToken.symbol]?.fee;
|
|
113
|
-
if (fee == null) {
|
|
114
|
-
throw new Error(`XRPL fee is missing for token ${fromToken.symbol}`);
|
|
115
|
-
}
|
|
116
|
-
let payload = null;
|
|
117
|
-
if (isEvmDestination) {
|
|
118
|
-
const squidPayload = AbiCoder.defaultAbiCoder().encode(["address", "bytes32"], [destinationAddress, hexlify(randomBytes(32))]);
|
|
119
|
-
const metadataVersionBytes = hexlify("0x");
|
|
120
|
-
payload = concat([getBytes(metadataVersionBytes), getBytes(squidPayload)]);
|
|
121
|
-
}
|
|
122
|
-
const squidEvmContractAddress = "0x9bEb991eDdF92528E6342Ec5f7B0846C24cbaB58";
|
|
123
|
-
const Memos = [
|
|
124
|
-
{
|
|
125
|
-
Memo: {
|
|
126
|
-
MemoType: hex("type"),
|
|
127
|
-
MemoData: hex("interchain_transfer"),
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
Memo: {
|
|
132
|
-
MemoType: hex("destination_address"),
|
|
133
|
-
MemoData: hex((isEvmDestination
|
|
134
|
-
? squidEvmContractAddress
|
|
135
|
-
: destinationAddress).replace("0x", "")),
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
Memo: {
|
|
140
|
-
MemoType: hex("destination_chain"),
|
|
141
|
-
MemoData: hex(destinationChain),
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
Memo: {
|
|
146
|
-
MemoType: hex("gas_fee_amount"),
|
|
147
|
-
MemoData: hex(isXrpPayment ? parseToBigInt(fee, 6).toString() : fee),
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
];
|
|
151
|
-
// Don't need to add payload memo if it's empty.
|
|
152
|
-
if (payload) {
|
|
153
|
-
Memos.push({
|
|
154
|
-
Memo: {
|
|
155
|
-
MemoType: hex("payload"),
|
|
156
|
-
MemoData: payload.replace("0x", ""),
|
|
157
|
-
},
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
return {
|
|
161
|
-
...partialPayment,
|
|
162
|
-
Memos,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
export function buildXrplTrustSet({ amount, sourceAddress, token, }) {
|
|
166
|
-
// const amountFormatted = formatBNToReadable(amount, token.decimals).toString();
|
|
167
|
-
const [currency, issuer] = token.address.split(".");
|
|
168
|
-
const a = {
|
|
169
|
-
TransactionType: "TrustSet",
|
|
170
|
-
Account: sourceAddress,
|
|
171
|
-
LimitAmount: {
|
|
172
|
-
currency,
|
|
173
|
-
issuer,
|
|
174
|
-
value: amount,
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
return a;
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=xrpService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xrpService.js","sourceRoot":"","sources":["../../../src/services/internal/xrpService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { AxelarRouteAction, RouteActionStatus, SquidTransactionStatus, } from "@0xsquid/squid-types";
|
|
2
|
-
import { XRPL_CONFIG } from "../../core/xrp/config";
|
|
3
|
-
import { axelarChainToChainIdMap } from "./xrpService";
|
|
4
|
-
const parseChainId = (chainId) => {
|
|
5
|
-
// Parse chain ID from Axelar status response to the format used by the widget
|
|
6
|
-
return axelarChainToChainIdMap[chainId] || chainId;
|
|
7
|
-
};
|
|
8
|
-
async function searchGmp(txHash) {
|
|
9
|
-
const res = await fetch(`${XRPL_CONFIG.AXELARSCAN_API}/gmp/searchGMP`, {
|
|
10
|
-
method: "POST",
|
|
11
|
-
body: JSON.stringify({
|
|
12
|
-
txHash,
|
|
13
|
-
}),
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json();
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
|
-
export const getAxelarXrpTxStatus = async ({ txHash, }) => {
|
|
19
|
-
const data = await searchGmp(txHash);
|
|
20
|
-
const destTxHash = data.data[0].executed?.transactionHash;
|
|
21
|
-
if (destTxHash) {
|
|
22
|
-
const destData = await searchGmp(destTxHash);
|
|
23
|
-
return transformStatusResponse(data.data[0], destData.data[0]);
|
|
24
|
-
}
|
|
25
|
-
const status = transformStatusResponse(data.data[0], undefined);
|
|
26
|
-
return status;
|
|
27
|
-
};
|
|
28
|
-
function transformStatusResponse(sourceStatus, destStatus) {
|
|
29
|
-
const { routeStatus: destTxRouteStatus, squidStatus } = getStatus(destStatus);
|
|
30
|
-
const routeStatus = [
|
|
31
|
-
// source chain
|
|
32
|
-
{
|
|
33
|
-
chainId: parseChainId(sourceStatus.call?.chain),
|
|
34
|
-
action: AxelarRouteAction.CALL,
|
|
35
|
-
status: destTxRouteStatus,
|
|
36
|
-
txHash: sourceStatus.call?.id,
|
|
37
|
-
},
|
|
38
|
-
// destination chain
|
|
39
|
-
...(sourceStatus.callback
|
|
40
|
-
? [
|
|
41
|
-
{
|
|
42
|
-
chainId: parseChainId(sourceStatus.callback.returnValues.destinationChain),
|
|
43
|
-
action: AxelarRouteAction.CALL,
|
|
44
|
-
status: destTxRouteStatus,
|
|
45
|
-
txHash: destStatus?.executed?.transactionHash ?? "",
|
|
46
|
-
},
|
|
47
|
-
]
|
|
48
|
-
: []),
|
|
49
|
-
];
|
|
50
|
-
const status = {
|
|
51
|
-
id: sourceStatus.call.receipt.transactionHash,
|
|
52
|
-
status: squidStatus,
|
|
53
|
-
gasStatus: sourceStatus.gas_status,
|
|
54
|
-
axelarTransactionUrl: `${XRPL_CONFIG.AXELAR_EXPLORER_URL}/gmp/${sourceStatus.call.receipt.transactionHash}`,
|
|
55
|
-
fromChain: sourceStatus.call
|
|
56
|
-
? {
|
|
57
|
-
transactionId: sourceStatus.call.transactionHash,
|
|
58
|
-
blockNumber: sourceStatus.call.blockNumber.toString(),
|
|
59
|
-
callEventStatus: sourceStatus.call.event,
|
|
60
|
-
callEventLog: [],
|
|
61
|
-
chainData: parseChainId(sourceStatus.call.chain),
|
|
62
|
-
destinationAddress: sourceStatus.call.returnValues.destinationAddress,
|
|
63
|
-
}
|
|
64
|
-
: undefined,
|
|
65
|
-
toChain: sourceStatus.executed
|
|
66
|
-
? {
|
|
67
|
-
transactionId: sourceStatus.executed.transactionHash,
|
|
68
|
-
blockNumber: sourceStatus.executed.blockNumber.toString(),
|
|
69
|
-
callEventStatus: "executed",
|
|
70
|
-
callEventLog: [],
|
|
71
|
-
chainData: sourceStatus.executed,
|
|
72
|
-
destinationAddress: sourceStatus.call.returnValues.destinationAddress,
|
|
73
|
-
}
|
|
74
|
-
: undefined,
|
|
75
|
-
timeSpent: sourceStatus.time_spent || {},
|
|
76
|
-
squidTransactionStatus: squidStatus,
|
|
77
|
-
routeStatus,
|
|
78
|
-
};
|
|
79
|
-
return status;
|
|
80
|
-
}
|
|
81
|
-
function getStatus(input) {
|
|
82
|
-
switch (input?.status) {
|
|
83
|
-
case "executed":
|
|
84
|
-
return {
|
|
85
|
-
routeStatus: RouteActionStatus.SUCCESS,
|
|
86
|
-
squidStatus: SquidTransactionStatus.SUCCESS,
|
|
87
|
-
};
|
|
88
|
-
case "error":
|
|
89
|
-
return {
|
|
90
|
-
routeStatus: RouteActionStatus.FAILURE,
|
|
91
|
-
squidStatus: "error",
|
|
92
|
-
};
|
|
93
|
-
case "called":
|
|
94
|
-
case "executing":
|
|
95
|
-
default:
|
|
96
|
-
return {
|
|
97
|
-
routeStatus: RouteActionStatus.AWAITING,
|
|
98
|
-
squidStatus: SquidTransactionStatus.ONGOING,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=xrpStatusService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xrpStatusService.js","sourceRoot":"","sources":["../../../src/services/internal/xrpStatusService.ts"],"names":[],"mappings":"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"}
|