import { getAsset, tooltipMapping, useMarket, useStaticMarketData, } from '@vegaprotocol/markets'; import { Header, HeaderStat, HeaderTitle } from '../header'; import { addDecimalsFormatNumber, formatNumberPercentage, } from '@vegaprotocol/utils'; import { t } from '@vegaprotocol/i18n'; import { ExternalLink, Indicator } from '@vegaprotocol/ui-toolkit'; import { DocsLinks } from '@vegaprotocol/environment'; import { useCheckLiquidityStatus } from '@vegaprotocol/liquidity'; import { useParams } from 'react-router-dom'; export const LiquidityHeader = () => { const { marketId } = useParams(); const { data: market } = useMarket(marketId); const { data: marketData } = useStaticMarketData(marketId); const targetStake = marketData?.targetStake; const suppliedStake = marketData?.suppliedStake; const asset = market && getAsset(market); const assetDecimalPlaces = asset?.decimals || 0; const symbol = asset?.symbol; const triggeringRatio = market?.liquidityMonitoringParameters.triggeringRatio || '1'; const { percentage, status } = useCheckLiquidityStatus({ suppliedStake: suppliedStake || 0, targetStake: targetStake || 0, triggeringRatio, }); return (
{market.tradableInstrument.instrument.code && t( '%s liquidity provision', market.tradableInstrument.instrument.code )} ) } >
{targetStake ? `${addDecimalsFormatNumber( targetStake, assetDecimalPlaces ?? 0 )} ${symbol}` : '-'}
{suppliedStake ? `${addDecimalsFormatNumber( suppliedStake, assetDecimalPlaces ?? 0 )} ${symbol}` : '-'}
{formatNumberPercentage(percentage, 2)}
{marketId}
{DocsLinks ? ( {t('Providing liquidity')} ) : ( (null as React.ReactNode) )}
); };