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 borrowBank = useMemo(() => { return group?.banksMapByName.get('USDC')?.[0] }, [group]) const tokenBank = useMemo(() => { return group?.banksMapByName.get(token)?.[0] }, [group, token]) const borrowDeposits = useMemo(() => { if (!borrowBank) return null return borrowBank.uiDeposits() }, [borrowBank]) const tokenDeposits = useMemo(() => { if (!tokenBank) return null return tokenBank.uiDeposits() }, [tokenBank]) const solAvailable = useMemo(() => { if (!borrowBank || !borrowDeposits) return 0 const availableVaultBalance = group ? group.getTokenVaultBalanceByMintUi(borrowBank.mint) - borrowDeposits * borrowBank.minVaultToDepositsRatio : 0 return Decimal.max(0, availableVaultBalance.toFixed(borrowBank.mintDecimals)) }, [borrowBank, borrowDeposits, 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