import { Serum3Market, PerpMarket } from '@blockworks-foundation/mango-v4' import useJupiterMints from 'hooks/useJupiterMints' import { QuestionMarkCircleIcon } from '@heroicons/react/20/solid' import Image from 'next/legacy/image' import { useMemo } from 'react' import useMangoGroup from 'hooks/useMangoGroup' import LogoWithFallback from '@components/shared/LogoWithFallback' const MarketLogos = ({ market, small, }: { market: Serum3Market | PerpMarket small?: boolean }) => { const { group } = useMangoGroup() const { mangoTokens } = useJupiterMints() const logos = useMemo(() => { if (!group || !mangoTokens.length || !market) return { baseLogoURI: '', quoteLogoURI: '' } let jupiterBaseToken, jupiterQuoteToken if (market instanceof Serum3Market) { const baseBank = group.getFirstBankByTokenIndex(market.baseTokenIndex) const quoteBank = group.getFirstBankByTokenIndex(market.quoteTokenIndex) jupiterBaseToken = mangoTokens.find( (t) => t.address === baseBank.mint.toString() ) jupiterQuoteToken = mangoTokens.find( (t) => t.address === quoteBank.mint.toString() ) } else { jupiterBaseToken = mangoTokens.find( (t) => t.symbol.toUpperCase() === market.name.split('-')[0] ) || mangoTokens.find((t) => t.symbol.toUpperCase()?.includes(market.name.split('-')[0]) ) } const baseLogoURI = jupiterBaseToken ? jupiterBaseToken.logoURI : '' const quoteLogoURI = jupiterQuoteToken ? jupiterQuoteToken.logoURI : '' return { baseLogoURI, quoteLogoURI, name: market.name.split(/-|\//)[0], } }, [group, mangoTokens, market]) return (
} />
{logos.quoteLogoURI && market instanceof Serum3Market ? ( ) : market instanceof PerpMarket ? null : ( )}
) } export default MarketLogos