import { ModalProps } from '../../types/modal' import Modal from '../shared/Modal' import { useTranslation } from 'next-i18next' import { PerpMarket } from '@blockworks-foundation/mango-v4' import Button from '@components/shared/Button' import { ExclamationTriangleIcon } from '@heroicons/react/20/solid' import Tooltip from '@components/shared/Tooltip' import { useRouter } from 'next/router' import OracleProvider from '@components/shared/OracleProvider' interface PerpMarketDetailsModalProps { market: PerpMarket | undefined } type ModalCombinedProps = PerpMarketDetailsModalProps & ModalProps const PerpMarketDetailsModal = ({ isOpen, onClose, market, }: ModalCombinedProps) => { const { t } = useTranslation(['common', 'trade']) const router = useRouter() const goToPerpDetails = (marketName: string) => { router.push(`/stats?market=${marketName}`, undefined, { shallow: true }) } return market ? (

{t('trade:market-details', { market: market.name })}

{market?.reduceOnly ? (

{t('trade:reduce-only')}

) : null}

{t('trade:min-order-size')}

{market.minOrderSize}

{t('trade:tick-size')}

{market.tickSize}

{t('trade:init-leverage')}

{(1 / (market.initBaseLiabWeight.toNumber() - 1)).toFixed(2)}x

{t('trade:max-leverage')}

{(1 / (market.maintBaseLiabWeight.toNumber() - 1)).toFixed(2)}x

{t('fees')}

{(100 * market.makerFee.toNumber()).toFixed(2)}%{' '} {t('trade:maker')} | {(100 * market.takerFee.toNumber()).toFixed(2)}%{' '} {t('trade:taker')}

{t('trade:funding-limits')}

{(100 * market.minFunding.toNumber()).toFixed(2)}%{' '} to{' '} {(100 * market.maxFunding.toNumber()).toFixed(2)}%

{t('trade:oracle')}

{t('trade:tooltip-insured', { tokenOrMarket: market.name })} Learn more
} >

{t('trade:insured', { token: '' })}

{market.groupInsuranceFund ? t('yes') : t('no')}

) : null } export default PerpMarketDetailsModal