@0xsquid/react-hooks 6.4.4-dex-widget-beta.0 → 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/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 +19 -9
- package/dist/hooks/transaction/useSingleTransaction.d.ts +0 -10
- package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ChainData, ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { StargateClient } from "@cosmjs/stargate";
|
|
3
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
4
|
+
import { Connection as SolanaConnection } from "@solana/web3.js";
|
|
5
|
+
import { JsonRpcProvider } from "ethers";
|
|
6
|
+
import { XrplRpcClient } from "../../services/external/xrplRpcClient";
|
|
7
|
+
type ChainTypeToClient = {
|
|
8
|
+
[ChainType.EVM]: JsonRpcProvider;
|
|
9
|
+
[ChainType.COSMOS]: StargateClient;
|
|
10
|
+
[ChainType.SOLANA]: SolanaConnection;
|
|
11
|
+
[ChainType.BTC]: null;
|
|
12
|
+
[ChainType.SUI]: SuiClient;
|
|
13
|
+
[ChainType.XRPL]: XrplRpcClient;
|
|
14
|
+
[ChainType.STELLAR]: null;
|
|
15
|
+
};
|
|
16
|
+
export declare function getClient<T extends ChainType>(chain: ChainData): Promise<ChainTypeToClient[T]>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { StargateClient } from "@cosmjs/stargate";
|
|
3
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
4
|
+
import { Connection as SolanaConnection } from "@solana/web3.js";
|
|
5
|
+
import { JsonRpcProvider } from "ethers";
|
|
6
|
+
import { getWorkingCosmosRpcUrl } from "../../services/external/rpcService";
|
|
7
|
+
import { XrplRpcClient } from "../../services/external/xrplRpcClient";
|
|
8
|
+
import { SOLANA_RPC_URL } from "../constants";
|
|
9
|
+
const clientCache = new Map();
|
|
10
|
+
export async function getClient(chain) {
|
|
11
|
+
const key = `${chain.chainType}:${chain.chainId}`;
|
|
12
|
+
if (clientCache.has(key)) {
|
|
13
|
+
return clientCache.get(key);
|
|
14
|
+
}
|
|
15
|
+
const client = await createClient(chain);
|
|
16
|
+
clientCache.set(key, client);
|
|
17
|
+
return client;
|
|
18
|
+
}
|
|
19
|
+
async function createClient(chain) {
|
|
20
|
+
switch (chain.chainType) {
|
|
21
|
+
case ChainType.EVM:
|
|
22
|
+
return new JsonRpcProvider(chain.rpc);
|
|
23
|
+
case ChainType.COSMOS:
|
|
24
|
+
const rpcUrl = await getWorkingCosmosRpcUrl(chain);
|
|
25
|
+
return (await StargateClient.connect(rpcUrl));
|
|
26
|
+
case ChainType.SOLANA:
|
|
27
|
+
return new SolanaConnection(SOLANA_RPC_URL);
|
|
28
|
+
case ChainType.BTC:
|
|
29
|
+
return null;
|
|
30
|
+
case ChainType.SUI:
|
|
31
|
+
return new SuiClient({
|
|
32
|
+
url: chain.rpc,
|
|
33
|
+
});
|
|
34
|
+
case ChainType.XRPL:
|
|
35
|
+
return new XrplRpcClient(chain.rpc);
|
|
36
|
+
case ChainType.STELLAR:
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgD,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAW,CAAC;IAE3D,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAyB,CAAC;KACrD;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAI,KAAK,CAAC,CAAC;IAE5C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,KAAgB;IAEhB,QAAQ,KAAK,CAAC,SAAS,EAAE;QACvB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAEhE,KAAK,SAAS,CAAC,MAAM;YACnB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAyB,CAAC;QAExE,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAyB,CAAC;QAEtE,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAA4B,CAAC;QAEtC,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAyB,CAAC;QAE7B,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAE9D,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,IAA4B,CAAC;KACvC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare class BitcoinConnectorError extends Error {
|
|
2
2
|
constructor(message: string);
|
|
3
3
|
}
|
|
4
4
|
export declare class BitcoinConnectorProviderNotFoundError extends BitcoinConnectorError {
|
|
@@ -10,3 +10,4 @@ export declare class BitcoinConnectorTransactionFailedError extends BitcoinConne
|
|
|
10
10
|
export declare class BitcoinConnectorInvalidAccountError extends BitcoinConnectorError {
|
|
11
11
|
constructor();
|
|
12
12
|
}
|
|
13
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAsB,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,qBAAqB;IAC9E,YAAY,YAAoB;QAC9B,KAAK,CAAC,oBAAoB,YAAY,YAAY,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,OAAO,sCAAuC,SAAQ,qBAAqB;IAC/E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,qBAAqB;IAC5E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
+
interface TransactionDetail {
|
|
2
|
+
txid: string;
|
|
3
|
+
version: number;
|
|
4
|
+
fee: number;
|
|
5
|
+
status: Status;
|
|
6
|
+
}
|
|
7
|
+
interface Status {
|
|
8
|
+
confirmed: boolean;
|
|
9
|
+
block_height?: number;
|
|
10
|
+
block_hash?: string;
|
|
11
|
+
block_time?: number;
|
|
12
|
+
}
|
|
1
13
|
export declare const fromHexString: (hexString: string) => Uint8Array;
|
|
2
14
|
export declare function createSendBtcPsbt(senderAddress: string, recipientAddress: string, amount: number): Promise<{
|
|
3
15
|
psbtHex: string;
|
|
4
16
|
}>;
|
|
5
17
|
export declare function broadcastTx(txHex: string): Promise<string>;
|
|
18
|
+
export declare function getFeeRate(): Promise<number>;
|
|
19
|
+
export declare function getTransactionStatus(txHash: string): Promise<TransactionDetail>;
|
|
20
|
+
export {};
|
|
@@ -79,8 +79,13 @@ async function getAddressUtxos(address) {
|
|
|
79
79
|
.get(`https://mempool.space/api/address/${address}/utxo`)
|
|
80
80
|
.then((response) => response.data);
|
|
81
81
|
}
|
|
82
|
-
async function getFeeRate() {
|
|
82
|
+
export async function getFeeRate() {
|
|
83
83
|
const response = await axios.get("https://mempool.space/api/v1/fees/recommended");
|
|
84
84
|
return response.data.halfHourFee;
|
|
85
85
|
}
|
|
86
|
+
export async function getTransactionStatus(txHash) {
|
|
87
|
+
return axios
|
|
88
|
+
.get(`https://mempool.space/api/tx/${txHash}`)
|
|
89
|
+
.then((response) => response.data);
|
|
90
|
+
}
|
|
86
91
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAExB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IBitcoinProvider as KeplrBitcoinProvider } from "@keplr-wallet/types";
|
|
2
|
+
import { BitcoinConnector } from "..";
|
|
3
|
+
export declare class KeplrConnector implements BitcoinConnector {
|
|
4
|
+
get getProvider(): KeplrBitcoinProvider;
|
|
5
|
+
sendBTC(to: string, amount: number): Promise<{
|
|
6
|
+
txHash: string;
|
|
7
|
+
}>;
|
|
8
|
+
requestAccount(): Promise<{
|
|
9
|
+
address: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BitcoinConnectorInvalidAccountError, BitcoinConnectorProviderNotFoundError, BitcoinConnectorTransactionFailedError, } from "../errors";
|
|
2
|
+
export class KeplrConnector {
|
|
3
|
+
get getProvider() {
|
|
4
|
+
const provider = window?.bitcoin_keplr;
|
|
5
|
+
if (!provider) {
|
|
6
|
+
throw new BitcoinConnectorProviderNotFoundError("Keplr");
|
|
7
|
+
}
|
|
8
|
+
return provider;
|
|
9
|
+
}
|
|
10
|
+
async sendBTC(to, amount) {
|
|
11
|
+
const txHash = await this.getProvider.sendBitcoin(to, amount);
|
|
12
|
+
if (!txHash) {
|
|
13
|
+
throw new BitcoinConnectorTransactionFailedError();
|
|
14
|
+
}
|
|
15
|
+
return { txHash };
|
|
16
|
+
}
|
|
17
|
+
async requestAccount() {
|
|
18
|
+
const accounts = await this.getProvider.requestAccounts();
|
|
19
|
+
const account = accounts[0];
|
|
20
|
+
if (typeof account !== "string") {
|
|
21
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
address: account,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=keplr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keplr.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/keplr.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,WAAW,CAAC;AAEnB,MAAM,OAAO,cAAc;IACzB,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,aAAa,CAAC;QAEhD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,qCAAqC,CAAC,OAAO,CAAC,CAAC;SAC1D;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sCAAsC,EAAE,CAAC;SACpD;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEpE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,mCAAmC,EAAE,CAAC;SACjD;QAED,OAAO;YACL,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
2
|
+
export declare class CrossmarkConnector implements XrplConnector {
|
|
3
|
+
private getProvider;
|
|
4
|
+
connect(): Promise<string>;
|
|
5
|
+
signAndSubmit({ network, tx, }: {
|
|
6
|
+
network: XrplNetwork;
|
|
7
|
+
tx: XrplTransaction;
|
|
8
|
+
}): Promise<{
|
|
9
|
+
hash: string;
|
|
10
|
+
status: string;
|
|
11
|
+
}>;
|
|
12
|
+
private getActiveNetwork;
|
|
13
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { XrplNetwork } from "../../types/xrpl";
|
|
2
|
+
var NetworkLabel;
|
|
3
|
+
(function (NetworkLabel) {
|
|
4
|
+
NetworkLabel["XAHAU"] = "xahau";
|
|
5
|
+
NetworkLabel["XRPL"] = "xrp ledger";
|
|
6
|
+
})(NetworkLabel || (NetworkLabel = {}));
|
|
7
|
+
var NetworkType;
|
|
8
|
+
(function (NetworkType) {
|
|
9
|
+
NetworkType["TESTNET"] = "testnet";
|
|
10
|
+
NetworkType["MAINNET"] = "mainnet";
|
|
11
|
+
NetworkType["DEVNET"] = "devnet";
|
|
12
|
+
})(NetworkType || (NetworkType = {}));
|
|
13
|
+
export class CrossmarkConnector {
|
|
14
|
+
getProvider() {
|
|
15
|
+
return window?.xrpl?.crossmark;
|
|
16
|
+
}
|
|
17
|
+
async connect() {
|
|
18
|
+
const provider = this.getProvider();
|
|
19
|
+
if (!provider) {
|
|
20
|
+
throw new Error("Crossmark provider not found");
|
|
21
|
+
}
|
|
22
|
+
await provider.async.signInAndWait();
|
|
23
|
+
const address = provider.session?.address;
|
|
24
|
+
if (!address) {
|
|
25
|
+
throw new Error("Crossmark address not found");
|
|
26
|
+
}
|
|
27
|
+
return address;
|
|
28
|
+
}
|
|
29
|
+
async signAndSubmit({ network, tx, }) {
|
|
30
|
+
const activeNetwork = this.getActiveNetwork();
|
|
31
|
+
if (activeNetwork !== network) {
|
|
32
|
+
throw new Error(`Invalid network (expected ${network}, got ${activeNetwork})`);
|
|
33
|
+
}
|
|
34
|
+
const provider = this.getProvider();
|
|
35
|
+
if (!provider) {
|
|
36
|
+
throw new Error("Crossmark provider not found");
|
|
37
|
+
}
|
|
38
|
+
const result = await provider.async.signAndSubmitAndWait(tx);
|
|
39
|
+
const { data } = result.response;
|
|
40
|
+
if (data.meta?.isRejected) {
|
|
41
|
+
throw new Error("User rejected the request.");
|
|
42
|
+
}
|
|
43
|
+
if (data.meta?.isError) {
|
|
44
|
+
throw new Error(data.errorMessage || "Error signing transaction");
|
|
45
|
+
}
|
|
46
|
+
if (!data.resp.result) {
|
|
47
|
+
throw new Error("Invalid transaction response");
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
hash: data.resp.result.hash,
|
|
51
|
+
status: data.resp.result.meta.TransactionResult,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
getActiveNetwork() {
|
|
55
|
+
const provider = this.getProvider();
|
|
56
|
+
if (!provider) {
|
|
57
|
+
throw new Error("Crossmark provider not found");
|
|
58
|
+
}
|
|
59
|
+
const network = provider.session?.network;
|
|
60
|
+
if (!network) {
|
|
61
|
+
throw new Error("Crossmark network not found");
|
|
62
|
+
}
|
|
63
|
+
if (network.label !== NetworkLabel.XRPL) {
|
|
64
|
+
throw new Error(`Active network is not supported (expected '${NetworkLabel.XRPL}', got '${network.label}')`);
|
|
65
|
+
}
|
|
66
|
+
switch (network.type) {
|
|
67
|
+
case NetworkType.MAINNET:
|
|
68
|
+
return XrplNetwork.MAINNET;
|
|
69
|
+
case NetworkType.TESTNET:
|
|
70
|
+
return XrplNetwork.TESTNET;
|
|
71
|
+
default:
|
|
72
|
+
throw new Error(`Active network is not supported (got '${network.type}')`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=CrossMark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrossMark.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/CrossMark.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Xumm } from "xumm";
|
|
2
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
3
|
+
export declare class XamanConnector implements XrplConnector {
|
|
4
|
+
xummAppId: string;
|
|
5
|
+
xumm: Xumm | null;
|
|
6
|
+
private validateXummInitialized;
|
|
7
|
+
private initializeXumm;
|
|
8
|
+
connect(): Promise<string>;
|
|
9
|
+
signAndSubmit({ network, tx, }: {
|
|
10
|
+
tx: XrplTransaction;
|
|
11
|
+
network: XrplNetwork;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
hash: string;
|
|
14
|
+
status: string;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { XamanClient } from "../../../services/external/xaman";
|
|
2
|
+
import { XrplTxStatus, } from "../../types/xrpl";
|
|
3
|
+
export class XamanConnector {
|
|
4
|
+
// Xumm app ID, safe to expose on client-side
|
|
5
|
+
xummAppId = "5f341f00-03c6-4f3e-a367-e69698ca8337";
|
|
6
|
+
xumm = null;
|
|
7
|
+
validateXummInitialized() {
|
|
8
|
+
if (!this.xumm) {
|
|
9
|
+
throw new Error("Xumm is not initialized");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
async initializeXumm() {
|
|
13
|
+
// the Xumm constructor can run in 3 different environments: Server, Browser, and xApp (Xaman's embedded browser)
|
|
14
|
+
// When running in server, the constructor needs both App ID and API secret
|
|
15
|
+
// When running in xApp or browser envs, the constructor only needs the App ID
|
|
16
|
+
// We cannot initialize the Xumm instance in the constructor
|
|
17
|
+
// as it would throw an error in SRR (API secret is required in server env),
|
|
18
|
+
// so we need to initialize it on the client-side
|
|
19
|
+
if (!this.xumm) {
|
|
20
|
+
const { Xumm } = await import("xumm");
|
|
21
|
+
this.xumm = new Xumm(this.xummAppId);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async connect() {
|
|
25
|
+
await this.initializeXumm();
|
|
26
|
+
this.validateXummInitialized();
|
|
27
|
+
const connectedAddress = await this.xumm.user.account;
|
|
28
|
+
if (!connectedAddress) {
|
|
29
|
+
throw new Error("User not connected");
|
|
30
|
+
}
|
|
31
|
+
return connectedAddress;
|
|
32
|
+
}
|
|
33
|
+
async signAndSubmit({ network, tx, }) {
|
|
34
|
+
this.validateXummInitialized();
|
|
35
|
+
if (!this.xumm.xapp) {
|
|
36
|
+
throw new Error("Not in xApp context");
|
|
37
|
+
}
|
|
38
|
+
if (!this.xumm.payload) {
|
|
39
|
+
throw new Error("Payload not available");
|
|
40
|
+
}
|
|
41
|
+
const xamanNetwork = XamanClient.getXamanNetwork(network);
|
|
42
|
+
const txPayload = await this.xumm.payload.create({
|
|
43
|
+
TransactionType: "Payment",
|
|
44
|
+
options: {
|
|
45
|
+
force_network: xamanNetwork,
|
|
46
|
+
},
|
|
47
|
+
txjson: tx,
|
|
48
|
+
});
|
|
49
|
+
await this.xumm.xapp.openSignRequest(txPayload);
|
|
50
|
+
const response = await new Promise((resolve, reject) => {
|
|
51
|
+
this.validateXummInitialized();
|
|
52
|
+
if (!this.xumm.xapp) {
|
|
53
|
+
reject(new Error("Not in xApp context"));
|
|
54
|
+
}
|
|
55
|
+
this.xumm.on("payload", async (data) => {
|
|
56
|
+
this.validateXummInitialized();
|
|
57
|
+
if (data && data.reason === "DECLINED") {
|
|
58
|
+
reject(new Error("User rejected the request."));
|
|
59
|
+
}
|
|
60
|
+
if (data && data.reason === "SIGNED") {
|
|
61
|
+
if (!this.xumm.payload) {
|
|
62
|
+
throw new Error("Payload not available");
|
|
63
|
+
}
|
|
64
|
+
const fullPayload = await this.xumm.payload.get(data.uuid);
|
|
65
|
+
if (fullPayload?.response.txid) {
|
|
66
|
+
resolve({
|
|
67
|
+
hash: fullPayload.response.txid,
|
|
68
|
+
status: XrplTxStatus.SUCCESS,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
reject(new Error("Transaction hash not found"));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
return response;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=Xaman.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Xaman.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/Xaman.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
2
|
+
export declare class XamanQrConnector implements XrplConnector {
|
|
3
|
+
cancelConnectQr: (() => void) | null;
|
|
4
|
+
cancelSignAndSubmitQr: (() => void) | null;
|
|
5
|
+
cancelConnect(): void;
|
|
6
|
+
cancelSignAndSubmit(): void;
|
|
7
|
+
connect(): Promise<string>;
|
|
8
|
+
signAndSubmit({ tx, network, }: {
|
|
9
|
+
tx: XrplTransaction;
|
|
10
|
+
network: XrplNetwork;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
hash: string;
|
|
13
|
+
status: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { WidgetEvents } from "../../../services";
|
|
2
|
+
import { websocket } from "../../../services/external/websocket";
|
|
3
|
+
import { XamanClient } from "../../../services/external/xaman";
|
|
4
|
+
import { XrplTxStatus, } from "../../types/xrpl";
|
|
5
|
+
export class XamanQrConnector {
|
|
6
|
+
cancelConnectQr = null;
|
|
7
|
+
cancelSignAndSubmitQr = null;
|
|
8
|
+
cancelConnect() {
|
|
9
|
+
this.cancelConnectQr?.();
|
|
10
|
+
}
|
|
11
|
+
cancelSignAndSubmit() {
|
|
12
|
+
this.cancelSignAndSubmitQr?.();
|
|
13
|
+
}
|
|
14
|
+
async connect() {
|
|
15
|
+
const controller = new AbortController();
|
|
16
|
+
this.cancelConnectQr = () => {
|
|
17
|
+
controller.abort("User canceled the connection process");
|
|
18
|
+
};
|
|
19
|
+
const response = await XamanClient.signIn(controller.signal);
|
|
20
|
+
WidgetEvents.getInstance().dispatchQrCodeGeneratedForConnect({
|
|
21
|
+
matrix: response.qrMatrix,
|
|
22
|
+
});
|
|
23
|
+
const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
|
|
24
|
+
const msg = JSON.parse(event.data);
|
|
25
|
+
if (msg.signed === true) {
|
|
26
|
+
XamanClient.userSession(msg.payload_uuidv4).then((data) => {
|
|
27
|
+
resolve(data.response.account);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else if (msg.signed === false) {
|
|
31
|
+
reject(new Error("User rejected the request."));
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
this.cancelConnectQr = () => {
|
|
35
|
+
close();
|
|
36
|
+
};
|
|
37
|
+
const address = await promise;
|
|
38
|
+
return address;
|
|
39
|
+
}
|
|
40
|
+
async signAndSubmit({ tx, network, }) {
|
|
41
|
+
const controller = new AbortController();
|
|
42
|
+
this.cancelSignAndSubmitQr = () => {
|
|
43
|
+
controller.abort("User canceled the transaction");
|
|
44
|
+
};
|
|
45
|
+
const response = await XamanClient.sendTx({
|
|
46
|
+
tx,
|
|
47
|
+
network,
|
|
48
|
+
signal: controller.signal,
|
|
49
|
+
});
|
|
50
|
+
WidgetEvents.getInstance().dispatchQrCodeGeneratedForSign({
|
|
51
|
+
matrix: response.qrMatrix,
|
|
52
|
+
});
|
|
53
|
+
const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
|
|
54
|
+
const msg = JSON.parse(event.data);
|
|
55
|
+
if (msg.opened === true) {
|
|
56
|
+
// User has scanned the QR code
|
|
57
|
+
WidgetEvents.getInstance().dispatchQrTxScannedAwaitingApproval(undefined);
|
|
58
|
+
}
|
|
59
|
+
else if (msg.signed === true) {
|
|
60
|
+
// Tx has been signed
|
|
61
|
+
resolve({
|
|
62
|
+
hash: msg.txid,
|
|
63
|
+
status: XrplTxStatus.SUCCESS,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else if (msg.signed === false) {
|
|
67
|
+
// User rejected the transaction
|
|
68
|
+
reject(new Error("User rejected the request."));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
this.cancelSignAndSubmitQr = () => {
|
|
72
|
+
close();
|
|
73
|
+
};
|
|
74
|
+
const result = await promise;
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=XamanQr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XamanQr.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/XamanQr.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { EIP6963AnnounceProviderEvent, EIP6963RequestProviderEvent } from "@metamask/providers";
|
|
2
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
3
|
+
declare enum EIP6963EventNames {
|
|
4
|
+
Announce = "eip6963:announceProvider",
|
|
5
|
+
Request = "eip6963:requestProvider"
|
|
6
|
+
}
|
|
7
|
+
declare global {
|
|
8
|
+
interface WindowEventMap {
|
|
9
|
+
[EIP6963EventNames.Announce]: EIP6963AnnounceProviderEvent;
|
|
10
|
+
[EIP6963EventNames.Request]: EIP6963RequestProviderEvent;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare class XrplMetamaskSnapConnector implements XrplConnector {
|
|
14
|
+
private provider?;
|
|
15
|
+
connect(): Promise<string>;
|
|
16
|
+
signAndSubmit({ network, tx, }: {
|
|
17
|
+
network: XrplNetwork;
|
|
18
|
+
tx: XrplTransaction;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
hash: string;
|
|
21
|
+
status: string;
|
|
22
|
+
}>;
|
|
23
|
+
private initialize;
|
|
24
|
+
private requestSnap;
|
|
25
|
+
private getAccount;
|
|
26
|
+
private getActiveNetwork;
|
|
27
|
+
private changeNetwork;
|
|
28
|
+
private invokeSnap;
|
|
29
|
+
private getProvider;
|
|
30
|
+
private hasSnapsSupport;
|
|
31
|
+
private getMetamaskEIP6963Provider;
|
|
32
|
+
private request;
|
|
33
|
+
private getNetworkChainId;
|
|
34
|
+
}
|
|
35
|
+
export {};
|