{"version":3,"file":"static/chunks/pages/assets-ee94278b89339002.js","mappings":"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","sources":["webpack://_N_E/?0984","webpack://_N_E/./src/components/base/WrappedTokensFlow/context.tsx","webpack://_N_E/./src/components/chart/simple-24h-line-chart.tsx","webpack://_N_E/./src/components/limit-order/utils.ts","webpack://_N_E/./src/hooks/use-deposit-token-options.ts","webpack://_N_E/./src/components/base/WrappedTokensFlow/TopTokensList/view.tsx","webpack://_N_E/./src/components/base/WrappedTokensFlow/TopTokensList/container.tsx","webpack://_N_E/./src/components/base/WrappedTokensFlow/TopTokensList/index.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalTopTokensList/container.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalTopTokensList/index.tsx","webpack://_N_E/./src/components/base/WrappedTokensFlow/DepositTopTokensList/container.tsx","webpack://_N_E/./src/components/base/WrappedTokensFlow/DepositTopTokensList/index.tsx","webpack://_N_E/./src/components/top-coins/list/helpers.ts","webpack://_N_E/./src/components/top-coins/banner/helpers.ts","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalConnectWallet/index.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalForm/SelectTokenItem.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalForm/styles.ts","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalForm/WithdrawalFormSuccess.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalForm/view.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalForm/container.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalForm/index.ts","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalModal/container.tsx","webpack://_N_E/./src/components/base/AssetWithdrawal/WithdrawalModal/index.ts","webpack://_N_E/./src/components/top-coins/banner/method-selection-dialog/view.tsx","webpack://_N_E/./src/components/top-coins/banner/method-selection-dialog/container.tsx","webpack://_N_E/./src/components/top-coins/banner/method-selection-dialog/index.tsx","webpack://_N_E/./src/components/top-coins/banner/view.tsx","webpack://_N_E/./src/components/top-coins/banner/container.tsx","webpack://_N_E/./src/components/top-coins/banner/index.tsx","webpack://_N_E/./src/components/core-tokens-list/TokenDetailDialog.tsx","webpack://_N_E/./src/components/base/IconExport.tsx","webpack://_N_E/./src/components/top-coins/list/view.token-name.tsx","webpack://_N_E/./src/components/top-coins/list/desktop/styles.tsx","webpack://_N_E/./src/components/top-coins/list/desktop/item/view.tsx","webpack://_N_E/./src/components/top-coins/list/desktop/item/container.tsx","webpack://_N_E/./src/components/top-coins/list/desktop/item/index.tsx","webpack://_N_E/./src/components/top-coins/list/desktop/view.empty.tsx","webpack://_N_E/./src/components/top-coins/list/desktop/view.loading.tsx","webpack://_N_E/./src/components/top-coins/list/desktop/index.tsx","webpack://_N_E/./src/components/top-coins/list/mobile/view.empty.tsx","webpack://_N_E/./src/components/top-coins/list/mobile/view.loading.tsx","webpack://_N_E/./src/components/top-coins/list/mobile/view.tsx","webpack://_N_E/./src/components/top-coins/list/mobile/container.tsx","webpack://_N_E/./src/components/top-coins/list/mobile/index.tsx","webpack://_N_E/./src/components/top-coins/list/styles.tsx","webpack://_N_E/./src/components/top-coins/list/view.tsx","webpack://_N_E/./src/components/top-coins/list/container.tsx","webpack://_N_E/./src/components/top-coins/list/index.tsx","webpack://_N_E/./src/components/top-coins/container.tsx","webpack://_N_E/./src/components/top-coins/index.tsx","webpack://_N_E/./src/pages/assets/index.nemo.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/assets\",\n function () {\n return require(\"private-next-pages/assets/index.nemo.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/assets\"])\n });\n }\n ","import { createContext, Dispatch, SetStateAction, useMemo, useState } from 'react'\n\nimport { useBalances } from '@/hooks/use-balances'\nimport useDepositTokenOptions from '@/hooks/use-deposit-token-options'\nimport { CustomTokenInfo } from '@/utils/helpers'\n\nexport type ContextType = {\n selectedToken: CustomTokenInfo | null\n setSelectedToken: Dispatch>\n prevTokenBalance: number\n tokenOptions: CustomTokenInfo[]\n}\n\nexport const initValue: ContextType = {\n selectedToken: null,\n setSelectedToken: () => null,\n prevTokenBalance: 0,\n tokenOptions: [],\n}\n\nexport const WrappedTokensFlowContext = createContext(initValue)\nexport const WrapperTokensFlowProvider = ({ children }: HocProps) => {\n const { balances } = useBalances()\n const [selectedToken, setSelectedToken] = useState(null)\n const { tokenOptions } = useDepositTokenOptions()\n\n const prevTokenBalance = useMemo(() => {\n if (!selectedToken) return 0\n return balances[selectedToken.symbol] || 0\n // store the previous balance based on the selectedToken, no need update when the balances are changed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedToken])\n\n const ctxValue = useMemo(() => ({\n selectedToken,\n setSelectedToken,\n prevTokenBalance,\n tokenOptions,\n }) ,[selectedToken, prevTokenBalance, tokenOptions])\n\n return (\n \n {children}\n \n )\n}\n","import { Box } from '@mui/material'\nimport { createChart, CrosshairMode, IChartApi, ISeriesApi } from 'lightweight-charts'\nimport { useEffect, useState } from 'react'\nimport { useQueryClient } from 'react-query'\n\nimport useResizeObserver from '@/hooks/use-resize-observer'\nimport {\n resizeChart,\n toHistogramData,\n useLiquidityChart,\n} from '@/providers/liquidity-chart'\nimport { TokenPair } from '@/providers/liquidity-chart/candle-utils'\nimport { getTickers, tickerTimeFrameToSeconds, TradingViewTickerTimeFrame } from '@/utils/apis/tickers'\n\nimport { PriceChartProps } from './types'\nimport usePriceSocket from './use-price-socket'\nimport { getQueryKeyTickers, getQueryOptionsTickers,mergeOrStartNewCandle } from './utils'\n\nexport type Simple24hLineChartProps = PriceChartProps & {\n options?: {\n candleWindowSize?: number\n timeFrame?: TradingViewTickerTimeFrame\n }\n}\n\nconst Simple24hLineChart = ({\n options = {},\n tokenA,\n tokenB,\n onCandleListUpdated,\n onPriceSentFromSocket,\n}: Simple24hLineChartProps) => {\n const { candleWindowSize = 24, timeFrame = 'one_hour' } = options\n const span = tickerTimeFrameToSeconds[timeFrame]\n\n const queryClient = useQueryClient()\n const [element, setElement] = useState()\n const [chart, setChart] = useState()\n const [series, setSeries] = useState>()\n const { lastMessage } = usePriceSocket(tokenA, tokenB)\n\n const tokenPair = TokenPair.of(tokenA.symbol, tokenB.symbol)\n const { candles, updateAll, updateLast } = useLiquidityChart(null, { span, tokenPair })\n\n useEffect(() => {\n onCandleListUpdated?.(candles)\n series?.setData(toHistogramData(candles.slice(-candleWindowSize), 'close'))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [candles, candleWindowSize])\n\n useEffect(() => {\n if (!element) return\n\n const chart = createChart(element, {\n crosshair: {\n mode: CrosshairMode.Hidden,\n },\n grid: {\n horzLines: {\n visible: false,\n },\n vertLines: {\n visible: false,\n },\n },\n layout: {\n background: {\n color: 'transparent',\n },\n },\n leftPriceScale: {\n visible: false,\n },\n rightPriceScale: {\n visible: false,\n },\n timeScale: {\n fixLeftEdge: true,\n fixRightEdge: true,\n visible: false,\n },\n })\n setChart(chart)\n\n const series = chart.addLineSeries({\n baseLineWidth: 1,\n color: '#FFFFFF',\n lineWidth: 1,\n priceLineVisible: false,\n })\n setSeries(series)\n\n series.subscribeDataChanged(() => {\n chart.timeScale().fitContent()\n })\n\n resizeChart(chart)\n\n let chartRemoved = false\n queryClient\n .fetchQuery(\n getQueryKeyTickers(tokenA, tokenB, span),\n () => getTickers(tokenA, tokenB, timeFrame),\n getQueryOptionsTickers(span),\n )\n .then((tickerData) => {\n updateAll(tickerData.candles)\n\n if (!chartRemoved) {\n series.setData(toHistogramData(tickerData.candles.slice(-candleWindowSize), 'close'))\n }\n })\n\n return () => {\n chartRemoved = true\n\n chart.remove()\n setChart(undefined)\n setSeries(undefined)\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [candleWindowSize, element, span, timeFrame, tokenA, tokenB])\n\n useEffect(() => {\n if (!lastMessage) return\n\n onPriceSentFromSocket?.(lastMessage.data)\n\n const mergedCandle = mergeOrStartNewCandle(\n candles[candles.length - 1],\n lastMessage.data,\n span,\n )\n updateLast(mergedCandle)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lastMessage])\n\n useEffect(() => {\n const firstCandle = candles[candles.length - candleWindowSize]\n const lastCandle = candles[candles.length - 1]\n if (firstCandle && lastCandle && firstCandle.open < lastCandle.close) {\n series?.applyOptions({ color: '#55B964' })\n } else if (firstCandle && lastCandle && firstCandle.open > lastCandle.close) {\n series?.applyOptions({ color: '#FF6701' })\n } else {\n series?.applyOptions({ color: '#FFFFFF' })\n }\n }, [candles, candleWindowSize, series])\n\n useResizeObserver({\n ref: element,\n onResize: () => {\n if (chart) {\n resizeChart(chart)\n chart.timeScale().fitContent()\n }\n },\n })\n\n return (\n \n \n \n )\n}\n\nexport default Simple24hLineChart\n","import type { TokenInfo } from '@renec-foundation/rpl-token-registry'\nimport { PublicKey } from '@solana/web3.js'\n\nimport {\n RENEC_MINT_ADDRESS,\n RENGN_MINT_ADDRESS,\n REUSD_MINT_ADDRESS,\n REVND_MINT_ADDRESS,\n} from '@/hooks/use-tokens'\n\nexport const FIAT_TOKENS = [REVND_MINT_ADDRESS, RENGN_MINT_ADDRESS]\n\n/**\n * Returns the ordered token pair `[base, quote]` (`1 base = X quote`) to be\n * used for rate displaying purposes.\n */\nexport const orderTokensByUiQuote = (\n defaultOrder: [PublicKey, PublicKey],\n currentPair = defaultOrder,\n): [PublicKey, PublicKey] => {\n if (defaultOrder.length !== 2 || defaultOrder[0].equals(defaultOrder[1])) {\n throw new Error('Invalid default order pair.')\n }\n\n if (\n currentPair[0].equals(currentPair[1]) ||\n currentPair.filter(\n (mint) => mint.equals(defaultOrder[0]) || mint.equals(defaultOrder[1]),\n ).length !== 2\n ) {\n throw new Error('Invalid current pair.')\n }\n\n const [token0, token1] = currentPair\n const isToken0Fiat = FIAT_TOKENS.includes(token0.toBase58())\n const isToken1Fiat = FIAT_TOKENS.includes(token1.toBase58())\n\n if (isToken0Fiat && isToken1Fiat) {\n return defaultOrder\n }\n\n if (isToken0Fiat) {\n return [token1, token0]\n }\n\n if (isToken1Fiat) {\n return [token0, token1]\n }\n\n if (token0.toBase58() === REUSD_MINT_ADDRESS) {\n return [token1, token0]\n }\n\n if (token1.toBase58() === REUSD_MINT_ADDRESS) {\n return [token0, token1]\n }\n\n if (token0.toBase58() === RENEC_MINT_ADDRESS) {\n return [token1, token0]\n }\n\n if (token1.toBase58() === RENEC_MINT_ADDRESS) {\n return [token0, token1]\n }\n\n return defaultOrder\n}\n\n/**\n * Wrapper of {@link orderTokensByUiQuote} for {@link TokenInfo}.\n */\nexport const orderTokenInfosByUiQuote = (\n defaultOrder: [T, T],\n currentPair = defaultOrder,\n): [T, T] => {\n const [token0] = orderTokensByUiQuote(\n [new PublicKey(defaultOrder[0].address), new PublicKey(defaultOrder[1].address)],\n [new PublicKey(currentPair[0].address), new PublicKey(currentPair[1].address)],\n )\n\n const isFirstToken0 = currentPair[0].address === token0.toBase58()\n return [\n isFirstToken0 ? currentPair[0] : currentPair[1],\n isFirstToken0 ? currentPair[1] : currentPair[0],\n ]\n}\n","import { useMemo } from 'react'\n\nimport { useFetchTopCoinList } from '@/hooks/use-nemo-apis'\nimport { toRegistryTokenInfo } from '@/utils/apis/helper'\n\nexport const BLACK_LIST_TOKENS_SYMBOLS = ['reSOL', 'reBNB']\n\n/**\n * These token options will be used in the deposit and withdraw dialog in the assets page\n */\nconst useDepositTokenOptions = () => {\n const { data: coreTokens = [], isLoading: isFetchingCoreTokens } = useFetchTopCoinList()\n\n const tokenOptions = useMemo(\n () =>\n coreTokens\n .filter((token) => !BLACK_LIST_TOKENS_SYMBOLS.includes(token.token_symbol))\n .map((token) => toRegistryTokenInfo(token)),\n [coreTokens],\n )\n\n return { tokenOptions, isLoading: isFetchingCoreTokens }\n}\n\nexport default useDepositTokenOptions\n","import { Box, Stack, Typography } from '@mui/material'\nimport { memo } from 'react'\nimport { LazyLoadImage } from 'react-lazy-load-image-component'\n\nimport { CustomTokenInfo } from '@/utils/helpers'\n\ntype ViewProps = {\n onClickToken: (token: CustomTokenInfo) => void\n tokensList: CustomTokenInfo[]\n}\n\nconst View = ({ onClickToken, tokensList }: ViewProps) => {\n return (\n \n {\n tokensList.map(token => (\n onClickToken(token)}\n data-testid={`quick-token-action-${token.symbol}`}\n >\n \n {token.displaySymbol}\n \n ))\n }\n \n )\n}\n\nexport default memo(View)\n","import { useMemo } from 'react'\n\nimport useTokens, { REBTC_MINT_ADDRESS, REETH_MINT_ADDRESS } from '@/hooks/use-tokens'\nimport { CustomTokenInfo } from '@/utils/helpers'\n\nimport View from './view'\n\ntype Props = {\n onClickToken: (token: CustomTokenInfo) => void\n}\n\nconst Container = ({ onClickToken }: Props) => {\n const { reUsdTokenInfo, tokenListMap } = useTokens()\n\n const tokensList = useMemo(() => {\n return [\n reUsdTokenInfo,\n tokenListMap.get(REBTC_MINT_ADDRESS),\n tokenListMap.get(REETH_MINT_ADDRESS),\n ].filter(Boolean) as CustomTokenInfo[]\n }, [reUsdTokenInfo, tokenListMap])\n\n return \n}\n\nexport default Container\n","export { default } from './container'\n","import { useCallback, useContext } from 'react'\n\nimport { AssetWithdrawalContext } from '@/components/base/AssetWithdrawal/context'\nimport { TokenPickerRevampContext } from '@/components/base/TokenPickerRevamp/context'\nimport { CustomTokenInfo } from '@/utils/helpers'\n\nimport TopTokensList from '../../WrappedTokensFlow/TopTokensList'\n\nconst Container = () => {\n const { setSelectedToken } = useContext(AssetWithdrawalContext)\n const { setIsOpenPicker } = useContext(TokenPickerRevampContext)\n\n const onClickToken = useCallback((token: CustomTokenInfo) => {\n setIsOpenPicker(false)\n setSelectedToken(token)\n }, [setIsOpenPicker, setSelectedToken])\n\n return \n}\n\nexport default Container\n","export { default } from './container'\n","import { useCallback, useContext } from 'react'\n\nimport { TokenPickerRevampContext } from '@/components/base/TokenPickerRevamp/context'\nimport { WrappedTokensFlowContext } from '@/components/base/WrappedTokensFlow/context'\nimport { CustomTokenInfo } from '@/utils/helpers'\n\nimport TopTokensList from '../TopTokensList'\n\nconst Container = () => {\n const { setSelectedToken } = useContext(WrappedTokensFlowContext)\n const { setIsOpenPicker } = useContext(TokenPickerRevampContext)\n\n const onClickToken = useCallback((token: CustomTokenInfo) => {\n setIsOpenPicker(false)\n setSelectedToken(token)\n }, [setIsOpenPicker, setSelectedToken])\n\n return \n}\n\nexport default Container\n","export { default } from './container'\n","import { DecimalUtil } from '@orca-so/common-sdk'\n\nimport { APITokenInfo } from '@/utils/apis/helper'\nimport { format } from '@/utils/numeric'\n\nimport { TopCoinsDataItem } from './types'\n\nexport const TOP_COINS_TAB = {\n spot: 'spot',\n meme: 'meme',\n euro2024: 'euro2024',\n}\n\nexport const COLUMNS_KEY = {\n index: 'index',\n tokenName: 'tokenName',\n balances: 'balances',\n marketCap: 'marketCap',\n holders: 'holders',\n volume24h: 'volume24h',\n diff24Hours: '24h%',\n chart: 'chart',\n actionsSpot: 'actionsSpot',\n actionsMeme: 'actionsMeme',\n}\n\nexport const ACTION_TYPE = {\n trade: 'trade',\n withdraw: 'withdraw',\n deposit: 'deposit',\n}\n\nexport const calculateMarketCap = (token: APITokenInfo) => {\n if (!token.price?.current_price || !token?.metadata?.total_supply) {\n return '--'\n }\n\n const currentPrice = token.price.current_price\n const currentSupply = token.metadata.total_supply\n\n return '$' + format(DecimalUtil.fromNumber(currentPrice).mul(currentSupply), 0)\n}\n\nexport const getTradeRoute = (tokenSymbol: string, isDeposit?: boolean) => {\n if (isDeposit) {\n if (tokenSymbol === 'reUSD') return '/RENEC_reUSD'\n return `/reUSD_${tokenSymbol}`\n }\n\n if (tokenSymbol === 'reUSD') return '/reUSD_RENEC'\n return `/${tokenSymbol}_reUSD`\n}\n\nexport const getColorStyle = (diffNumber: number) => ({\n color: diffNumber === 0 ? 'white' : diffNumber < 0 ? '#FF6701' : '#55B964',\n})\n\nexport const mapDataTopCoinToken = (token: APITokenInfo, tokenBalance?: number): TopCoinsDataItem => {\n return {\n id: token.id,\n logo: token.logo_url,\n tokenMint: token.coin_address,\n tokenName: token.token_name,\n symbol: token.token_symbol,\n marketCapFormatted: calculateMarketCap(token),\n holders: token.metadata?.holders_count ? format(token.metadata.holders_count) : '--',\n price: token.price?.current_price\n ? '$' + format(token.price.current_price, 9)\n : '--',\n isHasChart: Number(token.chart_data?.length) > 0,\n // diff7Days: token.price?.diff_7_days_percent || 0,\n diff24Hours: token.price?.diff_24_hours_percent || 0,\n userBalance: format(tokenBalance || 0, {\n decimals: token.decimals,\n desiredLength: 10,\n rounding: 'up',\n }),\n volume24h: !Number(token.volume_24h)\n ? '$0'\n : Intl.NumberFormat('en', {\n style: 'currency',\n currency: 'USD',\n notation: 'compact',\n maximumSignificantDigits: 3,\n }).format(Number(token.volume_24h)),\n }\n}\n","import { CustomTokenInfo } from '@/utils/helpers'\n\nexport const CURRENT_TYPE = {\n deposit: 'deposit',\n withdraw: 'withdraw',\n}\n\nexport type ViewProps = {\n currentType: string;\n tokenOptions: CustomTokenInfo[];\n onClickType: (newType: string) => void;\n onPickAToken: (token: CustomTokenInfo) => void;\n topTokensPickerSlot: JSX.Element | null;\n isOpenMethodSelection: boolean;\n onCloseMethodSelection: () => void;\n onSelectMethod: (newMethod: string) => void;\n showEuro2024Banner: boolean;\n}\n","import Box from '@mui/material/Box'\nimport Typography from '@mui/material/Typography'\nimport { useCallback, useContext } from 'react'\n\nimport Button from '@/components/base/Button'\nimport useNemoWallet from '@/hooks/use-nemo-wallet'\nimport useTrans from '@/hooks/useTrans'\n\nimport { AssetWithdrawalContext } from '../context'\n\nconst WithdrawalConnectWallet = () => {\n const trans = useTrans()\n const { connectWallet } = useNemoWallet()\n const { selectedToken, setSelectedToken } = useContext(AssetWithdrawalContext)\n\n const handleClick = useCallback(() => {\n connectWallet()\n setSelectedToken(null)\n }, [setSelectedToken, connectWallet])\n\n if (!selectedToken) return null\n\n return (\n \n {trans.asset_withdrawal.you_can_trade(selectedToken.displaySymbol)}\n {trans.asset_withdrawal.connect_first}\n \n {trans.common.connect_wallet}\n \n \n )\n}\n\nexport default WithdrawalConnectWallet\n","import { Box, Typography } from '@mui/material'\nimport { LazyLoadImage } from 'react-lazy-load-image-component'\n\nimport { SelectTokenItemProps } from './types'\n\nconst SelectTokenItem = ({ token }: SelectTokenItemProps) => {\n if (!token) return null\n\n return (\n \n \n {token.displaySymbol}\n \n )\n}\n\nexport default SelectTokenItem\n","export const selectStyles = {\n '.MuiSelect-select': { paddingTop: 0, paddingBottom: 0 },\n '&::after': { content: 'none' },\n '&::before': { content: 'none' },\n}\n","import CheckCircleIcon from '@mui/icons-material/CheckCircle'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\n\nimport Button from '@/components/base/Button'\nimport useTrans from '@/hooks/useTrans'\nimport { formatSafe } from '@/utils/numeric'\n\nimport type { WithdrawalSuccessProps } from './types'\n\nconst WithdrawalFormSuccess = ({ inputAmount, tokenName, decimals, closeButtonVisibility }: WithdrawalSuccessProps) => {\n const trans = useTrans()\n\n return (\n \n \n \n {trans.asset_withdrawal.you_withdrew}\n \n {inputAmount && formatSafe(inputAmount, decimals)}\n \n {tokenName}\n \n \n \n \n {closeButtonVisibility.title}\n \n \n )\n}\n\nexport default WithdrawalFormSuccess\n","import { ExpandMore } from '@mui/icons-material'\nimport Box from '@mui/material/Box'\nimport MuiButton from '@mui/material/Button'\nimport InputBase from '@mui/material/InputBase'\nimport Menu from '@mui/material/Menu'\nimport MenuItem from '@mui/material/MenuItem'\nimport Select from '@mui/material/Select'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport cls from 'classnames'\nimport Image from 'next/image'\nimport { memo, useRef } from 'react'\n\nimport Wallet from '@/assets/svgs/wallet.svg'\nimport Button from '@/components/base/Button'\nimport useTrans from '@/hooks/useTrans'\nimport { formatSafe } from '@/utils/numeric'\n\nimport BaseAmountInput from '../../BaseAmountInput'\nimport SelectTokenItem from './SelectTokenItem'\nimport { selectStyles } from './styles'\nimport { WithdrawFormViewProps } from './types'\nimport WithdrawalFormSuccess from './WithdrawalFormSuccess'\n\nconst View = ({\n tokenOptions,\n selectedNetwork,\n onChangeToken,\n isNetworkMenuOpened,\n setIsNetworkMenuOpened,\n networkOptions,\n onChangeNetwork,\n toWalletAddress,\n setToWalletAddress,\n onInputAmountChange,\n selectedToken,\n inputAmount,\n isSubmitSucceeded,\n isLoading,\n submitButtonVisibility,\n closeButtonVisibility,\n currentTokenBalance,\n handleInputMaximumBalance,\n handleSubmit,\n}: WithdrawFormViewProps) => {\n const trans = useTrans()\n const anchorElRef = useRef(null)\n const isShowMenuNetwork = !isLoading && networkOptions.length > 0\n\n if (isSubmitSucceeded) {\n return (\n \n )\n }\n\n return (\n \n \n \n {trans.asset_withdrawal.you_withdrawing}\n \n (\n token.symbol === name)} />\n )}\n data-testid=\"assets-withdraw-select-coin\"\n disabled={isLoading}\n >\n {tokenOptions.map((token) => (\n \n \n \n ))}\n \n \n \n {trans.asset_withdrawal.through_network}\n isShowMenuNetwork && setIsNetworkMenuOpened(true)}\n className={cls('cursor-pointer normal-case rounded-[8px] pl-3 pr-1', {\n 'bg-gradient-btn': !selectedNetwork,\n })}\n data-testid=\"assets-withdraw-btn-select-network\"\n disabled={isLoading}\n >\n {selectedNetwork ? (\n {selectedNetwork.chain_name_abbr}\n ) : (\n {trans.asset_withdrawal.select_network}\n )}\n {isShowMenuNetwork && }\n \n {\n isShowMenuNetwork && (\n setIsNetworkMenuOpened(false)}>\n {networkOptions.map((network) => (\n onChangeNetwork(network)}\n data-testid={`assets-withdraw-network-item-${network.chain_name_abbr}`}\n >\n \n {network.chain_name_abbr}\n \n \n ))}\n \n )\n }\n \n {selectedNetwork && (<>\n {trans.asset_withdrawal.withdraw_to_wallet_address}\n \n setToWalletAddress(v.target.value)}\n required\n fullWidth\n inputProps={{\n 'aria-label': '0',\n className: 'p-1 text-sm',\n }}\n disabled={isLoading}\n />\n \n \n {trans.asset_withdrawal.amount}\n \n \"wallet\"\n \n {formatSafe(currentTokenBalance, selectedToken.decimals)}\n \n \n {`${trans.common.max}`}\n \n \n \n \n \n {selectedToken.displaySymbol}\n \n \n {submitButtonVisibility.title}\n \n )}\n \n {closeButtonVisibility.title}\n \n \n )\n}\n\nexport default memo(View)\n","\nimport type { SelectChangeEvent } from '@mui/material'\nimport Decimal from 'decimal.js'\nimport { type ChangeEvent, useCallback, useContext, useMemo, useState } from 'react'\n\nimport useNemoWallet from '@/hooks/use-nemo-wallet'\nimport useTrans from '@/hooks/useTrans'\nimport { toDecimalSafe } from '@/utils/numeric'\nimport { useEventCallback } from '@/utils/use-event-callback'\n\nimport { AssetWithdrawalContext } from '../context'\nimport type { IWithdrawalSubmitFn, NetworkOption } from '../types'\nimport View from './view'\n\nconst Container = ({ onSubmit }: { onSubmit: IWithdrawalSubmitFn }) => {\n const {\n selectedToken,\n setSelectedToken,\n currentTokenBalance,\n tokenOptions,\n networkOptions,\n isLoading,\n isSubmitSucceeded,\n } = useContext(AssetWithdrawalContext)\n const trans = useTrans()\n const { publicKey } = useNemoWallet()\n\n const [toWalletAddress, setToWalletAddress] = useState('')\n const [isNetworkMenuOpened, setIsNetworkMenuOpened] = useState(false)\n const [selectedNetwork, setSelectedNetwork] = useState(null)\n const [inputAmount, setInputAmount] = useState()\n\n const inValidInputAmountMsg = useMemo(() => {\n if (!selectedToken) return trans.asset_withdrawal.issues.no_token_info\n if (!toWalletAddress) return trans.asset_withdrawal.issues.enter_wallet_address\n\n const isMissingInputAmount = !inputAmount || new Decimal(inputAmount).lessThanOrEqualTo(0)\n if (isMissingInputAmount) return trans.asset_withdrawal.issues.enter_amount\n\n const inputAmountDecimalNumber = new Decimal(inputAmount)\n const isExceededBalance = inputAmountDecimalNumber.greaterThan(currentTokenBalance)\n const isInsufficientBalance = currentTokenBalance === 0\n if (isExceededBalance || isInsufficientBalance) return trans.asset_withdrawal.issues.insufficient_balance\n\n return ''\n }, [\n trans,\n currentTokenBalance,\n inputAmount,\n selectedToken,\n toWalletAddress,\n ])\n\n const submitButtonVisibility = useMemo(() => {\n if (!publicKey) {\n return {\n disabled: false,\n title: trans.common.connect_wallet,\n }\n }\n\n if (inValidInputAmountMsg) {\n return {\n disabled: true,\n invalidInput: true,\n title: inValidInputAmountMsg,\n }\n }\n\n return {\n disabled: false,\n title: trans.asset_withdrawal.withdraw_token(selectedToken?.displaySymbol),\n }\n }, [publicKey, inValidInputAmountMsg, trans, selectedToken])\n\n const closeButtonVisibility = useMemo(() => {\n if (isSubmitSucceeded) {\n return {\n disabled: false,\n title: trans.asset_withdrawal.btn_close,\n click: () => setSelectedToken(null),\n }\n } else {\n return {\n disabled: isLoading,\n title: trans.common.back,\n click: () => setSelectedToken(null),\n }\n }\n }, [trans, isLoading, setSelectedToken, isSubmitSucceeded])\n\n const handleInputMaximumBalance = useCallback(() => {\n if (isLoading || !selectedToken || !currentTokenBalance) return\n\n const newInputAmount = toDecimalSafe(currentTokenBalance, selectedToken.decimals)\n\n if (newInputAmount.isFinite()) {\n setInputAmount(newInputAmount.toNumber())\n }\n }, [isLoading, selectedToken, currentTokenBalance, setInputAmount])\n\n const handleSubmit = useCallback(async () => {\n if (!inputAmount) return\n await onSubmit(toWalletAddress, inputAmount)\n }, [onSubmit, toWalletAddress, inputAmount])\n\n const onInputAmountChange = useEventCallback((e: ChangeEvent) => {\n if (!e.target.value) return\n\n const newInputAmount = Number(e.target.value)\n\n if (!Number.isNaN(newInputAmount)) setInputAmount(newInputAmount)\n })\n\n const onChangeToken = useCallback((evt: SelectChangeEvent) => {\n setSelectedToken(tokenOptions.find(token => token.displaySymbol === evt.target.value) || null)\n }, [tokenOptions, setSelectedToken])\n\n const onChangeNetwork = useCallback((network: NetworkOption) => {\n setSelectedNetwork(network)\n setIsNetworkMenuOpened(false)\n }, [])\n\n if (!selectedToken) {\n return null\n }\n\n const injectedProps = {\n selectedToken,\n selectedNetwork,\n onChangeToken,\n isNetworkMenuOpened,\n setIsNetworkMenuOpened,\n networkOptions,\n tokenOptions,\n onChangeNetwork,\n toWalletAddress,\n setToWalletAddress,\n onInputAmountChange,\n inputAmount,\n isSubmitSucceeded,\n isLoading,\n submitButtonVisibility,\n closeButtonVisibility,\n currentTokenBalance,\n handleInputMaximumBalance,\n handleSubmit,\n }\n\n return (\n \n )\n}\n\nexport default Container\n","export { default } from './container'\n","import DialogContent from '@mui/material/DialogContent'\nimport Modal from '@mui/material/Modal'\nimport { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport ModalLayout from '@/components/common/ModalLayout'\nimport useNemoWallet from '@/hooks/use-nemo-wallet'\nimport useTrans from '@/hooks/useTrans'\n\nimport { AssetWithdrawalContext } from '../context'\nimport WithdrawalConnectWallet from '../WithdrawalConnectWallet'\nimport WithdrawalForm from '../WithdrawalForm'\n\nconst classesDialog = { root: 'outline-none p-0 h-full' }\nconst Container = () => {\n const trans = useTrans()\n const { publicKey } = useNemoWallet()\n const { selectedToken, setSelectedToken, submitWithdrawByRenecNetwork } = useContext(AssetWithdrawalContext)\n const isModalOpened = Boolean(selectedToken)\n\n useEffect(() => {\n if (!isModalOpened) { // Reset data\n setSelectedToken(null)\n }\n }, [setSelectedToken, isModalOpened])\n\n const modalTitle = useMemo(() => {\n return trans.asset_withdrawal.withdrawing(selectedToken?.displaySymbol)\n }, [trans, selectedToken])\n\n const handleCloseModal = useCallback(() => {\n setSelectedToken(null)\n }, [setSelectedToken])\n\n return (\n \n \n \n {publicKey\n ? \n : \n }\n \n \n \n )\n}\n\nexport default Container\n","export { default } from './container'\n","import Box from '@mui/material/Box'\nimport DialogContent from '@mui/material/DialogContent'\nimport Drawer from '@mui/material/Drawer'\nimport Modal from '@mui/material/Modal'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport Image from 'next/image'\nimport { memo } from 'react'\n\nimport ModalLayout from '@/components/common/ModalLayout'\nimport useTrans from '@/hooks/useTrans'\n\ntype ViewProps = {\n isOpen: boolean\n isDesktop: boolean\n isDepositing: boolean\n onClose: () => void\n onClick: (methodType: string) => void\n methodOptions: {\n title: string\n description: string\n type: string\n dataTestID: string\n icon: string\n }[]\n}\n\nconst View = ({ isOpen, isDesktop, isDepositing, onClose, methodOptions, onClick }: ViewProps) => {\n const trans = useTrans()\n\n const renderedContent = (\n \n \n {methodOptions.map((method) => (\n onClick(method.type)}\n data-testid={method.dataTestID}\n >\n \n \n {method.title}\n {method.description}\n \n \n ))}\n \n \n )\n\n if (isDesktop) {\n return (\n \n {renderedContent}\n \n )\n }\n\n return (\n \n {renderedContent}\n \n )\n}\n\nexport default memo(View)\n","import { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport { useMemo } from 'react'\n\nimport { METHOD_TYPE } from '@/components/core-tokens-list/MethodSelectionDialog'\nimport useTrans from '@/hooks/useTrans'\n\nimport { CURRENT_TYPE } from '../helpers'\nimport View from './view'\n\ntype ContainerProps = {\n currentType: string\n isOpen: boolean\n onClose: () => void\n onClick: (methodType: string) => void\n}\n\nconst Container = ({ currentType, isOpen, onClick, onClose }: ContainerProps) => {\n const trans = useTrans()\n const theme = useTheme()\n const isDesktop = useMediaQuery(theme.breakpoints.up('sm'))\n\n const isDepositing = useMemo(() => currentType === CURRENT_TYPE.deposit, [currentType])\n\n const methodOptions = useMemo(() => {\n if (isDepositing) {\n return [\n {\n title: trans.core_tokens_list.bank.deposit,\n description: trans.core_tokens_list.bank.description,\n type: METHOD_TYPE.bank,\n dataTestID: 'method-selection-bank',\n icon: '/assets-from-bank-icon.png',\n },\n {\n title: trans.core_tokens_list.network.deposit,\n description: trans.core_tokens_list.network.description,\n type: METHOD_TYPE.network,\n dataTestID: 'method-selection-network',\n icon: '/assets-from-others-icon.png',\n },\n {\n title: trans.core_tokens_list.swap_with_others,\n description: '',\n type: METHOD_TYPE.swapOthers,\n dataTestID: 'method-selection-swap-others',\n icon: '/top-coins-swap-with-others.png',\n },\n ]\n }\n\n return [\n {\n title: trans.core_tokens_list.bank.withdraw,\n description: trans.core_tokens_list.bank.description,\n type: METHOD_TYPE.bank,\n dataTestID: 'method-selection-bank',\n icon: '/assets-to-bank-icon.png',\n },\n {\n title: trans.core_tokens_list.network.withdraw,\n description: trans.core_tokens_list.network.description,\n type: METHOD_TYPE.network,\n dataTestID: 'method-selection-network',\n icon: '/assets-to-others-icon.png',\n },\n ]\n }, [isDepositing, trans])\n\n const computedProps = {\n isOpen,\n isDesktop,\n isDepositing,\n onClose,\n methodOptions,\n onClick,\n }\n\n return \n}\n\nexport default Container\n","export { default } from './container'\n","import Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport cls from 'classnames'\nimport { memo } from 'react'\n\nimport AssetWithdrawalModal from '@/components/base/AssetWithdrawal/WithdrawalModal'\nimport Button from '@/components/base/Button'\nimport { Container as TokenPickerRevampContainer } from '@/components/base/TokenPickerRevamp'\nimport ModalTokensFlow from '@/components/base/WrappedTokensFlow/ModalTokensFlow'\nimport MethodSelectionDialog from '@/components/top-coins/banner/method-selection-dialog'\nimport useTrans from '@/hooks/useTrans'\n\nimport { CURRENT_TYPE, ViewProps } from './helpers'\n\nconst View = ({\n currentType,\n tokenOptions,\n onClickType,\n onPickAToken,\n topTokensPickerSlot,\n isOpenMethodSelection,\n onCloseMethodSelection,\n onSelectMethod,\n showEuro2024Banner,\n}: ViewProps) => {\n const trans = useTrans()\n\n return (\n <>\n \n \n {trans.core_tokens_list.top_coins}\n \n \n {trans.core_tokens_list.description}\n \n \n onClickType(CURRENT_TYPE.withdraw)}\n data-testid=\"top-coins-banner-withdraw\"\n className=\"flex-1 lg:flex-none min-w-[140px]\"\n variant=\"outlined\"\n size=\"md\"\n >\n {trans.common.withdraw}\n \n onClickType(CURRENT_TYPE.deposit)}\n data-testid=\"top-coins-banner-deposit\"\n className=\"flex-1 lg:flex-none min-w-[140px]\"\n variant=\"primary\"\n size=\"md\"\n >\n {trans.common.deposit}\n \n \n \n \n \n\n \n \n \n )\n}\n\nexport default memo(View)\n","import { useRouter } from 'next/router'\nimport { useCallback, useContext, useMemo, useState } from 'react'\n\nimport { AssetWithdrawalContext } from '@/components/base/AssetWithdrawal/context'\nimport WithdrawalTopTokensList from '@/components/base/AssetWithdrawal/WithdrawalTopTokensList'\nimport { TokenPickerRevampContext } from '@/components/base/TokenPickerRevamp/context'\nimport { WrappedTokensFlowContext } from '@/components/base/WrappedTokensFlow/context'\nimport DepositTopTokensList from '@/components/base/WrappedTokensFlow/DepositTopTokensList'\nimport { METHOD_TYPE } from '@/components/core-tokens-list/MethodSelectionDialog'\nimport useDepositTokenOptions from '@/hooks/use-deposit-token-options'\nimport { useSettings } from '@/hooks/use-settings'\nimport useTokens from '@/hooks/use-tokens'\nimport type { CustomTokenInfo } from '@/utils/helpers'\n\nimport { getTradeRoute } from '../list/helpers'\nimport { CURRENT_TYPE } from './helpers'\nimport View from './view'\n\nconst Container = () => {\n const router = useRouter()\n const { data: settingsData } = useSettings()\n const { fiatTokensList: tokenFiatOptions } = useTokens()\n\n const [currentType, setCurrentType] = useState('')\n const [currentMethod, setCurrentMethod] = useState('')\n const { setSelectedToken: setSelectedDepositToken } = useContext(WrappedTokensFlowContext)\n const { setSelectedToken: setSelectedWithdrawToken } = useContext(AssetWithdrawalContext)\n\n const { setIsOpenPicker } = useContext(TokenPickerRevampContext)\n const [isOpenMethodSelection, setIsOpenMethodSelection] = useState(false)\n\n const { tokenOptions: depositTokenOptions } = useDepositTokenOptions()\n\n const onClickType = useCallback((newType: string) => {\n setCurrentType(newType)\n setIsOpenMethodSelection(true)\n }, [])\n\n const onCloseMethodSelection = useCallback(() => {\n setCurrentType('')\n setIsOpenMethodSelection(false)\n }, [])\n\n const onSelectMethod = useCallback(\n (newMethod: string) => {\n setIsOpenPicker(true)\n setCurrentMethod(newMethod)\n setIsOpenMethodSelection(false)\n },\n [setIsOpenPicker],\n )\n\n const tokenOptions = useMemo(() => {\n if (currentMethod === METHOD_TYPE.bank) {\n return tokenFiatOptions\n }\n\n return depositTokenOptions\n }, [currentMethod, depositTokenOptions, tokenFiatOptions])\n\n const onPickAToken = useCallback(\n (token: CustomTokenInfo) => {\n if (currentType === CURRENT_TYPE.deposit) {\n if (currentMethod === METHOD_TYPE.bank) {\n router.push(`/buy/${token.symbol}`)\n return\n }\n if (currentMethod === METHOD_TYPE.network) {\n setSelectedDepositToken(token)\n }\n if (currentMethod === METHOD_TYPE.swapOthers) {\n router.push(getTradeRoute(token.symbol, true))\n return\n }\n }\n\n if (currentType === CURRENT_TYPE.withdraw) {\n if (currentMethod === METHOD_TYPE.bank) {\n router.push(`/sell/${token.symbol}`)\n return\n }\n if (currentMethod === METHOD_TYPE.network) {\n setSelectedWithdrawToken(token)\n }\n }\n },\n [router, currentType, currentMethod, setSelectedDepositToken, setSelectedWithdrawToken],\n )\n\n const topTokensPickerSlot = useMemo(() => {\n if (currentMethod === METHOD_TYPE.network) {\n if (currentType === CURRENT_TYPE.deposit) {\n return \n }\n if (currentType === CURRENT_TYPE.withdraw) {\n return \n }\n }\n\n return null\n }, [currentType, currentMethod])\n\n const computedProps = {\n currentType,\n tokenOptions,\n onClickType,\n onPickAToken,\n topTokensPickerSlot,\n isOpenMethodSelection,\n onCloseMethodSelection,\n onSelectMethod,\n showEuro2024Banner: Boolean(settingsData?.nemo_swap_assets_euro2024_token_list_enabled),\n }\n\n return \n}\n\nexport default Container\n","export { default } from './container'\n","import {\n Box,\n Button,\n Link,\n Stack,\n Typography,\n} from '@mui/material'\nimport Linkify from 'linkify-react'\nimport Image from 'next/image'\nimport React, { memo } from 'react'\n\nimport AddressSpanWithCopyButton from '@/components/base/AddressSpanWithCopyButton'\nimport BaseDialog from '@/components/base/BaseDialog'\nimport useTrans from '@/hooks/useTrans'\nimport { APITokenInfo } from '@/utils/apis/helper'\nimport { getAddressUrl } from '@/utils/helpers'\n\ntype TokenDetailDialogProps = {\n token: APITokenInfo,\n handleClose: () => void\n}\n\nconst TokenDetailDialog = (props: TokenDetailDialogProps) => {\n const { handleClose, token } = props\n const trans = useTrans()\n\n return (\n \n \n \n \"reUSD\"\n \n \n {token.token_symbol}\n - {token.token_name}\n \n \n \n\n \n \n {trans.core_tokens_list.table_headers.about}\n \n \n {token.description}\n \n \n\n \n \n {trans.core_tokens_list.token_detail.link}\n \n \n \n Explorer↗\n \n {token.website && \n {trans.core_tokens_list.token_detail.website}↗\n \n }\n \n \n \n }\n button={\n \n {trans.core_tokens_list.token_detail.close}\n \n }\n />\n )\n}\n\nexport default memo(TokenDetailDialog)\n","import { HTMLAttributes } from 'react'\n\nconst IconExport = (props: HTMLAttributes) => {\n return (\n \n \n \n \n \n )\n}\n\nexport default IconExport\n","import Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport { memo } from 'react'\n\nimport IconExport from '@/components/base/IconExport'\nimport { getAddressUrl } from '@/utils/helpers'\n\nimport type { TopCoinsDataItem } from './types'\n\nconst View = ({ data }: { data: TopCoinsDataItem }) => {\n return (\n \n \n \n \n \n {data.tokenName}\n \n - {data.symbol}\n evt.stopPropagation()}\n >\n \n \n \n {data.price}\n \n \n )\n}\n\nexport default memo(View)\n","import {\n styled,\n Table,\n TableCell,\n TableCellProps,\n TableHead,\n TableHeadProps,\n TableProps,\n TableRow,\n TableRowProps,\n} from '@mui/material'\n\nexport const StyledTableCell = styled((props: TableCellProps) => )(() => ({\n '&.MuiTableCell-body': {\n color: '#fff',\n fontWeight: 400,\n fontSize: '14px',\n lineHeight: '20px',\n padding: '16px',\n border: '0',\n backgroundColor: '#1E2735',\n },\n '&.MuiTableCell-body:first-child': {\n paddingLeft: '24px',\n },\n '&.MuiTableCell-body:last-child': {\n paddingLeft: '24px',\n },\n '&.MuiTableCell-head': {\n color: '#C2CBD9',\n border: '0',\n fontSize: '14px',\n lineHeight: '20px',\n padding: '8px 12px',\n },\n '&.MuiTableCell-head:first-child': {\n paddingLeft: '24px',\n },\n '&.MuiTableCell-head:last-child': {\n paddingLeft: '24px',\n },\n}))\n\nexport const StyledTableRow = styled((props: TableRowProps) => )(() => ({\n '&': {\n borderBottom: '1px solid rgba(255, 255, 255, 0.08)',\n },\n '&:last-child': {\n borderBottom: '0',\n },\n}))\n\nexport const StyledTableHead = styled((props: TableHeadProps) => )(() => ({\n '&': {\n backgroundColor: 'rgba(7, 13, 21, 0.4)',\n },\n}))\n\nexport const StyledTable = styled((props: TableProps) => )(() => ({\n '&': {\n borderRadius: '8px',\n overflow: 'hidden',\n },\n}))\n","import Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport { memo } from 'react'\n\nimport Button from '@/components/base/Button'\nimport Simple24hLineChart from '@/components/chart/simple-24h-line-chart'\nimport useTrans from '@/hooks/useTrans'\nimport type { CustomTokenInfo } from '@/utils/helpers'\nimport { format } from '@/utils/numeric'\n\nimport { ACTION_TYPE, COLUMNS_KEY, getColorStyle } from '../../helpers'\nimport type { TopCoinsDataItem, ViewPropsCommon } from '../../types'\nimport ViewTokenName from '../../view.token-name'\nimport { StyledTableCell, StyledTableRow } from '../styles'\n\ntype Props = {\n index: number\n data: TopCoinsDataItem\n tokenA?: CustomTokenInfo\n tokenB?: CustomTokenInfo\n columns: ViewPropsCommon['columns']\n onClickTokenItem: ViewPropsCommon['onClickTokenItem']\n}\n\nconst View = ({ tokenA, tokenB, columns, data, index, onClickTokenItem }: Props) => {\n const trans = useTrans()\n\n return (\n onClickTokenItem(data)}\n className=\"cursor-pointer\"\n data-testid={`top-coins-table-item-${data.symbol}`}\n >\n {columns.map((col) => {\n switch (col.key) {\n case COLUMNS_KEY.index:\n return (\n \n {index + 1}\n \n )\n case COLUMNS_KEY.balances:\n return {data.userBalance}\n case COLUMNS_KEY.volume24h:\n return {data.volume24h}\n case COLUMNS_KEY.tokenName:\n return (\n \n \n \n )\n case COLUMNS_KEY.marketCap:\n return {data.marketCapFormatted}\n case COLUMNS_KEY.holders:\n return {data.holders}\n case COLUMNS_KEY.diff24Hours:\n return (\n \n \n {data.diff24Hours ? format(data.diff24Hours, { sign: true }) : '0'}%\n \n \n )\n case COLUMNS_KEY.chart:\n return (\n \n {tokenA && tokenB && data.isHasChart && (\n \n \n \n \n \n )}\n \n )\n case COLUMNS_KEY.actionsMeme:\n return (\n \n {\n evt.stopPropagation()\n col.onClick?.(data, ACTION_TYPE.trade)\n }}\n size=\"sm\"\n className=\"min-w-[90px]\"\n >\n {trans.core_tokens_list.trade}\n \n \n )\n case COLUMNS_KEY.actionsSpot:\n return (\n \n \n {\n evt.stopPropagation()\n col.onClick?.(data, ACTION_TYPE.withdraw)\n }}\n className=\"min-w-[90px]\"\n variant=\"outlined\"\n size=\"sm\"\n >\n {trans.common.withdraw}\n \n {\n evt.stopPropagation()\n col.onClick?.(data, ACTION_TYPE.deposit)\n }}\n className=\"min-w-[90px]\"\n variant=\"primary\"\n size=\"sm\"\n >\n {trans.common.deposit}\n \n \n \n )\n default:\n return null\n }\n })}\n \n )\n}\n\nexport default memo(View)\n","import { memo, useMemo } from 'react'\n\nimport useTokens from '@/hooks/use-tokens'\n\nimport { TopCoinsDataItem, ViewPropsCommon } from '../../types'\nimport View from './view'\n\ntype ContainerProps = {\n data: TopCoinsDataItem\n index: number\n columns: ViewPropsCommon['columns']\n onClickTokenItem: ViewPropsCommon['onClickTokenItem']\n}\n\nconst Container = ({ data, index, columns, onClickTokenItem }: ContainerProps) => {\n const { tokenListMap, reUsdTokenInfo } = useTokens()\n\n const tokenA = useMemo(() => {\n return tokenListMap.get(data.tokenMint)\n }, [tokenListMap, data.tokenMint])\n\n const tokenB = useMemo(() => {\n if (data.tokenMint === reUsdTokenInfo.address) return\n return reUsdTokenInfo\n }, [data, reUsdTokenInfo])\n\n const computedProps = {\n index,\n data,\n tokenA,\n tokenB,\n columns,\n onClickTokenItem,\n }\n\n return \n}\n\nexport default memo(Container)\n","export { default } from './container'\n","import Typography from '@mui/material/Typography'\nimport { memo } from 'react'\n\nimport IconNoData from '@/components/base/IconNoData'\nimport useTrans from '@/hooks/useTrans'\n\nimport { StyledTableCell,StyledTableRow } from './styles'\n\nconst View = ({ colSpan }: { colSpan: number }) => {\n const trans = useTrans()\n\n return (\n \n \n \n {trans.no_data}\n \n \n )\n}\n\nexport default memo(View)\n","import CircularProgress from '@mui/material/CircularProgress'\n\nimport { StyledTableCell,StyledTableRow } from './styles'\n\nconst View = ({ colSpan }: { colSpan: number }) => {\n return (\n \n \n \n \n \n )\n}\n\nexport default View\n","import TableBody from '@mui/material/TableBody'\nimport TableContainer from '@mui/material/TableContainer'\nimport { memo } from 'react'\n\nimport { ViewPropsCommon } from '../types'\nimport TopCoinsTableItem from './item'\nimport { StyledTable, StyledTableCell,StyledTableHead, StyledTableRow } from './styles'\nimport EmptyRow from './view.empty'\nimport LoadingRow from './view.loading'\n\nconst TopCoinsTable = ({ topCoinsData, isLoading, columns, onClickTokenItem }: ViewPropsCommon) => {\n return (\n \n \n \n \n {columns.map((col) => {\n return {col.label}\n })}\n \n \n\n \n {!isLoading &&\n topCoinsData.map((data, idx) => {\n return (\n \n )\n })}\n {!isLoading && topCoinsData.length === 0 && }\n {isLoading && }\n \n \n \n )\n}\n\nexport default memo(TopCoinsTable)\n","import Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\n\nimport IconNoData from '@/components/base/IconNoData'\nimport useTrans from '@/hooks/useTrans'\n\nconst View = () => {\n const trans = useTrans()\n\n return (\n \n \n {trans.no_data}\n \n )\n}\n\nexport default View\n","import Box from '@mui/material/Box'\nimport CircularProgress from '@mui/material/CircularProgress'\n\nconst View = () => {\n return (\n \n \n \n )\n}\n\nexport default View\n","import MoreVertIcon from '@mui/icons-material/MoreVert'\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Drawer from '@mui/material/Drawer'\nimport Popover from '@mui/material/Popover'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport { memo } from 'react'\n\nimport CandleChartBox from '@/components/common/CandleChartBox'\nimport useTrans from '@/hooks/useTrans'\nimport { format } from '@/utils/numeric'\n\nimport { ACTION_TYPE, COLUMNS_KEY, getColorStyle } from '../helpers'\nimport ViewTokenName from '../view.token-name'\nimport { ViewProps } from './types'\nimport ViewEmpty from './view.empty'\nimport ViewLoading from './view.loading'\n\nconst View = ({\n isLoading,\n columnAction,\n topCoinsData,\n onOpenMoreMenu,\n onCloseMoreMenu,\n currentTargetEl,\n tokenInChart,\n setTokenAddressInChart,\n onOpenCandleChart,\n onClickTokenItem,\n}: ViewProps) => {\n const trans = useTrans()\n\n const isOpen = Boolean(currentTargetEl)\n const popoverId = isOpen ? 'three-dots-popover' : undefined\n const tokenMinForChart = currentTargetEl?.getAttribute('data-token-mint-for-chart') || ''\n\n return (\n \n {isLoading && }\n {!isLoading && topCoinsData.length === 0 && }\n {!isLoading &&\n topCoinsData.map((data) => {\n return (\n onClickTokenItem(data)}\n data-testid={`top-coins-card-mobile-${data.symbol}`}\n >\n \n \n {/* Should hide this icon because only have one menu item (Open Chart) in Popover for now */}\n {data.isHasChart && (\n {\n evt.stopPropagation()\n onOpenMoreMenu(evt)\n }}\n className=\"rounded-lg p-0 w-[24px] h-[24px] min-w-0\"\n >\n \n \n )}\n \n\n \n \n \n {trans.core_tokens_list.table_headers.balance}\n \n {data.userBalance}\n \n\n \n 24h %\n \n {data.diff24Hours ? format(data.diff24Hours, { sign: true }) : 0}%\n \n \n \n\n {columnAction?.key === COLUMNS_KEY.actionsSpot ? (\n \n {\n evt.stopPropagation()\n columnAction?.onClick?.(data, ACTION_TYPE.withdraw)\n }}\n className=\"flex-1 capitalize text-xs font-semibold rounded-lg p-2 min-w-[90px] border border-solid border-[#61667E] text-[#C2CBD9]\"\n >\n {trans.common.withdraw}\n \n {\n evt.stopPropagation()\n columnAction?.onClick?.(data, ACTION_TYPE.deposit)\n }}\n className=\"flex-1 capitalize text-xs font-semibold rounded-lg p-2 min-w-[90px] bg-gradient-btn\"\n >\n {trans.common.deposit}\n \n \n ) : (\n \n {\n evt.stopPropagation()\n columnAction?.onClick?.(data, ACTION_TYPE.trade)\n }}\n className=\"capitalize bg-gradient-btn text-xs font-semibold rounded-lg p-2 min-w-[150px]\"\n >\n {trans.core_tokens_list.trade}\n \n \n )}\n \n )\n })}\n \n {\n evt.stopPropagation()\n onOpenCandleChart(tokenMinForChart)\n }}\n className=\"text-white py-[10px] px-4 whitespace-nowrap text-sm capitalize\"\n >\n {trans.core_tokens_list.open_chart}\n \n \n\n {tokenInChart && (\n setTokenAddressInChart('')}\n sx={{\n '.MuiPaper-elevation': {\n backgroundColor: 'transparent',\n backgroundImage: 'none',\n maxHeight: '50vh',\n },\n }}\n data-testid=\"top-coins-chart-mobile\"\n >\n setTokenAddressInChart('')}\n />\n \n )}\n \n )\n}\n\nexport default memo(View)\n","import { MouseEvent, useCallback,useMemo, useState } from 'react'\n\nimport useTokens from '@/hooks/use-tokens'\n\nimport { COLUMNS_KEY } from '../helpers'\nimport type { ViewPropsCommon } from '../types'\nimport type { ViewProps } from './types'\nimport View from './view'\n\nconst Container = ({ topCoinsData, isLoading, columns, onClickTokenItem }: ViewPropsCommon) => {\n const { tokenListMap, reUsdTokenInfo } = useTokens()\n const columnAction = useMemo(() => {\n return columns.find((col) =>\n [COLUMNS_KEY.actionsSpot, COLUMNS_KEY.actionsMeme].includes(col.key),\n )\n }, [columns])\n const [currentTargetEl, setCurrentTargetEl] = useState(null)\n const [tokenAddressInChart, setTokenAddressInChart] = useState('')\n\n const tokenInChart = useMemo(() => {\n const tokenA = tokenListMap.get(tokenAddressInChart)\n if (tokenA && tokenA.address !== reUsdTokenInfo.address) {\n return {\n tokenA,\n tokenB: reUsdTokenInfo,\n }\n }\n return null\n }, [tokenListMap, tokenAddressInChart, reUsdTokenInfo])\n\n const onOpenMoreMenu = useCallback((event: MouseEvent) => {\n setCurrentTargetEl(event.currentTarget)\n }, [])\n\n const onCloseMoreMenu = useCallback(() => {\n setCurrentTargetEl(null)\n }, [])\n\n const onOpenCandleChart = useCallback((tokenMint: string) => {\n setCurrentTargetEl(null)\n setTokenAddressInChart(tokenMint)\n }, [])\n\n const computedProps: ViewProps = {\n topCoinsData,\n isLoading,\n onOpenMoreMenu,\n onCloseMoreMenu,\n columnAction,\n currentTargetEl,\n tokenInChart,\n onOpenCandleChart,\n setTokenAddressInChart,\n onClickTokenItem,\n }\n\n return \n}\n\nexport default Container\n","export { default } from './container'\n","import {\n Input,\n InputProps,\n styled,\n} from '@mui/material'\n\nexport const StyledInput = styled((props: InputProps) => )(() => ({\n '&': {\n padding: '9px 8px',\n borderRadius: '8px',\n border: '1px solid #9CA3AE',\n backgroundColor: '#2E3846',\n fontSize: '14px',\n lineHeight: '20px',\n },\n '& .MuiInput-input': {\n padding: '0 0 0 8px',\n color: '#9CA3AE',\n height: '20px',\n '::placeholder': {\n color: '#9CA3AE',\n },\n },\n}))\n","import Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport cls from 'classnames'\nimport { memo } from 'react'\n\nimport IconSearch from '@/components/base/IconSearch'\nimport useTrans from '@/hooks/useTrans'\n\nimport TopCoinsTableDesktop from './desktop'\nimport { TOP_COINS_TAB } from './helpers'\nimport TopCoinsListMobile from './mobile'\nimport { StyledInput } from './styles'\nimport { ViewProps } from './types'\n\nconst View = ({\n columns,\n isLoading,\n isDesktop,\n currentTab,\n searchName,\n topCoinsData,\n methodSelectionRendered,\n showEuro2024Tab,\n onChangeTab,\n setSearchName,\n onClickTokenItem,\n}: ViewProps) => {\n const trans = useTrans()\n const computedCommonProps = {\n columns,\n isLoading,\n topCoinsData,\n onClickTokenItem,\n }\n\n return (\n \n {/* Top Coins Tabs + Input Search */}\n \n {/* Top Coins Tabs */}\n \n onChangeTab(TOP_COINS_TAB.spot)}\n >\n {trans.core_tokens_list.spot}\n \n onChangeTab(TOP_COINS_TAB.meme)}\n >\n Meme\n \n {showEuro2024Tab && (\n onChangeTab('euro2024')}\n >\n Euro 2024\n \n )}\n \n\n {/* Top Coins Input Search */}\n }\n className=\"w-full md:w-[343px] max-w-full\"\n value={searchName}\n onChange={(evt) => setSearchName(evt.target.value)}\n data-testid=\"top-coins-search\"\n />\n \n\n {isDesktop ? (\n \n ) : (\n \n )}\n\n {methodSelectionRendered}\n \n )\n}\n\nexport default memo(View)\n","import { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport { useRouter } from 'next/router'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport useAssetsMethodSelectionFlow from '@/components/core-tokens-list/hooks/use-assets-method-selection-flow'\nimport TokenDetailDialog from '@/components/core-tokens-list/TokenDetailDialog'\nimport { useBalances } from '@/hooks/use-balances'\nimport { BLACK_LIST_TOKENS_SYMBOLS } from '@/hooks/use-deposit-token-options'\nimport useMutableSearchParams from '@/hooks/use-mutable-search-params'\nimport { useFetchTopCoinList } from '@/hooks/use-nemo-apis'\nimport { useSettings } from '@/hooks/use-settings'\nimport useTokens from '@/hooks/use-tokens'\nimport useTrans from '@/hooks/useTrans'\nimport type { APITokenInfo } from '@/utils/apis/helper'\n\nimport {\n ACTION_TYPE,\n COLUMNS_KEY,\n getTradeRoute,\n mapDataTopCoinToken,\n TOP_COINS_TAB,\n} from './helpers'\nimport type { TopCoinsDataItem, ViewProps, ViewPropsCommon } from './types'\nimport View from './view'\n\nconst Container = () => {\n const router = useRouter()\n const trans = useTrans()\n const theme = useTheme()\n const { balances } = useBalances()\n const { tokenListMap } = useTokens()\n const { params, replaceState } = useMutableSearchParams()\n const [currentTab, setCurrentTab] = useState(TOP_COINS_TAB.spot)\n const [searchName, setSearchName] = useState('')\n const isDesktop = useMediaQuery(theme.breakpoints.up('lg'))\n const [selectedTokenInfo, setSelectedTokenInfo] = useState()\n\n const { data: settingsData, isFetching: isFetchingSettings } = useSettings()\n const showEuro2024Tab = Boolean(settingsData?.nemo_swap_assets_euro2024_token_list_enabled)\n\n const { data: topCoins = [], isLoading } = useFetchTopCoinList(\n currentTab === TOP_COINS_TAB.meme ?\n (showEuro2024Tab ? ['Meme'] : ['Meme', 'Euro 2024']) :\n currentTab === TOP_COINS_TAB.euro2024 ?\n ['Euro 2024'] :\n undefined,\n )\n\n const {\n openDepositModal,\n openWithdrawModal,\n rendered: methodSelectionRendered,\n } = useAssetsMethodSelectionFlow()\n\n const onChangeTab = useCallback(\n (newTab: string) => {\n setCurrentTab(newTab)\n setSearchName('')\n replaceState({ tab: newTab }, true)\n },\n [replaceState],\n )\n\n useEffect(() => {\n if (params.tab && params.tab in TOP_COINS_TAB) {\n setCurrentTab(TOP_COINS_TAB[params.tab as keyof typeof TOP_COINS_TAB])\n }\n }, [params.tab])\n\n useEffect(() => {\n if (\n !isFetchingSettings &&\n settingsData && !settingsData.nemo_swap_assets_euro2024_token_list_enabled &&\n currentTab === TOP_COINS_TAB.euro2024\n ) {\n onChangeTab(TOP_COINS_TAB.meme)\n }\n }, [currentTab, isFetchingSettings, onChangeTab, settingsData])\n\n const topCoinsSearched = useMemo(() => {\n const searchNameFormatted = searchName.trim().toLowerCase()\n if (!searchNameFormatted) return topCoins\n return topCoins.filter((token) => {\n const name = token.token_name.toLowerCase()\n const symbol = token.token_symbol.toLowerCase()\n return name.includes(searchNameFormatted) || symbol.includes(searchNameFormatted)\n })\n }, [topCoins, searchName])\n\n const topCoinsData = useMemo(() => {\n return topCoinsSearched\n .map((token) => {\n return mapDataTopCoinToken(token, balances[token.token_symbol])\n })\n .filter(token => !BLACK_LIST_TOKENS_SYMBOLS.includes(token.symbol))\n }, [topCoinsSearched, balances])\n\n const onClickAction = useCallback(\n (data: TopCoinsDataItem, type: string) => {\n if (type === ACTION_TYPE.trade) {\n router.push(getTradeRoute(data.symbol))\n return\n }\n\n const tokenInfo = tokenListMap.get(data.tokenMint)\n if (tokenInfo && type === ACTION_TYPE.deposit) {\n openDepositModal(tokenInfo)\n }\n if (tokenInfo && type === ACTION_TYPE.withdraw) {\n openWithdrawModal(tokenInfo)\n }\n },\n [tokenListMap, router, openDepositModal, openWithdrawModal],\n )\n\n const columns = useMemo(() => {\n return [\n {\n key: COLUMNS_KEY.index,\n label: '#',\n },\n {\n key: COLUMNS_KEY.tokenName,\n label: trans.core_tokens_list.table_headers.token_name,\n },\n {\n key: COLUMNS_KEY.balances,\n label: trans.core_tokens_list.table_headers.balance,\n },\n currentTab === TOP_COINS_TAB.spot && [\n {\n key: COLUMNS_KEY.volume24h,\n label: trans.core_tokens_list.token_detail.volume_24h,\n },\n ],\n currentTab !== TOP_COINS_TAB.spot && [\n {\n key: COLUMNS_KEY.marketCap,\n label: trans.core_tokens_list.table_headers.market_cap,\n },\n {\n key: COLUMNS_KEY.holders,\n label: 'Holders',\n },\n ],\n {\n key: COLUMNS_KEY.diff24Hours,\n label: '24h %',\n },\n {\n key: COLUMNS_KEY.chart,\n label: trans.core_tokens_list.last_7_days,\n },\n {\n key: currentTab === TOP_COINS_TAB.spot ? COLUMNS_KEY.actionsSpot : COLUMNS_KEY.actionsMeme,\n label: '',\n onClick: onClickAction,\n },\n ]\n .flat()\n .filter(Boolean) as ViewPropsCommon['columns']\n }, [trans, currentTab, onClickAction])\n\n const onClickTokenItem = useCallback((data: TopCoinsDataItem) => {\n setSelectedTokenInfo(\n topCoins.find((item) => item.coin_address === data.tokenMint),\n )\n }, [topCoins])\n\n const onHandleCloseTokenInfo = useCallback(() => {\n setSelectedTokenInfo(undefined)\n }, [])\n\n const computedProps: ViewProps = {\n isLoading,\n currentTab,\n searchName,\n setSearchName,\n topCoinsData,\n columns,\n isDesktop,\n onChangeTab,\n onClickTokenItem,\n methodSelectionRendered,\n showEuro2024Tab,\n }\n\n return (\n <>\n \n {selectedTokenInfo &&\n \n }\n \n )\n}\n\nexport default Container\n","export { default } from './container'\n","import Stack from '@mui/material/Stack'\n\nimport TopCoinsBanner from '@/components/top-coins/banner'\nimport TopCoinsList from '@/components/top-coins/list'\n\nconst Container = () => {\n return (\n \n \n \n \n )\n}\n\nexport default Container\n","export { default } from './container'\n","import React from 'react'\n\nimport { AssetWithdrawalProvider } from '@/components/base/AssetWithdrawal/context'\nimport TokenPickerRevampProvider from '@/components/base/TokenPickerRevamp/context'\nimport { WrapperTokensFlowProvider } from '@/components/base/WrappedTokensFlow/context'\nimport TopCoinsPage from '@/components/top-coins'\nimport { MainLayout } from '@/layouts/MainLayout'\nimport gssp from '@/utils/gssp'\n\nconst TopCoins = () => {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default TopCoins\n\nexport const getServerSideProps = gssp()\n","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[5742],{\n\n/***/ 65346:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/assets\",\n function () {\n return __webpack_require__(49806);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 96661:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"H$\": function() { return /* binding */ WrappedTokensFlowContext; },\n/* harmony export */ \"hf\": function() { return /* binding */ WrapperTokensFlowProvider; }\n/* harmony export */ });\n/* unused harmony export initValue */\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294);\n/* harmony import */ var _hooks_use_balances__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(68203);\n/* harmony import */ var _hooks_use_deposit_token_options__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74733);\n\n\n\n\nconst initValue = {\n selectedToken: null,\n setSelectedToken: ()=>null,\n prevTokenBalance: 0,\n tokenOptions: []\n};\nconst WrappedTokensFlowContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(initValue);\nconst WrapperTokensFlowProvider = (param)=>{\n let { children } = param;\n const { balances } = (0,_hooks_use_balances__WEBPACK_IMPORTED_MODULE_2__/* .useBalances */ .l)();\n const [selectedToken, setSelectedToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const { tokenOptions } = (0,_hooks_use_deposit_token_options__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z)();\n const prevTokenBalance = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n if (!selectedToken) return 0;\n return balances[selectedToken.symbol] || 0;\n // store the previous balance based on the selectedToken, no need update when the balances are changed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n selectedToken\n ]);\n const ctxValue = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>({\n selectedToken,\n setSelectedToken,\n prevTokenBalance,\n tokenOptions\n }), [\n selectedToken,\n prevTokenBalance,\n tokenOptions\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(WrappedTokensFlowContext.Provider, {\n value: ctxValue,\n children: children\n });\n};\n\n\n/***/ }),\n\n/***/ 60475:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(99226);\n/* harmony import */ var lightweight_charts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87029);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67294);\n/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88767);\n/* harmony import */ var _hooks_use_resize_observer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(45856);\n/* harmony import */ var _providers_liquidity_chart__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(98042);\n/* harmony import */ var _providers_liquidity_chart_candle_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(30646);\n/* harmony import */ var _utils_apis_tickers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(86447);\n/* harmony import */ var _use_price_socket__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(24240);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(80021);\n\n\n\n\n\n\n\n\n\n\n\nconst Simple24hLineChart = (param)=>{\n let { options ={} , tokenA , tokenB , onCandleListUpdated , onPriceSentFromSocket } = param;\n const { candleWindowSize =24 , timeFrame =\"one_hour\" } = options;\n const span = _utils_apis_tickers__WEBPACK_IMPORTED_MODULE_7__/* .tickerTimeFrameToSeconds */ .zI[timeFrame];\n const queryClient = (0,react_query__WEBPACK_IMPORTED_MODULE_3__.useQueryClient)();\n const [element, setElement] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)();\n const [chart, setChart] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)();\n const [series, setSeries] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)();\n const { lastMessage } = (0,_use_price_socket__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z)(tokenA, tokenB);\n const tokenPair = _providers_liquidity_chart_candle_utils__WEBPACK_IMPORTED_MODULE_6__/* .TokenPair.of */ .o.of(tokenA.symbol, tokenB.symbol);\n const { candles , updateAll , updateLast } = (0,_providers_liquidity_chart__WEBPACK_IMPORTED_MODULE_5__/* .useLiquidityChart */ .Zv)(null, {\n span,\n tokenPair\n });\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n onCandleListUpdated === null || onCandleListUpdated === void 0 ? void 0 : onCandleListUpdated(candles);\n series === null || series === void 0 ? void 0 : series.setData((0,_providers_liquidity_chart__WEBPACK_IMPORTED_MODULE_5__/* .toHistogramData */ .G5)(candles.slice(-candleWindowSize), \"close\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n candles,\n candleWindowSize\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n if (!element) return;\n const chart = (0,lightweight_charts__WEBPACK_IMPORTED_MODULE_1__/* .createChart */ .C2)(element, {\n crosshair: {\n mode: lightweight_charts__WEBPACK_IMPORTED_MODULE_1__/* .CrosshairMode.Hidden */ .rM.Hidden\n },\n grid: {\n horzLines: {\n visible: false\n },\n vertLines: {\n visible: false\n }\n },\n layout: {\n background: {\n color: \"transparent\"\n }\n },\n leftPriceScale: {\n visible: false\n },\n rightPriceScale: {\n visible: false\n },\n timeScale: {\n fixLeftEdge: true,\n fixRightEdge: true,\n visible: false\n }\n });\n setChart(chart);\n const series = chart.addLineSeries({\n baseLineWidth: 1,\n color: \"#FFFFFF\",\n lineWidth: 1,\n priceLineVisible: false\n });\n setSeries(series);\n series.subscribeDataChanged(()=>{\n chart.timeScale().fitContent();\n });\n (0,_providers_liquidity_chart__WEBPACK_IMPORTED_MODULE_5__/* .resizeChart */ .c2)(chart);\n let chartRemoved = false;\n queryClient.fetchQuery((0,_utils__WEBPACK_IMPORTED_MODULE_9__/* .getQueryKeyTickers */ ._q)(tokenA, tokenB, span), ()=>(0,_utils_apis_tickers__WEBPACK_IMPORTED_MODULE_7__/* .getTickers */ .ch)(tokenA, tokenB, timeFrame), (0,_utils__WEBPACK_IMPORTED_MODULE_9__/* .getQueryOptionsTickers */ .Tp)(span)).then((tickerData)=>{\n updateAll(tickerData.candles);\n if (!chartRemoved) {\n series.setData((0,_providers_liquidity_chart__WEBPACK_IMPORTED_MODULE_5__/* .toHistogramData */ .G5)(tickerData.candles.slice(-candleWindowSize), \"close\"));\n }\n });\n return ()=>{\n chartRemoved = true;\n chart.remove();\n setChart(undefined);\n setSeries(undefined);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n candleWindowSize,\n element,\n span,\n timeFrame,\n tokenA,\n tokenB\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n if (!lastMessage) return;\n onPriceSentFromSocket === null || onPriceSentFromSocket === void 0 ? void 0 : onPriceSentFromSocket(lastMessage.data);\n const mergedCandle = (0,_utils__WEBPACK_IMPORTED_MODULE_9__/* .mergeOrStartNewCandle */ .PV)(candles[candles.length - 1], lastMessage.data, span);\n updateLast(mergedCandle);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n lastMessage\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n const firstCandle = candles[candles.length - candleWindowSize];\n const lastCandle = candles[candles.length - 1];\n if (firstCandle && lastCandle && firstCandle.open < lastCandle.close) {\n series === null || series === void 0 ? void 0 : series.applyOptions({\n color: \"#55B964\"\n });\n } else if (firstCandle && lastCandle && firstCandle.open > lastCandle.close) {\n series === null || series === void 0 ? void 0 : series.applyOptions({\n color: \"#FF6701\"\n });\n } else {\n series === null || series === void 0 ? void 0 : series.applyOptions({\n color: \"#FFFFFF\"\n });\n }\n }, [\n candles,\n candleWindowSize,\n series\n ]);\n (0,_hooks_use_resize_observer__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z)({\n ref: element,\n onResize: ()=>{\n if (chart) {\n (0,_providers_liquidity_chart__WEBPACK_IMPORTED_MODULE_5__/* .resizeChart */ .c2)(chart);\n chart.timeScale().fitContent();\n }\n }\n });\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z, {\n className: \"w-full h-full relative\",\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z, {\n className: \"absolute inset-0 pointer-events-none\",\n ref: setElement\n })\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (Simple24hLineChart);\n\n\n/***/ }),\n\n/***/ 65992:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"bS\": function() { return /* binding */ orderTokenInfosByUiQuote; }\n/* harmony export */ });\n/* unused harmony exports FIAT_TOKENS, orderTokensByUiQuote */\n/* harmony import */ var _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27632);\n/* harmony import */ var _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28309);\n\n\nconst FIAT_TOKENS = [\n _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__/* .REVND_MINT_ADDRESS */ .PW,\n _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__/* .RENGN_MINT_ADDRESS */ .f_\n];\n/**\n * Returns the ordered token pair `[base, quote]` (`1 base = X quote`) to be\n * used for rate displaying purposes.\n */ const orderTokensByUiQuote = function(defaultOrder) {\n let currentPair = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultOrder;\n if (defaultOrder.length !== 2 || defaultOrder[0].equals(defaultOrder[1])) {\n throw new Error(\"Invalid default order pair.\");\n }\n if (currentPair[0].equals(currentPair[1]) || currentPair.filter((mint)=>mint.equals(defaultOrder[0]) || mint.equals(defaultOrder[1])).length !== 2) {\n throw new Error(\"Invalid current pair.\");\n }\n const [token0, token1] = currentPair;\n const isToken0Fiat = FIAT_TOKENS.includes(token0.toBase58());\n const isToken1Fiat = FIAT_TOKENS.includes(token1.toBase58());\n if (isToken0Fiat && isToken1Fiat) {\n return defaultOrder;\n }\n if (isToken0Fiat) {\n return [\n token1,\n token0\n ];\n }\n if (isToken1Fiat) {\n return [\n token0,\n token1\n ];\n }\n if (token0.toBase58() === _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__/* .REUSD_MINT_ADDRESS */ .Df) {\n return [\n token1,\n token0\n ];\n }\n if (token1.toBase58() === _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__/* .REUSD_MINT_ADDRESS */ .Df) {\n return [\n token0,\n token1\n ];\n }\n if (token0.toBase58() === _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__/* .RENEC_MINT_ADDRESS */ .vV) {\n return [\n token1,\n token0\n ];\n }\n if (token1.toBase58() === _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__/* .RENEC_MINT_ADDRESS */ .vV) {\n return [\n token0,\n token1\n ];\n }\n return defaultOrder;\n};\n/**\n * Wrapper of {@link orderTokensByUiQuote} for {@link TokenInfo}.\n */ const orderTokenInfosByUiQuote = function(defaultOrder) {\n let currentPair = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultOrder;\n const [token0] = orderTokensByUiQuote([\n new _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__.PublicKey(defaultOrder[0].address),\n new _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__.PublicKey(defaultOrder[1].address)\n ], [\n new _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__.PublicKey(currentPair[0].address),\n new _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__.PublicKey(currentPair[1].address)\n ]);\n const isFirstToken0 = currentPair[0].address === token0.toBase58();\n return [\n isFirstToken0 ? currentPair[0] : currentPair[1],\n isFirstToken0 ? currentPair[1] : currentPair[0]\n ];\n};\n\n\n/***/ }),\n\n/***/ 74733:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"q\": function() { return /* binding */ BLACK_LIST_TOKENS_SYMBOLS; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);\n/* harmony import */ var _hooks_use_nemo_apis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67013);\n/* harmony import */ var _utils_apis_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35108);\n\n\n\nconst BLACK_LIST_TOKENS_SYMBOLS = [\n \"reSOL\",\n \"reBNB\"\n];\n/**\n * These token options will be used in the deposit and withdraw dialog in the assets page\n */ const useDepositTokenOptions = ()=>{\n const { data: coreTokens = [] , isLoading: isFetchingCoreTokens } = (0,_hooks_use_nemo_apis__WEBPACK_IMPORTED_MODULE_1__/* .useFetchTopCoinList */ .PE)();\n const tokenOptions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>coreTokens.filter((token)=>!BLACK_LIST_TOKENS_SYMBOLS.includes(token.token_symbol)).map((token)=>(0,_utils_apis_helper__WEBPACK_IMPORTED_MODULE_2__/* .toRegistryTokenInfo */ .ZO)(token)), [\n coreTokens\n ]);\n return {\n tokenOptions,\n isLoading: isFetchingCoreTokens\n };\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (useDepositTokenOptions);\n\n\n/***/ }),\n\n/***/ 49806:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"__N_SSP\": function() { return /* binding */ __N_SSP; },\n \"default\": function() { return /* binding */ index_nemo; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(85893);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(67294);\n// EXTERNAL MODULE: ./src/components/base/AssetWithdrawal/context.tsx + 2 modules\nvar context = __webpack_require__(40026);\n// EXTERNAL MODULE: ./src/components/base/TokenPickerRevamp/context.tsx\nvar TokenPickerRevamp_context = __webpack_require__(71682);\n// EXTERNAL MODULE: ./src/components/base/WrappedTokensFlow/context.tsx\nvar WrappedTokensFlow_context = __webpack_require__(96661);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Stack/Stack.js\nvar Stack = __webpack_require__(26447);\n// EXTERNAL MODULE: ./node_modules/next/router.js\nvar next_router = __webpack_require__(11163);\n// EXTERNAL MODULE: ./src/hooks/use-tokens/index.ts + 1 modules\nvar use_tokens = __webpack_require__(28309);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Box/Box.js\nvar Box = __webpack_require__(99226);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Typography/Typography.js + 1 modules\nvar Typography = __webpack_require__(15861);\n// EXTERNAL MODULE: ./node_modules/react-lazy-load-image-component/build/index.js\nvar build = __webpack_require__(72679);\n;// CONCATENATED MODULE: ./src/components/base/WrappedTokensFlow/TopTokensList/view.tsx\n\n\n\n\nconst View = (param)=>{\n let { onClickToken , tokensList } = param;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Stack/* default */.Z, {\n direction: \"row\",\n gap: 2,\n flexWrap: \"wrap\",\n \"data-testid\": \"quick-tokens-action\",\n children: tokensList.map((token)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n gap: \"6px\",\n className: \"bg-[#141A23] py-2 px-[12px] rounded-[10px] cursor-pointer hover:bg-[#1A2330]/70\",\n onClick: ()=>onClickToken(token),\n \"data-testid\": \"quick-token-action-\".concat(token.symbol),\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(build.LazyLoadImage, {\n src: token.logoURI,\n alt: token.symbol,\n width: \"24px\",\n height: \"24px\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm font-semibold text-white\",\n children: token.displaySymbol\n })\n ]\n }, token.symbol))\n });\n};\n/* harmony default export */ var view = (/*#__PURE__*/(0,react.memo)(View));\n\n;// CONCATENATED MODULE: ./src/components/base/WrappedTokensFlow/TopTokensList/container.tsx\n\n\n\n\nconst Container = (param)=>{\n let { onClickToken } = param;\n const { reUsdTokenInfo , tokenListMap } = (0,use_tokens/* default */.Co)();\n const tokensList = (0,react.useMemo)(()=>{\n return [\n reUsdTokenInfo,\n tokenListMap.get(use_tokens/* REBTC_MINT_ADDRESS */.js),\n tokenListMap.get(use_tokens/* REETH_MINT_ADDRESS */.DX)\n ].filter(Boolean);\n }, [\n reUsdTokenInfo,\n tokenListMap\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(view, {\n onClickToken: onClickToken,\n tokensList: tokensList\n });\n};\n/* harmony default export */ var container = (Container);\n\n;// CONCATENATED MODULE: ./src/components/base/WrappedTokensFlow/TopTokensList/index.tsx\n\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalTopTokensList/container.tsx\n\n\n\n\n\nconst container_Container = ()=>{\n const { setSelectedToken } = (0,react.useContext)(context/* AssetWithdrawalContext */.jc);\n const { setIsOpenPicker } = (0,react.useContext)(TokenPickerRevamp_context/* TokenPickerRevampContext */.V);\n const onClickToken = (0,react.useCallback)((token)=>{\n setIsOpenPicker(false);\n setSelectedToken(token);\n }, [\n setIsOpenPicker,\n setSelectedToken\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(container, {\n onClickToken: onClickToken\n });\n};\n/* harmony default export */ var WithdrawalTopTokensList_container = (container_Container);\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalTopTokensList/index.tsx\n\n\n;// CONCATENATED MODULE: ./src/components/base/WrappedTokensFlow/DepositTopTokensList/container.tsx\n\n\n\n\n\nconst DepositTopTokensList_container_Container = ()=>{\n const { setSelectedToken } = (0,react.useContext)(WrappedTokensFlow_context/* WrappedTokensFlowContext */.H$);\n const { setIsOpenPicker } = (0,react.useContext)(TokenPickerRevamp_context/* TokenPickerRevampContext */.V);\n const onClickToken = (0,react.useCallback)((token)=>{\n setIsOpenPicker(false);\n setSelectedToken(token);\n }, [\n setIsOpenPicker,\n setSelectedToken\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(container, {\n onClickToken: onClickToken\n });\n};\n/* harmony default export */ var DepositTopTokensList_container = (DepositTopTokensList_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/base/WrappedTokensFlow/DepositTopTokensList/index.tsx\n\n\n// EXTERNAL MODULE: ./src/components/core-tokens-list/MethodSelectionDialog.tsx\nvar MethodSelectionDialog = __webpack_require__(63811);\n// EXTERNAL MODULE: ./src/hooks/use-deposit-token-options.ts\nvar use_deposit_token_options = __webpack_require__(74733);\n// EXTERNAL MODULE: ./src/hooks/use-settings.ts + 1 modules\nvar use_settings = __webpack_require__(49472);\n// EXTERNAL MODULE: ./node_modules/@orca-so/common-sdk/dist/index.js\nvar dist = __webpack_require__(66259);\n// EXTERNAL MODULE: ./src/utils/numeric.ts\nvar numeric = __webpack_require__(14847);\n;// CONCATENATED MODULE: ./src/components/top-coins/list/helpers.ts\n\n\nconst TOP_COINS_TAB = {\n spot: \"spot\",\n meme: \"meme\",\n euro2024: \"euro2024\"\n};\nconst COLUMNS_KEY = {\n index: \"index\",\n tokenName: \"tokenName\",\n balances: \"balances\",\n marketCap: \"marketCap\",\n holders: \"holders\",\n volume24h: \"volume24h\",\n diff24Hours: \"24h%\",\n chart: \"chart\",\n actionsSpot: \"actionsSpot\",\n actionsMeme: \"actionsMeme\"\n};\nconst ACTION_TYPE = {\n trade: \"trade\",\n withdraw: \"withdraw\",\n deposit: \"deposit\"\n};\nconst calculateMarketCap = (token)=>{\n var _token_price, _token_metadata;\n if (!((_token_price = token.price) === null || _token_price === void 0 ? void 0 : _token_price.current_price) || !(token === null || token === void 0 ? void 0 : (_token_metadata = token.metadata) === null || _token_metadata === void 0 ? void 0 : _token_metadata.total_supply)) {\n return \"--\";\n }\n const currentPrice = token.price.current_price;\n const currentSupply = token.metadata.total_supply;\n return \"$\" + (0,numeric/* format */.WU)(dist.DecimalUtil.fromNumber(currentPrice).mul(currentSupply), 0);\n};\nconst getTradeRoute = (tokenSymbol, isDeposit)=>{\n if (isDeposit) {\n if (tokenSymbol === \"reUSD\") return \"/RENEC_reUSD\";\n return \"/reUSD_\".concat(tokenSymbol);\n }\n if (tokenSymbol === \"reUSD\") return \"/reUSD_RENEC\";\n return \"/\".concat(tokenSymbol, \"_reUSD\");\n};\nconst getColorStyle = (diffNumber)=>({\n color: diffNumber === 0 ? \"white\" : diffNumber < 0 ? \"#FF6701\" : \"#55B964\"\n });\nconst mapDataTopCoinToken = (token, tokenBalance)=>{\n var _token_metadata, _token_price, _token_chart_data, _token_price1;\n return {\n id: token.id,\n logo: token.logo_url,\n tokenMint: token.coin_address,\n tokenName: token.token_name,\n symbol: token.token_symbol,\n marketCapFormatted: calculateMarketCap(token),\n holders: ((_token_metadata = token.metadata) === null || _token_metadata === void 0 ? void 0 : _token_metadata.holders_count) ? (0,numeric/* format */.WU)(token.metadata.holders_count) : \"--\",\n price: ((_token_price = token.price) === null || _token_price === void 0 ? void 0 : _token_price.current_price) ? \"$\" + (0,numeric/* format */.WU)(token.price.current_price, 9) : \"--\",\n isHasChart: Number((_token_chart_data = token.chart_data) === null || _token_chart_data === void 0 ? void 0 : _token_chart_data.length) > 0,\n // diff7Days: token.price?.diff_7_days_percent || 0,\n diff24Hours: ((_token_price1 = token.price) === null || _token_price1 === void 0 ? void 0 : _token_price1.diff_24_hours_percent) || 0,\n userBalance: (0,numeric/* format */.WU)(tokenBalance || 0, {\n decimals: token.decimals,\n desiredLength: 10,\n rounding: \"up\"\n }),\n volume24h: !Number(token.volume_24h) ? \"$0\" : Intl.NumberFormat(\"en\", {\n style: \"currency\",\n currency: \"USD\",\n notation: \"compact\",\n maximumSignificantDigits: 3\n }).format(Number(token.volume_24h))\n };\n};\n\n;// CONCATENATED MODULE: ./src/components/top-coins/banner/helpers.ts\nconst CURRENT_TYPE = {\n deposit: \"deposit\",\n withdraw: \"withdraw\"\n};\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__(94184);\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n// EXTERNAL MODULE: ./node_modules/@mui/material/DialogContent/DialogContent.js + 1 modules\nvar DialogContent = __webpack_require__(6514);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Modal/Modal.js + 4 modules\nvar Modal = __webpack_require__(80437);\n// EXTERNAL MODULE: ./src/components/common/ModalLayout/index.ts + 1 modules\nvar ModalLayout = __webpack_require__(57606);\n// EXTERNAL MODULE: ./src/hooks/use-nemo-wallet.ts\nvar use_nemo_wallet = __webpack_require__(6200);\n// EXTERNAL MODULE: ./src/hooks/useTrans.ts + 2 modules\nvar useTrans = __webpack_require__(74069);\n// EXTERNAL MODULE: ./src/components/base/Button/index.tsx\nvar Button = __webpack_require__(10737);\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalConnectWallet/index.tsx\n\n\n\n\n\n\n\n\nconst WithdrawalConnectWallet = ()=>{\n const trans = (0,useTrans/* default */.Z)();\n const { connectWallet } = (0,use_nemo_wallet/* default */.Z)();\n const { selectedToken , setSelectedToken } = (0,react.useContext)(context/* AssetWithdrawalContext */.jc);\n const handleClick = (0,react.useCallback)(()=>{\n connectWallet();\n setSelectedToken(null);\n }, [\n setSelectedToken,\n connectWallet\n ]);\n if (!selectedToken) return null;\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm font-semibold\",\n children: trans.asset_withdrawal.you_can_trade(selectedToken.displaySymbol)\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm font-semibold mt-3 mb-[24px]\",\n children: trans.asset_withdrawal.connect_first\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n \"data-testid\": \"assets-withdraw-connect-wallet\",\n onClick: handleClick,\n variant: \"outlined\",\n fullWidth: true,\n size: \"xl\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"text-gradient\",\n children: trans.common.connect_wallet\n })\n })\n ]\n });\n};\n/* harmony default export */ var AssetWithdrawal_WithdrawalConnectWallet = (WithdrawalConnectWallet);\n\n// EXTERNAL MODULE: ./node_modules/decimal.js/decimal.mjs\nvar decimal = __webpack_require__(90482);\n// EXTERNAL MODULE: ./src/utils/use-event-callback.ts\nvar use_event_callback = __webpack_require__(88095);\n// EXTERNAL MODULE: ./node_modules/@mui/icons-material/esm/ExpandMore.js\nvar ExpandMore = __webpack_require__(6571);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Button/Button.js + 2 modules\nvar Button_Button = __webpack_require__(83321);\n// EXTERNAL MODULE: ./node_modules/@mui/material/InputBase/InputBase.js + 1 modules\nvar InputBase = __webpack_require__(13970);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Menu/Menu.js + 5 modules\nvar Menu = __webpack_require__(93419);\n// EXTERNAL MODULE: ./node_modules/@mui/material/MenuItem/MenuItem.js + 3 modules\nvar MenuItem = __webpack_require__(23599);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Select/Select.js + 4 modules\nvar Select = __webpack_require__(18360);\n// EXTERNAL MODULE: ./node_modules/next/image.js\nvar next_image = __webpack_require__(25675);\nvar image_default = /*#__PURE__*/__webpack_require__.n(next_image);\n// EXTERNAL MODULE: ./src/assets/svgs/wallet.svg\nvar wallet = __webpack_require__(44795);\n// EXTERNAL MODULE: ./src/components/base/BaseAmountInput.tsx\nvar BaseAmountInput = __webpack_require__(93356);\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalForm/SelectTokenItem.tsx\n\n\n\nconst SelectTokenItem = (param)=>{\n let { token } = param;\n if (!token) return null;\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"8px\",\n className: \"pl-2 py-2 pr-1\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(build.LazyLoadImage, {\n src: token.logoURI,\n alt: token.displaySymbol,\n width: \"24px\",\n height: \"24px\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm font-bold\",\n children: token.displaySymbol\n })\n ]\n }, token.symbol);\n};\n/* harmony default export */ var WithdrawalForm_SelectTokenItem = (SelectTokenItem);\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalForm/styles.ts\nconst selectStyles = {\n \".MuiSelect-select\": {\n paddingTop: 0,\n paddingBottom: 0\n },\n \"&::after\": {\n content: \"none\"\n },\n \"&::before\": {\n content: \"none\"\n }\n};\n\n// EXTERNAL MODULE: ./node_modules/@mui/icons-material/CheckCircle.js\nvar CheckCircle = __webpack_require__(60888);\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalForm/WithdrawalFormSuccess.tsx\n\n\n\n\n\n\n\n\nconst WithdrawalFormSuccess = (param)=>{\n let { inputAmount , tokenName , decimals , closeButtonVisibility } = param;\n const trans = (0,useTrans/* default */.Z)();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n spacing: 3,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"column\",\n gap: \"8px\",\n className: \"py-3\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n display: \"flex\",\n gap: \"4px\",\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n children: [\n trans.asset_withdrawal.you_withdrew,\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"font-semibold whitespace-nowrap\",\n \"data-testid\": \"assets-withdraw-sent-amount\",\n children: inputAmount && (0,numeric/* formatSafe */.g1)(inputAmount, decimals)\n }),\n tokenName\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CheckCircle/* default */.Z, {\n className: \"w-[58px] h-[58px] text-[#54B762]\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n onClick: closeButtonVisibility.click,\n \"data-testid\": \"assets-withdraw-btn-close\",\n disabled: closeButtonVisibility.disabled,\n variant: \"outlined\",\n size: \"xl\",\n children: closeButtonVisibility.title\n })\n ]\n });\n};\n/* harmony default export */ var WithdrawalForm_WithdrawalFormSuccess = (WithdrawalFormSuccess);\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalForm/view.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst view_View = (param)=>{\n let { tokenOptions , selectedNetwork , onChangeToken , isNetworkMenuOpened , setIsNetworkMenuOpened , networkOptions , onChangeNetwork , toWalletAddress , setToWalletAddress , onInputAmountChange , selectedToken , inputAmount , isSubmitSucceeded , isLoading , submitButtonVisibility , closeButtonVisibility , currentTokenBalance , handleInputMaximumBalance , handleSubmit } = param;\n const trans = (0,useTrans/* default */.Z)();\n const anchorElRef = (0,react.useRef)(null);\n const isShowMenuNetwork = !isLoading && networkOptions.length > 0;\n if (isSubmitSucceeded) {\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(WithdrawalForm_WithdrawalFormSuccess, {\n inputAmount: inputAmount,\n decimals: selectedToken.decimals,\n tokenName: String(selectedToken.displaySymbol),\n closeButtonVisibility: closeButtonVisibility\n });\n }\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm\",\n \"data-testid\": \"assets-withdraw-desc-from-wallet\",\n children: trans.asset_withdrawal.you_withdrawing\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Select/* default */.Z, {\n variant: \"standard\",\n sx: selectStyles,\n IconComponent: ExpandMore/* default */.Z,\n value: selectedToken.symbol,\n onChange: onChangeToken,\n className: \"rounded-[80px] overflow-hidden\",\n renderValue: (name)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(WithdrawalForm_SelectTokenItem, {\n token: tokenOptions.find((token)=>token.symbol === name)\n }),\n \"data-testid\": \"assets-withdraw-select-coin\",\n disabled: isLoading,\n children: tokenOptions.map((token)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(MenuItem/* default */.Z, {\n value: token.symbol,\n className: \"p-0\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(WithdrawalForm_SelectTokenItem, {\n token: token\n })\n }, token.symbol))\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n className: \"mt-2 mb-4\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm\",\n children: trans.asset_withdrawal.through_network\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Button_Button/* default */.Z, {\n ref: anchorElRef,\n onClick: ()=>isShowMenuNetwork && setIsNetworkMenuOpened(true),\n className: classnames_default()(\"cursor-pointer normal-case rounded-[8px] pl-3 pr-1\", {\n \"bg-gradient-btn\": !selectedNetwork\n }),\n \"data-testid\": \"assets-withdraw-btn-select-network\",\n disabled: isLoading,\n children: [\n selectedNetwork ? /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm font-bold\",\n children: selectedNetwork.chain_name_abbr\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm\",\n children: trans.asset_withdrawal.select_network\n }),\n isShowMenuNetwork && /*#__PURE__*/ (0,jsx_runtime.jsx)(ExpandMore/* default */.Z, {})\n ]\n }),\n isShowMenuNetwork && /*#__PURE__*/ (0,jsx_runtime.jsx)(Menu/* default */.Z, {\n anchorEl: anchorElRef.current,\n open: isNetworkMenuOpened,\n onClose: ()=>setIsNetworkMenuOpened(false),\n children: networkOptions.map((network)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(MenuItem/* default */.Z, {\n value: network.chain_name,\n className: \"p-0\",\n onClick: ()=>onChangeNetwork(network),\n \"data-testid\": \"assets-withdraw-network-item-\".concat(network.chain_name_abbr),\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"px-3 py-2 text-sm font-bold\",\n \"data-testid\": \"assets-withdraw-network-\".concat(network.chain_name_abbr),\n children: network.chain_name_abbr\n })\n }, network.chain_name))\n })\n ]\n }),\n selectedNetwork && /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm\",\n children: trans.asset_withdrawal.withdraw_to_wallet_address\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n className: \"rounded-[8px] border border-[#3A3F5D] border-solid bg-[#060814] p-1 min-h-[44px] mt-2\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(InputBase/* default */.ZP, {\n \"data-testid\": \"assets-withdraw-wallet-address\",\n id: \"assets-withdraw-wallet-address-input\",\n title: \"\",\n placeholder: trans.asset_withdrawal.wallet_address(selectedToken.displaySymbol),\n value: toWalletAddress,\n onChange: (v)=>setToWalletAddress(v.target.value),\n required: true,\n fullWidth: true,\n inputProps: {\n \"aria-label\": \"0\",\n className: \"p-1 text-sm\"\n },\n disabled: isLoading\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n className: \"mt-2\",\n \"data-testid\": \"assets-withdraw-btn-maximum-balance\",\n onClick: handleInputMaximumBalance,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm\",\n children: trans.asset_withdrawal.amount\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n className: \"space-x-1 cursor-pointer\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n src: wallet/* default */.Z,\n alt: \"wallet\",\n width: 16,\n height: 16\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n \"data-testid\": \"assets-withdraw-token-balance\",\n variant: \"caption\",\n className: \"text-sm text-right opacity-40\",\n children: (0,numeric/* formatSafe */.g1)(currentTokenBalance, selectedToken.decimals)\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm underline cursor-pointer opacity-80 hover:opacity-100\",\n children: \"\".concat(trans.common.max)\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n className: \"rounded-[8px] border border-[#3A3F5D] border-solid bg-[#060814] p-1 min-h-[44px] mt-1\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(BaseAmountInput/* default */.Z, {\n \"data-testid\": \"assets-withdraw-amount\",\n id: \"assets-withdraw-amount-input\",\n value: inputAmount,\n onChange: onInputAmountChange,\n fullWidth: true,\n decimals: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.decimals) || 0,\n inputProps: {\n \"aria-label\": \"0\",\n className: \"p-1 text-sm\"\n },\n disabled: isLoading\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"mr-1 text-sm\",\n children: selectedToken.displaySymbol\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n onClick: handleSubmit,\n loading: isLoading,\n \"data-testid\": \"assets-withdraw-btn-submit\",\n className: \"mt-5\",\n size: \"xl\",\n disabled: submitButtonVisibility.disabled,\n children: submitButtonVisibility.title\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n onClick: closeButtonVisibility.click,\n \"data-testid\": \"assets-withdraw-btn-close\",\n disabled: closeButtonVisibility.disabled,\n className: \"mt-3\",\n variant: \"outlined\",\n size: \"xl\",\n children: closeButtonVisibility.title\n })\n ]\n });\n};\n/* harmony default export */ var WithdrawalForm_view = (/*#__PURE__*/(0,react.memo)(view_View));\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalForm/container.tsx\n\n\n\n\n\n\n\n\n\nconst WithdrawalForm_container_Container = (param)=>{\n let { onSubmit } = param;\n const { selectedToken , setSelectedToken , currentTokenBalance , tokenOptions , networkOptions , isLoading , isSubmitSucceeded } = (0,react.useContext)(context/* AssetWithdrawalContext */.jc);\n const trans = (0,useTrans/* default */.Z)();\n const { publicKey } = (0,use_nemo_wallet/* default */.Z)();\n const [toWalletAddress, setToWalletAddress] = (0,react.useState)(\"\");\n const [isNetworkMenuOpened, setIsNetworkMenuOpened] = (0,react.useState)(false);\n const [selectedNetwork, setSelectedNetwork] = (0,react.useState)(null);\n const [inputAmount, setInputAmount] = (0,react.useState)();\n const inValidInputAmountMsg = (0,react.useMemo)(()=>{\n if (!selectedToken) return trans.asset_withdrawal.issues.no_token_info;\n if (!toWalletAddress) return trans.asset_withdrawal.issues.enter_wallet_address;\n const isMissingInputAmount = !inputAmount || new decimal/* default */.Z(inputAmount).lessThanOrEqualTo(0);\n if (isMissingInputAmount) return trans.asset_withdrawal.issues.enter_amount;\n const inputAmountDecimalNumber = new decimal/* default */.Z(inputAmount);\n const isExceededBalance = inputAmountDecimalNumber.greaterThan(currentTokenBalance);\n const isInsufficientBalance = currentTokenBalance === 0;\n if (isExceededBalance || isInsufficientBalance) return trans.asset_withdrawal.issues.insufficient_balance;\n return \"\";\n }, [\n trans,\n currentTokenBalance,\n inputAmount,\n selectedToken,\n toWalletAddress\n ]);\n const submitButtonVisibility = (0,react.useMemo)(()=>{\n if (!publicKey) {\n return {\n disabled: false,\n title: trans.common.connect_wallet\n };\n }\n if (inValidInputAmountMsg) {\n return {\n disabled: true,\n invalidInput: true,\n title: inValidInputAmountMsg\n };\n }\n return {\n disabled: false,\n title: trans.asset_withdrawal.withdraw_token(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.displaySymbol)\n };\n }, [\n publicKey,\n inValidInputAmountMsg,\n trans,\n selectedToken\n ]);\n const closeButtonVisibility = (0,react.useMemo)(()=>{\n if (isSubmitSucceeded) {\n return {\n disabled: false,\n title: trans.asset_withdrawal.btn_close,\n click: ()=>setSelectedToken(null)\n };\n } else {\n return {\n disabled: isLoading,\n title: trans.common.back,\n click: ()=>setSelectedToken(null)\n };\n }\n }, [\n trans,\n isLoading,\n setSelectedToken,\n isSubmitSucceeded\n ]);\n const handleInputMaximumBalance = (0,react.useCallback)(()=>{\n if (isLoading || !selectedToken || !currentTokenBalance) return;\n const newInputAmount = (0,numeric/* toDecimalSafe */.ci)(currentTokenBalance, selectedToken.decimals);\n if (newInputAmount.isFinite()) {\n setInputAmount(newInputAmount.toNumber());\n }\n }, [\n isLoading,\n selectedToken,\n currentTokenBalance,\n setInputAmount\n ]);\n const handleSubmit = (0,react.useCallback)(async ()=>{\n if (!inputAmount) return;\n await onSubmit(toWalletAddress, inputAmount);\n }, [\n onSubmit,\n toWalletAddress,\n inputAmount\n ]);\n const onInputAmountChange = (0,use_event_callback/* useEventCallback */.$)((e)=>{\n if (!e.target.value) return;\n const newInputAmount = Number(e.target.value);\n if (!Number.isNaN(newInputAmount)) setInputAmount(newInputAmount);\n });\n const onChangeToken = (0,react.useCallback)((evt)=>{\n setSelectedToken(tokenOptions.find((token)=>token.displaySymbol === evt.target.value) || null);\n }, [\n tokenOptions,\n setSelectedToken\n ]);\n const onChangeNetwork = (0,react.useCallback)((network)=>{\n setSelectedNetwork(network);\n setIsNetworkMenuOpened(false);\n }, []);\n if (!selectedToken) {\n return null;\n }\n const injectedProps = {\n selectedToken,\n selectedNetwork,\n onChangeToken,\n isNetworkMenuOpened,\n setIsNetworkMenuOpened,\n networkOptions,\n tokenOptions,\n onChangeNetwork,\n toWalletAddress,\n setToWalletAddress,\n onInputAmountChange,\n inputAmount,\n isSubmitSucceeded,\n isLoading,\n submitButtonVisibility,\n closeButtonVisibility,\n currentTokenBalance,\n handleInputMaximumBalance,\n handleSubmit\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(WithdrawalForm_view, {\n ...injectedProps\n });\n};\n/* harmony default export */ var WithdrawalForm_container = (WithdrawalForm_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalForm/index.ts\n\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalModal/container.tsx\n\n\n\n\n\n\n\n\n\n\nconst classesDialog = {\n root: \"outline-none p-0 h-full\"\n};\nconst WithdrawalModal_container_Container = ()=>{\n const trans = (0,useTrans/* default */.Z)();\n const { publicKey } = (0,use_nemo_wallet/* default */.Z)();\n const { selectedToken , setSelectedToken , submitWithdrawByRenecNetwork } = (0,react.useContext)(context/* AssetWithdrawalContext */.jc);\n const isModalOpened = Boolean(selectedToken);\n (0,react.useEffect)(()=>{\n if (!isModalOpened) {\n setSelectedToken(null);\n }\n }, [\n setSelectedToken,\n isModalOpened\n ]);\n const modalTitle = (0,react.useMemo)(()=>{\n return trans.asset_withdrawal.withdrawing(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.displaySymbol);\n }, [\n trans,\n selectedToken\n ]);\n const handleCloseModal = (0,react.useCallback)(()=>{\n setSelectedToken(null);\n }, [\n setSelectedToken\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Modal/* default */.Z, {\n open: isModalOpened,\n onClose: handleCloseModal,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(DialogContent/* default */.Z, {\n classes: classesDialog,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ModalLayout/* default */.Z, {\n title: modalTitle,\n onClose: handleCloseModal,\n isDisplayBtnClose: false,\n footer: trans.common.powered_by_remitano,\n children: publicKey ? /*#__PURE__*/ (0,jsx_runtime.jsx)(WithdrawalForm_container, {\n onSubmit: submitWithdrawByRenecNetwork\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(AssetWithdrawal_WithdrawalConnectWallet, {})\n })\n })\n });\n};\n/* harmony default export */ var WithdrawalModal_container = (WithdrawalModal_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/base/AssetWithdrawal/WithdrawalModal/index.ts\n\n\n// EXTERNAL MODULE: ./src/components/base/TokenPickerRevamp/index.tsx + 6 modules\nvar TokenPickerRevamp = __webpack_require__(82734);\n// EXTERNAL MODULE: ./src/components/base/WrappedTokensFlow/ModalTokensFlow/index.tsx + 15 modules\nvar ModalTokensFlow = __webpack_require__(67428);\n// EXTERNAL MODULE: ./node_modules/@mui/material/styles/useTheme.js\nvar useTheme = __webpack_require__(2734);\n// EXTERNAL MODULE: ./node_modules/@mui/material/useMediaQuery/useMediaQuery.js\nvar useMediaQuery = __webpack_require__(98396);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Drawer/Drawer.js + 1 modules\nvar Drawer = __webpack_require__(58826);\n;// CONCATENATED MODULE: ./src/components/top-coins/banner/method-selection-dialog/view.tsx\n\n\n\n\n\n\n\n\n\n\n\nconst method_selection_dialog_view_View = (param)=>{\n let { isOpen , isDesktop , isDepositing , onClose , methodOptions , onClick } = param;\n const trans = (0,useTrans/* default */.Z)();\n const renderedContent = /*#__PURE__*/ (0,jsx_runtime.jsx)(ModalLayout/* default */.Z, {\n title: isDepositing ? trans.common.deposit : trans.common.withdraw,\n isInsideDrawer: !isDesktop,\n onClose: onClose,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Stack/* default */.Z, {\n gap: \"8px\",\n children: methodOptions.map((method)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n gap: \"8px\",\n direction: \"row\",\n alignItems: \"center\",\n className: \"bg-[#141A23] py-5 px-4 rounded-lg cursor-pointer\",\n onClick: ()=>onClick(method.type),\n \"data-testid\": method.dataTestID,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n alt: method.title,\n src: method.icon,\n className: \"object-cover\",\n width: 40,\n height: 40\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"flex-1\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-base font-semibold\",\n children: method.title\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-[#9CA3AE] text-sm\",\n children: method.description\n })\n ]\n })\n ]\n }, method.type))\n })\n });\n if (isDesktop) {\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Modal/* default */.Z, {\n open: isOpen,\n \"data-testid\": \"method-selection-modal\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(DialogContent/* default */.Z, {\n className: \"outline-none\",\n children: renderedContent\n })\n });\n }\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Drawer/* default */.ZP, {\n open: isOpen,\n onClose: onClose,\n anchor: \"bottom\",\n sx: {\n \".MuiPaper-elevation\": {\n backgroundColor: \"transparent\",\n backgroundImage: \"none\"\n }\n },\n \"data-testid\": \"method-selection-drawer\",\n children: renderedContent\n });\n};\n/* harmony default export */ var method_selection_dialog_view = (/*#__PURE__*/(0,react.memo)(method_selection_dialog_view_View));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/banner/method-selection-dialog/container.tsx\n\n\n\n\n\n\n\n\nconst method_selection_dialog_container_Container = (param)=>{\n let { currentType , isOpen , onClick , onClose } = param;\n const trans = (0,useTrans/* default */.Z)();\n const theme = (0,useTheme/* default */.Z)();\n const isDesktop = (0,useMediaQuery/* default */.Z)(theme.breakpoints.up(\"sm\"));\n const isDepositing = (0,react.useMemo)(()=>currentType === CURRENT_TYPE.deposit, [\n currentType\n ]);\n const methodOptions = (0,react.useMemo)(()=>{\n if (isDepositing) {\n return [\n {\n title: trans.core_tokens_list.bank.deposit,\n description: trans.core_tokens_list.bank.description,\n type: MethodSelectionDialog/* METHOD_TYPE.bank */.z.bank,\n dataTestID: \"method-selection-bank\",\n icon: \"/assets-from-bank-icon.png\"\n },\n {\n title: trans.core_tokens_list.network.deposit,\n description: trans.core_tokens_list.network.description,\n type: MethodSelectionDialog/* METHOD_TYPE.network */.z.network,\n dataTestID: \"method-selection-network\",\n icon: \"/assets-from-others-icon.png\"\n },\n {\n title: trans.core_tokens_list.swap_with_others,\n description: \"\",\n type: MethodSelectionDialog/* METHOD_TYPE.swapOthers */.z.swapOthers,\n dataTestID: \"method-selection-swap-others\",\n icon: \"/top-coins-swap-with-others.png\"\n }\n ];\n }\n return [\n {\n title: trans.core_tokens_list.bank.withdraw,\n description: trans.core_tokens_list.bank.description,\n type: MethodSelectionDialog/* METHOD_TYPE.bank */.z.bank,\n dataTestID: \"method-selection-bank\",\n icon: \"/assets-to-bank-icon.png\"\n },\n {\n title: trans.core_tokens_list.network.withdraw,\n description: trans.core_tokens_list.network.description,\n type: MethodSelectionDialog/* METHOD_TYPE.network */.z.network,\n dataTestID: \"method-selection-network\",\n icon: \"/assets-to-others-icon.png\"\n }\n ];\n }, [\n isDepositing,\n trans\n ]);\n const computedProps = {\n isOpen,\n isDesktop,\n isDepositing,\n onClose,\n methodOptions,\n onClick\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(method_selection_dialog_view, {\n ...computedProps\n });\n};\n/* harmony default export */ var method_selection_dialog_container = (method_selection_dialog_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/banner/method-selection-dialog/index.tsx\n\n\n;// CONCATENATED MODULE: ./src/components/top-coins/banner/view.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst banner_view_View = (param)=>{\n let { currentType , tokenOptions , onClickType , onPickAToken , topTokensPickerSlot , isOpenMethodSelection , onCloseMethodSelection , onSelectMethod , showEuro2024Banner } = param;\n const trans = (0,useTrans/* default */.Z)();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n \"data-testid\": \"top-coins-banner\",\n className: classnames_default()(\"px-3 py-4 lg:px-[40px] lg:py-[24px] rounded-lg bg-no-repeat bg-left\", showEuro2024Banner ? \"bg-top-coins-euro2024 bg-cover\" : \"bg-top-coins\"),\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-xl lg:text-2xl text-white font-bold\",\n variant: \"h2\",\n children: trans.core_tokens_list.top_coins\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm text-[#C2CBD9] mt-2\",\n children: trans.core_tokens_list.description\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"gap-[12px] ld:gap-[16px] mt-[20px] lg:mt-[24px]\",\n direction: \"row\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n onClick: ()=>onClickType(CURRENT_TYPE.withdraw),\n \"data-testid\": \"top-coins-banner-withdraw\",\n className: \"flex-1 lg:flex-none min-w-[140px]\",\n variant: \"outlined\",\n size: \"md\",\n children: trans.common.withdraw\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n onClick: ()=>onClickType(CURRENT_TYPE.deposit),\n \"data-testid\": \"top-coins-banner-deposit\",\n className: \"flex-1 lg:flex-none min-w-[140px]\",\n variant: \"primary\",\n size: \"md\",\n children: trans.common.deposit\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(method_selection_dialog_container, {\n currentType: currentType,\n isOpen: isOpenMethodSelection,\n onClose: onCloseMethodSelection,\n onClick: onSelectMethod\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(TokenPickerRevamp/* Container */.W, {\n options: tokenOptions,\n nickName: \"top-coins\",\n onChangeToken: onPickAToken,\n isDisplayActionView: false,\n isDisplayHighlightMessage: false,\n slot: topTokensPickerSlot\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(ModalTokensFlow/* default */.Z, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(WithdrawalModal_container, {})\n ]\n });\n};\n/* harmony default export */ var banner_view = (/*#__PURE__*/(0,react.memo)(banner_view_View));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/banner/container.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst banner_container_Container = ()=>{\n const router = (0,next_router.useRouter)();\n const { data: settingsData } = (0,use_settings/* useSettings */.r)();\n const { fiatTokensList: tokenFiatOptions } = (0,use_tokens/* default */.Co)();\n const [currentType, setCurrentType] = (0,react.useState)(\"\");\n const [currentMethod, setCurrentMethod] = (0,react.useState)(\"\");\n const { setSelectedToken: setSelectedDepositToken } = (0,react.useContext)(WrappedTokensFlow_context/* WrappedTokensFlowContext */.H$);\n const { setSelectedToken: setSelectedWithdrawToken } = (0,react.useContext)(context/* AssetWithdrawalContext */.jc);\n const { setIsOpenPicker } = (0,react.useContext)(TokenPickerRevamp_context/* TokenPickerRevampContext */.V);\n const [isOpenMethodSelection, setIsOpenMethodSelection] = (0,react.useState)(false);\n const { tokenOptions: depositTokenOptions } = (0,use_deposit_token_options/* default */.Z)();\n const onClickType = (0,react.useCallback)((newType)=>{\n setCurrentType(newType);\n setIsOpenMethodSelection(true);\n }, []);\n const onCloseMethodSelection = (0,react.useCallback)(()=>{\n setCurrentType(\"\");\n setIsOpenMethodSelection(false);\n }, []);\n const onSelectMethod = (0,react.useCallback)((newMethod)=>{\n setIsOpenPicker(true);\n setCurrentMethod(newMethod);\n setIsOpenMethodSelection(false);\n }, [\n setIsOpenPicker\n ]);\n const tokenOptions = (0,react.useMemo)(()=>{\n if (currentMethod === MethodSelectionDialog/* METHOD_TYPE.bank */.z.bank) {\n return tokenFiatOptions;\n }\n return depositTokenOptions;\n }, [\n currentMethod,\n depositTokenOptions,\n tokenFiatOptions\n ]);\n const onPickAToken = (0,react.useCallback)((token)=>{\n if (currentType === CURRENT_TYPE.deposit) {\n if (currentMethod === MethodSelectionDialog/* METHOD_TYPE.bank */.z.bank) {\n router.push(\"/buy/\".concat(token.symbol));\n return;\n }\n if (currentMethod === MethodSelectionDialog/* METHOD_TYPE.network */.z.network) {\n setSelectedDepositToken(token);\n }\n if (currentMethod === MethodSelectionDialog/* METHOD_TYPE.swapOthers */.z.swapOthers) {\n router.push(getTradeRoute(token.symbol, true));\n return;\n }\n }\n if (currentType === CURRENT_TYPE.withdraw) {\n if (currentMethod === MethodSelectionDialog/* METHOD_TYPE.bank */.z.bank) {\n router.push(\"/sell/\".concat(token.symbol));\n return;\n }\n if (currentMethod === MethodSelectionDialog/* METHOD_TYPE.network */.z.network) {\n setSelectedWithdrawToken(token);\n }\n }\n }, [\n router,\n currentType,\n currentMethod,\n setSelectedDepositToken,\n setSelectedWithdrawToken\n ]);\n const topTokensPickerSlot = (0,react.useMemo)(()=>{\n if (currentMethod === MethodSelectionDialog/* METHOD_TYPE.network */.z.network) {\n if (currentType === CURRENT_TYPE.deposit) {\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(DepositTopTokensList_container, {});\n }\n if (currentType === CURRENT_TYPE.withdraw) {\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(WithdrawalTopTokensList_container, {});\n }\n }\n return null;\n }, [\n currentType,\n currentMethod\n ]);\n const computedProps = {\n currentType,\n tokenOptions,\n onClickType,\n onPickAToken,\n topTokensPickerSlot,\n isOpenMethodSelection,\n onCloseMethodSelection,\n onSelectMethod,\n showEuro2024Banner: Boolean(settingsData === null || settingsData === void 0 ? void 0 : settingsData.nemo_swap_assets_euro2024_token_list_enabled)\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(banner_view, {\n ...computedProps\n });\n};\n/* harmony default export */ var banner_container = (banner_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/banner/index.tsx\n\n\n// EXTERNAL MODULE: ./src/components/core-tokens-list/hooks/use-assets-method-selection-flow.tsx\nvar use_assets_method_selection_flow = __webpack_require__(65932);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Link/Link.js + 2 modules\nvar Link = __webpack_require__(23795);\n// EXTERNAL MODULE: ./node_modules/linkify-react/dist/linkify-react.es.js + 1 modules\nvar linkify_react_es = __webpack_require__(4913);\n// EXTERNAL MODULE: ./src/components/base/AddressSpanWithCopyButton.tsx\nvar AddressSpanWithCopyButton = __webpack_require__(19185);\n// EXTERNAL MODULE: ./src/components/base/BaseDialog.tsx + 6 modules\nvar BaseDialog = __webpack_require__(57833);\n// EXTERNAL MODULE: ./src/utils/helpers.ts\nvar helpers = __webpack_require__(73680);\n;// CONCATENATED MODULE: ./src/components/core-tokens-list/TokenDetailDialog.tsx\n\n\n\n\n\n\n\n\n\nconst TokenDetailDialog = (props)=>{\n const { handleClose , token } = props;\n const trans = (0,useTrans/* default */.Z)();\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(BaseDialog/* default */.Z, {\n \"data-testid\": \"token-detail-dialog\",\n title: trans.core_tokens_list.token_detail.title,\n isOpened: true,\n handleClose: handleClose,\n body: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"w-[488px] px-2 max-w-full\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n alignItems: \"center\",\n className: \"my-5\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"w-[128px] sm:w-[180px] h-[128px] sm:h-[180px] mb-4\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n src: token.logo_url,\n alt: \"reUSD\",\n width: 180,\n height: 180,\n className: \"max-w-full rounded-full\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n alignItems: \"center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"mr-1\",\n fontWeight: \"700\",\n \"data-testid\": \"token-symbol\",\n children: token.token_symbol\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n sx: {\n color: \"#D0D1D8\",\n fontSize: \"0.875rem\"\n },\n \"data-testid\": \"token-name\",\n children: [\n \"- \",\n token.token_name\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(AddressSpanWithCopyButton/* default */.Z, {\n address: token.coin_address\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"mb-4\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"mb-2 text-sm text-gray-300\",\n \"data-testid\": \"description-title\",\n children: trans.core_tokens_list.table_headers.about\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n fontSize: \"0.875rem\",\n overflow: \"wrap\",\n \"data-testid\": \"description\",\n className: \"text-gray-100 border border-semiblack-400 rounded-md px-4 py-3 w-full bg-[#1F2A3A]\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(linkify_react_es/* default */.Z, {\n children: token.description\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"mb-4\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"mb-2 text-sm text-gray-300\",\n \"data-testid\": \"link-title\",\n children: trans.core_tokens_list.token_detail.link\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n className: \"text-gray-100 border border-semiblack-400 rounded-md px-4 py-3 w-full bg-[#1F2A3A]\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Link/* default */.Z, {\n href: (0,helpers/* getAddressUrl */.$U)(token.coin_address),\n target: \"_blank\",\n className: \"mr-10\",\n \"data-testid\": \"explorer-url\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm\",\n children: \"Explorer↗\"\n })\n }),\n token.website && /*#__PURE__*/ (0,jsx_runtime.jsx)(Link/* default */.Z, {\n href: token.website,\n target: \"_blank\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n className: \"text-sm\",\n children: [\n trans.core_tokens_list.token_detail.website,\n \"↗\"\n ]\n })\n })\n ]\n })\n ]\n })\n ]\n }),\n button: /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n \"data-testid\": \"close-btn\",\n className: \"normal-case rounded-lg py-[14px] border-semiblack-600\",\n variant: \"outlined\",\n fullWidth: true,\n size: \"large\",\n onClick: handleClose,\n children: trans.core_tokens_list.token_detail.close\n })\n });\n};\n/* harmony default export */ var core_tokens_list_TokenDetailDialog = (/*#__PURE__*/(0,react.memo)(TokenDetailDialog));\n\n// EXTERNAL MODULE: ./src/hooks/use-balances.ts\nvar use_balances = __webpack_require__(68203);\n// EXTERNAL MODULE: ./src/hooks/use-mutable-search-params.ts\nvar use_mutable_search_params = __webpack_require__(86879);\n// EXTERNAL MODULE: ./src/hooks/use-nemo-apis.ts\nvar use_nemo_apis = __webpack_require__(67013);\n// EXTERNAL MODULE: ./src/components/base/IconSearch.tsx\nvar IconSearch = __webpack_require__(9943);\n// EXTERNAL MODULE: ./node_modules/@mui/material/TableBody/TableBody.js + 1 modules\nvar TableBody = __webpack_require__(295);\n// EXTERNAL MODULE: ./node_modules/@mui/material/TableContainer/TableContainer.js + 1 modules\nvar TableContainer = __webpack_require__(72882);\n// EXTERNAL MODULE: ./src/components/chart/simple-24h-line-chart.tsx\nvar simple_24h_line_chart = __webpack_require__(60475);\n;// CONCATENATED MODULE: ./src/components/base/IconExport.tsx\n\nconst IconExport = (props)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"svg\", {\n width: \"16\",\n height: \"17\",\n ...props,\n viewBox: \"0 0 16 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"path\", {\n d: \"M8.55542 7.94227L13.111 3.38672\",\n stroke: \"#9CA3AE\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"path\", {\n d: \"M13.5556 5.60807V2.94141H10.8889\",\n stroke: \"#9CA3AE\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"path\", {\n d: \"M7.44434 2.94141H6.33322C3.55545 2.94141 2.44434 4.05252 2.44434 6.83029V10.1636C2.44434 12.9414 3.55545 14.0525 6.33322 14.0525H9.66656C12.4443 14.0525 13.5554 12.9414 13.5554 10.1636V9.05252\",\n stroke: \"#9CA3AE\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n });\n};\n/* harmony default export */ var base_IconExport = (IconExport);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/view.token-name.tsx\n\n\n\n\n\n\nconst view_token_name_View = (param)=>{\n let { data } = param;\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n alignItems: \"center\",\n gap: \"8px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"img\", {\n src: data.logo,\n alt: data.tokenName,\n className: \"w-[24px] h-[24px] max-w-[24px] object-cover\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n gap: \"4px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n gap: \"4px\",\n alignItems: \"center\",\n className: \"whitespace-nowrap\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-base text-white font-semibold lg:max-w-[130px] text-ellipsis overflow-hidden\",\n children: data.tokenName\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n className: \"text-[#C2CBD9] text-xs\",\n children: [\n \" - \",\n data.symbol\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"a\", {\n href: (0,helpers/* getAddressUrl */.$U)(data.tokenMint),\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"shrink-0\",\n onClick: (evt)=>evt.stopPropagation(),\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(base_IconExport, {})\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-xs text-[#C2CBD9]\",\n children: data.price\n })\n ]\n })\n ]\n });\n};\n/* harmony default export */ var view_token_name = (/*#__PURE__*/(0,react.memo)(view_token_name_View));\n\n// EXTERNAL MODULE: ./node_modules/@mui/material/styles/styled.js\nvar styled = __webpack_require__(90948);\n// EXTERNAL MODULE: ./node_modules/@mui/material/TableCell/TableCell.js\nvar TableCell = __webpack_require__(98102);\n// EXTERNAL MODULE: ./node_modules/@mui/material/TableRow/TableRow.js + 1 modules\nvar TableRow = __webpack_require__(68509);\n// EXTERNAL MODULE: ./node_modules/@mui/material/TableHead/TableHead.js + 1 modules\nvar TableHead = __webpack_require__(53184);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Table/Table.js + 1 modules\nvar Table = __webpack_require__(7906);\n;// CONCATENATED MODULE: ./src/components/top-coins/list/desktop/styles.tsx\n\n\nconst StyledTableCell = (0,styled/* default */.ZP)((props)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(TableCell/* default */.Z, {\n ...props\n }))(()=>({\n \"&.MuiTableCell-body\": {\n color: \"#fff\",\n fontWeight: 400,\n fontSize: \"14px\",\n lineHeight: \"20px\",\n padding: \"16px\",\n border: \"0\",\n backgroundColor: \"#1E2735\"\n },\n \"&.MuiTableCell-body:first-child\": {\n paddingLeft: \"24px\"\n },\n \"&.MuiTableCell-body:last-child\": {\n paddingLeft: \"24px\"\n },\n \"&.MuiTableCell-head\": {\n color: \"#C2CBD9\",\n border: \"0\",\n fontSize: \"14px\",\n lineHeight: \"20px\",\n padding: \"8px 12px\"\n },\n \"&.MuiTableCell-head:first-child\": {\n paddingLeft: \"24px\"\n },\n \"&.MuiTableCell-head:last-child\": {\n paddingLeft: \"24px\"\n }\n }));\nconst StyledTableRow = (0,styled/* default */.ZP)((props)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(TableRow/* default */.Z, {\n ...props\n }))(()=>({\n \"&\": {\n borderBottom: \"1px solid rgba(255, 255, 255, 0.08)\"\n },\n \"&:last-child\": {\n borderBottom: \"0\"\n }\n }));\nconst StyledTableHead = (0,styled/* default */.ZP)((props)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(TableHead/* default */.Z, {\n ...props\n }))(()=>({\n \"&\": {\n backgroundColor: \"rgba(7, 13, 21, 0.4)\"\n }\n }));\nconst StyledTable = (0,styled/* default */.ZP)((props)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(Table/* default */.Z, {\n ...props\n }))(()=>({\n \"&\": {\n borderRadius: \"8px\",\n overflow: \"hidden\"\n }\n }));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/desktop/item/view.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nconst item_view_View = (param)=>{\n let { tokenA , tokenB , columns , data , index , onClickTokenItem } = param;\n const trans = (0,useTrans/* default */.Z)();\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableRow, {\n onClick: ()=>onClickTokenItem(data),\n className: \"cursor-pointer\",\n \"data-testid\": \"top-coins-table-item-\".concat(data.symbol),\n children: columns.map((col)=>{\n switch(col.key){\n case COLUMNS_KEY.index:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm text-[#C2CBD9]\",\n children: index + 1\n })\n });\n case COLUMNS_KEY.balances:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: data.userBalance\n });\n case COLUMNS_KEY.volume24h:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: data.volume24h\n });\n case COLUMNS_KEY.tokenName:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(view_token_name, {\n data: data\n })\n });\n case COLUMNS_KEY.marketCap:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: data.marketCapFormatted\n });\n case COLUMNS_KEY.holders:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: data.holders\n });\n case COLUMNS_KEY.diff24Hours:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n className: \"text-sm font-[500]\",\n style: getColorStyle(data.diff24Hours),\n \"data-testid\": \"percent-24-hours\",\n children: [\n data.diff24Hours ? (0,numeric/* format */.WU)(data.diff24Hours, {\n sign: true\n }) : \"0\",\n \"%\"\n ]\n })\n });\n case COLUMNS_KEY.chart:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: tokenA && tokenB && data.isHasChart && /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"relative min-w-[140px] w-[140px] h-[36px]\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"absolute inset-0\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(simple_24h_line_chart/* default */.Z, {\n options: {\n candleWindowSize: 168,\n timeFrame: \"one_hour\"\n },\n tokenA: tokenA,\n tokenB: tokenB\n })\n })\n })\n });\n case COLUMNS_KEY.actionsMeme:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n className: \"text-right\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n \"data-testid\": \"\".concat(data.symbol, \"-do-swap-btn\"),\n onClick: (evt)=>{\n var _col_onClick;\n evt.stopPropagation();\n (_col_onClick = col.onClick) === null || _col_onClick === void 0 ? void 0 : _col_onClick.call(col, data, ACTION_TYPE.trade);\n },\n size: \"sm\",\n className: \"min-w-[90px]\",\n children: trans.core_tokens_list.trade\n })\n });\n case COLUMNS_KEY.actionsSpot:\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n justifyContent: \"flex-end\",\n direction: \"row\",\n gap: \"12px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n \"data-testid\": \"\".concat(data.symbol, \"-withdraw-btn\"),\n onClick: (evt)=>{\n var _col_onClick;\n evt.stopPropagation();\n (_col_onClick = col.onClick) === null || _col_onClick === void 0 ? void 0 : _col_onClick.call(col, data, ACTION_TYPE.withdraw);\n },\n className: \"min-w-[90px]\",\n variant: \"outlined\",\n size: \"sm\",\n children: trans.common.withdraw\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n \"data-testid\": \"\".concat(data.symbol, \"-deposit-btn\"),\n onClick: (evt)=>{\n var _col_onClick;\n evt.stopPropagation();\n (_col_onClick = col.onClick) === null || _col_onClick === void 0 ? void 0 : _col_onClick.call(col, data, ACTION_TYPE.deposit);\n },\n className: \"min-w-[90px]\",\n variant: \"primary\",\n size: \"sm\",\n children: trans.common.deposit\n })\n ]\n })\n });\n default:\n return null;\n }\n })\n });\n};\n/* harmony default export */ var item_view = (/*#__PURE__*/(0,react.memo)(item_view_View));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/desktop/item/container.tsx\n\n\n\n\nconst item_container_Container = (param)=>{\n let { data , index , columns , onClickTokenItem } = param;\n const { tokenListMap , reUsdTokenInfo } = (0,use_tokens/* default */.Co)();\n const tokenA = (0,react.useMemo)(()=>{\n return tokenListMap.get(data.tokenMint);\n }, [\n tokenListMap,\n data.tokenMint\n ]);\n const tokenB = (0,react.useMemo)(()=>{\n if (data.tokenMint === reUsdTokenInfo.address) return;\n return reUsdTokenInfo;\n }, [\n data,\n reUsdTokenInfo\n ]);\n const computedProps = {\n index,\n data,\n tokenA,\n tokenB,\n columns,\n onClickTokenItem\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(item_view, {\n ...computedProps\n });\n};\n/* harmony default export */ var item_container = (/*#__PURE__*/(0,react.memo)(item_container_Container));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/desktop/item/index.tsx\n\n\n// EXTERNAL MODULE: ./src/components/base/IconNoData.tsx\nvar IconNoData = __webpack_require__(64249);\n;// CONCATENATED MODULE: ./src/components/top-coins/list/desktop/view.empty.tsx\n\n\n\n\n\n\nconst view_empty_View = (param)=>{\n let { colSpan } = param;\n const trans = (0,useTrans/* default */.Z)();\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableRow, {\n \"data-testid\": \"top-coins-empty-row\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(StyledTableCell, {\n colSpan: colSpan,\n align: \"center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(IconNoData/* default */.Z, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm mt-2 text-[#B0B2BE]\",\n children: trans.no_data\n })\n ]\n })\n });\n};\n/* harmony default export */ var view_empty = (/*#__PURE__*/(0,react.memo)(view_empty_View));\n\n// EXTERNAL MODULE: ./node_modules/@mui/material/CircularProgress/CircularProgress.js + 1 modules\nvar CircularProgress = __webpack_require__(98456);\n;// CONCATENATED MODULE: ./src/components/top-coins/list/desktop/view.loading.tsx\n\n\n\nconst view_loading_View = (param)=>{\n let { colSpan } = param;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableRow, {\n \"data-testid\": \"top-coins-loading\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n colSpan: colSpan,\n align: \"center\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(CircularProgress/* default */.Z, {})\n })\n });\n};\n/* harmony default export */ var view_loading = (view_loading_View);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/desktop/index.tsx\n\n\n\n\n\n\n\n\nconst TopCoinsTable = (param)=>{\n let { topCoinsData , isLoading , columns , onClickTokenItem } = param;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(TableContainer/* default */.Z, {\n \"data-testid\": \"top-coins-table\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(StyledTable, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableHead, {\n \"data-testid\": \"top-coins-head\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableRow, {\n children: columns.map((col)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledTableCell, {\n children: col.label\n }, col.key);\n })\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(TableBody/* default */.Z, {\n children: [\n !isLoading && topCoinsData.map((data, idx)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(item_container, {\n data: data,\n index: idx,\n columns: columns,\n onClickTokenItem: onClickTokenItem\n }, data.id);\n }),\n !isLoading && topCoinsData.length === 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)(view_empty, {\n colSpan: columns.length\n }),\n isLoading && /*#__PURE__*/ (0,jsx_runtime.jsx)(view_loading, {\n colSpan: columns.length\n })\n ]\n })\n ]\n })\n });\n};\n/* harmony default export */ var desktop = (/*#__PURE__*/(0,react.memo)(TopCoinsTable));\n\n// EXTERNAL MODULE: ./node_modules/@mui/icons-material/MoreVert.js\nvar MoreVert = __webpack_require__(57976);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Popover/Popover.js + 1 modules\nvar Popover = __webpack_require__(14564);\n// EXTERNAL MODULE: ./src/components/common/CandleChartBox.tsx\nvar CandleChartBox = __webpack_require__(38247);\n;// CONCATENATED MODULE: ./src/components/top-coins/list/mobile/view.empty.tsx\n\n\n\n\n\nconst mobile_view_empty_View = ()=>{\n const trans = (0,useTrans/* default */.Z)();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n \"data-testid\": \"top-coins-empty-row\",\n className: \"text-center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(IconNoData/* default */.Z, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm mt-2 text-[#B0B2BE]\",\n children: trans.no_data\n })\n ]\n });\n};\n/* harmony default export */ var mobile_view_empty = (mobile_view_empty_View);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/mobile/view.loading.tsx\n\n\n\nconst mobile_view_loading_View = ()=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n \"data-testid\": \"top-coins-loading\",\n className: \"py-6 text-center\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(CircularProgress/* default */.Z, {})\n });\n};\n/* harmony default export */ var mobile_view_loading = (mobile_view_loading_View);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/mobile/view.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst mobile_view_View = (param)=>{\n let { isLoading , columnAction , topCoinsData , onOpenMoreMenu , onCloseMoreMenu , currentTargetEl , tokenInChart , setTokenAddressInChart , onOpenCandleChart , onClickTokenItem } = param;\n const trans = (0,useTrans/* default */.Z)();\n const isOpen = Boolean(currentTargetEl);\n const popoverId = isOpen ? \"three-dots-popover\" : undefined;\n const tokenMinForChart = (currentTargetEl === null || currentTargetEl === void 0 ? void 0 : currentTargetEl.getAttribute(\"data-token-mint-for-chart\")) || \"\";\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n gap: \"8px\",\n children: [\n isLoading && /*#__PURE__*/ (0,jsx_runtime.jsx)(mobile_view_loading, {}),\n !isLoading && topCoinsData.length === 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)(mobile_view_empty, {}),\n !isLoading && topCoinsData.map((data)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"cursor-pointer rounded-lg bg-[#1F2A3A] p-4\",\n gap: \"12px\",\n onClick: ()=>onClickTokenItem(data),\n \"data-testid\": \"top-coins-card-mobile-\".concat(data.symbol),\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(view_token_name, {\n data: data\n }),\n data.isHasChart && /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n \"aria-describedby\": popoverId,\n \"data-token-mint-for-chart\": data.isHasChart ? data.tokenMint : undefined,\n onClick: (evt)=>{\n evt.stopPropagation();\n onOpenMoreMenu(evt);\n },\n className: \"rounded-lg p-0 w-[24px] h-[24px] min-w-0\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(MoreVert/* default */.Z, {\n className: \"w-[24px] h-[24px]\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n gap: \"12px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"flex-1\",\n gap: \"2px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-[#9CA3AE] text-xs\",\n children: trans.core_tokens_list.table_headers.balance\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-base font-bold\",\n children: data.userBalance\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"flex-1\",\n gap: \"2px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-[#9CA3AE] text-xs\",\n children: \"24h %\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n className: \"text-base font-bold\",\n style: getColorStyle(data.diff24Hours),\n children: [\n data.diff24Hours ? (0,numeric/* format */.WU)(data.diff24Hours, {\n sign: true\n }) : 0,\n \"%\"\n ]\n })\n ]\n })\n ]\n }),\n (columnAction === null || columnAction === void 0 ? void 0 : columnAction.key) === COLUMNS_KEY.actionsSpot ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n gap: \"12px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n \"data-testid\": \"\".concat(data.symbol, \"-withdraw-btn\"),\n onClick: (evt)=>{\n var _columnAction_onClick;\n evt.stopPropagation();\n columnAction === null || columnAction === void 0 ? void 0 : (_columnAction_onClick = columnAction.onClick) === null || _columnAction_onClick === void 0 ? void 0 : _columnAction_onClick.call(columnAction, data, ACTION_TYPE.withdraw);\n },\n className: \"flex-1 capitalize text-xs font-semibold rounded-lg p-2 min-w-[90px] border border-solid border-[#61667E] text-[#C2CBD9]\",\n children: trans.common.withdraw\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n \"data-testid\": \"\".concat(data.symbol, \"-deposit-btn\"),\n onClick: (evt)=>{\n var _columnAction_onClick;\n evt.stopPropagation();\n columnAction === null || columnAction === void 0 ? void 0 : (_columnAction_onClick = columnAction.onClick) === null || _columnAction_onClick === void 0 ? void 0 : _columnAction_onClick.call(columnAction, data, ACTION_TYPE.deposit);\n },\n className: \"flex-1 capitalize text-xs font-semibold rounded-lg p-2 min-w-[90px] bg-gradient-btn\",\n children: trans.common.deposit\n })\n ]\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n \"data-testid\": \"\".concat(data.symbol, \"-do-swap-btn\"),\n onClick: (evt)=>{\n var _columnAction_onClick;\n evt.stopPropagation();\n columnAction === null || columnAction === void 0 ? void 0 : (_columnAction_onClick = columnAction.onClick) === null || _columnAction_onClick === void 0 ? void 0 : _columnAction_onClick.call(columnAction, data, ACTION_TYPE.trade);\n },\n className: \"capitalize bg-gradient-btn text-xs font-semibold rounded-lg p-2 min-w-[150px]\",\n children: trans.core_tokens_list.trade\n })\n })\n ]\n }, data.id);\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Popover/* default */.ZP, {\n id: popoverId,\n open: isOpen,\n anchorEl: currentTargetEl,\n onClose: onCloseMoreMenu,\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"right\"\n },\n classes: {\n paper: \"bg-[#141A23] rounded-lg p-2 bg-none shadow-none\"\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n \"data-testid\": \"btn-open-chart-mobile\",\n onClick: (evt)=>{\n evt.stopPropagation();\n onOpenCandleChart(tokenMinForChart);\n },\n className: \"text-white py-[10px] px-4 whitespace-nowrap text-sm capitalize\",\n children: trans.core_tokens_list.open_chart\n })\n }),\n tokenInChart && /*#__PURE__*/ (0,jsx_runtime.jsx)(Drawer/* default */.ZP, {\n anchor: \"bottom\",\n open: true,\n onClose: ()=>setTokenAddressInChart(\"\"),\n sx: {\n \".MuiPaper-elevation\": {\n backgroundColor: \"transparent\",\n backgroundImage: \"none\",\n maxHeight: \"50vh\"\n }\n },\n \"data-testid\": \"top-coins-chart-mobile\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(CandleChartBox/* default */.Z, {\n tokenIn: tokenInChart.tokenA,\n tokenOut: tokenInChart.tokenB,\n onHideChart: ()=>setTokenAddressInChart(\"\")\n })\n })\n ]\n });\n};\n/* harmony default export */ var mobile_view = (/*#__PURE__*/(0,react.memo)(mobile_view_View));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/mobile/container.tsx\n\n\n\n\n\nconst mobile_container_Container = (param)=>{\n let { topCoinsData , isLoading , columns , onClickTokenItem } = param;\n const { tokenListMap , reUsdTokenInfo } = (0,use_tokens/* default */.Co)();\n const columnAction = (0,react.useMemo)(()=>{\n return columns.find((col)=>[\n COLUMNS_KEY.actionsSpot,\n COLUMNS_KEY.actionsMeme\n ].includes(col.key));\n }, [\n columns\n ]);\n const [currentTargetEl, setCurrentTargetEl] = (0,react.useState)(null);\n const [tokenAddressInChart, setTokenAddressInChart] = (0,react.useState)(\"\");\n const tokenInChart = (0,react.useMemo)(()=>{\n const tokenA = tokenListMap.get(tokenAddressInChart);\n if (tokenA && tokenA.address !== reUsdTokenInfo.address) {\n return {\n tokenA,\n tokenB: reUsdTokenInfo\n };\n }\n return null;\n }, [\n tokenListMap,\n tokenAddressInChart,\n reUsdTokenInfo\n ]);\n const onOpenMoreMenu = (0,react.useCallback)((event)=>{\n setCurrentTargetEl(event.currentTarget);\n }, []);\n const onCloseMoreMenu = (0,react.useCallback)(()=>{\n setCurrentTargetEl(null);\n }, []);\n const onOpenCandleChart = (0,react.useCallback)((tokenMint)=>{\n setCurrentTargetEl(null);\n setTokenAddressInChart(tokenMint);\n }, []);\n const computedProps = {\n topCoinsData,\n isLoading,\n onOpenMoreMenu,\n onCloseMoreMenu,\n columnAction,\n currentTargetEl,\n tokenInChart,\n onOpenCandleChart,\n setTokenAddressInChart,\n onClickTokenItem\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(mobile_view, {\n ...computedProps\n });\n};\n/* harmony default export */ var mobile_container = (mobile_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/mobile/index.tsx\n\n\n// EXTERNAL MODULE: ./node_modules/@mui/material/Input/Input.js\nvar Input = __webpack_require__(79332);\n;// CONCATENATED MODULE: ./src/components/top-coins/list/styles.tsx\n\n\nconst StyledInput = (0,styled/* default */.ZP)((props)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(Input/* default */.Z, {\n ...props\n }))(()=>({\n \"&\": {\n padding: \"9px 8px\",\n borderRadius: \"8px\",\n border: \"1px solid #9CA3AE\",\n backgroundColor: \"#2E3846\",\n fontSize: \"14px\",\n lineHeight: \"20px\"\n },\n \"& .MuiInput-input\": {\n padding: \"0 0 0 8px\",\n color: \"#9CA3AE\",\n height: \"20px\",\n \"::placeholder\": {\n color: \"#9CA3AE\"\n }\n }\n }));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/view.tsx\n\n\n\n\n\n\n\n\n\n\n\nconst list_view_View = (param)=>{\n let { columns , isLoading , isDesktop , currentTab , searchName , topCoinsData , methodSelectionRendered , showEuro2024Tab , onChangeTab , setSearchName , onClickTokenItem } = param;\n const trans = (0,useTrans/* default */.Z)();\n const computedCommonProps = {\n columns,\n isLoading,\n topCoinsData,\n onClickTokenItem\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n gap: \"16px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"md:flex-row items-center\",\n gap: \"12px\",\n justifyContent: \"space-between\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n className: \"w-full md:w-auto rounded-lg p-[6.5px] bg-[#121823]/[0.32]\",\n gap: \"12px\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n className: classnames_default()(\"uppercase p-[8px] text-xs text-[#C2CBD9] rounded-[4px] flex-1 md:min-w-[140px] font-semibold opacity-40\", {\n \"!bg-[#1E2735] !opacity-100\": currentTab === TOP_COINS_TAB.spot\n }),\n onClick: ()=>onChangeTab(TOP_COINS_TAB.spot),\n children: trans.core_tokens_list.spot\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n className: classnames_default()(\"uppercase p-[8px] text-xs text-[#C2CBD9] rounded-[4px] flex-1 md:min-w-[140px] font-semibold opacity-40\", {\n \"!bg-[#1E2735] !opacity-100\": currentTab === TOP_COINS_TAB.meme\n }),\n onClick: ()=>onChangeTab(TOP_COINS_TAB.meme),\n children: \"Meme\"\n }),\n showEuro2024Tab && /*#__PURE__*/ (0,jsx_runtime.jsx)(Button_Button/* default */.Z, {\n className: classnames_default()(\"uppercase p-[8px] text-xs text-[#C2CBD9] rounded-[4px] flex-1 md:min-w-[140px] font-semibold opacity-40\", {\n \"!bg-[#1E2735] !opacity-100\": currentTab === TOP_COINS_TAB.euro2024\n }),\n onClick: ()=>onChangeTab(\"euro2024\"),\n children: \"Euro 2024\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledInput, {\n fullWidth: false,\n disableUnderline: true,\n placeholder: trans.core_tokens_list.search_name_placeholder,\n startAdornment: /*#__PURE__*/ (0,jsx_runtime.jsx)(IconSearch/* default */.Z, {\n width: 20,\n color: \"#9CA3AE\"\n }),\n className: \"w-full md:w-[343px] max-w-full\",\n value: searchName,\n onChange: (evt)=>setSearchName(evt.target.value),\n \"data-testid\": \"top-coins-search\"\n })\n ]\n }),\n isDesktop ? /*#__PURE__*/ (0,jsx_runtime.jsx)(desktop, {\n ...computedCommonProps\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(mobile_container, {\n ...computedCommonProps\n }),\n methodSelectionRendered\n ]\n });\n};\n/* harmony default export */ var list_view = (/*#__PURE__*/(0,react.memo)(list_view_View));\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/container.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst list_container_Container = ()=>{\n const router = (0,next_router.useRouter)();\n const trans = (0,useTrans/* default */.Z)();\n const theme = (0,useTheme/* default */.Z)();\n const { balances } = (0,use_balances/* useBalances */.l)();\n const { tokenListMap } = (0,use_tokens/* default */.Co)();\n const { params , replaceState } = (0,use_mutable_search_params/* default */.Z)();\n const [currentTab, setCurrentTab] = (0,react.useState)(TOP_COINS_TAB.spot);\n const [searchName, setSearchName] = (0,react.useState)(\"\");\n const isDesktop = (0,useMediaQuery/* default */.Z)(theme.breakpoints.up(\"lg\"));\n const [selectedTokenInfo, setSelectedTokenInfo] = (0,react.useState)();\n const { data: settingsData , isFetching: isFetchingSettings } = (0,use_settings/* useSettings */.r)();\n const showEuro2024Tab = Boolean(settingsData === null || settingsData === void 0 ? void 0 : settingsData.nemo_swap_assets_euro2024_token_list_enabled);\n const { data: topCoins = [] , isLoading } = (0,use_nemo_apis/* useFetchTopCoinList */.PE)(currentTab === TOP_COINS_TAB.meme ? showEuro2024Tab ? [\n \"Meme\"\n ] : [\n \"Meme\",\n \"Euro 2024\"\n ] : currentTab === TOP_COINS_TAB.euro2024 ? [\n \"Euro 2024\"\n ] : undefined);\n const { openDepositModal , openWithdrawModal , rendered: methodSelectionRendered } = (0,use_assets_method_selection_flow/* default */.Z)();\n const onChangeTab = (0,react.useCallback)((newTab)=>{\n setCurrentTab(newTab);\n setSearchName(\"\");\n replaceState({\n tab: newTab\n }, true);\n }, [\n replaceState\n ]);\n (0,react.useEffect)(()=>{\n if (params.tab && params.tab in TOP_COINS_TAB) {\n setCurrentTab(TOP_COINS_TAB[params.tab]);\n }\n }, [\n params.tab\n ]);\n (0,react.useEffect)(()=>{\n if (!isFetchingSettings && settingsData && !settingsData.nemo_swap_assets_euro2024_token_list_enabled && currentTab === TOP_COINS_TAB.euro2024) {\n onChangeTab(TOP_COINS_TAB.meme);\n }\n }, [\n currentTab,\n isFetchingSettings,\n onChangeTab,\n settingsData\n ]);\n const topCoinsSearched = (0,react.useMemo)(()=>{\n const searchNameFormatted = searchName.trim().toLowerCase();\n if (!searchNameFormatted) return topCoins;\n return topCoins.filter((token)=>{\n const name = token.token_name.toLowerCase();\n const symbol = token.token_symbol.toLowerCase();\n return name.includes(searchNameFormatted) || symbol.includes(searchNameFormatted);\n });\n }, [\n topCoins,\n searchName\n ]);\n const topCoinsData = (0,react.useMemo)(()=>{\n return topCoinsSearched.map((token)=>{\n return mapDataTopCoinToken(token, balances[token.token_symbol]);\n }).filter((token)=>!use_deposit_token_options/* BLACK_LIST_TOKENS_SYMBOLS.includes */.q.includes(token.symbol));\n }, [\n topCoinsSearched,\n balances\n ]);\n const onClickAction = (0,react.useCallback)((data, type)=>{\n if (type === ACTION_TYPE.trade) {\n router.push(getTradeRoute(data.symbol));\n return;\n }\n const tokenInfo = tokenListMap.get(data.tokenMint);\n if (tokenInfo && type === ACTION_TYPE.deposit) {\n openDepositModal(tokenInfo);\n }\n if (tokenInfo && type === ACTION_TYPE.withdraw) {\n openWithdrawModal(tokenInfo);\n }\n }, [\n tokenListMap,\n router,\n openDepositModal,\n openWithdrawModal\n ]);\n const columns = (0,react.useMemo)(()=>{\n return [\n {\n key: COLUMNS_KEY.index,\n label: \"#\"\n },\n {\n key: COLUMNS_KEY.tokenName,\n label: trans.core_tokens_list.table_headers.token_name\n },\n {\n key: COLUMNS_KEY.balances,\n label: trans.core_tokens_list.table_headers.balance\n },\n currentTab === TOP_COINS_TAB.spot && [\n {\n key: COLUMNS_KEY.volume24h,\n label: trans.core_tokens_list.token_detail.volume_24h\n }\n ],\n currentTab !== TOP_COINS_TAB.spot && [\n {\n key: COLUMNS_KEY.marketCap,\n label: trans.core_tokens_list.table_headers.market_cap\n },\n {\n key: COLUMNS_KEY.holders,\n label: \"Holders\"\n }\n ],\n {\n key: COLUMNS_KEY.diff24Hours,\n label: \"24h %\"\n },\n {\n key: COLUMNS_KEY.chart,\n label: trans.core_tokens_list.last_7_days\n },\n {\n key: currentTab === TOP_COINS_TAB.spot ? COLUMNS_KEY.actionsSpot : COLUMNS_KEY.actionsMeme,\n label: \"\",\n onClick: onClickAction\n }\n ].flat().filter(Boolean);\n }, [\n trans,\n currentTab,\n onClickAction\n ]);\n const onClickTokenItem = (0,react.useCallback)((data)=>{\n setSelectedTokenInfo(topCoins.find((item)=>item.coin_address === data.tokenMint));\n }, [\n topCoins\n ]);\n const onHandleCloseTokenInfo = (0,react.useCallback)(()=>{\n setSelectedTokenInfo(undefined);\n }, []);\n const computedProps = {\n isLoading,\n currentTab,\n searchName,\n setSearchName,\n topCoinsData,\n columns,\n isDesktop,\n onChangeTab,\n onClickTokenItem,\n methodSelectionRendered,\n showEuro2024Tab\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(list_view, {\n ...computedProps\n }),\n selectedTokenInfo && /*#__PURE__*/ (0,jsx_runtime.jsx)(core_tokens_list_TokenDetailDialog, {\n token: selectedTokenInfo,\n handleClose: onHandleCloseTokenInfo\n })\n ]\n });\n};\n/* harmony default export */ var list_container = (list_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/list/index.tsx\n\n\n;// CONCATENATED MODULE: ./src/components/top-coins/container.tsx\n\n\n\n\nconst top_coins_container_Container = ()=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"sm:my-10 my-6 gap-[12px] lg:gap-[30px]\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(banner_container, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(list_container, {})\n ]\n });\n};\n/* harmony default export */ var top_coins_container = (top_coins_container_Container);\n\n;// CONCATENATED MODULE: ./src/components/top-coins/index.tsx\n\n\n// EXTERNAL MODULE: ./src/layouts/MainLayout/index.tsx + 28 modules\nvar MainLayout = __webpack_require__(72026);\n;// CONCATENATED MODULE: ./src/pages/assets/index.nemo.tsx\n\n\n\n\n\n\n\nconst TopCoins = ()=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(MainLayout/* MainLayout */.Z, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(WrappedTokensFlow_context/* WrapperTokensFlowProvider */.hf, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(context/* AssetWithdrawalProvider */.b2, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(TokenPickerRevamp_context/* default */.Z, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(top_coins_container, {})\n })\n })\n })\n });\n};\nvar __N_SSP = true;\n/* harmony default export */ var index_nemo = (TopCoins);\n\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [3714,7357,6571,3419,3595,7333,7375,2054,2763,7585,4430,2929,4907,9774,2888,179], function() { return __webpack_exec__(65346); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__unused_webpack_exports","__webpack_require__","window","__NEXT_P","__webpack_exports__","d","WrappedTokensFlowContext","WrapperTokensFlowProvider","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_1__","_hooks_use_balances__WEBPACK_IMPORTED_MODULE_2__","_hooks_use_deposit_token_options__WEBPACK_IMPORTED_MODULE_3__","createContext","selectedToken","setSelectedToken","prevTokenBalance","tokenOptions","children","param","balances","l","useState","Z","useMemo","symbol","ctxValue","jsx","Provider","value","_mui_material__WEBPACK_IMPORTED_MODULE_10__","lightweight_charts__WEBPACK_IMPORTED_MODULE_1__","react__WEBPACK_IMPORTED_MODULE_2__","react_query__WEBPACK_IMPORTED_MODULE_3__","_hooks_use_resize_observer__WEBPACK_IMPORTED_MODULE_4__","_providers_liquidity_chart__WEBPACK_IMPORTED_MODULE_5__","_providers_liquidity_chart_candle_utils__WEBPACK_IMPORTED_MODULE_6__","_utils_apis_tickers__WEBPACK_IMPORTED_MODULE_7__","_use_price_socket__WEBPACK_IMPORTED_MODULE_8__","_utils__WEBPACK_IMPORTED_MODULE_9__","Simple24hLineChart","options","tokenA","tokenB","onCandleListUpdated","onPriceSentFromSocket","candleWindowSize","timeFrame","span","zI","queryClient","useQueryClient","element","setElement","chart","setChart","series","setSeries","lastMessage","tokenPair","o","of","candles","updateAll","updateLast","Zv","useEffect","setData","G5","slice","C2","crosshair","mode","rM","Hidden","grid","horzLines","visible","vertLines","layout","background","color","leftPriceScale","rightPriceScale","timeScale","fixLeftEdge","fixRightEdge","addLineSeries","baseLineWidth","lineWidth","priceLineVisible","subscribeDataChanged","fitContent","c2","chartRemoved","fetchQuery","_q","ch","Tp","then","tickerData","remove","undefined","data","mergedCandle","PV","length","firstCandle","lastCandle","open","close","applyOptions","ref","className","orderTokenInfosByUiQuote","_solana_web3_js__WEBPACK_IMPORTED_MODULE_0__","_hooks_use_tokens__WEBPACK_IMPORTED_MODULE_1__","FIAT_TOKENS","PW","f_","orderTokensByUiQuote","defaultOrder","currentPair","arguments","equals","filter","mint","token0","token1","isToken0Fiat","includes","toBase58","isToken1Fiat","Df","vV","PublicKey","address","isFirstToken0","BLACK_LIST_TOKENS_SYMBOLS","react__WEBPACK_IMPORTED_MODULE_0__","_hooks_use_nemo_apis__WEBPACK_IMPORTED_MODULE_1__","_utils_apis_helper__WEBPACK_IMPORTED_MODULE_2__","useDepositTokenOptions","coreTokens","isLoading","isFetchingCoreTokens","PE","token","token_symbol","map","ZO","r","__N_SSP","index_nemo","jsx_runtime","react","context","TokenPickerRevamp_context","WrappedTokensFlow_context","Stack","next_router","use_tokens","Box","Typography","build","View","onClickToken","tokensList","direction","gap","flexWrap","jsxs","display","alignItems","flexDirection","onClick","concat","LazyLoadImage","src","logoURI","alt","width","height","displaySymbol","view","memo","Container","reUsdTokenInfo","tokenListMap","Co","get","js","DX","Boolean","container_Container","useContext","jc","setIsOpenPicker","V","useCallback","DepositTopTokensList_container_Container","H$","MethodSelectionDialog","use_deposit_token_options","use_settings","dist","numeric","TOP_COINS_TAB","spot","meme","euro2024","COLUMNS_KEY","index","tokenName","marketCap","holders","volume24h","diff24Hours","actionsSpot","actionsMeme","ACTION_TYPE","trade","withdraw","deposit","calculateMarketCap","_token_price","_token_metadata","price","current_price","metadata","total_supply","currentPrice","currentSupply","WU","DecimalUtil","fromNumber","mul","getTradeRoute","tokenSymbol","isDeposit","getColorStyle","diffNumber","mapDataTopCoinToken","tokenBalance","_token_chart_data","_token_price1","id","logo","logo_url","tokenMint","coin_address","token_name","marketCapFormatted","holders_count","isHasChart","Number","chart_data","diff_24_hours_percent","userBalance","decimals","desiredLength","rounding","volume_24h","Intl","NumberFormat","style","currency","notation","maximumSignificantDigits","format","CURRENT_TYPE","classnames","classnames_default","n","DialogContent","Modal","ModalLayout","use_nemo_wallet","useTrans","Button","WithdrawalConnectWallet","trans","connectWallet","handleClick","asset_withdrawal","you_can_trade","connect_first","variant","fullWidth","size","common","connect_wallet","decimal","use_event_callback","ExpandMore","Button_Button","InputBase","Menu","MenuItem","Select","next_image","image_default","wallet","BaseAmountInput","SelectTokenItem","selectStyles","paddingTop","paddingBottom","content","CheckCircle","WithdrawalFormSuccess","inputAmount","closeButtonVisibility","spacing","justifyContent","you_withdrew","g1","click","disabled","title","view_View","selectedNetwork","onChangeToken","isNetworkMenuOpened","setIsNetworkMenuOpened","networkOptions","onChangeNetwork","toWalletAddress","setToWalletAddress","onInputAmountChange","isSubmitSucceeded","submitButtonVisibility","currentTokenBalance","handleInputMaximumBalance","handleSubmit","anchorElRef","useRef","isShowMenuNetwork","String","you_withdrawing","sx","IconComponent","onChange","renderValue","find","name","through_network","chain_name_abbr","select_network","anchorEl","current","onClose","network","chain_name","Fragment","withdraw_to_wallet_address","ZP","placeholder","wallet_address","v","target","required","inputProps","amount","max","loading","WithdrawalForm_view","WithdrawalForm_container_Container","onSubmit","publicKey","setSelectedNetwork","setInputAmount","inValidInputAmountMsg","issues","no_token_info","enter_wallet_address","isMissingInputAmount","lessThanOrEqualTo","enter_amount","inputAmountDecimalNumber","isExceededBalance","greaterThan","insufficient_balance","invalidInput","withdraw_token","btn_close","back","newInputAmount","ci","isFinite","toNumber","$","e","isNaN","evt","classesDialog","root","WithdrawalModal_container_Container","submitWithdrawByRenecNetwork","isModalOpened","modalTitle","withdrawing","handleCloseModal","classes","isDisplayBtnClose","footer","powered_by_remitano","TokenPickerRevamp","ModalTokensFlow","useTheme","useMediaQuery","Drawer","method_selection_dialog_view_View","isOpen","isDesktop","isDepositing","methodOptions","renderedContent","isInsideDrawer","method","type","dataTestID","icon","description","anchor","backgroundColor","backgroundImage","method_selection_dialog_view","method_selection_dialog_container_Container","currentType","theme","breakpoints","up","core_tokens_list","bank","z","swap_with_others","swapOthers","banner_view_View","onClickType","onPickAToken","topTokensPickerSlot","isOpenMethodSelection","onCloseMethodSelection","onSelectMethod","showEuro2024Banner","top_coins","W","nickName","isDisplayActionView","isDisplayHighlightMessage","slot","banner_view","banner_container_Container","router","useRouter","settingsData","fiatTokensList","tokenFiatOptions","setCurrentType","currentMethod","setCurrentMethod","setSelectedDepositToken","setSelectedWithdrawToken","setIsOpenMethodSelection","depositTokenOptions","newType","newMethod","computedProps","nemo_swap_assets_euro2024_token_list_enabled","use_assets_method_selection_flow","Link","linkify_react_es","AddressSpanWithCopyButton","BaseDialog","helpers","TokenDetailDialog","handleClose","props","token_detail","isOpened","body","fontWeight","fontSize","table_headers","about","overflow","link","href","$U","website","button","core_tokens_list_TokenDetailDialog","use_balances","use_mutable_search_params","use_nemo_apis","IconSearch","TableBody","TableContainer","simple_24h_line_chart","IconExport","viewBox","fill","xmlns","stroke","strokeWidth","strokeLinecap","strokeLinejoin","view_token_name_View","rel","stopPropagation","view_token_name","styled","TableCell","TableRow","TableHead","Table","StyledTableCell","lineHeight","padding","border","paddingLeft","StyledTableRow","borderBottom","StyledTableHead","StyledTable","borderRadius","item_view_View","columns","onClickTokenItem","col","key","sign","_col_onClick","call","item_view","item_container_Container","item_container","IconNoData","view_empty_View","colSpan","align","no_data","view_empty","CircularProgress","view_loading_View","TopCoinsTable","topCoinsData","label","idx","desktop","MoreVert","Popover","CandleChartBox","mobile_view_empty_View","mobile_view_loading_View","mobile_view_View","columnAction","onOpenMoreMenu","onCloseMoreMenu","currentTargetEl","tokenInChart","setTokenAddressInChart","onOpenCandleChart","popoverId","tokenMinForChart","getAttribute","balance","_columnAction_onClick","anchorOrigin","vertical","horizontal","paper","open_chart","maxHeight","tokenIn","tokenOut","onHideChart","mobile_view","mobile_container_Container","setCurrentTargetEl","tokenAddressInChart","event","currentTarget","Input","StyledInput","list_view_View","currentTab","searchName","methodSelectionRendered","showEuro2024Tab","onChangeTab","setSearchName","computedCommonProps","disableUnderline","search_name_placeholder","startAdornment","list_view","list_container_Container","params","replaceState","setCurrentTab","selectedTokenInfo","setSelectedTokenInfo","isFetching","isFetchingSettings","topCoins","openDepositModal","openWithdrawModal","rendered","newTab","tab","topCoinsSearched","searchNameFormatted","trim","toLowerCase","q","onClickAction","tokenInfo","market_cap","last_7_days","flat","item","onHandleCloseTokenInfo","top_coins_container_Container","MainLayout","TopCoins","hf","b2","O","s","_N_E"],"sourceRoot":""}