import { formatTokenSymbol } from 'utils/tokens' import { useMemo } from 'react' import Decimal from 'decimal.js' import useMangoGroup from 'hooks/useMangoGroup' import FormatNumericValue from './shared/FormatNumericValue' import mangoStore from '@store/mangoStore' const AccountStats = ({ token }: { token: string }) => { const { group } = useMangoGroup() const estimatedMaxAPY = mangoStore((s) => s.estimatedMaxAPY.current) const solBank = useMemo(() => { return group?.banksMapByName.get('SOL')?.[0] }, [group]) const tokenBank = useMemo(() => { return group?.banksMapByName.get(token)?.[0] }, [group, token]) const solDeposits = useMemo(() => { if (!solBank) return null return solBank.uiDeposits() }, [solBank]) const tokenDeposits = useMemo(() => { if (!tokenBank) return null return tokenBank.uiDeposits() }, [tokenBank]) const solAvailable = useMemo(() => { if (!solBank || !solDeposits) return 0 const availableVaultBalance = group ? group.getTokenVaultBalanceByMintUi(solBank.mint) - solDeposits * solBank.minVaultToDepositsRatio : 0 return Decimal.max(0, availableVaultBalance.toFixed(solBank.mintDecimals)) }, [solBank, solDeposits, group]) return ( <>

{`Boosted ${formatTokenSymbol(token)}`}

Max Est. APY

{estimatedMaxAPY ? `${estimatedMaxAPY.toFixed(2)}%` : 0}

Max Leverage

3x

Capacity Remaining

SOL

Total Staked

{' '} {formatTokenSymbol(token)}
) } export default AccountStats