@0xsquid/react-hooks 7.7.0 → 8.0.0-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/constants.d.ts +0 -2
- package/dist/core/queries/queries-keys.d.ts +2 -1
- package/dist/core/types/config.d.ts +27 -4
- package/dist/core/types/swap.d.ts +1 -0
- package/dist/hooks/chains/useSquidChains.d.ts +5 -8
- package/dist/hooks/swap/useSwap.d.ts +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +2 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +2 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +5 -1
- package/dist/hooks/transaction/useEstimate.d.ts +0 -2
- package/dist/index-B3FG6tRj.js +6021 -0
- package/dist/index-B3FG6tRj.js.map +1 -0
- package/dist/index-CeIwio11.js +41015 -0
- package/dist/index-CeIwio11.js.map +1 -0
- package/dist/index-CjYMwYuT.js +41267 -0
- package/dist/index-CjYMwYuT.js.map +1 -0
- package/dist/index-CoxuUJzG.js +6021 -0
- package/dist/index-CoxuUJzG.js.map +1 -0
- package/dist/index.esm.js +36 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +292 -6
- package/dist/index.js.map +1 -1
- package/dist/secretService-C6ack504.js +168 -0
- package/dist/secretService-C6ack504.js.map +1 -0
- package/dist/{services/external/secretService.js → secretService-CgLleYSR.js} +43 -8
- package/dist/secretService-CgLleYSR.js.map +1 -0
- package/dist/services/internal/assetsService.d.ts +18 -19
- package/dist/services/internal/configService.d.ts +8 -16
- package/dist/services/internal/estimateService.d.ts +0 -1
- package/package.json +18 -4
- package/dist/core/abis/ics20.json +0 -128
- package/dist/core/client/index.js +0 -38
- package/dist/core/client/index.js.map +0 -1
- package/dist/core/connectors/bitcoin/errors/index.js +0 -22
- package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
- package/dist/core/connectors/bitcoin/helpers.js +0 -91
- package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
- package/dist/core/connectors/bitcoin/index.js +0 -2
- package/dist/core/connectors/bitcoin/index.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
- package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
- package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
- package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
- package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
- package/dist/core/connectors/xrpl/CrossMark.js +0 -76
- package/dist/core/connectors/xrpl/CrossMark.js.map +0 -1
- package/dist/core/connectors/xrpl/WalletConnect.js +0 -194
- package/dist/core/connectors/xrpl/WalletConnect.js.map +0 -1
- package/dist/core/connectors/xrpl/Xaman.js +0 -71
- package/dist/core/connectors/xrpl/Xaman.js.map +0 -1
- package/dist/core/connectors/xrpl/XamanQr.js +0 -95
- package/dist/core/connectors/xrpl/XamanQr.js.map +0 -1
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +0 -176
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +0 -1
- package/dist/core/constants.js +0 -159
- package/dist/core/constants.js.map +0 -1
- package/dist/core/externalLinks.js +0 -21
- package/dist/core/externalLinks.js.map +0 -1
- package/dist/core/index.js +0 -4
- package/dist/core/index.js.map +0 -1
- package/dist/core/multicall3.js +0 -462
- package/dist/core/multicall3.js.map +0 -1
- package/dist/core/providers/BitcoinProvider.js +0 -15
- package/dist/core/providers/BitcoinProvider.js.map +0 -1
- package/dist/core/providers/CosmosProvider.js +0 -13
- package/dist/core/providers/CosmosProvider.js.map +0 -1
- package/dist/core/providers/EvmProvider.js +0 -15
- package/dist/core/providers/EvmProvider.js.map +0 -1
- package/dist/core/providers/SolanaProvider.js +0 -15
- package/dist/core/providers/SolanaProvider.js.map +0 -1
- package/dist/core/providers/SuiProvider.js +0 -15
- package/dist/core/providers/SuiProvider.js.map +0 -1
- package/dist/core/providers/XrplProvider.js +0 -15
- package/dist/core/providers/XrplProvider.js.map +0 -1
- package/dist/core/queries/queries-keys.js +0 -226
- package/dist/core/queries/queries-keys.js.map +0 -1
- package/dist/core/queries/react-query-config.js +0 -11
- package/dist/core/queries/react-query-config.js.map +0 -1
- package/dist/core/types/bitcoin.js +0 -2
- package/dist/core/types/bitcoin.js.map +0 -1
- package/dist/core/types/config.js +0 -2
- package/dist/core/types/config.js.map +0 -1
- package/dist/core/types/dex.d.ts +0 -28
- package/dist/core/types/dex.js +0 -33
- package/dist/core/types/dex.js.map +0 -1
- package/dist/core/types/error.js +0 -18
- package/dist/core/types/error.js.map +0 -1
- package/dist/core/types/event.js +0 -2
- package/dist/core/types/event.js.map +0 -1
- package/dist/core/types/evm.js +0 -2
- package/dist/core/types/evm.js.map +0 -1
- package/dist/core/types/history.js +0 -7
- package/dist/core/types/history.js.map +0 -1
- package/dist/core/types/index.js +0 -4
- package/dist/core/types/index.js.map +0 -1
- package/dist/core/types/onramps/index.js +0 -3
- package/dist/core/types/onramps/index.js.map +0 -1
- package/dist/core/types/onramps/onramp.js +0 -2
- package/dist/core/types/onramps/onramp.js.map +0 -1
- package/dist/core/types/onramps/revolut.js +0 -2
- package/dist/core/types/onramps/revolut.js.map +0 -1
- package/dist/core/types/rpc.js +0 -2
- package/dist/core/types/rpc.js.map +0 -1
- package/dist/core/types/solana.js +0 -2
- package/dist/core/types/solana.js.map +0 -1
- package/dist/core/types/sui.js +0 -2
- package/dist/core/types/sui.js.map +0 -1
- package/dist/core/types/swap.js +0 -2
- package/dist/core/types/swap.js.map +0 -1
- package/dist/core/types/tokens.js +0 -2
- package/dist/core/types/tokens.js.map +0 -1
- package/dist/core/types/transaction.js +0 -47
- package/dist/core/types/transaction.js.map +0 -1
- package/dist/core/types/wallet.js +0 -19
- package/dist/core/types/wallet.js.map +0 -1
- package/dist/core/types/xrpl.js +0 -32
- package/dist/core/types/xrpl.js.map +0 -1
- package/dist/core/wagmiConfig.js +0 -81
- package/dist/core/wagmiConfig.js.map +0 -1
- package/dist/core/wallets.js +0 -357
- package/dist/core/wallets.js.map +0 -1
- package/dist/hooks/analytics/useTrackSearchEmpty.js +0 -22
- package/dist/hooks/analytics/useTrackSearchEmpty.js.map +0 -1
- package/dist/hooks/bitcoin/useBitcoin.js +0 -18
- package/dist/hooks/bitcoin/useBitcoin.js.map +0 -1
- package/dist/hooks/chains/useSquidChains.js +0 -107
- package/dist/hooks/chains/useSquidChains.js.map +0 -1
- package/dist/hooks/client/useClient.js +0 -63
- package/dist/hooks/client/useClient.js.map +0 -1
- package/dist/hooks/cosmos/useCosmos.js +0 -167
- package/dist/hooks/cosmos/useCosmos.js.map +0 -1
- package/dist/hooks/cosmos/useCosmosForChain.js +0 -29
- package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
- package/dist/hooks/evm/useEvm.js +0 -68
- package/dist/hooks/evm/useEvm.js.map +0 -1
- package/dist/hooks/evm/useEvmWallets.js +0 -13
- package/dist/hooks/evm/useEvmWallets.js.map +0 -1
- package/dist/hooks/index.js +0 -54
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
- package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
- package/dist/hooks/onramp/useFiatToCrypto.js +0 -298
- package/dist/hooks/onramp/useFiatToCrypto.js.map +0 -1
- package/dist/hooks/query/useSquidQueryClient.js +0 -23
- package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
- package/dist/hooks/solana/useSolana.js +0 -81
- package/dist/hooks/solana/useSolana.js.map +0 -1
- package/dist/hooks/solana/useSolanaWallets.js +0 -8
- package/dist/hooks/solana/useSolanaWallets.js.map +0 -1
- package/dist/hooks/squid/useSquid.js +0 -55
- package/dist/hooks/squid/useSquid.js.map +0 -1
- package/dist/hooks/store/useAddressBookStore.js +0 -30
- package/dist/hooks/store/useAddressBookStore.js.map +0 -1
- package/dist/hooks/store/useAssetsColorsStore.js +0 -7
- package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
- package/dist/hooks/store/useDepositAddressStore.js +0 -12
- package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
- package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
- package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
- package/dist/hooks/store/useHistoryStore.js +0 -129
- package/dist/hooks/store/useHistoryStore.js.map +0 -1
- package/dist/hooks/store/useSendTransactionStore.js +0 -21
- package/dist/hooks/store/useSendTransactionStore.js.map +0 -1
- package/dist/hooks/store/useSquidStore.js +0 -53
- package/dist/hooks/store/useSquidStore.js.map +0 -1
- package/dist/hooks/store/useWalletStore.js +0 -61
- package/dist/hooks/store/useWalletStore.js.map +0 -1
- package/dist/hooks/sui/useSui.js +0 -81
- package/dist/hooks/sui/useSui.js.map +0 -1
- package/dist/hooks/sui/useSuiWallets.js +0 -23
- package/dist/hooks/sui/useSuiWallets.js.map +0 -1
- package/dist/hooks/swap/useDepositAddress.js +0 -63
- package/dist/hooks/swap/useDepositAddress.js.map +0 -1
- package/dist/hooks/swap/useSwap.js +0 -203
- package/dist/hooks/swap/useSwap.js.map +0 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -114
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -130
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
- package/dist/hooks/tokens/useBalance.js +0 -157
- package/dist/hooks/tokens/useBalance.js.map +0 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +0 -77
- package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
- package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
- package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
- package/dist/hooks/tokens/useNativeBalance.js +0 -249
- package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +0 -30
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
- package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
- package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
- package/dist/hooks/tokens/useSquidTokens.js +0 -85
- package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
- package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
- package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +0 -58
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +0 -1
- package/dist/hooks/transaction/send/useSendTransaction.js +0 -245
- package/dist/hooks/transaction/send/useSendTransaction.js.map +0 -1
- package/dist/hooks/transaction/send/useSendTransactionGas.js +0 -73
- package/dist/hooks/transaction/send/useSendTransactionGas.js.map +0 -1
- package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -127
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
- package/dist/hooks/transaction/useApproval.js +0 -246
- package/dist/hooks/transaction/useApproval.js.map +0 -1
- package/dist/hooks/transaction/useErc20Allowance.js +0 -43
- package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
- package/dist/hooks/transaction/useEstimate.js +0 -118
- package/dist/hooks/transaction/useEstimate.js.map +0 -1
- package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
- package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
- package/dist/hooks/transaction/useExecuteTransaction.js +0 -678
- package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
- package/dist/hooks/transaction/useGetRoute.js +0 -207
- package/dist/hooks/transaction/useGetRoute.js.map +0 -1
- package/dist/hooks/transaction/useIcs20Allowance.js +0 -46
- package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
- package/dist/hooks/transaction/useRouteWarnings.js +0 -19
- package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
- package/dist/hooks/transaction/useSendTransactionStatus.js +0 -63
- package/dist/hooks/transaction/useSendTransactionStatus.js.map +0 -1
- package/dist/hooks/transaction/useSwapTransactionStatus.js +0 -114
- package/dist/hooks/transaction/useSwapTransactionStatus.js.map +0 -1
- package/dist/hooks/user/useAvatar.js +0 -40
- package/dist/hooks/user/useAvatar.js.map +0 -1
- package/dist/hooks/user/useHistory.js +0 -103
- package/dist/hooks/user/useHistory.js.map +0 -1
- package/dist/hooks/user/useUserParams.js +0 -33
- package/dist/hooks/user/useUserParams.js.map +0 -1
- package/dist/hooks/utils/useUtils.js +0 -20
- package/dist/hooks/utils/useUtils.js.map +0 -1
- package/dist/hooks/wallet/useAddToken.js +0 -49
- package/dist/hooks/wallet/useAddToken.js.map +0 -1
- package/dist/hooks/wallet/useAutoConnect.js +0 -92
- package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
- package/dist/hooks/wallet/useEns.js +0 -57
- package/dist/hooks/wallet/useEns.js.map +0 -1
- package/dist/hooks/wallet/useGnosisContext.js +0 -74
- package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
- package/dist/hooks/wallet/useIntegratorContext.js +0 -39
- package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +0 -210
- package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
- package/dist/hooks/wallet/useSigner.js +0 -68
- package/dist/hooks/wallet/useSigner.js.map +0 -1
- package/dist/hooks/wallet/useStandardWallets.js +0 -26
- package/dist/hooks/wallet/useStandardWallets.js.map +0 -1
- package/dist/hooks/wallet/useWallet.js +0 -199
- package/dist/hooks/wallet/useWallet.js.map +0 -1
- package/dist/hooks/wallet/useWallets.js +0 -33
- package/dist/hooks/wallet/useWallets.js.map +0 -1
- package/dist/hooks/xrpl/useXrpl.js +0 -55
- package/dist/hooks/xrpl/useXrpl.js.map +0 -1
- package/dist/hooks/xrpl/useXrplTrustLine.js +0 -159
- package/dist/hooks/xrpl/useXrplTrustLine.js.map +0 -1
- package/dist/hooks/xrpl/useXrplWallets.js +0 -51
- package/dist/hooks/xrpl/useXrplWallets.js.map +0 -1
- package/dist/provider/index.js +0 -118
- package/dist/provider/index.js.map +0 -1
- package/dist/services/external/cosmosRestClient.js +0 -45
- package/dist/services/external/cosmosRestClient.js.map +0 -1
- package/dist/services/external/ens.js +0 -66
- package/dist/services/external/ens.js.map +0 -1
- package/dist/services/external/index.js +0 -3
- package/dist/services/external/index.js.map +0 -1
- package/dist/services/external/onrampAdapter.js +0 -52
- package/dist/services/external/onrampAdapter.js.map +0 -1
- package/dist/services/external/rpcService.js +0 -411
- package/dist/services/external/rpcService.js.map +0 -1
- package/dist/services/external/secretService.js.map +0 -1
- package/dist/services/external/suiRpcClient.js +0 -80
- package/dist/services/external/suiRpcClient.js.map +0 -1
- package/dist/services/external/tokenDataService.js +0 -108
- package/dist/services/external/tokenDataService.js.map +0 -1
- package/dist/services/external/websocket.js +0 -34
- package/dist/services/external/websocket.js.map +0 -1
- package/dist/services/external/xaman.js +0 -78
- package/dist/services/external/xaman.js.map +0 -1
- package/dist/services/external/xrplRpcClient.js +0 -167
- package/dist/services/external/xrplRpcClient.js.map +0 -1
- package/dist/services/index.js +0 -19
- package/dist/services/index.js.map +0 -1
- package/dist/services/internal/apiService.js +0 -21
- package/dist/services/internal/apiService.js.map +0 -1
- package/dist/services/internal/assetsService.js +0 -569
- package/dist/services/internal/assetsService.js.map +0 -1
- package/dist/services/internal/bitcoinService.js +0 -20
- package/dist/services/internal/bitcoinService.js.map +0 -1
- package/dist/services/internal/configService.js +0 -218
- package/dist/services/internal/configService.js.map +0 -1
- package/dist/services/internal/cosmosService.js +0 -141
- package/dist/services/internal/cosmosService.js.map +0 -1
- package/dist/services/internal/countryCurrencyMap.js +0 -1102
- package/dist/services/internal/countryCurrencyMap.js.map +0 -1
- package/dist/services/internal/errorService.js +0 -190
- package/dist/services/internal/errorService.js.map +0 -1
- package/dist/services/internal/estimateService.js +0 -227
- package/dist/services/internal/estimateService.js.map +0 -1
- package/dist/services/internal/eventService.js +0 -219
- package/dist/services/internal/eventService.js.map +0 -1
- package/dist/services/internal/evmService.js +0 -67
- package/dist/services/internal/evmService.js.map +0 -1
- package/dist/services/internal/fiatToCryptoService.js +0 -84
- package/dist/services/internal/fiatToCryptoService.js.map +0 -1
- package/dist/services/internal/fiatToCryptoService.test.js +0 -45
- package/dist/services/internal/fiatToCryptoService.test.js.map +0 -1
- package/dist/services/internal/numberService.js +0 -199
- package/dist/services/internal/numberService.js.map +0 -1
- package/dist/services/internal/priceService.js +0 -53
- package/dist/services/internal/priceService.js.map +0 -1
- package/dist/services/internal/searchService.js +0 -98
- package/dist/services/internal/searchService.js.map +0 -1
- package/dist/services/internal/sendTransaction.js +0 -191
- package/dist/services/internal/sendTransaction.js.map +0 -1
- package/dist/services/internal/sendTransactionStatus.js +0 -134
- package/dist/services/internal/sendTransactionStatus.js.map +0 -1
- package/dist/services/internal/solanaService.js +0 -142
- package/dist/services/internal/solanaService.js.map +0 -1
- package/dist/services/internal/suiService.js +0 -81
- package/dist/services/internal/suiService.js.map +0 -1
- package/dist/services/internal/transactionService.js +0 -210
- package/dist/services/internal/transactionService.js.map +0 -1
- package/dist/services/internal/transactionStatusService.js +0 -390
- package/dist/services/internal/transactionStatusService.js.map +0 -1
- package/dist/services/internal/walletService.js +0 -546
- package/dist/services/internal/walletService.js.map +0 -1
- package/dist/services/internal/walletStandardService.js +0 -128
- package/dist/services/internal/walletStandardService.js.map +0 -1
- package/dist/services/internal/xionService.js +0 -6
- package/dist/services/internal/xionService.js.map +0 -1
- package/dist/services/internal/xrplService.js +0 -52
- package/dist/services/internal/xrplService.js.map +0 -1
- package/dist/tests/apiService.test.js +0 -40
- package/dist/tests/apiService.test.js.map +0 -1
- package/dist/tests/assetsService.test.js +0 -487
- package/dist/tests/assetsService.test.js.map +0 -1
- package/dist/tests/configService.test.js +0 -673
- package/dist/tests/configService.test.js.map +0 -1
- package/dist/tests/estimateService.test.js +0 -429
- package/dist/tests/estimateService.test.js.map +0 -1
- package/dist/tests/fetchSquidData.js +0 -36
- package/dist/tests/fetchSquidData.js.map +0 -1
- package/dist/tests/jest-svg-transform.d.ts +0 -0
- package/dist/tests/jest-svg-transform.js +0 -21
- package/dist/tests/jest-svg-transform.js.map +0 -1
- package/dist/tests/numberService.test.js +0 -166
- package/dist/tests/numberService.test.js.map +0 -1
- package/dist/tests/priceService.test.js +0 -38
- package/dist/tests/priceService.test.js.map +0 -1
- package/dist/tests/sample.json +0 -0
- package/dist/tests/searchService.test.js +0 -86
- package/dist/tests/searchService.test.js.map +0 -1
- package/dist/tests/swapConfig.test.js +0 -332
- package/dist/tests/swapConfig.test.js.map +0 -1
- package/dist/tests/transactionService.test.js +0 -53
- package/dist/tests/transactionService.test.js.map +0 -1
- package/dist/tests/transactionStatusService.test.js +0 -165
- package/dist/tests/transactionStatusService.test.js.map +0 -1
- package/dist/tests/walletService.test.js +0 -488
- package/dist/tests/walletService.test.js.map +0 -1
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { useCallback, useMemo } from "react";
|
|
2
|
-
import { HistoryTxType, } from "../../core/types/history";
|
|
3
|
-
import { TransactionStatus, } from "../../core/types/transaction";
|
|
4
|
-
import { formatSwapTxStatusResponseForStorage, simplifyRouteAction, } from "../../services";
|
|
5
|
-
import { getBridgeType, isHistoryTransactionFailed, isHistoryTransactionPending, isHistoryTransactionWarning, } from "../../services/internal/transactionStatusService";
|
|
6
|
-
import { useHistoryStore } from "../store/useHistoryStore";
|
|
7
|
-
export const useHistory = (txType) => {
|
|
8
|
-
const transactions = useHistoryStore((state) => state.transactions);
|
|
9
|
-
const { persistTransaction, replaceTransactionStatus, replaceTransactionAtNonce, } = useHistoryStore();
|
|
10
|
-
const filteredTransactions = useMemo(() => {
|
|
11
|
-
if (txType === undefined)
|
|
12
|
-
return transactions;
|
|
13
|
-
return transactions.filter((tx) => tx.txType === txType);
|
|
14
|
-
}, [transactions, txType]);
|
|
15
|
-
const pendingTransactions = useMemo(() => {
|
|
16
|
-
return filteredTransactions.filter(isHistoryTransactionPending);
|
|
17
|
-
}, [filteredTransactions]);
|
|
18
|
-
const parseSwapTransaction = useCallback((tx) => {
|
|
19
|
-
if (!tx.transactionId || !tx.params.toAddress || !tx.params.fromAddress) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
const simplifiedActions = tx.estimate?.actions?.map(simplifyRouteAction) ?? [];
|
|
23
|
-
const swapTxData = {
|
|
24
|
-
fromChain: tx.params.fromChain,
|
|
25
|
-
fromToken: tx.params.fromToken,
|
|
26
|
-
fromAddress: tx.params.fromAddress,
|
|
27
|
-
fromAmount: tx.params.fromAmount,
|
|
28
|
-
toChain: tx.params.toChain,
|
|
29
|
-
toToken: tx.params.toToken,
|
|
30
|
-
toAddress: tx.params.toAddress,
|
|
31
|
-
toAmount: tx.estimate.toAmount,
|
|
32
|
-
transactionIdForStatus: tx.transactionIdForStatus,
|
|
33
|
-
quoteId: tx.quoteId,
|
|
34
|
-
status: tx.status,
|
|
35
|
-
transactionId: tx.transactionId,
|
|
36
|
-
nonce: tx.nonce,
|
|
37
|
-
routeType: tx.routeType,
|
|
38
|
-
statusResponse: formatSwapTxStatusResponseForStorage(tx.statusResponse),
|
|
39
|
-
sourceTxExplorerUrl: tx.sourceTxExplorerUrl,
|
|
40
|
-
timestamp: tx.timestamp ?? Date.now(),
|
|
41
|
-
bridgeType: getBridgeType(tx.estimate.actions),
|
|
42
|
-
actions: simplifiedActions,
|
|
43
|
-
};
|
|
44
|
-
return {
|
|
45
|
-
txType: HistoryTxType.SWAP,
|
|
46
|
-
data: swapTxData,
|
|
47
|
-
};
|
|
48
|
-
}, []);
|
|
49
|
-
const addSwapTransaction = useCallback((tx) => {
|
|
50
|
-
const simplifiedTx = parseSwapTransaction(tx);
|
|
51
|
-
if (simplifiedTx) {
|
|
52
|
-
persistTransaction(simplifiedTx);
|
|
53
|
-
}
|
|
54
|
-
}, [parseSwapTransaction, persistTransaction]);
|
|
55
|
-
const replaceSwapTransactionStatus = useCallback((params) => {
|
|
56
|
-
replaceTransactionStatus({
|
|
57
|
-
txType: HistoryTxType.SWAP,
|
|
58
|
-
status: params.status,
|
|
59
|
-
transactionId: params.transactionId,
|
|
60
|
-
statusResponse: formatSwapTxStatusResponseForStorage(params.statusResponse),
|
|
61
|
-
});
|
|
62
|
-
}, [replaceTransactionStatus]);
|
|
63
|
-
const replaceSwapTransactionNonce = useCallback((nonce, userAddress, tx) => {
|
|
64
|
-
const simplifiedTx = parseSwapTransaction(tx);
|
|
65
|
-
if (simplifiedTx) {
|
|
66
|
-
replaceTransactionAtNonce({
|
|
67
|
-
nonce,
|
|
68
|
-
fromAddress: userAddress,
|
|
69
|
-
newTx: simplifiedTx,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}, [parseSwapTransaction, replaceTransactionAtNonce]);
|
|
73
|
-
const globalStatus = useMemo(() => {
|
|
74
|
-
const statusPriority = [
|
|
75
|
-
{
|
|
76
|
-
status: TransactionStatus.ERROR,
|
|
77
|
-
check: isHistoryTransactionFailed,
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
status: TransactionStatus.WARNING,
|
|
81
|
-
check: isHistoryTransactionWarning,
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
status: TransactionStatus.PENDING,
|
|
85
|
-
check: isHistoryTransactionPending,
|
|
86
|
-
},
|
|
87
|
-
];
|
|
88
|
-
for (const { status, check } of statusPriority) {
|
|
89
|
-
if (filteredTransactions.some(check)) {
|
|
90
|
-
return status;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return TransactionStatus.SUCCESS;
|
|
94
|
-
}, [filteredTransactions]);
|
|
95
|
-
return {
|
|
96
|
-
addSwapTransaction,
|
|
97
|
-
globalStatus,
|
|
98
|
-
replaceSwapTransactionNonce,
|
|
99
|
-
replaceSwapTransactionStatus,
|
|
100
|
-
pendingTransactions,
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
//# sourceMappingURL=useHistory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../src/hooks/user/useHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
-
import { useMemo } from "react";
|
|
3
|
-
import { useConfigStore } from "../store/useSquidStore";
|
|
4
|
-
import { useSwap } from "../swap/useSwap";
|
|
5
|
-
export const useUserParams = () => {
|
|
6
|
-
const enableGetGasOnDestination = useConfigStore((state) => state.config.enableGetGasOnDestination);
|
|
7
|
-
const { fromToken, toToken, toChain, fromChain } = useSwap();
|
|
8
|
-
// =============
|
|
9
|
-
// GAS
|
|
10
|
-
// =============
|
|
11
|
-
const getGasOnDestSupportedForThisRoute = useMemo(() =>
|
|
12
|
-
// Not supporting get gas on dest for same chains
|
|
13
|
-
fromChain?.chainId !== toChain?.chainId &&
|
|
14
|
-
// If the destination chain is cosmos, we don't support getting gas there
|
|
15
|
-
toChain?.chainType !== ChainType.COSMOS &&
|
|
16
|
-
// Not supporting get gas on dest for same tokens (bridge)
|
|
17
|
-
((fromToken?.subGraphIds?.some((sgi) => !!toToken?.subGraphIds?.includes(sgi)) &&
|
|
18
|
-
toToken?.subGraphIds?.some((sgi) => !!fromToken?.subGraphIds?.includes(sgi))) ||
|
|
19
|
-
// Except for uusdc -> uusdc
|
|
20
|
-
(fromToken?.subGraphIds?.includes("uusdc") &&
|
|
21
|
-
toToken?.subGraphIds?.includes("uusdc"))), [
|
|
22
|
-
fromChain?.chainId,
|
|
23
|
-
fromToken?.subGraphIds,
|
|
24
|
-
toChain?.chainId,
|
|
25
|
-
toToken?.subGraphIds,
|
|
26
|
-
toChain?.chainType,
|
|
27
|
-
]);
|
|
28
|
-
return {
|
|
29
|
-
gasEnabled: enableGetGasOnDestination && getGasOnDestSupportedForThisRoute,
|
|
30
|
-
getGasOnDestSupportedForThisRoute,
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=useUserParams.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useUserParams.js","sourceRoot":"","sources":["../../../src/hooks/user/useUserParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,yBAAyB,GAAG,cAAc,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAClD,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAE7D,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,MAAM,iCAAiC,GAAG,OAAO,CAC/C,GAAG,EAAE;IACH,iDAAiD;IACjD,SAAS,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO;QACvC,yEAAyE;QACzE,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM;QACvC,0DAA0D;QAE1D,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAC/C;YACC,OAAO,EAAE,WAAW,EAAE,IAAI,CACxB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CACjD,CAAC;YACF,4BAA4B;YAC5B,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/C;QACE,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,SAAS;KACnB,CACF,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,yBAAyB,IAAI,iCAAiC;QAC1E,iCAAiC;KAClC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Returns a debounced value that only updates after the specified delay
|
|
4
|
-
* @param value - The value to debounce
|
|
5
|
-
* @param delay - Delay in milliseconds
|
|
6
|
-
* @returns The debounced value
|
|
7
|
-
*/
|
|
8
|
-
export function useDebouncedValue(value, delay) {
|
|
9
|
-
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
const timeoutId = setTimeout(() => {
|
|
12
|
-
setDebouncedValue(value);
|
|
13
|
-
}, delay);
|
|
14
|
-
return () => {
|
|
15
|
-
clearTimeout(timeoutId);
|
|
16
|
-
};
|
|
17
|
-
}, [value, delay]);
|
|
18
|
-
return debouncedValue;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=useUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useUtils.js","sourceRoot":"","sources":["../../../src/hooks/utils/useUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAI,KAAQ,EAAE,KAAa;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
-
import { useMutation } from "@tanstack/react-query";
|
|
3
|
-
import { useAccount, useSwitchChain } from "wagmi";
|
|
4
|
-
import { addEthereumChain, addTokenToWallet, isEvmChainNotSupportedError, } from "../../services";
|
|
5
|
-
export const useAddToken = (chainToCompare, tokenToCompare) => {
|
|
6
|
-
const { chain: currentEvmChain } = useAccount();
|
|
7
|
-
const { connector } = useAccount();
|
|
8
|
-
const { switchChainAsync } = useSwitchChain();
|
|
9
|
-
/**
|
|
10
|
-
* Add token to wallet
|
|
11
|
-
*/
|
|
12
|
-
const addToken = useMutation(async ({ chain: _chain, token: _token, }) => {
|
|
13
|
-
const token = _token ?? tokenToCompare;
|
|
14
|
-
const chain = _chain ?? chainToCompare;
|
|
15
|
-
if (token && chain?.chainType === ChainType.EVM) {
|
|
16
|
-
const provider = await connector?.getProvider();
|
|
17
|
-
// Switch network if needed
|
|
18
|
-
if (currentEvmChain?.id.toString() !== token?.chainId) {
|
|
19
|
-
try {
|
|
20
|
-
await switchChainAsync({
|
|
21
|
-
chainId: +token.chainId,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
console.debug("Error switching network:", error);
|
|
26
|
-
if (isEvmChainNotSupportedError(error)) {
|
|
27
|
-
await addEthereumChain({
|
|
28
|
-
chain,
|
|
29
|
-
provider,
|
|
30
|
-
});
|
|
31
|
-
await switchChainAsync({
|
|
32
|
-
chainId: +token.chainId,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
// Metamask is not popping the second modal if we don't wait a bit
|
|
37
|
-
// eslint-disable-next-line no-promise-executor-return
|
|
38
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
39
|
-
}
|
|
40
|
-
await addTokenToWallet({ token, provider });
|
|
41
|
-
}
|
|
42
|
-
// TODO: Implement keplr add token
|
|
43
|
-
return false;
|
|
44
|
-
});
|
|
45
|
-
return {
|
|
46
|
-
addToken,
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=useAddToken.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAddToken.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useAddToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,cAAqC,EACrC,cAAiC,EACjC,EAAE;IACF,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,CAAC;IAChD,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAC;IAE9C;;OAEG;IACH,MAAM,QAAQ,GAAG,WAAW,CAC1B,KAAK,EAAE,EACL,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAId,EAAE,EAAE;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,cAAc,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,IAAI,cAAc,CAAC;QAEvC,IAAI,KAAK,IAAI,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,WAAW,EAAE,CAAC;YAEhD,2BAA2B;YAC3B,IAAI,eAAe,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE,OAAO,EAAE;gBACrD,IAAI;oBACF,MAAM,gBAAgB,CAAC;wBACrB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO;qBACxB,CAAC,CAAC;iBACJ;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;oBAEjD,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE;wBACtC,MAAM,gBAAgB,CAAC;4BACrB,KAAK;4BACL,QAAQ;yBACT,CAAC,CAAC;wBAEH,MAAM,gBAAgB,CAAC;4BACrB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO;yBACxB,CAAC,CAAC;qBACJ;iBACF;gBACD,kEAAkE;gBAClE,sDAAsD;gBACtD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aAC1D;YAED,MAAM,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC7C;QACD,kCAAkC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC,CACF,CAAC;IAEF,OAAO;QACL,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { useCallback, useEffect, useRef } from "react";
|
|
2
|
-
import { useConnect } from "wagmi";
|
|
3
|
-
import { EvmPriorityConnectors } from "../../core/constants";
|
|
4
|
-
import { useEvmContext } from "../../core/providers/EvmProvider";
|
|
5
|
-
import { useSolanaContext } from "../../core/providers/SolanaProvider";
|
|
6
|
-
import { useSuiContext } from "../../core/providers/SuiProvider";
|
|
7
|
-
import { useXrplContext } from "../../core/providers/XrplProvider";
|
|
8
|
-
import { isXamanXAppContext } from "../../services/external/xaman";
|
|
9
|
-
import { useSquidChains } from "../chains/useSquidChains";
|
|
10
|
-
import { useConfigStore } from "../store/useSquidStore";
|
|
11
|
-
import { useWallet } from "./useWallet";
|
|
12
|
-
const EVM_PRIORITY_CONNECTOR_IDS = [EvmPriorityConnectors.Safe];
|
|
13
|
-
/**
|
|
14
|
-
* Auto connect to Safe provider if it's present
|
|
15
|
-
* Safe will always be the priority connector
|
|
16
|
-
* Because if it's present, this means the user is on a Safe app iframe
|
|
17
|
-
*/
|
|
18
|
-
export const useAutoConnect = () => {
|
|
19
|
-
const { connect: evmConnect, connectors: evmConnectors } = useConnect();
|
|
20
|
-
const { chains } = useSquidChains();
|
|
21
|
-
const { isInitialized } = useConfigStore();
|
|
22
|
-
const hasAttemptedReconnect = useRef(false);
|
|
23
|
-
const { autoConnectEvm } = useEvmContext();
|
|
24
|
-
const { autoConnectSolana } = useSolanaContext();
|
|
25
|
-
const { autoConnectSui } = useSuiContext();
|
|
26
|
-
const { autoConnectXrpl, wallets: xrplWallets } = useXrplContext();
|
|
27
|
-
const { connectWallet } = useWallet();
|
|
28
|
-
const autoConnect = useCallback(async () => {
|
|
29
|
-
const queryParameters = new URLSearchParams(window.location.search);
|
|
30
|
-
// TODO: At the moment gnosis was published without the embed parameter in the manifest,
|
|
31
|
-
// but we should ask gnosis to change our app url to https://app.squidrouter.com/?embed="safe"
|
|
32
|
-
// So we could remove the priority connector array and just use the embed parameter
|
|
33
|
-
const embedType = queryParameters.get("embed");
|
|
34
|
-
let evmPriorityConnector;
|
|
35
|
-
if (embedType) {
|
|
36
|
-
evmPriorityConnector = evmConnectors.find((c) => c.id === embedType);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
for await (const c of evmConnectors) {
|
|
40
|
-
if (EVM_PRIORITY_CONNECTOR_IDS.includes(c.id)) {
|
|
41
|
-
if (await c.isAuthorized()) {
|
|
42
|
-
evmPriorityConnector = c;
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (evmPriorityConnector) {
|
|
49
|
-
evmConnect({ connector: evmPriorityConnector });
|
|
50
|
-
}
|
|
51
|
-
else if (isXamanXAppContext()) {
|
|
52
|
-
const xamanXAppWallet = xrplWallets.find((w) => w.connectorId === "xaman-xapp");
|
|
53
|
-
if (xamanXAppWallet) {
|
|
54
|
-
connectWallet({ wallet: xamanXAppWallet });
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
if (chains.length > 0 &&
|
|
59
|
-
isInitialized &&
|
|
60
|
-
!hasAttemptedReconnect.current) {
|
|
61
|
-
try {
|
|
62
|
-
autoConnectEvm();
|
|
63
|
-
autoConnectSolana();
|
|
64
|
-
autoConnectSui();
|
|
65
|
-
autoConnectXrpl();
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
console.error("Error auto connecting wallet:", error);
|
|
69
|
-
}
|
|
70
|
-
finally {
|
|
71
|
-
hasAttemptedReconnect.current = true;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}, [
|
|
76
|
-
evmConnectors,
|
|
77
|
-
evmConnect,
|
|
78
|
-
chains.length,
|
|
79
|
-
isInitialized,
|
|
80
|
-
autoConnectEvm,
|
|
81
|
-
autoConnectSolana,
|
|
82
|
-
autoConnectSui,
|
|
83
|
-
autoConnectXrpl,
|
|
84
|
-
connectWallet,
|
|
85
|
-
xrplWallets,
|
|
86
|
-
]);
|
|
87
|
-
useEffect(() => {
|
|
88
|
-
autoConnect();
|
|
89
|
-
}, [autoConnect]);
|
|
90
|
-
return { autoConnect };
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=useAutoConnect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAutoConnect.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useAutoConnect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { useQuery, } from "@tanstack/react-query";
|
|
2
|
-
import { keys } from "../../core/queries/queries-keys";
|
|
3
|
-
import { EnsService } from "../../services/external/ens";
|
|
4
|
-
import { useDebouncedValue } from "../utils/useUtils";
|
|
5
|
-
/**
|
|
6
|
-
* Returns the ENS data of the given address
|
|
7
|
-
*
|
|
8
|
-
* @param address - the address to get the ENS name of
|
|
9
|
-
* @returns the ENS data of the given address
|
|
10
|
-
*/
|
|
11
|
-
export function useEnsDataForAddress({ address, options, }) {
|
|
12
|
-
const ensQuery = useQuery(keys().ensData(address?.toLowerCase()), () => EnsService.getEnsDataFromAddress(address), {
|
|
13
|
-
...options,
|
|
14
|
-
enabled: Boolean(address?.trim()) &&
|
|
15
|
-
(options?.enabled === undefined ? true : options.enabled),
|
|
16
|
-
cacheTime: Infinity,
|
|
17
|
-
});
|
|
18
|
-
return ensQuery;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Search for ENS names.
|
|
22
|
-
* Returns an exact match if the name is an ENS name, and multiple matches otherwise.
|
|
23
|
-
*
|
|
24
|
-
* @param name - the name to search for
|
|
25
|
-
* @param enabled - whether the search is enabled or not
|
|
26
|
-
* @param delayMs - the debounce delay in milliseconds
|
|
27
|
-
*
|
|
28
|
-
* @returns the ENS search query
|
|
29
|
-
*/
|
|
30
|
-
export function useEnsSearch({ name, enabled = true, delayMs = 500, }) {
|
|
31
|
-
const debouncedName = useDebouncedValue(enabled ? name : undefined, delayMs);
|
|
32
|
-
const ensSearchQuery = useQuery(keys().ensSearch(debouncedName), () => {
|
|
33
|
-
const isExactEnsSearch = checkIsExactEns(debouncedName);
|
|
34
|
-
return isExactEnsSearch
|
|
35
|
-
? EnsService.getExactEns(debouncedName)
|
|
36
|
-
: EnsService.searchEnsNames(debouncedName);
|
|
37
|
-
}, {
|
|
38
|
-
enabled: Boolean(debouncedName?.trim()) && enabled,
|
|
39
|
-
cacheTime: Infinity,
|
|
40
|
-
});
|
|
41
|
-
return ensSearchQuery;
|
|
42
|
-
}
|
|
43
|
-
const ENS_DOMAINS = ["eth", "cb.id", "xyz", "app", "link", "bit", "crypto"];
|
|
44
|
-
/**
|
|
45
|
-
* Checks if the given name is an exact ens name
|
|
46
|
-
* like "smth.eth", "smth.cb.id", "smth.xyz", etc...
|
|
47
|
-
*/
|
|
48
|
-
function checkIsExactEns(name = "") {
|
|
49
|
-
if (!name)
|
|
50
|
-
return false;
|
|
51
|
-
const nameParts = name.split(".");
|
|
52
|
-
if (nameParts.length < 2)
|
|
53
|
-
return false;
|
|
54
|
-
const tld = nameParts[nameParts.length - 1];
|
|
55
|
-
return ENS_DOMAINS.includes(tld);
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=useEns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useEns.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useEns.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAOtD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,OAAO,EACP,OAAO,GAIR;IACC,MAAM,QAAQ,GAAG,QAAQ,CACvB,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EACtC,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAC/C;QACE,GAAG,OAAO;QACV,OAAO,EACL,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3D,SAAS,EAAE,QAAQ;KACpB,CACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,GAAG,IAAI,EACd,OAAO,GAAG,GAAG,GAKd;IACC,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE7E,MAAM,cAAc,GAAG,QAAQ,CAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,EAC/B,GAAG,EAAE;QACH,MAAM,gBAAgB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QAExD,OAAO,gBAAgB;YACrB,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC;YACvC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC,EACD;QACE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,OAAO;QAClD,SAAS,EAAE,QAAQ;KACpB,CACF,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAE5E;;;GAGG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import SafeAppsSDK, { TransactionStatus as GnosisTransactionStatus, } from "@safe-global/safe-apps-sdk";
|
|
2
|
-
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
-
import { useAccount } from "wagmi";
|
|
4
|
-
import { areSameAddress } from "../../services/internal/walletService";
|
|
5
|
-
import { useSwap } from "../swap/useSwap";
|
|
6
|
-
export const useGnosisContext = () => {
|
|
7
|
-
const { connector, isConnected, address } = useAccount();
|
|
8
|
-
const [isGnosisContext, setIsGnosisContext] = useState(false);
|
|
9
|
-
const [gnosisSafeInfo, setGnosisSafeInfo] = useState();
|
|
10
|
-
/**
|
|
11
|
-
* Method that will be used to send transaction
|
|
12
|
-
* TODO: could have loaded the sdk when app load and stored globally
|
|
13
|
-
*/
|
|
14
|
-
const getGnosisSafeContext = useCallback(async () => {
|
|
15
|
-
const appsSdk = new SafeAppsSDK();
|
|
16
|
-
const safe = await appsSdk.safe.getInfo();
|
|
17
|
-
const isSafeContext = safe.chainId !== undefined &&
|
|
18
|
-
safe.safeAddress !== undefined &&
|
|
19
|
-
connector?.id === "safe";
|
|
20
|
-
setGnosisSafeInfo(safe);
|
|
21
|
-
setIsGnosisContext(isSafeContext);
|
|
22
|
-
if (isSafeContext)
|
|
23
|
-
return appsSdk;
|
|
24
|
-
return undefined;
|
|
25
|
-
}, [connector]);
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
getGnosisSafeContext();
|
|
28
|
-
}, [getGnosisSafeContext]);
|
|
29
|
-
/**
|
|
30
|
-
* There's a specific way to get the transaction hash for the safe connector
|
|
31
|
-
* Using then initial hash received by the transaction, we can get the real hash
|
|
32
|
-
* @param hashReceived
|
|
33
|
-
* @returns
|
|
34
|
-
*/
|
|
35
|
-
const getGnosisTransactionHash = async (initialHash) => {
|
|
36
|
-
const safeSdk = await getGnosisSafeContext();
|
|
37
|
-
const tx = await safeSdk?.txs.getBySafeTxHash(initialHash);
|
|
38
|
-
const status = tx?.txStatus;
|
|
39
|
-
if (status !== GnosisTransactionStatus.FAILED &&
|
|
40
|
-
status !== GnosisTransactionStatus.SUCCESS &&
|
|
41
|
-
status !== GnosisTransactionStatus.CANCELLED) {
|
|
42
|
-
// Workaround, Wait 2 seconds before checking the gnosis status again
|
|
43
|
-
// TODO: There might be a better way to do this
|
|
44
|
-
// eslint-disable-next-line no-promise-executor-return
|
|
45
|
-
await new Promise((res) => setTimeout(res, 2000));
|
|
46
|
-
return getGnosisTransactionHash(initialHash);
|
|
47
|
-
}
|
|
48
|
-
return tx?.txHash ?? initialHash;
|
|
49
|
-
};
|
|
50
|
-
const isGnosisConnected = connector?.id === "safe" && isConnected;
|
|
51
|
-
return {
|
|
52
|
-
gnosisSafeInfo,
|
|
53
|
-
isGnosisContext,
|
|
54
|
-
getGnosisTransactionHash,
|
|
55
|
-
isGnosisConnected,
|
|
56
|
-
gnosisAddress: isGnosisConnected ? address : undefined,
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
export const useIsSameAddressAndGnosisContext = () => {
|
|
60
|
-
const { isGnosisContext, gnosisAddress: gnosisSourceAddress } = useGnosisContext();
|
|
61
|
-
const { destinationAddress } = useSwap();
|
|
62
|
-
/**
|
|
63
|
-
* Gnosis Safe addresses are not always the same on all chains
|
|
64
|
-
* We'll warn the user if they are trying to send to the same address
|
|
65
|
-
*/
|
|
66
|
-
const isSameAddressAndGnosisContext = useMemo(() => {
|
|
67
|
-
const destAddressSameAsSource = areSameAddress(gnosisSourceAddress, destinationAddress.address);
|
|
68
|
-
return isGnosisContext && destAddressSameAsSource;
|
|
69
|
-
}, [gnosisSourceAddress, destinationAddress.address, isGnosisContext]);
|
|
70
|
-
return {
|
|
71
|
-
isSameAddressAndGnosisContext,
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=useGnosisContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useGnosisContext.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useGnosisContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { useMemo } from "react";
|
|
2
|
-
import { EvmPriorityConnectors } from "../../core/constants";
|
|
3
|
-
import { useGnosisContext } from "./useGnosisContext";
|
|
4
|
-
export const useIntegratorContext = () => {
|
|
5
|
-
const { isGnosisContext } = useGnosisContext();
|
|
6
|
-
/**
|
|
7
|
-
* Check if the wallet is handled externally
|
|
8
|
-
* Example: Ledger or Gnosis Safe
|
|
9
|
-
* Either by the embed parameter or by Gnosis context
|
|
10
|
-
*/
|
|
11
|
-
const walletHandledExternally = useMemo(() => {
|
|
12
|
-
const embedTypesHavingExternalWallet = [
|
|
13
|
-
EvmPriorityConnectors.LedgerLive,
|
|
14
|
-
EvmPriorityConnectors.Safe,
|
|
15
|
-
];
|
|
16
|
-
const queryParameters = new URLSearchParams(window.location.search);
|
|
17
|
-
const embedType = queryParameters.get("embed");
|
|
18
|
-
return (isGnosisContext || embedTypesHavingExternalWallet.includes(embedType));
|
|
19
|
-
}, [isGnosisContext]);
|
|
20
|
-
const isEmbed = useMemo(() => {
|
|
21
|
-
const queryParameters = new URLSearchParams(window.location.search);
|
|
22
|
-
const embedType = queryParameters.get("embed");
|
|
23
|
-
return !!embedType;
|
|
24
|
-
}, []);
|
|
25
|
-
/**
|
|
26
|
-
* It's important to know if we can use certain features such as
|
|
27
|
-
* the clipboard reading
|
|
28
|
-
*/
|
|
29
|
-
const widgetInIframe = useMemo(() => {
|
|
30
|
-
try {
|
|
31
|
-
return window.self !== window.top;
|
|
32
|
-
}
|
|
33
|
-
catch (e) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
}, []);
|
|
37
|
-
return { walletHandledExternally, isEmbed, widgetInIframe };
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=useIntegratorContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useIntegratorContext.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useIntegratorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,eAAe,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC/C;;;;OAIG;IACH,MAAM,uBAAuB,GAAY,OAAO,CAAC,GAAG,EAAE;QACpD,MAAM,8BAA8B,GAA4B;YAC9D,qBAAqB,CAAC,UAAU;YAChC,qBAAqB,CAAC,IAAI;SAC3B,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAA0B,CAAC;QAExE,OAAO,CACL,eAAe,IAAI,8BAA8B,CAAC,QAAQ,CAAC,SAAS,CAAC,CACtE,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAA0B,CAAC;QACxE,OAAO,CAAC,CAAC,SAAS,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;OAGG;IACH,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI;YACF,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC9D,CAAC,CAAC"}
|