{"version":3,"file":"static/chunks/2929-35f000ee1fe4f636.js","mappings":"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","sources":["webpack://_N_E/./src/assets/svgs/wallet.svg","webpack://_N_E/./src/components/base/BaseAmountInput.tsx","webpack://_N_E/./src/components/base/CustomNumericFormat.tsx","webpack://_N_E/./src/components/base/IconNoData.tsx","webpack://_N_E/./src/components/base/IconSearch.tsx","webpack://_N_E/./src/components/base/NumericOutput.tsx","webpack://_N_E/./src/components/base/TokenPickerRevamp/context.tsx","webpack://_N_E/./src/components/base/TokenPickerRevamp/styles.tsx","webpack://_N_E/./src/components/base/TokenPickerRevamp/TokenListItem/index.tsx","webpack://_N_E/./src/components/base/TokenPickerRevamp/TokenList/utils.ts","webpack://_N_E/./src/components/base/TokenPickerRevamp/TokenList/container.tsx","webpack://_N_E/./src/components/base/TokenPickerRevamp/TokenList/index.tsx","webpack://_N_E/./src/components/base/TokenPickerRevamp/container.tsx","webpack://_N_E/./src/components/base/TokenPickerRevamp/index.tsx","webpack://_N_E/./src/assets/svgs/arrow-down.svg","webpack://_N_E/./src/components/base/TokenPickerRevamp/view.tsx","webpack://_N_E/./src/components/chart/container.tsx","webpack://_N_E/./src/components/chart/index.ts","webpack://_N_E/./src/components/chart/use-price-socket.tsx","webpack://_N_E/./src/components/chart/utils.ts","webpack://_N_E/./src/components/common/CandleChartBox.tsx","webpack://_N_E/./src/hooks/use-confirmation-transaction.ts","webpack://_N_E/./src/hooks/use-gasless-handling.ts","webpack://_N_E/./src/hooks/use-safely-send-tx-with-notice.tsx","webpack://_N_E/./src/utils/dict.ts","webpack://_N_E/./src/utils/apis/tickers.ts","webpack://_N_E/"],"sourcesContent":["export default {\"src\":\"/_next/static/media/wallet.783192ea.svg\",\"height\":18,\"width\":18};","import { type InputBaseProps } from '@mui/material'\nimport InputBase from '@mui/material/InputBase'\nimport { memo } from 'react'\n\nimport CustomNumericFormat from '@/components/base/CustomNumericFormat'\nimport { useEventCallback } from '@/utils/use-event-callback'\n\nexport type BaseAmountInputProps = InputBaseProps & {\n value?: number\n maxLimit?: number\n decimals?: number\n debounceMilliseconds?: number\n}\n\nconst BaseAmountInput = ({ inputProps, maxLimit, decimals = 9, debounceMilliseconds, ...props }: BaseAmountInputProps) => {\n const onInputFocus = useEventCallback((event: React.FocusEvent) => {\n if (Number(event.target.value) === 0) {\n event.target.select()\n }\n })\n\n return (\n \n )\n}\n\nexport default memo(BaseAmountInput)\n","import Decimal from 'decimal.js'\nimport { forwardRef, useEffect, useRef, useState } from 'react'\nimport { NumericFormat, NumericFormatProps } from 'react-number-format'\n\ntype CustomTarget = { name?: string; value: string, floatValue?: number }\ntype CustomProps = Omit & {\n value?: number\n onChange?: (event: { target: CustomTarget }) => void\n name?: string\n maxLimit?: number\n debounceMilliseconds?: number\n}\nexport type HTMLCustomNumericElement = HTMLInputElement & {\n name?: string\n value: string\n floatValue?: number\n}\n\nconst DEFAULT_MAX_LIMIT = 1e10 // 10,000,000,000\n\nconst CustomNumericFormat = forwardRef(\n function NumericFormatCustom(props, ref) {\n const { onChange, maxLimit, value, debounceMilliseconds, ...other } = props\n const [inputValue, setInputValue] = useState('')\n const [focused, setFocused] = useState(false)\n const timeoutId = useRef(null)\n\n useEffect(() => {\n if (!focused && (value || inputValue)) {\n setInputValue(value != null ? new Decimal(Number(value)).toFixed() : '')\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focused, value])\n\n return (\n {\n setInputValue(value)\n const params = {\n ...event,\n target: {\n ...event.target,\n name: props.name,\n floatValue,\n value,\n },\n }\n if (debounceMilliseconds) {\n timeoutId.current && clearTimeout(timeoutId.current)\n timeoutId.current = setTimeout(() => {\n onChange?.(params)\n }, debounceMilliseconds)\n } else {\n onChange?.(params)\n }\n }}\n thousandSeparator\n valueIsNumericString\n allowedDecimalSeparators={[',']}\n isAllowed={(values) => {\n const floatValue = values.floatValue || 0\n return floatValue <= (maxLimit || DEFAULT_MAX_LIMIT)\n }}\n onBlur={(event) => {\n setFocused(false)\n other.onBlur?.(event)\n }}\n onFocus={(event) => {\n setFocused(true)\n other.onFocus?.(event)\n }}\n inputMode=\"decimal\"\n />\n )\n },\n)\n\nexport default CustomNumericFormat\n","const IconNoData = () => {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default IconNoData\n","type Props = {\n color?: string\n width?: number\n}\n\nconst IconSearch = ({ color = '#61667E', width = 24 }: Props) => {\n return (\n \n \n \n )\n}\n\nexport default IconSearch\n","import Decimal from 'decimal.js'\n\nimport { format, NumericFormatterConfig } from '@/utils/numeric'\n\ntype NumericOutputProps = NumericFormatterConfig & { value?: Decimal.Value | null | undefined }\n\n/**\n * A wrapper of the {@link format} method from numeric utility.\n */\nconst NumericOutput = ({ value, ...props }: NumericOutputProps) => {\n return <>{format(value, props)}\n}\n\nexport default NumericOutput\n","import { createContext, Dispatch, SetStateAction, useMemo, useState } from 'react'\n\ntype ContextType = {\n isOpenPicker: boolean\n setIsOpenPicker: Dispatch>\n}\n\nconst initContext = {\n isOpenPicker: false,\n setIsOpenPicker: () => null,\n}\n\nexport const TokenPickerRevampContext = createContext(initContext)\nconst TokenPickerRevampProvider = ({ children }: HocProps) => {\n const [isOpenPicker, setIsOpenPicker] = useState(false)\n\n const value = useMemo(() => ({\n isOpenPicker,\n setIsOpenPicker,\n }), [isOpenPicker, setIsOpenPicker])\n\n return (\n \n {children}\n \n )\n}\n\nexport default TokenPickerRevampProvider\n","\nimport {\n Input,\n InputProps,\n styled,\n} from '@mui/material'\n\nexport const StyledInput = styled((props: InputProps) => (\n \n))(() => ({\n '&': {\n padding: '7px 8px',\n borderRadius: '8px',\n border: '1px solid #61667E',\n backgroundColor: '#2A3748',\n fontSize: '14px',\n lineHeight: '20px',\n transition: 'border-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n },\n '& .MuiInput-input': {\n padding: '0 0 0 8px',\n },\n '&:focus-within': {\n borderColor: '#388bfd',\n boxShadow: 'rgb(12, 45, 107) 0px 0px 0px 3px',\n },\n}))\n","import WarningRoundedIcon from '@mui/icons-material/WarningRounded'\nimport { Box, Stack, useTheme } from '@mui/material'\nimport cls from 'classnames'\nimport { memo } from 'react'\n\nimport AddressSpanWithCopyButton from '@/components/base/AddressSpanWithCopyButton'\nimport { format, formatSafe } from '@/utils/numeric'\n\nimport { type TokenListItemProps } from '../types'\n\nconst TokenListItem = ({ option, nickName, onClick, balance, balanceUsd }: TokenListItemProps) => {\n const theme = useTheme()\n const isUnknownToken = option.type === 'user' && option.tags && !option.tags.length\n\n return (\n onClick(option)}\n >\n \n \n \n \n {isUnknownToken && (\n \n \n \n )}\n \n \n \n \n {option.displaySymbol}\n {isUnknownToken && (\n Unknown\n )}\n \n {balance > 0 && (\n \n {formatSafe(balance, option.decimals)}\n \n )}\n \n \n \n {balanceUsd > 0 && (\n ${format(balanceUsd)}\n )}\n \n \n \n )\n}\n\nconst memoTokenListItem = memo(TokenListItem)\nmemoTokenListItem.displayName = 'TokenListItem'\nexport default memoTokenListItem\n","import Decimal from 'decimal.js'\nimport { NextRouter } from 'next/router'\n\nexport const styling = {\n itemSize: 66,\n itemGap: 4,\n itemPerView: 6,\n}\n\nexport const listHeight = new Decimal(styling.itemSize)\n .plus(styling.itemGap)\n .times(styling.itemPerView)\n .minus(styling.itemGap)\n\nexport const calculateItemPositionTop = (index: number) => {\n return new Decimal(index)\n .times(styling.itemSize + styling.itemGap)\n .minus(index ? styling.itemGap : 0)\n .toNumber()\n}\n\nexport const clickAndOpenInNewTab = (url: string) => {\n const a = document.createElement('a')\n a.href = url\n a.target = '_blank'\n a.rel = 'noopener noreferrer'\n a.click()\n}\n\nexport const handleClickHighlightMessage = (url: string, router: NextRouter) => {\n try {\n if (url.startsWith('/')) {\n router.push(url)\n }\n\n if (/^(http|https):\\/\\//.test(url)) {\n const urlObj = new URL(url)\n const isSameSite = urlObj.origin === window.location.origin\n\n if (isSameSite) {\n router.push(urlObj.pathname)\n } else {\n clickAndOpenInNewTab(url)\n }\n }\n } catch (err) {\n //\n }\n}\n","/* eslint-disable react/prop-types */\nimport ClearIcon from '@mui/icons-material/Clear'\nimport { Box, Stack, Typography } from '@mui/material'\nimport Decimal from 'decimal.js'\nimport Image from 'next/image'\nimport { useRouter } from 'next/router'\nimport { CSSProperties, forwardRef, Ref, useCallback, useState } from 'react'\nimport { FixedSizeList as List, type ListOnItemsRenderedProps } from 'react-window'\n\nimport Button from '@/components/base/Button'\nimport IconNoData from '@/components/base/IconNoData'\nimport IconSearch from '@/components/base/IconSearch'\nimport { useBalances } from '@/hooks/use-balances'\nimport { useRemitanoRate } from '@/hooks/use-settings'\nimport useTrans from '@/hooks/useTrans'\nimport { CustomTokenInfo } from '@/utils/helpers'\nimport { IconName,staticImportIcon } from '@/utils/static-import-icon'\n\nimport BaseDialog from '../../BaseDialog'\nimport { StyledInput } from '../styles'\nimport TokenListItem from '../TokenListItem'\nimport { TokenListProps } from '../types'\nimport { calculateItemPositionTop, handleClickHighlightMessage,listHeight, styling } from './utils'\n\nconst Container = ({\n options,\n height,\n maxHeight,\n onClickTokenItem,\n search = '',\n nickName,\n onSearch,\n hasMoreTokens,\n loadMoreTokens,\n onClickClose,\n highlightMessages,\n slot,\n}: TokenListProps, ref: Ref) => {\n const trans = useTrans()\n const router = useRouter()\n const { balances } = useBalances()\n const { data: rateData } = useRemitanoRate()\n const [openWarningDialog, setOpenWarningDialog] = useState(false)\n const [warningToken, setWarningToken] = useState(null)\n\n const onSelectToken = useCallback((option: CustomTokenInfo) => {\n if (option.type === 'user' && option.tags && !option.tags.length) {\n setOpenWarningDialog(true)\n setWarningToken(option)\n } else {\n onClickTokenItem(option)\n }\n }, [onClickTokenItem])\n\n const onClickUnderstand = useCallback(() => {\n setOpenWarningDialog(false)\n if (warningToken) onClickTokenItem(warningToken)\n }, [onClickTokenItem, warningToken])\n\n const onItemsRendered = useCallback(\n async ({ visibleStopIndex }: ListOnItemsRenderedProps) => {\n if (hasMoreTokens && visibleStopIndex === options.length) {\n await loadMoreTokens()\n }\n },\n [hasMoreTokens, loadMoreTokens, options],\n )\n\n const childrenOfList = useCallback(({ index, style }: { index: number; style: CSSProperties }) => {\n const opt = options[index]\n\n if (!opt) return null\n\n const rateKey = opt.symbol.toUpperCase() as keyof typeof rateData\n const rate = rateData && rateData[rateKey] || 0\n const balance = balances[opt.symbol] || 0\n const balanceUsd = rate ? new Decimal(balance).mul(rate).toNumber() : 0\n\n return (\n \n \n \n )\n }, [options, onSelectToken, nickName, rateData, balances])\n\n const onClickHighlightMessages = useCallback(() => {\n handleClickHighlightMessage(highlightMessages.url, router)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [highlightMessages.url])\n\n return (\n <>\n {\n highlightMessages.markdown && (\n \n \n \n \n )\n }\n \n {trans.home.select_a_token}\n \n \n \n }\n className=\"w-full\"\n value={search}\n onChange={(evt) => onSearch?.(evt.target.value)}\n data-testid=\"search-coins-input\"\n />\n {slot}\n \n RENEC tokens\n \n \n {childrenOfList}\n \n {\n options.length === 0 && (\n \n \n {trans.common.token_picker_no_tokens_found}\n \n )\n }\n \n \n \n \n \"warning\"\n {trans.common.unknown_token}\n \n {trans.common.warning_unknown_token_content}\n \n \n )}\n handleClose={() => setOpenWarningDialog(false)}\n isOpened={openWarningDialog}\n isSmallPopup={true}\n button={(\n \n \n {trans.common.i_understand}\n \n setOpenWarningDialog(false)}\n >\n {trans.common.cancel}\n \n \n )}\n useDrawerOnMobile={true}\n />\n \n )\n}\n\nexport default forwardRef(Container)\n","export { default } from './container'\n","import { useMediaQuery,useTheme } from '@mui/material'\nimport { DialogContent,Drawer, Modal } from '@mui/material'\nimport { TokenInfo } from '@renec-foundation/rpl-token-registry'\nimport { useRouter } from 'next/router'\nimport { memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react'\n\nimport usePagination, { type UsePaginationParams } from '@/hooks/use-pagination'\nimport { useSettings } from '@/hooks/use-settings'\n\nimport { searchTokenFromList } from '../TokenPicker/utils'\nimport TokenPickerRevampProvider, { TokenPickerRevampContext } from './context'\nimport TokenList from './TokenList'\nimport { TokenListHighlightMessages, TokenPickerProps } from './types'\nimport View from './view'\n\nconst dialogClasses = { root: 'max-w-[488px] sm:min-w-[488px] p-0 mx-auto outline-none absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2' }\n\nexport const Container = ({\n selectedToken: initSelectedToken,\n options: tokens,\n dataTestId,\n onChangeToken,\n nickName,\n slot,\n isDisplayActionView = true,\n isDisplayHighlightMessage = true,\n}: TokenPickerProps) => {\n const theme = useTheme()\n const { locale = 'en' } = useRouter()\n const { data: settingsData } = useSettings()\n const onChangeTokenRef = useRef(onChangeToken)\n onChangeTokenRef.current = onChangeToken // No need to care whether the outside uses memo or not\n const isDesktop = useMediaQuery(theme.breakpoints.up('sm'))\n const { isOpenPicker, setIsOpenPicker } = useContext(TokenPickerRevampContext)\n const [searchStr, setSearchStr] = useState('')\n const [selectedToken, setSelectedToken] = useState(initSelectedToken)\n\n const paginationParams = useMemo>(\n () => ({\n queryKey: `tokens?keyword=${searchStr.trim().toLowerCase()}`,\n loader: () => Promise.resolve([]),\n comparator: (x, y) => x.address === y.address,\n initialData: tokens,\n itemsPerPage: 8,\n }),\n [searchStr, tokens],\n )\n\n const {\n hasMoreItems: hasMoreTokens,\n items: options,\n loadMore: loadMoreTokens,\n setItems: setAllTokens,\n } = usePagination(paginationParams)\n\n useEffect(() => {\n const searchingOptions = !searchStr ? tokens : searchTokenFromList(searchStr, options)\n setAllTokens(searchingOptions)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tokens, searchStr])\n\n useEffect(() => {\n setSelectedToken(initSelectedToken)\n }, [initSelectedToken])\n\n const handleToggleOpen = useCallback(() => {\n setIsOpenPicker(o => !o)\n setSearchStr('')\n }, [setIsOpenPicker])\n\n const handleClickTokenItem = useCallback((token: TokenInfo) => {\n setSelectedToken(token)\n onChangeTokenRef.current(token)\n setIsOpenPicker(false)\n }, [onChangeTokenRef, setIsOpenPicker])\n\n const highlightMessages = useMemo(() => {\n const emptyValue = {\n url: '',\n markdown: '',\n }\n if (!isDisplayHighlightMessage) return emptyValue\n const returnedValue = settingsData?.highlight_messages?.[locale] || emptyValue\n return returnedValue as TokenListHighlightMessages\n }, [settingsData, locale, isDisplayHighlightMessage])\n\n const injectedProps = {\n nickName,\n options,\n search: searchStr,\n onSearch: setSearchStr,\n onClickTokenItem: handleClickTokenItem,\n hasMoreTokens,\n loadMoreTokens,\n onClickClose: handleToggleOpen,\n highlightMessages,\n slot,\n }\n\n return (\n <>\n {\n isDisplayActionView && (\n \n )\n }\n {\n isDesktop ? (\n \n \n \n \n \n ): (\n \n \n \n )\n }\n \n )\n}\n\nconst ContainerWithProvider = (props: TokenPickerProps) => {\n return \n}\n\nexport default memo(ContainerWithProvider)\n","export { default } from './container'\nexport * from './container'\n","export default {\"src\":\"/_next/static/media/arrow-down.ac91f248.svg\",\"height\":12,\"width\":12};","import { Box, Stack, Typography } from '@mui/material'\nimport cls from 'classnames'\nimport Image from 'next/image'\nimport { forwardRef } from 'react'\n\nimport ArrowDownIcon from '@/assets/svgs/arrow-down.svg'\nimport useTrans from '@/hooks/useTrans'\n\nimport { TokenPickerViewProps } from './types'\n\nconst View = forwardRef(\n ({ dataTestId, token, clickable = true, onClick }, ref) => {\n const trans = useTrans()\n\n return (\n \n \n \n {\n token ? (\n <>\n \n \n \n \n { token.displaySymbol }\n \n \n ) : (\n \n {trans.home.select_token}\n \n )\n }\n \n {clickable && (\n \n )}\n \n \n )\n },\n)\n\nView.displayName = 'TokenPickerRevampView'\nexport default View\n","import { Box, Stack, Typography } from '@mui/material'\nimport cls from 'classnames'\nimport { colord } from 'colord'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useQueryClient } from 'react-query'\n\nimport { useLiquidityChart } from '@/providers/liquidity-chart'\nimport { TokenPair } from '@/providers/liquidity-chart/candle-utils'\nimport { getTickers, secondsToTickerTimeFrame, tickerTimeFrameToSeconds } from '@/utils/apis/tickers'\nimport { format } from '@/utils/numeric'\n\nimport NumericOutput from '../base/NumericOutput'\nimport { PriceChartProps } from './types'\nimport usePriceSocket from './use-price-socket'\nimport { getQueryKeyTickers, getQueryOptionsTickers, mergeOrStartNewCandle, orderTokensLikeBE } from './utils'\n\nconst SpanOption = ({\n active,\n color,\n onClick,\n text,\n}: {\n active: boolean\n color: string\n onClick: () => void\n text: string\n}) => (\n \n {text}\n \n)\n\nconst DefaultFormatterConfig = { desiredLength: 7 }\n\nconst Container = ({\n theme,\n timeFrame = 'one_hour',\n tokenA,\n tokenB,\n tz = 0,\n onCandleListUpdated,\n onPriceSentFromSocket,\n onTimeFrameChange,\n}: PriceChartProps) => {\n const queryClient = useQueryClient()\n\n const [element, setElement] = useState(null)\n const [span, setSpan] = useState(tickerTimeFrameToSeconds[timeFrame])\n const [tokenIn, tokenOut] = useMemo(() => orderTokensLikeBE(tokenA, tokenB), [tokenA, tokenB])\n\n const [changeRate] = useState(0)\n\n const { lastMessage } = usePriceSocket(tokenIn, tokenOut)\n\n const fetchCandleData = useCallback(async () => {\n const tickerData = await queryClient.fetchQuery(\n getQueryKeyTickers(tokenA, tokenB, span),\n () => getTickers(tokenA, tokenB, secondsToTickerTimeFrame[span]),\n getQueryOptionsTickers(span),\n )\n\n return tickerData.candles\n }, [queryClient, span, tokenA, tokenB])\n\n const { candles, updateLast } = useLiquidityChart(element, {\n decimals: tokenB.decimals,\n formatterConfig: DefaultFormatterConfig,\n load: fetchCandleData,\n span,\n theme,\n tokenPair: TokenPair.of(tokenA.symbol, tokenB.symbol),\n tz,\n })\n\n useEffect(() => {\n if (!lastMessage) return\n\n onPriceSentFromSocket?.(lastMessage.data)\n\n const lastCandle = mergeOrStartNewCandle(candles[candles.length - 1], lastMessage.data, span)\n updateLast(lastCandle)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lastMessage])\n\n useEffect(() => {\n onCandleListUpdated?.(candles)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [candles])\n\n useEffect(() => {\n setSpan(tickerTimeFrameToSeconds[timeFrame])\n }, [timeFrame])\n\n const changeRateColor = useMemo(\n () =>\n changeRate > 0\n ? theme?.candleRisingColor || '#55F9C7'\n : changeRate < 0\n ? theme?.candleFallingColor || '#FF6701'\n : '',\n [changeRate, theme?.candleFallingColor, theme?.candleRisingColor],\n )\n\n return (\n \n \n \n \n {candles.length ? format(candles[candles.length - 1].close, tokenB.decimals) : 'N/A'}\n \n \n %\n \n \n \n onTimeFrameChange?.('one_hour')}\n text=\"1H\"\n />\n onTimeFrameChange?.('four_hours')}\n text=\"4H\"\n />\n onTimeFrameChange?.('twenty_four_hour')}\n text=\"1D\"\n />\n onTimeFrameChange?.('one_week')}\n text=\"1W\"\n />\n \n \n \n \n \n \n )\n}\n\nexport default Container\n","export { default } from './container'\n","import { useMemo } from 'react'\n\nimport { useActionCableChannel } from '@/providers/cable'\nimport { CustomTokenInfo } from '@/utils/helpers'\n\nimport { orderTokensLikeBE } from './utils'\n\nexport type SocketPrice = {\n price: number\n time: Date\n volume: number\n}\n\nconst usePriceSocket = (tokenA: CustomTokenInfo, tokenB: CustomTokenInfo) => {\n const pairParams = useMemo(\n () => ({\n pair: orderTokensLikeBE(tokenA, tokenB).map(({ symbol }) => symbol).join('/').toLowerCase(),\n }),\n [tokenA, tokenB],\n )\n\n const { lastMessage, ...rest } = useActionCableChannel<{ t: string; p: number; v: number }>(\n 'TradingView::Channel',\n pairParams,\n )\n\n const formattedLastMessage = useMemo(\n () =>\n lastMessage && {\n ...lastMessage,\n data: {\n price: lastMessage.data.p,\n time: new Date(lastMessage.data.t),\n volume: lastMessage.data.v,\n } as SocketPrice,\n },\n [lastMessage],\n )\n\n return {\n ...rest,\n lastMessage: formattedLastMessage,\n }\n}\n\nexport default usePriceSocket\n","import type { SwapTokenInfo } from '@/hooks/use-tokens'\nimport { Candle, CandleSequence } from '@/providers/liquidity-chart/candle-utils'\n\nimport { orderTokenInfosByUiQuote } from '../limit-order/utils'\n\nexport const mergeOrStartNewCandle = (\n lastCandle: Candle | undefined,\n newData: { price: number; time: Date; volume: number },\n span: number,\n): Candle => {\n const clampedStartTime = CandleSequence.clampStartTimeBySpan(newData.time, span)\n\n if (lastCandle && lastCandle.startTime.getTime() === clampedStartTime.getTime()) {\n return {\n ...lastCandle,\n close: newData.price,\n low: Math.min(lastCandle.low, newData.price),\n high: Math.max(lastCandle.high, newData.price),\n volume: newData.volume,\n }\n } else {\n return {\n startTime: clampedStartTime,\n span,\n open: newData.price,\n close: newData.price,\n low: newData.price,\n high: newData.price,\n volume: newData.volume,\n }\n }\n}\n\n/**\n * Replicates backend logic of sorting a token pair.\n *\n * @returns `[base, quote]`\n *\n * @see https://github.com/renec-chain/renechub/blob/e10f8fca45cf006186de721d8ccd76ea6375266a/app/helpers/nemoswap/market_price_tracking_helper.rb\n */\nexport const orderTokensLikeBE = (tokenA: SwapTokenInfo, tokenB: SwapTokenInfo) => {\n const [baseToken, quoteToken] = [tokenA, tokenB].sort((a, b) =>\n a.symbol.toLowerCase().localeCompare(b.symbol.toLowerCase()),\n )\n return orderTokenInfosByUiQuote([baseToken, quoteToken], [tokenA, tokenB])\n}\n\nexport const getQueryKeyTickers = (tokenA?: SwapTokenInfo, tokenB?: SwapTokenInfo, span?: number) => {\n return ['tickers', [tokenA?.symbol, tokenB?.symbol].sort().join(), span]\n}\n\nexport const getQueryOptionsTickers = (spanInSeconds: number) => ({\n cacheTime: Infinity,\n staleTime: spanInSeconds * 1000,\n})\n","import Close from '@mui/icons-material/Close'\nimport Box from '@mui/material/Box'\nimport IconButton from '@mui/material/IconButton'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport { useMemo, useState } from 'react'\n\nimport Chart from '@/components/chart'\nimport { orderTokensLikeBE } from '@/components/chart/utils'\nimport type { SwapTokenInfo } from '@/hooks/use-tokens'\nimport useTrans from '@/hooks/useTrans'\nimport { Candle } from '@/providers/liquidity-chart/candle-utils'\nimport { TradingViewTickerTimeFrame } from '@/utils/apis/tickers'\nimport { NOT_AVAILABLE_LOGO_URL } from '@/utils/helpers'\n\nconst CandleChartBox = ({\n tokenIn,\n tokenOut,\n onCandleListUpdated,\n onPriceSentFromSocket,\n onHideChart,\n}: {\n tokenIn: SwapTokenInfo\n tokenOut: SwapTokenInfo\n onCandleListUpdated?: (candles: Candle[]) => void\n onPriceSentFromSocket?: ({ price }: { price: number }) => void\n onHideChart?: () => void\n}) => {\n const trans = useTrans()\n\n const [base, quote] = useMemo(\n () => (tokenIn && tokenOut ? orderTokensLikeBE(tokenIn, tokenOut) : [undefined, undefined]),\n [tokenIn, tokenOut],\n )\n\n const [timeFrame, setTimeFrame] = useState('one_hour')\n\n if (!base || !quote) return <>\n\n return (\n \n \n \n \n \n \n \n \n \n {base.displaySymbol ?? 'Unknown'}/{quote.displaySymbol ?? 'Unknown'}\n \n \n {onHideChart && (\n \n \n \n )}\n \n \n \n \n \n \n )\n}\n\nexport default CandleChartBox\n","import type { Commitment, RpcResponseAndContext, SignatureResult } from '@solana/web3.js'\nimport { useCallback } from 'react'\n\nimport { toResultAsync } from '@/utils/helpers'\nimport { useConnection } from '@/wallet/adapter'\n\nconst isCommitment = (value: unknown): value is Commitment => typeof value === 'string'\n\nconst useConfirmTransaction = () => {\n const { connection } = useConnection()\n\n const confirmTransaction = useCallback(\n async (\n txSignature: string,\n commitmentOrLatestBlockhash:\n | Commitment\n | {\n blockhash: string\n lastValidBlockHeight: number\n } = 'finalized',\n ) => {\n const latestBlockhash =\n isCommitment(commitmentOrLatestBlockhash)\n ? await connection.getLatestBlockhash(commitmentOrLatestBlockhash)\n : commitmentOrLatestBlockhash\n\n const [, confirmation] = await toResultAsync(\n connection.confirmTransaction({\n signature: txSignature,\n ...latestBlockhash,\n }),\n )\n const error = !confirmation || confirmation.value.err\n\n return [error, confirmation] as [boolean, RpcResponseAndContext]\n },\n [connection],\n )\n\n return { confirmTransaction }\n}\n\nexport default useConfirmTransaction\n","import { TransactionBuilder } from '@orca-so/common-sdk'\nimport { type TransactionBuilder as EscrowTransactionBuilder } from '@renec-foundation/escrow-sdk/node_modules/@orca-so/common-sdk'\nimport { Keypair, Transaction } from '@solana/web3.js'\nimport { useCallback } from 'react'\n\nimport { isChainSolana } from '@/constants/index'\nimport { DemonWalletAdapter,useConnection, useWallet } from '@/wallet/adapter'\n\nconst useGaslessHandling = () => {\n const { connection } = useConnection()\n const { wallet, publicKey } = useWallet()\n\n return useCallback(\n async (tx: TransactionBuilder | EscrowTransactionBuilder) => {\n if (isChainSolana()) return await tx.buildAndExecute()\n\n const { instructions, cleanupInstructions, signers } = tx.compressIx(true)\n\n const transaction = new Transaction()\n\n for (const ix of instructions) {\n transaction.add(ix)\n }\n for (const cIx of cleanupInstructions) {\n transaction.add(cIx)\n }\n\n transaction.feePayer = publicKey ?? undefined\n transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash\n\n for (const s of signers) {\n transaction.sign(s)\n }\n\n return await (wallet?.adapter as DemonWalletAdapter).sendTransactionWithSigners(\n transaction,\n connection,\n signers as Keypair[],\n )\n },\n [connection, wallet, publicKey],\n )\n}\n\nexport default useGaslessHandling\n","import { Stack, Typography } from '@mui/material'\nimport type { TransactionBuilder } from '@orca-so/common-sdk'\nimport type { TransactionBuilder as LegacyTransactionBuilder } from '@renec-foundation/escrow-sdk/node_modules/@orca-so/common-sdk'\nimport { SendTransactionError, TransactionError } from '@solana/web3.js'\nimport type { OptionsObject } from 'notistack'\nimport { ReactNode, useCallback, useMemo } from 'react'\n\nimport { isChainSolana } from '@/constants/index'\nimport { toResultAsync } from '@/utils/helpers'\nimport { useConnection } from '@/wallet/adapter'\n\nimport useConfirmTransaction from './use-confirmation-transaction'\nimport useGaslessHandling from './use-gasless-handling'\nimport { useSettings } from './use-settings'\nimport useToastMessage from './use-toast-message'\nimport useTrans from './useTrans'\n\nexport type TxErrorNoticeContext =\n | 'common'\n | 'create_buy_offer'\n | 'create_sell_offer'\n | 'create_trade'\n | 'cancel_offer'\n | 'create_limit_order'\n | 'create_pool'\n | 'create_position'\n | 'swap'\n | 'make_asset_withdrawal'\n\nexport type TxHash = string\n\nexport type NoticeResultListener =\n ((type: 'confirmation_error', txHash: TxHash, error: TransactionError) => R) &\n ((type: 'error', error: SendTransactionError) => R) &\n ((type: 'success', txHash: TxHash) => R)\n\ntype NoticeElement

= ReactNode | ((...params: P) => ReactNode)\n\nexport interface TxErrorNoticeOptions {\n alwaysHideTxExplorerLink?: boolean\n confirmationErrorMessage?: NoticeElement<[TxHash, TransactionError]>\n confirmationErrorTitle?: NoticeElement<[TxHash, TransactionError]>\n context?: TxErrorNoticeContext\n errorMessage?: NoticeElement<[SendTransactionError]>\n errorTitle?: NoticeElement<[SendTransactionError]>\n gasless?: boolean\n onBeforeShowingNotice?: NoticeResultListener\n primaryButton?: ReactNode | NoticeResultListener\n snackbarOptions?: OptionsObject\n successMessage?: NoticeElement<[TxHash]>\n successTitle?: NoticeElement<[TxHash]>\n throwOnError?: boolean\n titleAppendix?: ReactNode | NoticeResultListener\n waitUntilConfirmed?: boolean\n}\n\nconst KnownErrorTesters = {\n '0x1': [\n /Attempt to debit an account but found no record of a prior credit/,\n /custom program error: 0x1$/,\n ],\n 'wallet_refused': [\n /^refuse_send_transaction$/, // Carax wallet mobile - cancel signing\n /^user denied transaction signature$/, // Carax wallet extension - cancel signing\n /^user denied sign transactions$/, // Carax wallet extension - cancel signing\n /^WalletSignTransactionError$/, // Carax wallet extension - refuse unlocking\n /^WalletSignTransactionError: Transaction rejected$/, // Solflare wallet extension\n /^WalletSignTransactionError: User rejected the request\\.$/, // Phantom wallet extension\n ],\n}\n\nexport const isKnownError = (error: Error) => {\n return Object.entries(KnownErrorTesters).find(([, testers]) =>\n testers.some((tester) => tester.test(error.message) || tester.test(String(error))),\n )?.[0] as keyof typeof KnownErrorTesters | undefined\n}\n\nconst useSafelySendTxWithNotice = (\n globalContextOrOptions: TxErrorNoticeContext | TxErrorNoticeOptions = {},\n) => {\n const globalOptions = useMemo(\n () =>\n typeof globalContextOrOptions === 'string'\n ? { context: globalContextOrOptions }\n : globalContextOrOptions,\n [globalContextOrOptions],\n )\n\n const { connection } = useConnection()\n const { confirmTransaction } = useConfirmTransaction()\n const { showMessage, showLoadingNotice } = useToastMessage()\n const trans = useTrans()\n const { data: settingsData } = useSettings()\n const gaslessEnabled = Boolean(settingsData?.is_gasless_mode_enabled)\n const sendTxWithGasless = useGaslessHandling()\n\n const safelySendTxWithNotice = useCallback(\n /**\n * @throws never, unless `throwOnError` is set to `true`.\n */\n async (\n tx: Promise | TransactionBuilder | LegacyTransactionBuilder,\n {\n alwaysHideTxExplorerLink = globalOptions.alwaysHideTxExplorerLink ?? false,\n confirmationErrorMessage = globalOptions.confirmationErrorMessage ??\n trans.common.tx_notice.unconfirmed_message,\n confirmationErrorTitle = globalOptions.confirmationErrorTitle ??\n globalOptions.errorTitle ??\n trans.common.tx_notice.error_title,\n context = globalOptions.context ?? 'common',\n errorMessage = globalOptions.errorMessage ?? trans.common.tx_notice.error_message,\n errorTitle = globalOptions.errorTitle ?? trans.common.tx_notice.error_title,\n gasless = globalOptions.gasless ?? gaslessEnabled,\n onBeforeShowingNotice = globalOptions.onBeforeShowingNotice ?? (() => true),\n primaryButton = globalOptions.primaryButton,\n snackbarOptions = globalOptions.snackbarOptions,\n successMessage = globalOptions.successMessage ?? trans.common.tx_notice.success_message,\n successTitle = globalOptions.successTitle ?? trans.common.tx_notice.success_title,\n throwOnError = globalOptions.throwOnError ?? false,\n titleAppendix = globalOptions.titleAppendix,\n waitUntilConfirmed = globalOptions.waitUntilConfirmed ?? true,\n }: TxErrorNoticeOptions = {},\n ) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const noticeElement = (e: NoticeElement, ...args: any[]) =>\n typeof e === 'function' ? e(...args) : e\n\n const [error, signature] = await toResultAsync(\n 'then' in tx ? tx : ((gasless && !isChainSolana()) ? sendTxWithGasless(tx) : tx.buildAndExecute()),\n )\n\n if (error) {\n const errorKey = isKnownError(error) ?? 'unknown'\n\n const errorTroubleshootingByContext = trans.common.tx_notice.errors[errorKey]\n const troubleshooting = [...(errorTroubleshootingByContext?.common ?? [])]\n if (context !== 'common' && errorTroubleshootingByContext?.[context]) {\n troubleshooting.splice(0, 0, ...errorTroubleshootingByContext[context])\n }\n\n // eslint-disable-next-line no-console\n console.error(`${context} send transaction error`, error, error.logs)\n\n if (onBeforeShowingNotice('error', error) !== false) {\n showMessage(\n {\n error,\n message: (\n \n {noticeElement(errorMessage, error)}\n {Boolean(troubleshooting.length) && (\n \n \n {trans.common.tx_notice.what_should_i_do_now}\n \n \n {troubleshooting.map((solution, index) => (\n \n {solution}\n \n ))}\n \n \n )}\n \n ),\n primaryButton: noticeElement(primaryButton, 'error', error),\n title: noticeElement(errorTitle, error),\n titleAppendix: noticeElement(titleAppendix, 'error', error),\n type: 'error',\n },\n snackbarOptions,\n )\n }\n\n if (throwOnError) throw error\n\n return\n }\n\n if (waitUntilConfirmed) {\n const latestBlockhash = await connection.getLatestBlockhash()\n\n const closeLoadingNotice = showLoadingNotice({\n lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,\n signature,\n })\n\n const [\n isTxConfirmed,\n {\n value: { err: confirmationError },\n },\n ] = await confirmTransaction(signature, latestBlockhash)\n\n closeLoadingNotice()\n\n if (!isTxConfirmed && confirmationError) {\n // eslint-disable-next-line no-console\n console.error(`${context} confirm transaction error`, confirmationError)\n\n if (onBeforeShowingNotice('confirmation_error', signature, confirmationError) !== false) {\n showMessage(\n {\n message: noticeElement(confirmationErrorMessage, signature, error),\n primaryButton: noticeElement(primaryButton, 'confirmation_error', signature, error),\n title: noticeElement(confirmationErrorTitle, signature, error),\n titleAppendix: noticeElement(titleAppendix, 'confirmation_error', signature, error),\n type: 'error',\n txid: alwaysHideTxExplorerLink ? undefined : signature,\n },\n snackbarOptions,\n )\n }\n\n if (throwOnError) throw confirmationError\n\n return\n }\n }\n\n // eslint-disable-next-line no-console\n console.log(`${context} transaction success`, signature)\n\n if (onBeforeShowingNotice('success', signature) !== false) {\n showMessage(\n {\n message: noticeElement(successMessage, signature),\n primaryButton: noticeElement(primaryButton, 'success', signature),\n title: noticeElement(successTitle, signature),\n titleAppendix: noticeElement(titleAppendix, 'success', signature),\n type: 'success',\n txid: alwaysHideTxExplorerLink ? undefined : signature,\n },\n snackbarOptions,\n )\n }\n\n return signature\n },\n [\n confirmTransaction,\n connection,\n gaslessEnabled,\n globalOptions,\n sendTxWithGasless,\n showLoadingNotice,\n showMessage,\n trans,\n ],\n )\n\n return { safelySendTxWithNotice }\n}\n\nexport default useSafelySendTxWithNotice\n","interface Dict {\n (): Record\n (defaultValue: T): Record\n}\n\n/**\n * An {@link Object} that prefills default value for non-existing entries when\n * getting.\n */\nconst dict: Dict = (...args: [] | [unknown]) => {\n return new Proxy(\n {},\n {\n get(target, p, receiver) {\n if (!Reflect.has(target, p) && args.length) {\n Reflect.set(target, p, args[0], receiver)\n }\n return Reflect.get(target, p, receiver)\n },\n },\n )\n}\n\nexport default dict\n","import type { SwapTokenInfo } from '@/hooks/use-tokens'\nimport type { Candle } from '@/providers/liquidity-chart/candle-utils'\n\nimport dict from '../dict'\nimport { api } from './'\n\nconst ONE_MINUTE_IN_SEC = 60\nconst ONE_HOUR_IN_SEC = 60 * ONE_MINUTE_IN_SEC\nexport const ONE_DAY_IN_SEC = 24 * ONE_HOUR_IN_SEC\n\nexport type Kline = {\n t: string\n l: number\n h: number\n o: number\n c: number\n v: number\n}\ntype TradingViewTickerAPIResponse = {\n pair: `${string}/${string}`\n klines: Array<{\n t: string\n l: number\n h: number\n o: number\n c: number\n v: number\n }>\n}\n\nexport type TradingViewTickerTimeFrame =\n | 'one_minute'\n | 'five_minutes'\n | 'fifteen_minutes'\n | 'thirty_minutes'\n | 'one_hour'\n | 'four_hours'\n | 'twenty_four_hour'\n | 'one_week'\n | 'one_month'\n\nexport const tickerTimeFrameToSeconds: Record = Object.assign(\n dict(ONE_DAY_IN_SEC),\n {\n one_minute: ONE_MINUTE_IN_SEC,\n five_minutes: 5 * ONE_MINUTE_IN_SEC,\n fifteen_minutes: 15 * ONE_MINUTE_IN_SEC,\n thirty_minutes: 30 * ONE_MINUTE_IN_SEC,\n one_hour: 1 * ONE_HOUR_IN_SEC,\n four_hours: 4 * ONE_HOUR_IN_SEC,\n twenty_four_hour: 24 * ONE_HOUR_IN_SEC,\n one_week: 1 * 7 * ONE_DAY_IN_SEC,\n one_month: 1 * 30 * ONE_DAY_IN_SEC,\n },\n)\n\nexport const secondsToTickerTimeFrame: Record = Object.assign(\n dict('twenty_four_hour'),\n Object.fromEntries(\n Object.entries(tickerTimeFrameToSeconds).map(([key, value]) => [\n value,\n key as TradingViewTickerTimeFrame,\n ]),\n ),\n)\n\nexport const getTickers = async (\n tokenA: SwapTokenInfo,\n tokenB: SwapTokenInfo,\n timeFrame: TradingViewTickerTimeFrame = 'twenty_four_hour',\n startTime?: number,\n) => {\n const { data } = await api.get('/tickers/trading_view', {\n params: {\n token0: tokenA.symbol,\n token1: tokenB.symbol,\n time_frame: timeFrame,\n start_time: startTime,\n },\n })\n\n const candles = data.klines\n .map((kline) => ({\n open: kline.o,\n close: kline.c,\n low: kline.l,\n high: kline.h,\n span: tickerTimeFrameToSeconds[timeFrame],\n startTime: new Date(kline.t),\n volume: kline.v,\n }))\n .sort((a, b) => a.startTime.getTime() - b.startTime.getTime())\n\n const [token0] = data.pair.split('/')\n const isTokenA0 = tokenA.symbol.toLowerCase() === token0\n return {\n tokenA: isTokenA0 ? tokenA : tokenB,\n tokenB: isTokenA0 ? tokenB : tokenA,\n candles,\n }\n}\n","\"use strict\";\n(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[2929],{\n\n/***/ 44795:\n/***/ (function(__unused_webpack_module, __webpack_exports__) {\n\n/* harmony default export */ __webpack_exports__[\"Z\"] = ({\"src\":\"/_next/static/media/wallet.783192ea.svg\",\"height\":18,\"width\":18});\n\n/***/ }),\n\n/***/ 93356:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _mui_material_InputBase__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13970);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294);\n/* harmony import */ var _components_base_CustomNumericFormat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25192);\n/* harmony import */ var _utils_use_event_callback__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88095);\n\n\n\n\n\nconst BaseAmountInput = (param)=>{\n let { inputProps , maxLimit , decimals =9 , debounceMilliseconds , ...props } = param;\n const onInputFocus = (0,_utils_use_event_callback__WEBPACK_IMPORTED_MODULE_3__/* .useEventCallback */ .$)((event)=>{\n if (Number(event.target.value) === 0) {\n event.target.select();\n }\n });\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material_InputBase__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .ZP, {\n inputComponent: _components_base_CustomNumericFormat__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z,\n placeholder: \"0\",\n inputProps: {\n \"aria-label\": \"0\",\n className: \"p-0 text-xl iw:text-[#000E0F] font-semibold\",\n min: 0,\n ...inputProps || {},\n decimalScale: decimals,\n allowNegative: false,\n thousandSeparator: \",\",\n inputMode: \"decimal\",\n maxLimit,\n debounceMilliseconds\n },\n onFocus: onInputFocus,\n ...props\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.memo)(BaseAmountInput));\n\n\n/***/ }),\n\n/***/ 25192:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90482);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67294);\n/* harmony import */ var react_number_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57333);\n\n\n\n\nconst DEFAULT_MAX_LIMIT = 1e10 // 10,000,000,000\n;\nconst CustomNumericFormat = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_2__.forwardRef)(function NumericFormatCustom(props, ref) {\n const { onChange , maxLimit , value , debounceMilliseconds , ...other } = props;\n const [inputValue, setInputValue] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(\"\");\n const [focused, setFocused] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false);\n const timeoutId = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n if (!focused && (value || inputValue)) {\n setInputValue(value != null ? new decimal_js__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z(Number(value)).toFixed() : \"\");\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n focused,\n value\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_number_format__WEBPACK_IMPORTED_MODULE_3__/* .NumericFormat */ .h3, {\n ...other,\n value: inputValue,\n getInputRef: ref,\n onValueChange: (param, param1)=>{\n let { floatValue , value } = param, { event ={} } = param1;\n setInputValue(value);\n const params = {\n ...event,\n target: {\n ...event.target,\n name: props.name,\n floatValue,\n value\n }\n };\n if (debounceMilliseconds) {\n timeoutId.current && clearTimeout(timeoutId.current);\n timeoutId.current = setTimeout(()=>{\n onChange === null || onChange === void 0 ? void 0 : onChange(params);\n }, debounceMilliseconds);\n } else {\n onChange === null || onChange === void 0 ? void 0 : onChange(params);\n }\n },\n thousandSeparator: true,\n valueIsNumericString: true,\n allowedDecimalSeparators: [\n \",\"\n ],\n isAllowed: (values)=>{\n const floatValue = values.floatValue || 0;\n return floatValue <= (maxLimit || DEFAULT_MAX_LIMIT);\n },\n onBlur: (event)=>{\n var _other_onBlur;\n setFocused(false);\n (_other_onBlur = other.onBlur) === null || _other_onBlur === void 0 ? void 0 : _other_onBlur.call(other, event);\n },\n onFocus: (event)=>{\n var _other_onFocus;\n setFocused(true);\n (_other_onFocus = other.onFocus) === null || _other_onFocus === void 0 ? void 0 : _other_onFocus.call(other, event);\n },\n inputMode: \"decimal\"\n });\n});\n/* harmony default export */ __webpack_exports__[\"Z\"] = (CustomNumericFormat);\n\n\n/***/ }),\n\n/***/ 64249:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n\nconst IconNoData = ()=>{\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", {\n className: \"mx-auto\",\n width: 64,\n height: 41,\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", {\n transform: \"translate(0 1)\",\n fill: \"none\",\n fillRule: \"evenodd\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"ellipse\", {\n fill: \"#fff\",\n fillOpacity: 0.08,\n cx: 32,\n cy: 33,\n rx: 32,\n ry: 7\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", {\n stroke: \"#434343\",\n fillRule: \"nonzero\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", {\n d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n fill: \"#293547\",\n stroke: \"#434343\"\n })\n ]\n })\n ]\n })\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (IconNoData);\n\n\n/***/ }),\n\n/***/ 9943:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n\nconst IconSearch = (param)=>{\n let { color =\"#61667E\" , width =24 } = param;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", {\n className: \"cursor-pointer\",\n width: width,\n height: width,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", {\n d: \"M5.8103 5.43515C8.91733 2.4401 13.5412 2.55947 16.4169 5.43515C19.1668 8.18502 19.3349 12.539 16.9212 15.485L21.1899 19.7541L20.1292 20.8147L15.8601 16.5461C12.9141 18.9597 8.56017 18.7916 5.8103 16.0418C2.93462 13.1661 2.7994 8.33753 5.8103 5.43515ZM15.3562 6.49581C13.0131 4.15267 9.2141 4.15267 6.87096 6.49581C4.52781 8.83896 4.52781 12.6379 6.87096 14.9811C9.2141 17.3242 13.0131 17.3242 15.3562 14.9811C17.6994 12.6379 17.6994 8.83896 15.3562 6.49581Z\",\n fill: color\n })\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (IconSearch);\n\n\n/***/ }),\n\n/***/ 91094:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _utils_numeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14847);\n\n\n/**\n * A wrapper of the {@link format} method from numeric utility.\n */ const NumericOutput = (param)=>{\n let { value , ...props } = param;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: (0,_utils_numeric__WEBPACK_IMPORTED_MODULE_1__/* .format */ .WU)(value, props)\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (NumericOutput);\n\n\n/***/ }),\n\n/***/ 71682:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"V\": function() { return /* binding */ TokenPickerRevampContext; }\n/* harmony export */ });\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\n\nconst initContext = {\n isOpenPicker: false,\n setIsOpenPicker: ()=>null\n};\nconst TokenPickerRevampContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(initContext);\nconst TokenPickerRevampProvider = (param)=>{\n let { children } = param;\n const [isOpenPicker, setIsOpenPicker] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const value = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>({\n isOpenPicker,\n setIsOpenPicker\n }), [\n isOpenPicker,\n setIsOpenPicker\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(TokenPickerRevampContext.Provider, {\n value: value,\n children: children\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (TokenPickerRevampProvider);\n\n\n/***/ }),\n\n/***/ 82734:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"W\": function() { return /* reexport */ container_Container; },\n \"Z\": function() { return /* reexport */ TokenPickerRevamp_container; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(85893);\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/Modal/Modal.js + 4 modules\nvar Modal = __webpack_require__(80437);\n// EXTERNAL MODULE: ./node_modules/@mui/material/DialogContent/DialogContent.js + 1 modules\nvar DialogContent = __webpack_require__(6514);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Drawer/Drawer.js + 1 modules\nvar Drawer = __webpack_require__(58826);\n// EXTERNAL MODULE: ./node_modules/next/router.js\nvar next_router = __webpack_require__(11163);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(67294);\n// EXTERNAL MODULE: ./src/hooks/use-pagination.ts + 1 modules\nvar use_pagination = __webpack_require__(73949);\n// EXTERNAL MODULE: ./src/hooks/use-settings.ts + 1 modules\nvar use_settings = __webpack_require__(49472);\n// EXTERNAL MODULE: ./src/components/base/TokenPicker/utils.ts\nvar utils = __webpack_require__(52385);\n// EXTERNAL MODULE: ./src/components/base/TokenPickerRevamp/context.tsx\nvar context = __webpack_require__(71682);\n// EXTERNAL MODULE: ./node_modules/@mui/icons-material/Clear.js\nvar Clear = __webpack_require__(63343);\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/@mui/material/Stack/Stack.js\nvar Stack = __webpack_require__(26447);\n// EXTERNAL MODULE: ./node_modules/decimal.js/decimal.mjs\nvar decimal = __webpack_require__(90482);\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: ./node_modules/react-window/dist/index.esm.js + 5 modules\nvar index_esm = __webpack_require__(52848);\n// EXTERNAL MODULE: ./src/components/base/Button/index.tsx\nvar Button = __webpack_require__(10737);\n// EXTERNAL MODULE: ./src/components/base/IconNoData.tsx\nvar IconNoData = __webpack_require__(64249);\n// EXTERNAL MODULE: ./src/components/base/IconSearch.tsx\nvar IconSearch = __webpack_require__(9943);\n// EXTERNAL MODULE: ./src/hooks/use-balances.ts\nvar use_balances = __webpack_require__(68203);\n// EXTERNAL MODULE: ./src/hooks/useTrans.ts + 2 modules\nvar useTrans = __webpack_require__(74069);\n// EXTERNAL MODULE: ./src/utils/static-import-icon.tsx + 42 modules\nvar static_import_icon = __webpack_require__(61930);\n// EXTERNAL MODULE: ./src/components/base/BaseDialog.tsx + 6 modules\nvar BaseDialog = __webpack_require__(57833);\n// EXTERNAL MODULE: ./node_modules/@mui/material/styles/styled.js\nvar styled = __webpack_require__(90948);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Input/Input.js\nvar Input = __webpack_require__(79332);\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/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: \"7px 8px\",\n borderRadius: \"8px\",\n border: \"1px solid #61667E\",\n backgroundColor: \"#2A3748\",\n fontSize: \"14px\",\n lineHeight: \"20px\",\n transition: \"border-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\"\n },\n \"& .MuiInput-input\": {\n padding: \"0 0 0 8px\"\n },\n \"&:focus-within\": {\n borderColor: \"#388bfd\",\n boxShadow: \"rgb(12, 45, 107) 0px 0px 0px 3px\"\n }\n }));\n\n// EXTERNAL MODULE: ./node_modules/@mui/icons-material/WarningRounded.js\nvar WarningRounded = __webpack_require__(6775);\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__(94184);\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n// EXTERNAL MODULE: ./src/components/base/AddressSpanWithCopyButton.tsx\nvar AddressSpanWithCopyButton = __webpack_require__(19185);\n// EXTERNAL MODULE: ./src/utils/numeric.ts\nvar numeric = __webpack_require__(14847);\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/TokenListItem/index.tsx\n\n\n\n\n\n\n\nconst TokenListItem = (param)=>{\n let { option , nickName , onClick , balance , balanceUsd } = param;\n const theme = (0,useTheme/* default */.Z)();\n const isUnknownToken = option.type === \"user\" && option.tags && !option.tags.length;\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"w-full flex items-center max-w-full gap-x-2 bg-[#141A23] px-4 py-2 rounded-lg cursor-pointer hover:bg-[#141A23]/60\",\n \"data-testid\": classnames_default()({\n [\"token-picker-\".concat(option.symbol)]: !nickName,\n [\"token-picker-\".concat(nickName, \"-\").concat(option.symbol)]: nickName\n }),\n onClick: ()=>onClick(option),\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"w-[30px] h-[30px] min-w-[30px] relative\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: isUnknownToken ? \"opacity-30\" : \"\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"img\", {\n src: option.logoURI || \"\",\n alt: option.name,\n width: 30,\n height: 30,\n className: \"w-full h-full rounded-full object-cover\"\n })\n }),\n isUnknownToken && /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"absolute right-0 bottom-0 text-sm\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(WarningRounded/* default */.Z, {\n htmlColor: \"#EB5757\",\n fontSize: \"inherit\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n sx: {\n flexGrow: 1,\n minWidth: 0,\n \"& .token-symbol\": {\n color: theme.palette.mode === \"light\" ? \"#586069\" : \"#ffffff\"\n },\n \"& .token-name\": {\n color: theme.palette.mode === \"light\" ? \"#586069\" : \"#D0D1D8\"\n },\n \"& .token-address\": {\n color: theme.palette.mode === \"light\" ? \"#586069\" : \"#D0D1D8\"\n }\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n alignItems: \"center\",\n spacing: \"5px\",\n justifyContent: \"space-between\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n spacing: 1,\n alignItems: \"center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"text-base font-semibold token-symbol\",\n children: option.displaySymbol\n }),\n isUnknownToken && /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"bg-[#1E2735] text-xs font-medium px-2 py-1 rounded select-none text-[#9CA3AE]\",\n children: \"Unknown\"\n })\n ]\n }),\n balance > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"text-base font-semibold token-balance\",\n children: (0,numeric/* formatSafe */.g1)(balance, option.decimals)\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(AddressSpanWithCopyButton/* default */.Z, {\n address: option.address\n }),\n balanceUsd > 0 && /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"span\", {\n className: \"text-xs token-balance-usd\",\n children: [\n \"$\",\n (0,numeric/* format */.WU)(balanceUsd)\n ]\n })\n ]\n })\n ]\n })\n ]\n });\n};\nconst memoTokenListItem = /*#__PURE__*/ (0,react.memo)(TokenListItem);\nmemoTokenListItem.displayName = \"TokenListItem\";\n/* harmony default export */ var TokenPickerRevamp_TokenListItem = (memoTokenListItem);\n\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/TokenList/utils.ts\n\nconst styling = {\n itemSize: 66,\n itemGap: 4,\n itemPerView: 6\n};\nconst listHeight = new decimal/* default */.Z(styling.itemSize).plus(styling.itemGap).times(styling.itemPerView).minus(styling.itemGap);\nconst calculateItemPositionTop = (index)=>{\n return new decimal/* default */.Z(index).times(styling.itemSize + styling.itemGap).minus(index ? styling.itemGap : 0).toNumber();\n};\nconst clickAndOpenInNewTab = (url)=>{\n const a = document.createElement(\"a\");\n a.href = url;\n a.target = \"_blank\";\n a.rel = \"noopener noreferrer\";\n a.click();\n};\nconst handleClickHighlightMessage = (url, router)=>{\n try {\n if (url.startsWith(\"/\")) {\n router.push(url);\n }\n if (/^(http|https):\\/\\//.test(url)) {\n const urlObj = new URL(url);\n const isSameSite = urlObj.origin === window.location.origin;\n if (isSameSite) {\n router.push(urlObj.pathname);\n } else {\n clickAndOpenInNewTab(url);\n }\n }\n } catch (err) {\n //\n }\n};\n\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/TokenList/container.tsx\n/* eslint-disable react/prop-types */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst Container = (param, ref)=>{\n let { options , height , maxHeight , onClickTokenItem , search =\"\" , nickName , onSearch , hasMoreTokens , loadMoreTokens , onClickClose , highlightMessages , slot } = param;\n const trans = (0,useTrans/* default */.Z)();\n const router = (0,next_router.useRouter)();\n const { balances } = (0,use_balances/* useBalances */.l)();\n const { data: rateData } = (0,use_settings/* useRemitanoRate */.T)();\n const [openWarningDialog, setOpenWarningDialog] = (0,react.useState)(false);\n const [warningToken, setWarningToken] = (0,react.useState)(null);\n const onSelectToken = (0,react.useCallback)((option)=>{\n if (option.type === \"user\" && option.tags && !option.tags.length) {\n setOpenWarningDialog(true);\n setWarningToken(option);\n } else {\n onClickTokenItem(option);\n }\n }, [\n onClickTokenItem\n ]);\n const onClickUnderstand = (0,react.useCallback)(()=>{\n setOpenWarningDialog(false);\n if (warningToken) onClickTokenItem(warningToken);\n }, [\n onClickTokenItem,\n warningToken\n ]);\n const onItemsRendered = (0,react.useCallback)(async (param)=>{\n let { visibleStopIndex } = param;\n if (hasMoreTokens && visibleStopIndex === options.length) {\n await loadMoreTokens();\n }\n }, [\n hasMoreTokens,\n loadMoreTokens,\n options\n ]);\n const childrenOfList = (0,react.useCallback)((param)=>{\n let { index , style } = param;\n const opt = options[index];\n if (!opt) return null;\n const rateKey = opt.symbol.toUpperCase();\n const rate = rateData && rateData[rateKey] || 0;\n const balance = balances[opt.symbol] || 0;\n const balanceUsd = rate ? new decimal/* default */.Z(balance).mul(rate).toNumber() : 0;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"flex w-full items-center justify-center overflow-hidden\",\n style: {\n ...style,\n top: calculateItemPositionTop(index),\n height: styling.itemSize,\n marginTop: index ? styling.itemGap : 0\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(TokenPickerRevamp_TokenListItem, {\n option: opt,\n nickName: nickName,\n onClick: onSelectToken,\n balance: balance,\n balanceUsd: balanceUsd\n }, opt.symbol)\n }, opt.address);\n }, [\n options,\n onSelectToken,\n nickName,\n rateData,\n balances\n ]);\n const onClickHighlightMessages = (0,react.useCallback)(()=>{\n handleClickHighlightMessage(highlightMessages.url, router);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n highlightMessages.url\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n highlightMessages.markdown && /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n title: highlightMessages.url,\n onClick: onClickHighlightMessages,\n \"data-testid\": \"highlight-messages\",\n className: \"px-6 py-4 pb-7 relative bottom-[-16px] flex items-start justify-center bg-[#FF6701] rounded-t-2xl gap-2 cursor-pointer underline select-none\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n src: (0,static_import_icon/* staticImportIcon */.N)(static_import_icon/* IconName.REPEAT */.u.REPEAT),\n alt: \"repeat\",\n width: 24,\n className: \"relative top-[-2px]\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n variant: \"body2\",\n dangerouslySetInnerHTML: {\n __html: highlightMessages.markdown\n }\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n className: \"px-6 py-4 bg-[#141A23] sm:bg-[#1A2330] rounded-t-2xl relative\",\n display: \"flex\",\n justifyContent: \"space-between\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-xl font-bold\",\n children: trans.home.select_a_token\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Clear/* default */.Z, {\n className: \"cursor-pointer\",\n onClick: onClickClose\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n ref: ref,\n className: \"bg-[#1E2735] px-6 pt-2 pb-6 sm:rounded-b-2xl gap-4\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(StyledInput, {\n fullWidth: false,\n disableUnderline: true,\n placeholder: trans.common.token_picker_filter_by,\n startAdornment: /*#__PURE__*/ (0,jsx_runtime.jsx)(IconSearch/* default */.Z, {}),\n className: \"w-full\",\n value: search,\n onChange: (evt)=>{\n return onSearch === null || onSearch === void 0 ? void 0 : onSearch(evt.target.value);\n },\n \"data-testid\": \"search-coins-input\"\n }),\n slot,\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n gap: 0.5,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm font-bold opacity-[0.72]\",\n children: \"RENEC tokens\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n gap: 0.5,\n className: \"overflow-auto\",\n sx: {\n maxHeight,\n height\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(index_esm/* FixedSizeList */.t7, {\n className: \"token-list\",\n height: listHeight.toNumber(),\n width: \"100%\",\n itemCount: options.length + +hasMoreTokens,\n itemSize: listHeight.div(styling.itemPerView).toNumber(),\n onItemsRendered: onItemsRendered,\n children: childrenOfList\n }),\n options.length === 0 && /*#__PURE__*/ (0,jsx_runtime.jsxs)(Box/* default */.Z, {\n alignItems: \"center\",\n className: \"text-center absolute top-1/2 left-1/2 translate-x-[-50%] translate-y-[-50%]\",\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.common.token_picker_no_tokens_found\n })\n ]\n })\n ]\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(BaseDialog/* default */.Z, {\n \"data-testid\": \"warning-unknown-dialog\",\n title: trans.common.warning,\n body: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"justify-center items-center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n src: \"/warning.png\",\n alt: \"warning\",\n width: \"95\",\n height: \"94\",\n className: \"mb-6\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-xl font-bold mb-4\",\n \"data-testid\": \"warning-unknown-token-title\",\n children: trans.common.unknown_token\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-center\",\n \"data-testid\": \"warning-unknown-token-content\",\n children: trans.common.warning_unknown_token_content\n })\n ]\n }),\n handleClose: ()=>setOpenWarningDialog(false),\n isOpened: openWarningDialog,\n isSmallPopup: true,\n button: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n display: \"flex\",\n className: \"w-full space-y-3\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n \"data-testid\": \"warning-unknown-dialog-understand-btn\",\n variant: \"primary\",\n size: \"lg\",\n onClick: onClickUnderstand,\n children: trans.common.i_understand\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n \"data-testid\": \"warning-unknown-dialog-cancel-btn\",\n variant: \"outlined\",\n size: \"lg\",\n onClick: ()=>setOpenWarningDialog(false),\n children: trans.common.cancel\n })\n ]\n }),\n useDrawerOnMobile: true\n })\n ]\n });\n};\n/* harmony default export */ var container = (/*#__PURE__*/(0,react.forwardRef)(Container));\n\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/TokenList/index.tsx\n\n\n// EXTERNAL MODULE: ./src/components/base/TokenPickerRevamp/view.tsx + 1 modules\nvar view = __webpack_require__(35177);\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/container.tsx\n\n\n\n\n\n\n\n\n\n\n\nconst dialogClasses = {\n root: \"max-w-[488px] sm:min-w-[488px] p-0 mx-auto outline-none absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2\"\n};\nconst container_Container = (param)=>{\n let { selectedToken: initSelectedToken , options: tokens , dataTestId , onChangeToken , nickName , slot , isDisplayActionView =true , isDisplayHighlightMessage =true } = param;\n const theme = (0,useTheme/* default */.Z)();\n const { locale =\"en\" } = (0,next_router.useRouter)();\n const { data: settingsData } = (0,use_settings/* useSettings */.r)();\n const onChangeTokenRef = (0,react.useRef)(onChangeToken);\n onChangeTokenRef.current = onChangeToken // No need to care whether the outside uses memo or not\n ;\n const isDesktop = (0,useMediaQuery/* default */.Z)(theme.breakpoints.up(\"sm\"));\n const { isOpenPicker , setIsOpenPicker } = (0,react.useContext)(context/* TokenPickerRevampContext */.V);\n const [searchStr, setSearchStr] = (0,react.useState)(\"\");\n const [selectedToken, setSelectedToken] = (0,react.useState)(initSelectedToken);\n const paginationParams = (0,react.useMemo)(()=>({\n queryKey: \"tokens?keyword=\".concat(searchStr.trim().toLowerCase()),\n loader: ()=>Promise.resolve([]),\n comparator: (x, y)=>x.address === y.address,\n initialData: tokens,\n itemsPerPage: 8\n }), [\n searchStr,\n tokens\n ]);\n const { hasMoreItems: hasMoreTokens , items: options , loadMore: loadMoreTokens , setItems: setAllTokens } = (0,use_pagination/* default */.Z)(paginationParams);\n (0,react.useEffect)(()=>{\n const searchingOptions = !searchStr ? tokens : (0,utils/* searchTokenFromList */.N)(searchStr, options);\n setAllTokens(searchingOptions);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n tokens,\n searchStr\n ]);\n (0,react.useEffect)(()=>{\n setSelectedToken(initSelectedToken);\n }, [\n initSelectedToken\n ]);\n const handleToggleOpen = (0,react.useCallback)(()=>{\n setIsOpenPicker((o)=>!o);\n setSearchStr(\"\");\n }, [\n setIsOpenPicker\n ]);\n const handleClickTokenItem = (0,react.useCallback)((token)=>{\n setSelectedToken(token);\n onChangeTokenRef.current(token);\n setIsOpenPicker(false);\n }, [\n onChangeTokenRef,\n setIsOpenPicker\n ]);\n const highlightMessages = (0,react.useMemo)(()=>{\n var _settingsData_highlight_messages;\n const emptyValue = {\n url: \"\",\n markdown: \"\"\n };\n if (!isDisplayHighlightMessage) return emptyValue;\n const returnedValue = (settingsData === null || settingsData === void 0 ? void 0 : (_settingsData_highlight_messages = settingsData.highlight_messages) === null || _settingsData_highlight_messages === void 0 ? void 0 : _settingsData_highlight_messages[locale]) || emptyValue;\n return returnedValue;\n }, [\n settingsData,\n locale,\n isDisplayHighlightMessage\n ]);\n const injectedProps = {\n nickName,\n options,\n search: searchStr,\n onSearch: setSearchStr,\n onClickTokenItem: handleClickTokenItem,\n hasMoreTokens,\n loadMoreTokens,\n onClickClose: handleToggleOpen,\n highlightMessages,\n slot\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n isDisplayActionView && /*#__PURE__*/ (0,jsx_runtime.jsx)(view/* default */.Z, {\n dataTestId: dataTestId,\n token: selectedToken,\n onClick: handleToggleOpen\n }),\n isDesktop ? /*#__PURE__*/ (0,jsx_runtime.jsx)(Modal/* default */.Z, {\n id: \"token-picker\",\n open: isOpenPicker,\n onClose: handleToggleOpen,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(DialogContent/* default */.Z, {\n classes: dialogClasses,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(container, {\n ...injectedProps,\n maxHeight: \"350px\"\n })\n })\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(Drawer/* default */.ZP, {\n id: \"token-picker\",\n open: isOpenPicker,\n anchor: \"bottom\",\n onClose: handleToggleOpen,\n BackdropProps: {\n className: \"token-picker-backdrop\"\n },\n sx: {\n \".MuiPaper-elevation\": {\n backgroundColor: \"transparent\",\n backgroundImage: \"none\"\n }\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(container, {\n ...injectedProps,\n height: highlightMessages.markdown ? \"50vh\" : \"40vh\"\n })\n })\n ]\n });\n};\nconst ContainerWithProvider = (props)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(context/* default */.Z, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(container_Container, {\n ...props\n })\n });\n};\n/* harmony default export */ var TokenPickerRevamp_container = (/*#__PURE__*/(0,react.memo)(ContainerWithProvider));\n\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/index.tsx\n\n\n\n\n/***/ }),\n\n/***/ 35177:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ view; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(85893);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Box/Box.js\nvar Box = __webpack_require__(99226);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Stack/Stack.js\nvar Stack = __webpack_require__(26447);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Typography/Typography.js + 1 modules\nvar Typography = __webpack_require__(15861);\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/next/image.js\nvar next_image = __webpack_require__(25675);\nvar image_default = /*#__PURE__*/__webpack_require__.n(next_image);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(67294);\n;// CONCATENATED MODULE: ./src/assets/svgs/arrow-down.svg\n/* harmony default export */ var arrow_down = ({\"src\":\"/_next/static/media/arrow-down.ac91f248.svg\",\"height\":12,\"width\":12});\n// EXTERNAL MODULE: ./src/hooks/useTrans.ts + 2 modules\nvar useTrans = __webpack_require__(74069);\n;// CONCATENATED MODULE: ./src/components/base/TokenPickerRevamp/view.tsx\n\n\n\n\n\n\n\nconst View = /*#__PURE__*/ (0,react.forwardRef)((param, ref)=>{\n let { dataTestId , token , clickable =true , onClick } = param;\n const trans = (0,useTrans/* default */.Z)();\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n ref: ref,\n \"data-testid\": dataTestId,\n onClick: clickable ? onClick : undefined,\n className: classnames_default()({\n \"pl-1.5 pr-3 py-1.5\": token,\n \"bg-gradient-btn px-3 py-2\": !token,\n \"cursor-pointer\": clickable\n }),\n bgcolor: token && \"#1E2735\",\n borderRadius: \"8px\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n className: \"shrink-0 grow-0\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Stack/* default */.Z, {\n direction: \"row\",\n alignItems: \"center\",\n children: token ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"w-[24px]\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"img\", {\n src: token.logoURI,\n alt: token.name,\n className: \"max-w-full rounded-full w-[24px] h-[24px] object-cover\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n \"data-testid\": \"selected-token-symbol\",\n className: \"text-sm select-none whitespace-nowrap leading-5 font-semibold px-1.5\",\n children: token.displaySymbol\n })\n ]\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n \"data-testid\": \"selected-token-symbol\",\n className: \"text-sm select-none whitespace-nowrap leading-5 font-semibold pr-1\",\n children: trans.home.select_token\n })\n }),\n clickable && /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n src: arrow_down,\n alt: \"ArrowDownIcon\",\n className: \"min-w-[12px] w-3 h-3\",\n \"data-testid\": \"ExpandMoreIcon\"\n })\n ]\n })\n });\n});\nView.displayName = \"TokenPickerRevampView\";\n/* harmony default export */ var view = (View);\n\n\n/***/ }),\n\n/***/ 95060:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* reexport */ container; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(85893);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Typography/Typography.js + 1 modules\nvar Typography = __webpack_require__(15861);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Stack/Stack.js\nvar Stack = __webpack_require__(26447);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Box/Box.js\nvar Box = __webpack_require__(99226);\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/colord/index.mjs\nvar colord = __webpack_require__(16765);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(67294);\n// EXTERNAL MODULE: ./node_modules/react-query/es/index.js\nvar es = __webpack_require__(88767);\n// EXTERNAL MODULE: ./src/providers/liquidity-chart/index.tsx + 1 modules\nvar liquidity_chart = __webpack_require__(98042);\n// EXTERNAL MODULE: ./src/providers/liquidity-chart/candle-utils.ts\nvar candle_utils = __webpack_require__(30646);\n// EXTERNAL MODULE: ./src/utils/apis/tickers.ts + 1 modules\nvar tickers = __webpack_require__(86447);\n// EXTERNAL MODULE: ./src/utils/numeric.ts\nvar numeric = __webpack_require__(14847);\n// EXTERNAL MODULE: ./src/components/base/NumericOutput.tsx\nvar NumericOutput = __webpack_require__(91094);\n// EXTERNAL MODULE: ./src/components/chart/use-price-socket.tsx\nvar use_price_socket = __webpack_require__(24240);\n// EXTERNAL MODULE: ./src/components/chart/utils.ts\nvar utils = __webpack_require__(80021);\n;// CONCATENATED MODULE: ./src/components/chart/container.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst SpanOption = (param)=>/*#__PURE__*/ {\n let { active , color , onClick , text } = param;\n return (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"px-2 py-1 rounded-lg cursor-pointer text-sm\",\n \"data-is-option-active\": active,\n \"data-testid\": \"span-option-\".concat(text),\n onClick: onClick,\n sx: {\n \"&\": {\n \":hover\": {\n backgroundColor: (0,colord/* colord */.Vi)(color).invert().alpha(active ? 0.4 : 0.1).toRgbString()\n },\n backgroundColor: (0,colord/* colord */.Vi)(color).invert().alpha(active ? 0.4 : 0).toRgbString(),\n color: (0,colord/* colord */.Vi)(color).toRgbString()\n }\n },\n children: text\n });\n};\nconst DefaultFormatterConfig = {\n desiredLength: 7\n};\nconst Container = (param)=>{\n let { theme , timeFrame =\"one_hour\" , tokenA , tokenB , tz =0 , onCandleListUpdated , onPriceSentFromSocket , onTimeFrameChange } = param;\n const queryClient = (0,es.useQueryClient)();\n const [element, setElement] = (0,react.useState)(null);\n const [span, setSpan] = (0,react.useState)(tickers/* tickerTimeFrameToSeconds */.zI[timeFrame]);\n const [tokenIn, tokenOut] = (0,react.useMemo)(()=>(0,utils/* orderTokensLikeBE */.gO)(tokenA, tokenB), [\n tokenA,\n tokenB\n ]);\n const [changeRate] = (0,react.useState)(0);\n const { lastMessage } = (0,use_price_socket/* default */.Z)(tokenIn, tokenOut);\n const fetchCandleData = (0,react.useCallback)(async ()=>{\n const tickerData = await queryClient.fetchQuery((0,utils/* getQueryKeyTickers */._q)(tokenA, tokenB, span), ()=>(0,tickers/* getTickers */.ch)(tokenA, tokenB, tickers/* secondsToTickerTimeFrame */.Dg[span]), (0,utils/* getQueryOptionsTickers */.Tp)(span));\n return tickerData.candles;\n }, [\n queryClient,\n span,\n tokenA,\n tokenB\n ]);\n const { candles , updateLast } = (0,liquidity_chart/* useLiquidityChart */.Zv)(element, {\n decimals: tokenB.decimals,\n formatterConfig: DefaultFormatterConfig,\n load: fetchCandleData,\n span,\n theme,\n tokenPair: candle_utils/* TokenPair.of */.o.of(tokenA.symbol, tokenB.symbol),\n tz\n });\n (0,react.useEffect)(()=>{\n if (!lastMessage) return;\n onPriceSentFromSocket === null || onPriceSentFromSocket === void 0 ? void 0 : onPriceSentFromSocket(lastMessage.data);\n const lastCandle = (0,utils/* mergeOrStartNewCandle */.PV)(candles[candles.length - 1], lastMessage.data, span);\n updateLast(lastCandle);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n lastMessage\n ]);\n (0,react.useEffect)(()=>{\n onCandleListUpdated === null || onCandleListUpdated === void 0 ? void 0 : onCandleListUpdated(candles);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n candles\n ]);\n (0,react.useEffect)(()=>{\n setSpan(tickers/* tickerTimeFrameToSeconds */.zI[timeFrame]);\n }, [\n timeFrame\n ]);\n const changeRateColor = (0,react.useMemo)(()=>{\n return changeRate > 0 ? (theme === null || theme === void 0 ? void 0 : theme.candleRisingColor) || \"#55F9C7\" : changeRate < 0 ? (theme === null || theme === void 0 ? void 0 : theme.candleFallingColor) || \"#FF6701\" : \"\";\n }, [\n changeRate,\n theme === null || theme === void 0 ? void 0 : theme.candleFallingColor,\n theme === null || theme === void 0 ? void 0 : theme.candleRisingColor\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"w-full h-full\",\n spacing: 2,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n spacing: 2,\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n spacing: 1,\n alignItems: \"center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"font-bold text-xl\",\n \"data-testid\": \"current-price\",\n style: {\n color: (theme === null || theme === void 0 ? void 0 : theme.headerTextColor) || (theme === null || theme === void 0 ? void 0 : theme.textColor) || \"#FFFFFF\"\n },\n children: candles.length ? (0,numeric/* format */.WU)(candles[candles.length - 1].close, tokenB.decimals) : \"N/A\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n className: classnames_default()(\"bg-opacity-10 rounded-lg px-2 py-1 text-sm\", changeRate === 0 && \"hidden\"),\n \"data-testid\": \"current-change-rate\",\n style: {\n background: (0,colord/* colord */.Vi)(changeRateColor).alpha(0.1).toRgbString(),\n color: changeRateColor\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(NumericOutput/* default */.Z, {\n decimals: 2,\n sign: true,\n value: changeRate * 100\n }),\n \"%\"\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"select-none\",\n direction: \"row\",\n spacing: 0.5,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(SpanOption, {\n active: span === 3600,\n color: (theme === null || theme === void 0 ? void 0 : theme.headerTextColor) || (theme === null || theme === void 0 ? void 0 : theme.textColor) || \"#FFFFFF\",\n onClick: ()=>{\n return onTimeFrameChange === null || onTimeFrameChange === void 0 ? void 0 : onTimeFrameChange(\"one_hour\");\n },\n text: \"1H\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(SpanOption, {\n active: span === 14400,\n color: (theme === null || theme === void 0 ? void 0 : theme.headerTextColor) || (theme === null || theme === void 0 ? void 0 : theme.textColor) || \"#FFFFFF\",\n onClick: ()=>{\n return onTimeFrameChange === null || onTimeFrameChange === void 0 ? void 0 : onTimeFrameChange(\"four_hours\");\n },\n text: \"4H\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(SpanOption, {\n active: span === 86400,\n color: (theme === null || theme === void 0 ? void 0 : theme.headerTextColor) || (theme === null || theme === void 0 ? void 0 : theme.textColor) || \"#FFFFFF\",\n onClick: ()=>{\n return onTimeFrameChange === null || onTimeFrameChange === void 0 ? void 0 : onTimeFrameChange(\"twenty_four_hour\");\n },\n text: \"1D\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(SpanOption, {\n active: span === 604800,\n color: (theme === null || theme === void 0 ? void 0 : theme.headerTextColor) || (theme === null || theme === void 0 ? void 0 : theme.textColor) || \"#FFFFFF\",\n onClick: ()=>{\n return onTimeFrameChange === null || onTimeFrameChange === void 0 ? void 0 : onTimeFrameChange(\"one_week\");\n },\n text: \"1W\"\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"flex-grow relative\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"absolute inset-0\",\n \"data-testid\": \"chart\",\n ref: setElement\n })\n })\n ]\n });\n};\n/* harmony default export */ var container = (Container);\n\n;// CONCATENATED MODULE: ./src/components/chart/index.ts\n\n\n\n/***/ }),\n\n/***/ 24240:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);\n/* harmony import */ var _providers_cable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23458);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(80021);\n\n\n\nconst usePriceSocket = (tokenA, tokenB)=>{\n const pairParams = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({\n pair: (0,_utils__WEBPACK_IMPORTED_MODULE_2__/* .orderTokensLikeBE */ .gO)(tokenA, tokenB).map((param)=>{\n let { symbol } = param;\n return symbol;\n }).join(\"/\").toLowerCase()\n }), [\n tokenA,\n tokenB\n ]);\n const { lastMessage , ...rest } = (0,_providers_cable__WEBPACK_IMPORTED_MODULE_1__/* .useActionCableChannel */ .aM)(\"TradingView::Channel\", pairParams);\n const formattedLastMessage = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>lastMessage && {\n ...lastMessage,\n data: {\n price: lastMessage.data.p,\n time: new Date(lastMessage.data.t),\n volume: lastMessage.data.v\n }\n }, [\n lastMessage\n ]);\n return {\n ...rest,\n lastMessage: formattedLastMessage\n };\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (usePriceSocket);\n\n\n/***/ }),\n\n/***/ 80021:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PV\": function() { return /* binding */ mergeOrStartNewCandle; },\n/* harmony export */ \"Tp\": function() { return /* binding */ getQueryOptionsTickers; },\n/* harmony export */ \"_q\": function() { return /* binding */ getQueryKeyTickers; },\n/* harmony export */ \"gO\": function() { return /* binding */ orderTokensLikeBE; }\n/* harmony export */ });\n/* harmony import */ var _providers_liquidity_chart_candle_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30646);\n/* harmony import */ var _limit_order_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65992);\n\n\nconst mergeOrStartNewCandle = (lastCandle, newData, span)=>{\n const clampedStartTime = _providers_liquidity_chart_candle_utils__WEBPACK_IMPORTED_MODULE_0__/* .CandleSequence.clampStartTimeBySpan */ .B.clampStartTimeBySpan(newData.time, span);\n if (lastCandle && lastCandle.startTime.getTime() === clampedStartTime.getTime()) {\n return {\n ...lastCandle,\n close: newData.price,\n low: Math.min(lastCandle.low, newData.price),\n high: Math.max(lastCandle.high, newData.price),\n volume: newData.volume\n };\n } else {\n return {\n startTime: clampedStartTime,\n span,\n open: newData.price,\n close: newData.price,\n low: newData.price,\n high: newData.price,\n volume: newData.volume\n };\n }\n};\n/**\n * Replicates backend logic of sorting a token pair.\n *\n * @returns `[base, quote]`\n *\n * @see https://github.com/renec-chain/renechub/blob/e10f8fca45cf006186de721d8ccd76ea6375266a/app/helpers/nemoswap/market_price_tracking_helper.rb\n */ const orderTokensLikeBE = (tokenA, tokenB)=>{\n const [baseToken, quoteToken] = [\n tokenA,\n tokenB\n ].sort((a, b)=>a.symbol.toLowerCase().localeCompare(b.symbol.toLowerCase()));\n return (0,_limit_order_utils__WEBPACK_IMPORTED_MODULE_1__/* .orderTokenInfosByUiQuote */ .bS)([\n baseToken,\n quoteToken\n ], [\n tokenA,\n tokenB\n ]);\n};\nconst getQueryKeyTickers = (tokenA, tokenB, span)=>{\n return [\n \"tickers\",\n [\n tokenA === null || tokenA === void 0 ? void 0 : tokenA.symbol,\n tokenB === null || tokenB === void 0 ? void 0 : tokenB.symbol\n ].sort().join(),\n span\n ];\n};\nconst getQueryOptionsTickers = (spanInSeconds)=>({\n cacheTime: Infinity,\n staleTime: spanInSeconds * 1000\n });\n\n\n/***/ }),\n\n/***/ 38247:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(50594);\n/* harmony import */ var _mui_material_Box__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(99226);\n/* harmony import */ var _mui_material_IconButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(93946);\n/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26447);\n/* harmony import */ var _mui_material_Typography__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(15861);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294);\n/* harmony import */ var _components_chart__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95060);\n/* harmony import */ var _components_chart_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80021);\n/* harmony import */ var _hooks_useTrans__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74069);\n/* harmony import */ var _utils_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(73680);\n\n\n\n\n\n\n\n\n\n\n\nconst CandleChartBox = (param)=>{\n let { tokenIn , tokenOut , onCandleListUpdated , onPriceSentFromSocket , onHideChart } = param;\n const trans = (0,_hooks_useTrans__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z)();\n const [base, quote] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>tokenIn && tokenOut ? (0,_components_chart_utils__WEBPACK_IMPORTED_MODULE_3__/* .orderTokensLikeBE */ .gO)(tokenIn, tokenOut) : [\n undefined,\n undefined\n ], [\n tokenIn,\n tokenOut\n ]);\n const [timeFrame, setTimeFrame] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"one_hour\");\n if (!base || !quote) return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {});\n var _base_displaySymbol, _quote_displaySymbol, _base_displaySymbol1, _quote_displaySymbol1;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material_Box__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n className: \"bg-[#1E2735] rounded-t-3xl sm:rounded-b-3xl pb-[100%] lg:pb-0 relative\",\n \"data-testid\": \"chart\",\n width: {\n xs: \"100%\",\n lg: \"55%\"\n },\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, {\n className: \"absolute inset-0 py-6 pl-6 pr-4 max-h-[50vh]\",\n spacing: 1,\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n spacing: 2,\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, {\n direction: \"row\",\n spacing: 1,\n alignItems: \"center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, {\n direction: \"row\",\n spacing: -1,\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"img\", {\n \"data-testid\": \"chart-token-in-logo\",\n src: base.logoURI || _utils_helpers__WEBPACK_IMPORTED_MODULE_5__/* .NOT_AVAILABLE_LOGO_URL */ .Ov,\n alt: (_base_displaySymbol = base.displaySymbol) !== null && _base_displaySymbol !== void 0 ? _base_displaySymbol : \"Unknown\",\n className: \"rounded-full w-6 h-6\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"img\", {\n \"data-testid\": \"chart-token-out-logo\",\n src: quote.logoURI || _utils_helpers__WEBPACK_IMPORTED_MODULE_5__/* .NOT_AVAILABLE_LOGO_URL */ .Ov,\n alt: (_quote_displaySymbol = quote.displaySymbol) !== null && _quote_displaySymbol !== void 0 ? _quote_displaySymbol : \"Unknown\",\n className: \"rounded-full w-6 h-6\"\n })\n ]\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material_Typography__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z, {\n className: \"text-sm font-semibold\",\n \"data-testid\": \"chart-token-pair\",\n children: [\n (_base_displaySymbol1 = base.displaySymbol) !== null && _base_displaySymbol1 !== void 0 ? _base_displaySymbol1 : \"Unknown\",\n \"/\",\n (_quote_displaySymbol1 = quote.displaySymbol) !== null && _quote_displaySymbol1 !== void 0 ? _quote_displaySymbol1 : \"Unknown\"\n ]\n })\n ]\n }),\n onHideChart && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material_IconButton__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .Z, {\n \"data-testid\": \"chart-close-btn\",\n onClick: onHideChart,\n title: trans.limit.hide_chart_btn,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z, {\n fontSize: \"small\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material_Box__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n className: \"flex-grow\",\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_chart__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z, {\n timeFrame: timeFrame,\n tokenA: base,\n tokenB: quote,\n onCandleListUpdated: onCandleListUpdated,\n onPriceSentFromSocket: onPriceSentFromSocket,\n onTimeFrameChange: setTimeFrame\n })\n })\n ]\n })\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (CandleChartBox);\n\n\n/***/ }),\n\n/***/ 89010:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);\n/* harmony import */ var _utils_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73680);\n/* harmony import */ var _wallet_adapter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33618);\n\n\n\nconst isCommitment = (value)=>typeof value === \"string\";\nconst useConfirmTransaction = ()=>{\n const { connection } = (0,_wallet_adapter__WEBPACK_IMPORTED_MODULE_2__/* .useConnection */ .Rc)();\n const confirmTransaction = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async function(txSignature) {\n let commitmentOrLatestBlockhash = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"finalized\";\n const latestBlockhash = isCommitment(commitmentOrLatestBlockhash) ? await connection.getLatestBlockhash(commitmentOrLatestBlockhash) : commitmentOrLatestBlockhash;\n const [, confirmation] = await (0,_utils_helpers__WEBPACK_IMPORTED_MODULE_1__/* .toResultAsync */ .zM)(connection.confirmTransaction({\n signature: txSignature,\n ...latestBlockhash\n }));\n const error = !confirmation || confirmation.value.err;\n return [\n error,\n confirmation\n ];\n }, [\n connection\n ]);\n return {\n confirmTransaction\n };\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (useConfirmTransaction);\n\n\n/***/ }),\n\n/***/ 76243:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ use_safely_send_tx_with_notice; }\n});\n\n// UNUSED EXPORTS: isKnownError\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(85893);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Stack/Stack.js\nvar Stack = __webpack_require__(26447);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Typography/Typography.js + 1 modules\nvar Typography = __webpack_require__(15861);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(67294);\n// EXTERNAL MODULE: ./src/constants/index.ts\nvar constants = __webpack_require__(1880);\n// EXTERNAL MODULE: ./src/utils/helpers.ts\nvar helpers = __webpack_require__(73680);\n// EXTERNAL MODULE: ./src/wallet/adapter.ts + 1 modules\nvar adapter = __webpack_require__(33618);\n// EXTERNAL MODULE: ./src/hooks/use-confirmation-transaction.ts\nvar use_confirmation_transaction = __webpack_require__(89010);\n// EXTERNAL MODULE: ./node_modules/@solana/web3.js/lib/index.browser.esm.js + 3 modules\nvar index_browser_esm = __webpack_require__(27632);\n;// CONCATENATED MODULE: ./src/hooks/use-gasless-handling.ts\n\n\n\n\nconst useGaslessHandling = ()=>{\n const { connection } = (0,adapter/* useConnection */.Rc)();\n const { wallet , publicKey } = (0,adapter/* useWallet */.Os)();\n return (0,react.useCallback)(async (tx)=>{\n if ((0,constants/* isChainSolana */.j2)()) return await tx.buildAndExecute();\n const { instructions , cleanupInstructions , signers } = tx.compressIx(true);\n const transaction = new index_browser_esm.Transaction();\n for (const ix of instructions){\n transaction.add(ix);\n }\n for (const cIx of cleanupInstructions){\n transaction.add(cIx);\n }\n transaction.feePayer = publicKey !== null && publicKey !== void 0 ? publicKey : undefined;\n transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;\n for (const s of signers){\n transaction.sign(s);\n }\n return await (wallet === null || wallet === void 0 ? void 0 : wallet.adapter).sendTransactionWithSigners(transaction, connection, signers);\n }, [\n connection,\n wallet,\n publicKey\n ]);\n};\n/* harmony default export */ var use_gasless_handling = (useGaslessHandling);\n\n// EXTERNAL MODULE: ./src/hooks/use-settings.ts + 1 modules\nvar use_settings = __webpack_require__(49472);\n// EXTERNAL MODULE: ./src/hooks/use-toast-message.tsx + 1 modules\nvar use_toast_message = __webpack_require__(36625);\n// EXTERNAL MODULE: ./src/hooks/useTrans.ts + 2 modules\nvar useTrans = __webpack_require__(74069);\n;// CONCATENATED MODULE: ./src/hooks/use-safely-send-tx-with-notice.tsx\n\n\n\n\n\n\n\n\n\n\n\nconst KnownErrorTesters = {\n \"0x1\": [\n /Attempt to debit an account but found no record of a prior credit/,\n /custom program error: 0x1$/\n ],\n \"wallet_refused\": [\n /^refuse_send_transaction$/,\n /^user denied transaction signature$/,\n /^user denied sign transactions$/,\n /^WalletSignTransactionError$/,\n /^WalletSignTransactionError: Transaction rejected$/,\n /^WalletSignTransactionError: User rejected the request\\.$/\n ]\n};\nconst isKnownError = (error)=>{\n var _Object_entries_find;\n return (_Object_entries_find = Object.entries(KnownErrorTesters).find((param)=>{\n let [, testers] = param;\n return testers.some((tester)=>tester.test(error.message) || tester.test(String(error)));\n })) === null || _Object_entries_find === void 0 ? void 0 : _Object_entries_find[0];\n};\nconst useSafelySendTxWithNotice = function() {\n let globalContextOrOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n const globalOptions = (0,react.useMemo)(()=>typeof globalContextOrOptions === \"string\" ? {\n context: globalContextOrOptions\n } : globalContextOrOptions, [\n globalContextOrOptions\n ]);\n const { connection } = (0,adapter/* useConnection */.Rc)();\n const { confirmTransaction } = (0,use_confirmation_transaction/* default */.Z)();\n const { showMessage , showLoadingNotice } = (0,use_toast_message/* default */.Z)();\n const trans = (0,useTrans/* default */.Z)();\n const { data: settingsData } = (0,use_settings/* useSettings */.r)();\n const gaslessEnabled = Boolean(settingsData === null || settingsData === void 0 ? void 0 : settingsData.is_gasless_mode_enabled);\n const sendTxWithGasless = use_gasless_handling();\n var _globalOptions_alwaysHideTxExplorerLink, _globalOptions_confirmationErrorMessage, _globalOptions_confirmationErrorTitle, _ref, _globalOptions_context, _globalOptions_errorMessage, _globalOptions_errorTitle, _globalOptions_gasless, _globalOptions_onBeforeShowingNotice, _globalOptions_successMessage, _globalOptions_successTitle, _globalOptions_throwOnError, _globalOptions_waitUntilConfirmed;\n const safelySendTxWithNotice = (0,react.useCallback)(/**\n * @throws never, unless `throwOnError` is set to `true`.\n */ async function(tx) {\n let { alwaysHideTxExplorerLink =(_globalOptions_alwaysHideTxExplorerLink = globalOptions.alwaysHideTxExplorerLink) !== null && _globalOptions_alwaysHideTxExplorerLink !== void 0 ? _globalOptions_alwaysHideTxExplorerLink : false , confirmationErrorMessage =(_globalOptions_confirmationErrorMessage = globalOptions.confirmationErrorMessage) !== null && _globalOptions_confirmationErrorMessage !== void 0 ? _globalOptions_confirmationErrorMessage : trans.common.tx_notice.unconfirmed_message , confirmationErrorTitle =(_ref = (_globalOptions_confirmationErrorTitle = globalOptions.confirmationErrorTitle) !== null && _globalOptions_confirmationErrorTitle !== void 0 ? _globalOptions_confirmationErrorTitle : globalOptions.errorTitle) !== null && _ref !== void 0 ? _ref : trans.common.tx_notice.error_title , context =(_globalOptions_context = globalOptions.context) !== null && _globalOptions_context !== void 0 ? _globalOptions_context : \"common\" , errorMessage =(_globalOptions_errorMessage = globalOptions.errorMessage) !== null && _globalOptions_errorMessage !== void 0 ? _globalOptions_errorMessage : trans.common.tx_notice.error_message , errorTitle =(_globalOptions_errorTitle = globalOptions.errorTitle) !== null && _globalOptions_errorTitle !== void 0 ? _globalOptions_errorTitle : trans.common.tx_notice.error_title , gasless =(_globalOptions_gasless = globalOptions.gasless) !== null && _globalOptions_gasless !== void 0 ? _globalOptions_gasless : gaslessEnabled , onBeforeShowingNotice =(_globalOptions_onBeforeShowingNotice = globalOptions.onBeforeShowingNotice) !== null && _globalOptions_onBeforeShowingNotice !== void 0 ? _globalOptions_onBeforeShowingNotice : ()=>true , primaryButton =globalOptions.primaryButton , snackbarOptions =globalOptions.snackbarOptions , successMessage =(_globalOptions_successMessage = globalOptions.successMessage) !== null && _globalOptions_successMessage !== void 0 ? _globalOptions_successMessage : trans.common.tx_notice.success_message , successTitle =(_globalOptions_successTitle = globalOptions.successTitle) !== null && _globalOptions_successTitle !== void 0 ? _globalOptions_successTitle : trans.common.tx_notice.success_title , throwOnError =(_globalOptions_throwOnError = globalOptions.throwOnError) !== null && _globalOptions_throwOnError !== void 0 ? _globalOptions_throwOnError : false , titleAppendix =globalOptions.titleAppendix , waitUntilConfirmed =(_globalOptions_waitUntilConfirmed = globalOptions.waitUntilConfirmed) !== null && _globalOptions_waitUntilConfirmed !== void 0 ? _globalOptions_waitUntilConfirmed : true } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const noticeElement = function(e) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n return typeof e === \"function\" ? e(...args) : e;\n };\n const [error, signature] = await (0,helpers/* toResultAsync */.zM)(\"then\" in tx ? tx : gasless && !(0,constants/* isChainSolana */.j2)() ? sendTxWithGasless(tx) : tx.buildAndExecute());\n if (error) {\n var _isKnownError;\n const errorKey = (_isKnownError = isKnownError(error)) !== null && _isKnownError !== void 0 ? _isKnownError : \"unknown\";\n const errorTroubleshootingByContext = trans.common.tx_notice.errors[errorKey];\n var _errorTroubleshootingByContext_common;\n const troubleshooting = [\n ...(_errorTroubleshootingByContext_common = errorTroubleshootingByContext === null || errorTroubleshootingByContext === void 0 ? void 0 : errorTroubleshootingByContext.common) !== null && _errorTroubleshootingByContext_common !== void 0 ? _errorTroubleshootingByContext_common : []\n ];\n if (context !== \"common\" && (errorTroubleshootingByContext === null || errorTroubleshootingByContext === void 0 ? void 0 : errorTroubleshootingByContext[context])) {\n troubleshooting.splice(0, 0, ...errorTroubleshootingByContext[context]);\n }\n // eslint-disable-next-line no-console\n console.error(\"\".concat(context, \" send transaction error\"), error, error.logs);\n if (onBeforeShowingNotice(\"error\", error) !== false) {\n showMessage({\n error,\n message: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n spacing: 2,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-sm\",\n children: noticeElement(errorMessage, error)\n }),\n Boolean(troubleshooting.length) && /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n spacing: 1,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-xs font-bold\",\n children: trans.common.tx_notice.what_should_i_do_now\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Stack/* default */.Z, {\n spacing: 0.5,\n children: troubleshooting.map((solution, index)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n component: \"li\",\n className: \"text-sm\",\n children: solution\n }, index))\n })\n ]\n })\n ]\n }),\n primaryButton: noticeElement(primaryButton, \"error\", error),\n title: noticeElement(errorTitle, error),\n titleAppendix: noticeElement(titleAppendix, \"error\", error),\n type: \"error\"\n }, snackbarOptions);\n }\n if (throwOnError) throw error;\n return;\n }\n if (waitUntilConfirmed) {\n const latestBlockhash = await connection.getLatestBlockhash();\n const closeLoadingNotice = showLoadingNotice({\n lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,\n signature\n });\n const [isTxConfirmed, { value: { err: confirmationError } }] = await confirmTransaction(signature, latestBlockhash);\n closeLoadingNotice();\n if (!isTxConfirmed && confirmationError) {\n // eslint-disable-next-line no-console\n console.error(\"\".concat(context, \" confirm transaction error\"), confirmationError);\n if (onBeforeShowingNotice(\"confirmation_error\", signature, confirmationError) !== false) {\n showMessage({\n message: noticeElement(confirmationErrorMessage, signature, error),\n primaryButton: noticeElement(primaryButton, \"confirmation_error\", signature, error),\n title: noticeElement(confirmationErrorTitle, signature, error),\n titleAppendix: noticeElement(titleAppendix, \"confirmation_error\", signature, error),\n type: \"error\",\n txid: alwaysHideTxExplorerLink ? undefined : signature\n }, snackbarOptions);\n }\n if (throwOnError) throw confirmationError;\n return;\n }\n }\n ;\n if (onBeforeShowingNotice(\"success\", signature) !== false) {\n showMessage({\n message: noticeElement(successMessage, signature),\n primaryButton: noticeElement(primaryButton, \"success\", signature),\n title: noticeElement(successTitle, signature),\n titleAppendix: noticeElement(titleAppendix, \"success\", signature),\n type: \"success\",\n txid: alwaysHideTxExplorerLink ? undefined : signature\n }, snackbarOptions);\n }\n return signature;\n }, [\n confirmTransaction,\n connection,\n gaslessEnabled,\n globalOptions,\n sendTxWithGasless,\n showLoadingNotice,\n showMessage,\n trans\n ]);\n return {\n safelySendTxWithNotice\n };\n};\n/* harmony default export */ var use_safely_send_tx_with_notice = (useSafelySendTxWithNotice);\n\n\n/***/ }),\n\n/***/ 86447:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"ch\": function() { return /* binding */ getTickers; },\n \"Dg\": function() { return /* binding */ secondsToTickerTimeFrame; },\n \"zI\": function() { return /* binding */ tickerTimeFrameToSeconds; }\n});\n\n// UNUSED EXPORTS: ONE_DAY_IN_SEC\n\n;// CONCATENATED MODULE: ./src/utils/dict.ts\n/**\n * An {@link Object} that prefills default value for non-existing entries when\n * getting.\n */ const dict = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return new Proxy({}, {\n get (target, p, receiver) {\n if (!Reflect.has(target, p) && args.length) {\n Reflect.set(target, p, args[0], receiver);\n }\n return Reflect.get(target, p, receiver);\n }\n });\n};\n/* harmony default export */ var utils_dict = (dict);\n\n// EXTERNAL MODULE: ./src/utils/apis/index.ts\nvar apis = __webpack_require__(40795);\n;// CONCATENATED MODULE: ./src/utils/apis/tickers.ts\n\n\nconst ONE_MINUTE_IN_SEC = 60;\nconst ONE_HOUR_IN_SEC = 60 * ONE_MINUTE_IN_SEC;\nconst ONE_DAY_IN_SEC = 24 * ONE_HOUR_IN_SEC;\nconst tickerTimeFrameToSeconds = Object.assign(utils_dict(ONE_DAY_IN_SEC), {\n one_minute: ONE_MINUTE_IN_SEC,\n five_minutes: 5 * ONE_MINUTE_IN_SEC,\n fifteen_minutes: 15 * ONE_MINUTE_IN_SEC,\n thirty_minutes: 30 * ONE_MINUTE_IN_SEC,\n one_hour: 1 * ONE_HOUR_IN_SEC,\n four_hours: 4 * ONE_HOUR_IN_SEC,\n twenty_four_hour: 24 * ONE_HOUR_IN_SEC,\n one_week: 1 * 7 * ONE_DAY_IN_SEC,\n one_month: 1 * 30 * ONE_DAY_IN_SEC\n});\nconst secondsToTickerTimeFrame = Object.assign(utils_dict(\"twenty_four_hour\"), Object.fromEntries(Object.entries(tickerTimeFrameToSeconds).map((param)=>{\n let [key, value] = param;\n return [\n value,\n key\n ];\n})));\nconst getTickers = async function(tokenA, tokenB) {\n let timeFrame = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"twenty_four_hour\", startTime = arguments.length > 3 ? arguments[3] : void 0;\n const { data } = await apis/* api.get */.h.get(\"/tickers/trading_view\", {\n params: {\n token0: tokenA.symbol,\n token1: tokenB.symbol,\n time_frame: timeFrame,\n start_time: startTime\n }\n });\n const candles = data.klines.map((kline)=>({\n open: kline.o,\n close: kline.c,\n low: kline.l,\n high: kline.h,\n span: tickerTimeFrameToSeconds[timeFrame],\n startTime: new Date(kline.t),\n volume: kline.v\n })).sort((a, b)=>a.startTime.getTime() - b.startTime.getTime());\n const [token0] = data.pair.split(\"/\");\n const isTokenA0 = tokenA.symbol.toLowerCase() === token0;\n return {\n tokenA: isTokenA0 ? tokenA : tokenB,\n tokenB: isTokenA0 ? tokenB : tokenA,\n candles\n };\n};\n\n\n/***/ })\n\n}]);"],"names":["self","push","__unused_webpack_module","__webpack_exports__","__webpack_require__","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","_mui_material_InputBase__WEBPACK_IMPORTED_MODULE_4__","react__WEBPACK_IMPORTED_MODULE_1__","_components_base_CustomNumericFormat__WEBPACK_IMPORTED_MODULE_2__","_utils_use_event_callback__WEBPACK_IMPORTED_MODULE_3__","BaseAmountInput","inputProps","maxLimit","decimals","debounceMilliseconds","props","param","onInputFocus","$","Number","event","target","value","select","jsx","ZP","inputComponent","Z","placeholder","className","min","decimalScale","allowNegative","thousandSeparator","inputMode","onFocus","memo","decimal_js__WEBPACK_IMPORTED_MODULE_1__","react__WEBPACK_IMPORTED_MODULE_2__","react_number_format__WEBPACK_IMPORTED_MODULE_3__","CustomNumericFormat","forwardRef","ref","onChange","other","inputValue","setInputValue","useState","focused","setFocused","timeoutId","useRef","useEffect","toFixed","h3","getInputRef","param1","floatValue","params","name","current","clearTimeout","setTimeout","valueIsNumericString","allowedDecimalSeparators","values","_other_onBlur","onBlur","call","_other_onFocus","IconNoData","width","height","viewBox","xmlns","children","jsxs","transform","fill","fillRule","fillOpacity","cx","cy","rx","ry","stroke","d","IconSearch","color","_utils_numeric__WEBPACK_IMPORTED_MODULE_1__","NumericOutput","Fragment","WU","TokenPickerRevampContext","createContext","isOpenPicker","setIsOpenPicker","TokenPickerRevampProvider","useMemo","Provider","container_Container","TokenPickerRevamp_container","jsx_runtime","useTheme","useMediaQuery","Modal","DialogContent","Drawer","next_router","react","use_pagination","use_settings","utils","context","Clear","Box","Typography","Stack","decimal","next_image","image_default","n","index_esm","Button","use_balances","useTrans","static_import_icon","BaseDialog","styled","Input","StyledInput","padding","borderRadius","border","backgroundColor","fontSize","lineHeight","transition","borderColor","boxShadow","WarningRounded","classnames","classnames_default","AddressSpanWithCopyButton","numeric","TokenListItem","option","nickName","onClick","balance","balanceUsd","theme","isUnknownToken","type","tags","length","concat","symbol","src","logoURI","alt","htmlColor","sx","flexGrow","minWidth","palette","mode","direction","alignItems","spacing","justifyContent","displaySymbol","g1","address","memoTokenListItem","displayName","styling","itemSize","itemGap","itemPerView","listHeight","plus","times","minus","calculateItemPositionTop","index","toNumber","clickAndOpenInNewTab","a","document","createElement","href","url","rel","click","handleClickHighlightMessage","router","startsWith","test","urlObj","URL","isSameSite","origin","window","location","pathname","err","Container","options","maxHeight","onClickTokenItem","search","onSearch","hasMoreTokens","loadMoreTokens","onClickClose","highlightMessages","slot","trans","useRouter","balances","l","data","rateData","T","openWarningDialog","setOpenWarningDialog","warningToken","setWarningToken","onSelectToken","useCallback","onClickUnderstand","onItemsRendered","visibleStopIndex","childrenOfList","style","opt","rateKey","toUpperCase","rate","mul","top","marginTop","onClickHighlightMessages","markdown","title","N","u","REPEAT","variant","dangerouslySetInnerHTML","__html","display","home","select_a_token","fullWidth","disableUnderline","common","token_picker_filter_by","startAdornment","evt","gap","t7","itemCount","div","token_picker_no_tokens_found","warning","body","unknown_token","warning_unknown_token_content","handleClose","isOpened","isSmallPopup","button","size","i_understand","cancel","useDrawerOnMobile","container","view","dialogClasses","root","selectedToken","initSelectedToken","tokens","dataTestId","onChangeToken","isDisplayActionView","isDisplayHighlightMessage","locale","settingsData","r","onChangeTokenRef","isDesktop","breakpoints","up","useContext","V","searchStr","setSearchStr","setSelectedToken","paginationParams","queryKey","trim","toLowerCase","loader","Promise","resolve","comparator","x","y","initialData","itemsPerPage","hasMoreItems","items","loadMore","setItems","setAllTokens","searchingOptions","handleToggleOpen","o","handleClickTokenItem","token","_settingsData_highlight_messages","emptyValue","returnedValue","highlight_messages","injectedProps","id","open","onClose","classes","anchor","BackdropProps","backgroundImage","ContainerWithProvider","arrow_down","View","clickable","undefined","bgcolor","select_token","colord","es","liquidity_chart","candle_utils","tickers","use_price_socket","SpanOption","active","text","Vi","invert","alpha","toRgbString","DefaultFormatterConfig","desiredLength","timeFrame","tokenA","tokenB","tz","onCandleListUpdated","onPriceSentFromSocket","onTimeFrameChange","queryClient","useQueryClient","element","setElement","span","setSpan","zI","tokenIn","tokenOut","gO","changeRate","lastMessage","fetchCandleData","tickerData","fetchQuery","_q","ch","Dg","Tp","candles","updateLast","Zv","formatterConfig","load","tokenPair","of","lastCandle","PV","changeRateColor","candleRisingColor","candleFallingColor","headerTextColor","textColor","close","background","sign","react__WEBPACK_IMPORTED_MODULE_0__","_providers_cable__WEBPACK_IMPORTED_MODULE_1__","_utils__WEBPACK_IMPORTED_MODULE_2__","usePriceSocket","pairParams","pair","map","join","rest","aM","formattedLastMessage","price","p","time","Date","t","volume","v","mergeOrStartNewCandle","getQueryOptionsTickers","getQueryKeyTickers","orderTokensLikeBE","_providers_liquidity_chart_candle_utils__WEBPACK_IMPORTED_MODULE_0__","_limit_order_utils__WEBPACK_IMPORTED_MODULE_1__","newData","clampedStartTime","B","clampStartTimeBySpan","startTime","getTime","low","Math","high","max","baseToken","quoteToken","sort","b","localeCompare","bS","cacheTime","Infinity","staleTime","spanInSeconds","_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_10__","_mui_material_Box__WEBPACK_IMPORTED_MODULE_6__","_mui_material_IconButton__WEBPACK_IMPORTED_MODULE_9__","_mui_material_Stack__WEBPACK_IMPORTED_MODULE_7__","_mui_material_Typography__WEBPACK_IMPORTED_MODULE_8__","_components_chart__WEBPACK_IMPORTED_MODULE_2__","_components_chart_utils__WEBPACK_IMPORTED_MODULE_3__","_hooks_useTrans__WEBPACK_IMPORTED_MODULE_4__","_utils_helpers__WEBPACK_IMPORTED_MODULE_5__","CandleChartBox","_base_displaySymbol","_quote_displaySymbol","_base_displaySymbol1","_quote_displaySymbol1","onHideChart","base","quote","setTimeFrame","xs","lg","Ov","limit","hide_chart_btn","_utils_helpers__WEBPACK_IMPORTED_MODULE_1__","_wallet_adapter__WEBPACK_IMPORTED_MODULE_2__","isCommitment","useConfirmTransaction","connection","Rc","confirmTransaction","txSignature","commitmentOrLatestBlockhash","arguments","latestBlockhash","getLatestBlockhash","confirmation","zM","signature","error","use_safely_send_tx_with_notice","constants","helpers","adapter","use_confirmation_transaction","index_browser_esm","useGaslessHandling","wallet","publicKey","Os","tx","j2","buildAndExecute","instructions","cleanupInstructions","signers","compressIx","transaction","Transaction","ix","add","cIx","s","feePayer","recentBlockhash","blockhash","sendTransactionWithSigners","use_toast_message","KnownErrorTesters","isKnownError","_Object_entries_find","Object","entries","find","testers","some","tester","message","String","_globalOptions_alwaysHideTxExplorerLink","_globalOptions_confirmationErrorMessage","_globalOptions_confirmationErrorTitle","_ref","_globalOptions_context","_globalOptions_errorMessage","_globalOptions_errorTitle","_globalOptions_gasless","_globalOptions_onBeforeShowingNotice","_globalOptions_successMessage","_globalOptions_successTitle","_globalOptions_throwOnError","_globalOptions_waitUntilConfirmed","globalContextOrOptions","globalOptions","showMessage","showLoadingNotice","gaslessEnabled","Boolean","is_gasless_mode_enabled","sendTxWithGasless","use_gasless_handling","safelySendTxWithNotice","alwaysHideTxExplorerLink","confirmationErrorMessage","tx_notice","unconfirmed_message","confirmationErrorTitle","errorTitle","error_title","errorMessage","error_message","gasless","onBeforeShowingNotice","primaryButton","snackbarOptions","successMessage","success_message","successTitle","success_title","throwOnError","titleAppendix","waitUntilConfirmed","noticeElement","e","_len","args","_key","_isKnownError","_errorTroubleshootingByContext_common","errorKey","errorTroubleshootingByContext","errors","troubleshooting","splice","console","logs","what_should_i_do_now","solution","component","closeLoadingNotice","lastValidBlockHeight","isTxConfirmed","confirmationError","txid","getTickers","secondsToTickerTimeFrame","tickerTimeFrameToSeconds","utils_dict","Proxy","get","receiver","Reflect","has","set","apis","assign","one_minute","five_minutes","fifteen_minutes","thirty_minutes","one_hour","four_hours","twenty_four_hour","one_week","one_month","fromEntries","key","h","token0","token1","time_frame","start_time","klines","kline","c","split","isTokenA0"],"sourceRoot":""}