import { ratioAgixToAsi, ratioCudosToAsi, ratioFetToAsi, ratioOceanToAsi } from '@/constants' import { type Prices, usePrices } from '@/features/prices' import { type Market, useQuote } from '@/features/strategies' import { getTokenBySymbol } from '@/lib' import type { TokenSymbol } from '@/types' import { Result } from '../Result' export function SwapResults({ tokenSymbol, amount, market }: { tokenSymbol: TokenSymbol amount: number market: Market }) { const isUniswap = market === 'uniswap' const isMigration = market === 'migration' const { prices, isValidating: isValidatingPrices, isLoading: isLoadingPrices } = usePrices() const { amountToOcean: amountToOceanUniswap, amountToAgix: amountToAgixUniswap, amountToFet: amountToFetUniswap, amountToCudos: amountToCudosUniswap, isValidatingToAgix, isLoadingToAgix, isValidatingToFet, isLoadingToFet, isValidatingToOcean, isLoadingToOcean, isValidatingToCudos, isLoadingToCudos } = useQuote(tokenSymbol, amount, isUniswap) const tokenSelected = tokenSymbol.toLowerCase() as keyof Prices const amountInUsd = amount * prices[tokenSelected]?.usd const amountToOcean = amountInUsd / prices.ocean?.usd const amountToAgix = amountInUsd / prices.agix?.usd const amountToCudos = amountInUsd / prices.cudos?.usd // As of July 1st, use fixed ratios instead of FET market price // for Migration Tool scenario const amountToFet = isMigration ? tokenSelected === 'ocean' ? amount * ratioOceanToAsi : tokenSelected === 'agix' ? amount * ratioAgixToAsi : tokenSelected === 'cudos' ? amount * ratioCudosToAsi : amount : amountInUsd / prices.fet?.usd const showOcean = !isMigration || (isMigration && tokenSelected === 'ocean') const showAgix = !isMigration || (isMigration && tokenSelected === 'agix') const showFet = !isMigration || (isMigration && tokenSelected === 'fet') const showCudos = !isMigration || (isMigration && tokenSelected === 'cudos') return ( <> {showOcean ? ( ) : null} {showAgix ? ( ) : null} {showCudos ? ( ) : null} {showFet ? ( ) : null} ) }