{"version":3,"file":"static/chunks/9758-0c813ecf26105f2c.js","mappings":"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","sources":["webpack://_N_E/./src/components/CurrencyLogo/index.tsx","webpack://_N_E/./src/components/Logo/index.tsx","webpack://_N_E/./src/components/Row/index.tsx","webpack://_N_E/./src/hooks/useHttpLocations.ts","webpack://_N_E/./src/hooks/useENSContentHash.ts"],"sourcesContent":["import { ChainId, Currency, WNATIVE } from '@sushiswap/core-sdk'\nimport React, { FunctionComponent, useMemo } from 'react'\n\nimport Logo from '../Logo'\nimport { WrappedTokenInfo } from '../../state/lists/wrappedTokenInfo'\nimport useHttpLocations from '../../hooks/useHttpLocations'\n\nconst BLOCKCHAIN = {\n [ChainId.ETHEREUM]: 'ethereum',\n [ChainId.BSC]: 'binanace',\n [ChainId.CELO]: 'celo',\n [ChainId.FANTOM]: 'fantom',\n [ChainId.HARMONY]: 'harmony',\n [ChainId.MATIC]: 'polygon',\n [ChainId.XDAI]: 'xdai',\n // [ChainId.OKEX]: 'okex',\n [ChainId.MOONRIVER]: 'moonriver',\n [ChainId.TELOS]: 'telos',\n}\n\nfunction getCurrencySymbol(currency) {\n if (currency.symbol.replace('/e', '') === 'WBTC') {\n return 'btc'\n }\n if (currency.symbol.replace('/e', '') === 'WETH') {\n return 'eth'\n }\n\n if (currency.symbol === 'WMOVR') {\n return 'movr'\n }\n\n if (currency.chainId === ChainId.AVALANCHE) {\n return currency.symbol.replace('/e', '').toLowerCase()\n }\n\n return currency.symbol.toLowerCase()\n}\n\nexport function getCurrencyLogoUrls(currency) {\n const urls = []\n\n if (currency.chainId in BLOCKCHAIN) {\n urls.push(\n `https://raw.githubusercontent.com/sushiswap/logos/main/network/${BLOCKCHAIN[currency.chainId]}/${\n currency.address\n }.jpg`\n )\n urls.push(\n `https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/${BLOCKCHAIN[currency.chainId]}/assets/${\n currency.address\n }/logo.png`\n )\n urls.push(\n `https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${BLOCKCHAIN[currency.chainId]}/assets/${\n currency.address\n }/logo.png`\n )\n }\n\n return urls\n}\n\nconst AvalancheLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/avax.jpg'\nconst BinanceCoinLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg'\nconst EthereumLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg'\nconst FantomLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ftm.jpg'\nconst HarmonyLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/one.jpg'\nconst HecoLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/heco.jpg'\nconst MaticLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg'\nconst MoonbeamLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg'\nconst OKExLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/okt.jpg'\nconst xDaiLogo =\n 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/xdai/assets/0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d/logo.png'\nconst CeloLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celo.jpg'\nconst PalmLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/palm.jpg'\nconst MovrLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/movr.jpg'\nconst FuseLogo = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fuse.jpg'\nconst TelosLogo =\n 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E.jpg'\n\nconst LOGO: { readonly [chainId in ChainId]?: string } = {\n [ChainId.ETHEREUM]: EthereumLogo,\n [ChainId.FANTOM]: FantomLogo,\n [ChainId.FANTOM_TESTNET]: FantomLogo,\n [ChainId.MATIC]: MaticLogo,\n [ChainId.MATIC_TESTNET]: MaticLogo,\n [ChainId.XDAI]: xDaiLogo,\n [ChainId.BSC]: BinanceCoinLogo,\n [ChainId.BSC_TESTNET]: BinanceCoinLogo,\n [ChainId.MOONBEAM_TESTNET]: MoonbeamLogo,\n [ChainId.AVALANCHE]: AvalancheLogo,\n [ChainId.AVALANCHE_TESTNET]: AvalancheLogo,\n [ChainId.HECO]: HecoLogo,\n [ChainId.HECO_TESTNET]: HecoLogo,\n [ChainId.HARMONY]: HarmonyLogo,\n [ChainId.HARMONY_TESTNET]: HarmonyLogo,\n [ChainId.OKEX]: OKExLogo,\n [ChainId.OKEX_TESTNET]: OKExLogo,\n [ChainId.ARBITRUM]: EthereumLogo,\n [ChainId.ARBITRUM_TESTNET]: EthereumLogo,\n [ChainId.CELO]: CeloLogo,\n [ChainId.PALM]: PalmLogo,\n [ChainId.PALM_TESTNET]: PalmLogo,\n [ChainId.MOONRIVER]: MovrLogo,\n [ChainId.FUSE]: FuseLogo,\n [ChainId.TELOS]: TelosLogo,\n}\n\ninterface CurrencyLogoProps {\n currency?: Currency\n size?: string | number\n style?: React.CSSProperties\n className?: string\n squared?: boolean\n}\n\nconst unknown = 'https://raw.githubusercontent.com/sushiswap/icons/master/token/unknown.png'\n\nconst CurrencyLogo: FunctionComponent = ({\n currency,\n size = '24px',\n style,\n className = '',\n ...rest\n}) => {\n const uriLocations = useHttpLocations(\n currency instanceof WrappedTokenInfo ? currency.logoURI || currency.tokenInfo.logoURI : undefined\n )\n\n const srcs = useMemo(() => {\n if (!currency) {\n return [unknown]\n }\n\n if (currency.isNative || currency.equals(WNATIVE[currency.chainId])) {\n return [LOGO[currency.chainId], unknown]\n }\n\n if (currency.isToken) {\n const defaultUrls = [...getCurrencyLogoUrls(currency)]\n if (currency instanceof WrappedTokenInfo) {\n return [...defaultUrls, ...uriLocations, unknown]\n }\n return defaultUrls\n }\n }, [currency, uriLocations])\n\n return \n}\n\nexport default CurrencyLogo\n","import React, { FC, useState } from 'react'\n\nimport { IconProps } from 'react-feather'\nimport Image from '../Image'\nimport { classNames } from '../../functions'\nimport { cloudinaryLoader } from '../../functions/cloudinary'\n\nconst BAD_SRCS: { [tokenAddress: string]: true } = {}\n\nexport type LogoProps = {\n srcs: string[]\n width: string | number\n height: string | number\n alt?: string\n} & IconProps\n\n/**\n * Renders an image by sequentially trying a list of URIs, and then eventually a fallback triangle alert\n */\nconst Logo: FC = ({ srcs, width, height, style, alt = '', className, ...rest }) => {\n const [, refresh] = useState(0)\n const src = srcs.find((src) => !BAD_SRCS[src])\n return (\n
\n {\n if (src) BAD_SRCS[src] = true\n refresh((i) => i + 1)\n }}\n width={width}\n height={height}\n alt={alt}\n layout=\"fixed\"\n className={classNames('rounded', className)}\n {...rest}\n />\n
\n )\n}\n\nexport default Logo\n","import React, { FC } from 'react'\n\nimport { classNames } from '../../functions'\nimport styled from 'styled-components'\n\ninterface RowProps {\n width?: string\n align?: string\n justify?: string\n padding?: string\n border?: string\n borderRadius?: string\n}\n\nexport const Row: FC & RowProps> = ({\n children,\n className,\n width,\n align,\n justify,\n padding,\n border,\n borderRadius,\n ...rest\n}) => (\n \n {children}\n \n)\n\nexport const RowBetween = styled(Row)`\n justify-content: space-between;\n`\n\nexport const RowFlat = styled.div`\n display: flex;\n align-items: flex-end;\n`\n\nexport const AutoRow = styled(Row)<{ gap?: string; justify?: string }>`\n flex-wrap: wrap;\n margin: ${({ gap }) => gap && `-${gap}`};\n justify-content: ${({ justify }) => justify && justify};\n\n & > * {\n margin: ${({ gap }) => gap} !important;\n }\n`\n\nexport const RowFixed = styled(Row)<{ gap?: string; justify?: string }>`\n width: fit-content;\n margin: ${({ gap }) => gap && `-${gap}`};\n`\n\nexport default Row\n","import { contenthashToUri, uriToHttp } from '../functions/convert'\n\nimport { parseENSAddress } from '../functions/ens'\nimport useENSContentHash from './useENSContentHash'\nimport { useMemo } from 'react'\n\nexport default function useHttpLocations(uri: string | undefined): string[] {\n const ens = useMemo(() => (uri ? parseENSAddress(uri) : undefined), [uri])\n const resolvedContentHash = useENSContentHash(ens?.ensName)\n return useMemo(() => {\n if (ens) {\n return resolvedContentHash.contenthash ? uriToHttp(contenthashToUri(resolvedContentHash.contenthash)) : []\n } else {\n return uri ? uriToHttp(uri) : []\n }\n }, [ens, resolvedContentHash.contenthash, uri])\n}\n","import { useENSRegistrarContract, useENSResolverContract } from './useContract'\n\nimport { isZero } from '../functions'\nimport { namehash } from '@ethersproject/hash'\nimport { useMemo } from 'react'\nimport { useSingleCallResult } from '../state/multicall/hooks'\n\n/**\n * Does a lookup for an ENS name to find its contenthash.\n */\nexport default function useENSContentHash(ensName?: string | null): {\n loading: boolean\n contenthash: string | null\n} {\n const ensNodeArgument = useMemo(() => {\n if (!ensName) return [undefined]\n try {\n return ensName ? [namehash(ensName)] : [undefined]\n } catch (error) {\n return [undefined]\n }\n }, [ensName])\n const registrarContract = useENSRegistrarContract(false)\n const resolverAddressResult = useSingleCallResult(registrarContract, 'resolver', ensNodeArgument)\n const resolverAddress = resolverAddressResult.result?.[0]\n const resolverContract = useENSResolverContract(\n resolverAddress && isZero(resolverAddress) ? undefined : resolverAddress,\n false\n )\n const contenthash = useSingleCallResult(resolverContract, 'contenthash', ensNodeArgument)\n\n return {\n contenthash: contenthash.result?.[0] ?? null,\n loading: resolverAddressResult.loading || contenthash.loading,\n }\n}\n"],"names":["BLOCKCHAIN","ChainId","getCurrencyLogoUrls","currency","urls","chainId","push","address","AvalancheLogo","BinanceCoinLogo","EthereumLogo","FantomLogo","HarmonyLogo","HecoLogo","MaticLogo","OKExLogo","PalmLogo","LOGO","unknown","size","style","className","rest","uriLocations","useHttpLocations","WrappedTokenInfo","logoURI","tokenInfo","undefined","srcs","useMemo","isNative","equals","WNATIVE","isToken","defaultUrls","width","height","alt","symbol","BAD_SRCS","refresh","useState","src","find","loader","cloudinaryLoader","onError","i","layout","classNames","Row","children","align","justify","padding","border","borderRadius","alignItems","justifyContent","RowBetween","styled","AutoRow","gap","RowFixed","uri","ens","parseENSAddress","resolvedContentHash","ensName","ensNodeArgument","namehash","error","registrarContract","useENSRegistrarContract","resolverAddressResult","useSingleCallResult","resolverAddress","result","resolverContract","useENSResolverContract","isZero","contenthash","loading","useENSContentHash","uriToHttp","contenthashToUri"],"sourceRoot":""}