import type { RouteExtended } from '@lifi/sdk' import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward' import { Box } from '@mui/material' import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js' import { Token } from '../Token/Token.js' import { RouteToken } from './RouteToken.js' export const RouteTokens: React.FC<{ route: RouteExtended showEssentials?: boolean defaultExpanded?: boolean fromSlot?: React.ReactNode }> = ({ route, showEssentials, defaultExpanded, fromSlot }) => { const { mode } = useWidgetConfig() const fromToken = { ...route.steps[0].action.fromToken, amount: BigInt(route.steps[0].action.fromAmount), } const lastStepIndex = route.steps.length - 1 const toToken = { ...(route.steps[lastStepIndex].execution?.toToken ?? route.steps[lastStepIndex].action.toToken), amount: route.steps[lastStepIndex].execution?.toAmount ? BigInt(route.steps[lastStepIndex].execution.toAmount) : mode === 'custom' ? BigInt(route.toAmount) : BigInt(route.steps[lastStepIndex].estimate.toAmount), } return ( {fromSlot ?? (fromToken ? : null)} {toToken ? ( ) : null} ) }