diff --git a/shared/constants/bridge.ts b/shared/constants/bridge.ts index 5fee5696f758..cd07686a00c8 100644 --- a/shared/constants/bridge.ts +++ b/shared/constants/bridge.ts @@ -66,3 +66,13 @@ export const REFRESH_INTERVAL_MS = 30 * 1000; export const DEFAULT_MAX_REFRESH_COUNT = 5; export const STATIC_METAMASK_BASE_URL = 'https://static.cx.metamask.io'; + +export const SOLANA_USDC_ASSET = { + address: + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', + symbol: 'USDC', + decimals: 6, + image: + 'https://static.cx.metamask.io/api/v2/tokenIcons/assets/solana/5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v.png', + chainId: MultichainNetworks.SOLANA, +}; diff --git a/ui/pages/bridge/prepare/prepare-bridge-page.tsx b/ui/pages/bridge/prepare/prepare-bridge-page.tsx index 867658e9da55..c52e72b4dbaf 100644 --- a/ui/pages/bridge/prepare/prepare-bridge-page.tsx +++ b/ui/pages/bridge/prepare/prepare-bridge-page.tsx @@ -95,7 +95,10 @@ import { } from '../../../selectors'; import { isHardwareKeyring } from '../../../helpers/utils/hardware'; import { SECOND } from '../../../../shared/constants/time'; -import { BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE } from '../../../../shared/constants/bridge'; +import { + BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE, + SOLANA_USDC_ASSET, +} from '../../../../shared/constants/bridge'; import { getIntlLocale } from '../../../ducks/locale/locale'; import { useIsMultichainSwap } from '../hooks/useIsMultichainSwap'; import { useMultichainSelector } from '../../../hooks/useMultichainSelector'; @@ -466,6 +469,14 @@ const PrepareBridgePage = () => { } }, [fromChain, fromToken, fromTokens, search, isFromTokensLoading]); + // Set the default destination token for the swap + useEffect(() => { + if (isSwap && fromChain && !toToken) { + dispatch(setToChainId(fromChain.chainId)); + dispatch(setToToken(SOLANA_USDC_ASSET)); + } + }, []); + const isSolanaBridgeEnabled = useSelector(isBridgeSolanaEnabled); return (