{"version":3,"file":"static/chunks/2427-7d1e31b17a245908.js","mappings":"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","sources":["webpack://_N_E/./src/components/base/WrappedTokensFlow/context.tsx","webpack://_N_E/./src/components/home/context.orderbook.tsx","webpack://_N_E/./src/components/home/context.tsx","webpack://_N_E/./src/components/home/use-token-mint-addresses.ts","webpack://_N_E/./src/components/limit-order/hooks/use-fetch-all-markets.tsx","webpack://_N_E/./src/components/limit-order/hooks/use-fetch-market-info.tsx","webpack://_N_E/./src/hooks/use-deposit-token-options.ts","webpack://_N_E/./src/hooks/use-orderbook-ids.ts","webpack://_N_E/./src/pages/swap/index.nemo.tsx","webpack://_N_E/./src/utils/apis/orderbook.ts","webpack://_N_E/"],"sourcesContent":["import { createContext, Dispatch, SetStateAction, useMemo, useState } from 'react'\n\nimport { useBalances } from '@/hooks/use-balances'\nimport useDepositTokenOptions from '@/hooks/use-deposit-token-options'\nimport { CustomTokenInfo } from '@/utils/helpers'\n\nexport type ContextType = {\n selectedToken: CustomTokenInfo | null\n setSelectedToken: Dispatch>\n prevTokenBalance: number\n tokenOptions: CustomTokenInfo[]\n}\n\nexport const initValue: ContextType = {\n selectedToken: null,\n setSelectedToken: () => null,\n prevTokenBalance: 0,\n tokenOptions: [],\n}\n\nexport const WrappedTokensFlowContext = createContext(initValue)\nexport const WrapperTokensFlowProvider = ({ children }: HocProps) => {\n const { balances } = useBalances()\n const [selectedToken, setSelectedToken] = useState(null)\n const { tokenOptions } = useDepositTokenOptions()\n\n const prevTokenBalance = useMemo(() => {\n if (!selectedToken) return 0\n return balances[selectedToken.symbol] || 0\n // store the previous balance based on the selectedToken, no need update when the balances are changed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedToken])\n\n const ctxValue = useMemo(() => ({\n selectedToken,\n setSelectedToken,\n prevTokenBalance,\n tokenOptions,\n }) ,[selectedToken, prevTokenBalance, tokenOptions])\n\n return (\n \n {children}\n \n )\n}\n","/* eslint-disable no-console */\nimport { PublicKey } from '@solana/web3.js'\nimport { Side, UiLadder } from '@trathailoi/phoenix-orderbook-sdk'\nimport isEqual from 'lodash/isEqual'\nimport { createContext, useContext, useMemo } from 'react'\n\nimport SwapContext from '@/components/home/context'\nimport useFetchAllMarkets from '@/components/limit-order/hooks/use-fetch-all-markets'\nimport useFetchMarketInfo, { MarketInfoQueryResult } from '@/components/limit-order/hooks/use-fetch-market-info'\nimport { useSettings } from '@/hooks/use-settings'\nimport useTokens from '@/hooks/use-tokens'\n\ntype SwapOrderbookContextType = {\n marketAddress?: PublicKey\n priceLadder?: UiLadder\n orderbookSide?: Side\n marketInfo?: MarketInfoQueryResult\n isFetchingMarketInfo: boolean\n refetchMarketInfo: () => Promise\n}\n\nconst initContextState: SwapOrderbookContextType = {\n isFetchingMarketInfo: false,\n refetchMarketInfo: () => Promise.resolve(),\n}\n\nexport const SwapOrderbookContext = createContext(initContextState)\n\nconst SwapOrderbookProvider = ({ children }: HocProps) => {\n const { data: settingsData } = useSettings()\n const enabledSwapOrderbook = Boolean(settingsData?.swap_and_orderbook_router_feature_enabled)\n\n const { tokenIn: uiTokenIn, tokenOut: uiTokenOut } = useContext(SwapContext)\n const { tokenListMap } = useTokens(true)\n\n const {\n data: markets,\n } = useFetchAllMarkets(enabledSwapOrderbook)\n\n const marketAddress = useMemo(() => {\n if (!markets) return\n const market = markets.find(\n ({\n base_token_mint_address,\n quote_token_mint_address,\n }) => isEqual(\n [base_token_mint_address, quote_token_mint_address].sort(),\n [uiTokenIn?.address, uiTokenOut?.address].sort(),\n ),\n )\n\n if (!market) return\n\n return new PublicKey(market.market_address)\n }, [\n markets,\n uiTokenIn?.address,\n uiTokenOut?.address,\n ])\n\n const {\n data: marketInfo,\n isFetching: isFetchingMarketInfo,\n refetch: refetchMarketInfo,\n } = useFetchMarketInfo(marketAddress, enabledSwapOrderbook)\n\n const [baseToken] = useMemo(() => {\n return [\n marketInfo?.baseTokenMintAddress && tokenListMap.get(marketInfo.baseTokenMintAddress.toBase58()),\n marketInfo?.quoteTokenMintAddress && tokenListMap.get(marketInfo.quoteTokenMintAddress.toBase58()),\n ]\n }, [\n marketInfo,\n tokenListMap,\n ])\n\n const priceLadder = useMemo(() => marketInfo?.marketState?.getUiLadder(), [marketInfo?.marketState])\n\n const orderbookSide = useMemo(() => {\n if (!uiTokenIn || !baseToken) return\n return uiTokenIn.address === baseToken.address ? Side.Ask : Side.Bid\n }, [uiTokenIn, baseToken])\n\n const value = useMemo(() => {\n return {\n marketAddress,\n priceLadder,\n marketInfo,\n isFetchingMarketInfo,\n refetchMarketInfo: async () => {\n await refetchMarketInfo()\n },\n orderbookSide,\n }\n }, [marketAddress, orderbookSide, priceLadder, marketInfo, refetchMarketInfo, isFetchingMarketInfo])\n\n return (\n \n {children}\n \n )\n}\n\nexport default SwapOrderbookProvider\n","import {\n createContext,\n useCallback,\n useContext,\n useMemo,\n} from 'react'\n\nimport useAmplitude, { EVENT_NAMES } from '@/hooks/use-amplitude'\nimport { useSettings } from '@/hooks/use-settings'\nimport {\n RENEC,\n RENEC_MINT_ADDRESS,\n RENGN_MINT_ADDRESS,\n REUSD,\n REUSD_MINT_ADDRESS,\n REVND_MINT_ADDRESS,\n type SwapTokenInfo,\n useTokens,\n} from '@/hooks/use-tokens'\nimport { LanguageContext } from '@/providers/language'\n\nimport useTokenMintAddresses from './use-token-mint-addresses'\n\nexport type PoolInfo = {\n volumesIn24h?: number;\n tokenAName?: string;\n tokenASymbol?: string;\n tokenALogoUrl?: string;\n tokenBName?: string;\n tokenBSymbol?: string;\n tokenBLogoUrl?: string;\n}\n\nexport type SwapContextType = {\n inputMintAddress: string,\n setInputMintAddress: (mintAddress: string) => void,\n outputMintAddress: string,\n setOutputMintAddress: (mintAddress: string) => void,\n switchMintAddresses: () => void,\n tokenIn?: SwapTokenInfo,\n tokenOut?: SwapTokenInfo,\n isLoading: boolean,\n}\n\ntype SwapContextProps = HocProps & {\n initMintAddresses?: [string, string]\n}\n\nconst defaultTokenInfoA = {\n nickName: 'tokenA',\n chainId: 101,\n address: RENEC_MINT_ADDRESS,\n name: RENEC,\n decimals: 9,\n symbol: RENEC,\n logoURI: 'https://remitano.com/coins/renec.png',\n}\n\nexport const defaultTokenInfoB = {\n nickName: 'tokenA',\n chainId: 101,\n address: REUSD_MINT_ADDRESS,\n name: REUSD,\n decimals: 9,\n symbol: REUSD,\n logoURI: 'https://raw.githubusercontent.com/renec-chain/rpl-token-registry/master/assets/mainnet/4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3/logo.png',\n}\n\nconst initContextState: SwapContextType = {\n inputMintAddress: REUSD,\n setInputMintAddress: () => null,\n outputMintAddress: REUSD,\n setOutputMintAddress: () => null,\n switchMintAddresses: () => null,\n tokenIn: defaultTokenInfoA,\n tokenOut: defaultTokenInfoB,\n isLoading: false,\n}\n\nconst SwapContext = createContext(initContextState)\n\nconst DEFAULT_MINT_ADDRESSES_BY_LANG_MAP: {[key: string]: [string, string]} = {\n vi: ['', REVND_MINT_ADDRESS],\n vn: ['', REVND_MINT_ADDRESS],\n ng: ['', RENGN_MINT_ADDRESS],\n en: ['', RENEC_MINT_ADDRESS],\n}\n\nexport const SwapProvider = ({\n children,\n}: SwapContextProps) => {\n const { isLoading: isLoadingSettings } = useSettings()\n const { getTokenInfo, isLoading: isLoadingTokens } = useTokens()\n const amplitude = useAmplitude()\n const { isoCode, lang } = useContext(LanguageContext)\n\n const initMintAddresses = useMemo(\n () =>\n DEFAULT_MINT_ADDRESSES_BY_LANG_MAP[isoCode?.toLowerCase() || lang] ??\n DEFAULT_MINT_ADDRESSES_BY_LANG_MAP['en'],\n [isoCode, lang],\n )\n\n const { mintAddresses, setMintAddresses } = useTokenMintAddresses(initMintAddresses)\n\n const [inputMintAddress, outputMintAddress] = useMemo(() => mintAddresses, [mintAddresses])\n\n const [tokenIn, tokenOut] = useMemo(() => [\n inputMintAddress ? getTokenInfo(inputMintAddress) : undefined,\n outputMintAddress ? getTokenInfo(outputMintAddress) : undefined,\n ], [getTokenInfo, inputMintAddress, outputMintAddress])\n\n const switchMintAddresses = useCallback(() => {\n amplitude.track(EVENT_NAMES.swap_switch_token, {\n from_token: tokenOut?.symbol,\n to_token: tokenIn?.symbol,\n })\n\n setMintAddresses(([a, b]) => [b, a])\n }, [amplitude, tokenIn, tokenOut, setMintAddresses])\n\n const setInputMintAddress = useCallback((mintAddress: string) => {\n setMintAddresses(([a, b]) => [mintAddress, mintAddress === b ? a : b])\n\n const token = getTokenInfo(mintAddress)\n amplitude.track(EVENT_NAMES.swap_select_from_token, { token_name: token?.symbol })\n }, [amplitude, getTokenInfo, setMintAddresses])\n\n const setOutputMintAddress = useCallback((mintAddress: string) => {\n setMintAddresses(([a, b]) => [mintAddress === a ? b : a, mintAddress])\n\n const token = getTokenInfo(mintAddress)\n amplitude.track(EVENT_NAMES.swap_select_to_token, { token_name: token?.symbol })\n }, [amplitude, getTokenInfo, setMintAddresses])\n\n const contextValue = useMemo(() => {\n return {\n inputMintAddress,\n setInputMintAddress,\n outputMintAddress,\n setOutputMintAddress,\n switchMintAddresses,\n tokenIn,\n tokenOut,\n isLoading: isLoadingSettings || isLoadingTokens,\n }\n }, [\n inputMintAddress,\n setInputMintAddress,\n outputMintAddress,\n setOutputMintAddress,\n switchMintAddresses,\n tokenIn,\n tokenOut,\n isLoadingSettings,\n isLoadingTokens,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nSwapContext.displayName = 'SwapContext'\nexport default SwapContext\n","import isEqual from 'lodash/isEqual'\nimport { useRouter } from 'next/router'\nimport { Dispatch, SetStateAction, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport useTokens from '@/hooks/use-tokens'\nimport type { APITokenInfo } from '@/utils/apis/helper'\n\nconst PAIR_SEPARATOR = '_'\n\nconst useTokenMintAddresses = (initMintAddresses: [string, string]) => {\n const router = useRouter()\n const { isLoading, tokenList } = useTokens()\n\n const [defaultMintAddresses, setDefaultMintAddresses] = useState(initMintAddresses)\n useEffect(() => {\n setDefaultMintAddresses((defaultMintAddresses) =>\n isEqual(defaultMintAddresses, initMintAddresses) ? defaultMintAddresses : initMintAddresses,\n )\n }, [initMintAddresses])\n\n const [mintAddresses, setMintAddresses] = useState<[string, string]>(['', ''])\n\n useEffect(() => {\n if (isLoading || !tokenList) return\n\n const queryPair = String(window.location.pathname.split('/').pop()).toLowerCase()\n const pairs = queryPair.split(PAIR_SEPARATOR)\n\n if (pairs.length < 1 || pairs.length > 2) return\n\n let foundTokenIn: APITokenInfo | undefined\n let foundTokenOut: APITokenInfo | undefined\n\n if (pairs.length === 1) {\n // if only one token in the query string, treat it as tokenOut\n foundTokenOut = tokenList.find((t) => t.token_symbol.toLowerCase() === pairs[0])\n\n if (!foundTokenOut) return\n } else {\n foundTokenIn = tokenList.find((t) => t.token_symbol.toLowerCase() === pairs[0])\n foundTokenOut = tokenList.find((t) => t.token_symbol.toLowerCase() === pairs[1])\n\n if (!foundTokenIn || !foundTokenOut) return\n }\n\n setMintAddresses((mintAddresses) => {\n const [prevInAddr, prevOutAddr] = mintAddresses\n const newDefaultInAddr = foundTokenIn?.coin_address || prevInAddr\n const newDefaultOutAddr = foundTokenOut?.coin_address || prevOutAddr\n\n const newAddr: [string, string] = newDefaultInAddr === newDefaultOutAddr\n ? ['', newDefaultOutAddr]\n : [newDefaultInAddr, newDefaultOutAddr]\n return isEqual(newAddr, mintAddresses) ? mintAddresses : newAddr\n })\n }, [isLoading, tokenList])\n\n useEffect(() => {\n if (!['/swap', '/swap/[pair]', '/limit/[pair]'].includes(router.pathname)) return\n if (isLoading || !tokenList) return\n\n const tokenIn = tokenList.find((t) => t.coin_address === mintAddresses[0])\n const tokenOut = tokenList.find((t) => t.coin_address === mintAddresses[1])\n\n if (tokenIn && !tokenOut) return\n\n const newPairQuery = [tokenIn?.token_symbol, tokenOut?.token_symbol]\n .filter(Boolean)\n .join(PAIR_SEPARATOR)\n\n if (!newPairQuery) return\n\n const searchParams = window.location.search\n const pathname = router.pathname === '/swap' ? '/swap/[pair]' : router.pathname\n\n window.history.replaceState({}, '', `/${router.locale}${pathname.replace('[pair]', newPairQuery)}${searchParams}`)\n }, [isLoading, mintAddresses, router, tokenList])\n\n const finalMintAddresses = useMemo<[string, string]>(\n () => mintAddresses[0] || mintAddresses[1] ? mintAddresses : defaultMintAddresses,\n [defaultMintAddresses, mintAddresses],\n )\n\n const handleSetMintAddresses = useCallback>>(\n (updater) => {\n setMintAddresses(typeof updater === 'function' ? updater(finalMintAddresses) : updater)\n },\n [finalMintAddresses],\n )\n\n return {\n mintAddresses: finalMintAddresses,\n setMintAddresses: handleSetMintAddresses,\n }\n}\n\nexport default useTokenMintAddresses\n","import { useQuery } from 'react-query'\n\nimport { useSettings } from '@/hooks/use-settings'\nimport testnetMarkets from '@/root/cypress/fixtures/orderbook-markets.json'\nimport { fetchOrderbookMarkets } from '@/utils/apis/orderbook'\n\nconst useFetchAllMarkets = (enabled?: boolean) => {\n const { data: settingsData } = useSettings()\n\n return useQuery({\n queryKey: ['orderbook-market'],\n queryFn: async () => {\n const markets = await fetchOrderbookMarkets()\n return markets\n },\n initialData: testnetMarkets.data,\n refetchOnWindowFocus: false,\n enabled: enabled ?? Boolean(settingsData?.orderbook_feature_enabled),\n })\n}\n\nexport default useFetchAllMarkets\n","import { PublicKey } from '@solana/web3.js'\nimport {\n Client,\n MarketState,\n} from '@trathailoi/phoenix-orderbook-sdk'\n\nimport useOrderbookIds from '@/hooks/use-orderbook-ids'\nimport useQueryWithSubscription from '@/hooks/use-query-with-subscription'\nimport { useSettings } from '@/hooks/use-settings'\nimport { useConnection } from '@/wallet/adapter'\n\nexport type MarketInfoQueryResult = {\n phoenixClient?: Client,\n marketState?: MarketState,\n baseTokenMintAddress?: PublicKey,\n quoteTokenMintAddress?: PublicKey,\n}\n\nconst useFetchMarketInfo = (marketAddress?: PublicKey, enabled?: boolean) => {\n const { connection } = useConnection()\n const { data: settingsData } = useSettings()\n const { programId, seatManagerProgramId } = useOrderbookIds()\n\n return useQueryWithSubscription('onAccountChange', {\n queryKey: [\n 'marketState',\n marketAddress,\n programId.toBase58(),\n seatManagerProgramId.toBase58(),\n ],\n queryFn: async () => {\n if (!marketAddress) return\n\n const phoenixClient = await Client.createWithoutConfig(\n connection,\n programId,\n seatManagerProgramId,\n [marketAddress],\n )\n phoenixClient.printLadder(marketAddress.toBase58())\n\n const marketState = phoenixClient.marketStates.get(marketAddress.toBase58())\n const baseTokenMintAddress = marketState?.data.header.baseParams.mintKey\n const quoteTokenMintAddress = marketState?.data.header.quoteParams.mintKey\n\n const result: MarketInfoQueryResult = {\n phoenixClient,\n marketState,\n baseTokenMintAddress,\n quoteTokenMintAddress,\n }\n return result\n },\n refetchOnWindowFocus: false,\n enabled: enabled ?? Boolean(settingsData?.orderbook_feature_enabled && marketAddress),\n keepPreviousData: true,\n subscriptionOptions: marketAddress,\n })\n}\n\nexport default useFetchMarketInfo\n","import { useMemo } from 'react'\n\nimport { useFetchTopCoinList } from '@/hooks/use-nemo-apis'\nimport { toRegistryTokenInfo } from '@/utils/apis/helper'\n\nexport const BLACK_LIST_TOKENS_SYMBOLS = ['reSOL', 'reBNB']\n\n/**\n * These token options will be used in the deposit and withdraw dialog in the assets page\n */\nconst useDepositTokenOptions = () => {\n const { data: coreTokens = [], isLoading: isFetchingCoreTokens } = useFetchTopCoinList()\n\n const tokenOptions = useMemo(\n () =>\n coreTokens\n .filter((token) => !BLACK_LIST_TOKENS_SYMBOLS.includes(token.token_symbol))\n .map((token) => toRegistryTokenInfo(token)),\n [coreTokens],\n )\n\n return { tokenOptions, isLoading: isFetchingCoreTokens }\n}\n\nexport default useDepositTokenOptions\n","import { PublicKey } from '@solana/web3.js'\nimport { useMemo } from 'react'\n\nimport { useSettings } from '@/hooks/use-settings'\nimport {\n DEFAULT_ORDERBOOK_PROGRAM_ID,\n DEFAULT_ORDERBOOK_SEAT_MANAGER_PROGRAM_ID,\n} from '@/utils/helpers'\n\nconst useOrderbookIds = () => {\n const { data: settingsData } = useSettings()\n\n return useMemo(\n () => ({\n programId: new PublicKey(settingsData?.orderbook_program_id || DEFAULT_ORDERBOOK_PROGRAM_ID),\n seatManagerProgramId: new PublicKey(settingsData?.orderbook_seat_manager_program_id || DEFAULT_ORDERBOOK_SEAT_MANAGER_PROGRAM_ID),\n }),\n [\n settingsData?.orderbook_program_id,\n settingsData?.orderbook_seat_manager_program_id,\n ],\n )\n}\n\nexport default useOrderbookIds\n","import dynamic from 'next/dynamic'\n\nimport { WrapperTokensFlowProvider } from '@/components/base/WrappedTokensFlow/context'\nimport { SwapProvider } from '@/components/home/context'\nimport SwapOrderbookProvider from '@/components/home/context.orderbook'\nimport { MainLayout } from '@/layouts/MainLayout'\nimport gssp from '@/utils/gssp'\n\nconst Home = dynamic(() => import('@/components/home'), { ssr: false })\n\nconst Index = () => {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Index\n\nexport const getServerSideProps = gssp()\n","import { isMainnet } from '@/constants/index'\nimport mainnetLookupTables from '@/root/cypress/fixtures/orderbook-lookup-tables.mainnet.json'\nimport testnetLookupTables from '@/root/cypress/fixtures/orderbook-lookup-tables.testnet.json'\nimport testnetMarkets from '@/root/cypress/fixtures/orderbook-markets.json'\nimport mainnetMarkets from '@/root/cypress/fixtures/orderbook-markets.mainnet.json'\nimport { api } from '@/utils/apis/index'\nimport { toResultAsync } from '@/utils/helpers'\n\nexport type OrderbookMarketMetaData = {\n market_address: string\n base_token_mint_address: string\n quote_token_mint_address: string\n}\n\nexport const fetchOrderbookMarkets = async (): Promise => {\n const [, response] = await toResultAsync(api.get('orderbook/markets'))\n const fixedMarkets = isMainnet ? mainnetMarkets : testnetMarkets\n return (response?.data || fixedMarkets.data).filter(Boolean)\n}\n\nexport const fetchOrderbookLookupTables = async (): Promise> => {\n const [, response] = await toResultAsync(api.get('orderbook/lookup-tables'))\n const fixedLookupTables = isMainnet ? mainnetLookupTables : testnetLookupTables\n return (response?.data || fixedLookupTables)\n}\n","\"use strict\";\n(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[2427],{\n\n/***/ 96661:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"H$\": function() { return /* binding */ WrappedTokensFlowContext; },\n/* harmony export */ \"hf\": function() { return /* binding */ WrapperTokensFlowProvider; }\n/* harmony export */ });\n/* unused harmony export initValue */\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294);\n/* harmony import */ var _hooks_use_balances__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(68203);\n/* harmony import */ var _hooks_use_deposit_token_options__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74733);\n\n\n\n\nconst initValue = {\n selectedToken: null,\n setSelectedToken: ()=>null,\n prevTokenBalance: 0,\n tokenOptions: []\n};\nconst WrappedTokensFlowContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(initValue);\nconst WrapperTokensFlowProvider = (param)=>{\n let { children } = param;\n const { balances } = (0,_hooks_use_balances__WEBPACK_IMPORTED_MODULE_2__/* .useBalances */ .l)();\n const [selectedToken, setSelectedToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const { tokenOptions } = (0,_hooks_use_deposit_token_options__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z)();\n const prevTokenBalance = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n if (!selectedToken) return 0;\n return balances[selectedToken.symbol] || 0;\n // store the previous balance based on the selectedToken, no need update when the balances are changed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n selectedToken\n ]);\n const ctxValue = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>({\n selectedToken,\n setSelectedToken,\n prevTokenBalance,\n tokenOptions\n }), [\n selectedToken,\n prevTokenBalance,\n tokenOptions\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(WrappedTokensFlowContext.Provider, {\n value: ctxValue,\n children: children\n });\n};\n\n\n/***/ }),\n\n/***/ 90804:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"x\": function() { return /* binding */ SwapOrderbookContext; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _solana_web3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27632);\n/* harmony import */ var _trathailoi_phoenix_orderbook_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86439);\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18446);\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67294);\n/* harmony import */ var _components_home_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5144);\n/* harmony import */ var _components_limit_order_hooks_use_fetch_all_markets__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98638);\n/* harmony import */ var _components_limit_order_hooks_use_fetch_market_info__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(79868);\n/* harmony import */ var _hooks_use_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(49472);\n/* harmony import */ var _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(28309);\n/* eslint-disable no-console */ \n\n\n\n\n\n\n\n\n\nconst initContextState = {\n isFetchingMarketInfo: false,\n refetchMarketInfo: ()=>Promise.resolve()\n};\nconst SwapOrderbookContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_4__.createContext)(initContextState);\nconst SwapOrderbookProvider = (param)=>{\n let { children } = param;\n const { data: settingsData } = (0,_hooks_use_settings__WEBPACK_IMPORTED_MODULE_8__/* .useSettings */ .r)();\n const enabledSwapOrderbook = Boolean(settingsData === null || settingsData === void 0 ? void 0 : settingsData.swap_and_orderbook_router_feature_enabled);\n const { tokenIn: uiTokenIn , tokenOut: uiTokenOut } = (0,react__WEBPACK_IMPORTED_MODULE_4__.useContext)(_components_home_context__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .ZP);\n const { tokenListMap } = (0,_hooks_use_tokens__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .Co)(true);\n const { data: markets } = (0,_components_limit_order_hooks_use_fetch_all_markets__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(enabledSwapOrderbook);\n const marketAddress = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(()=>{\n if (!markets) return;\n const market = markets.find((param)=>{\n let { base_token_mint_address , quote_token_mint_address } = param;\n return lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default()([\n base_token_mint_address,\n quote_token_mint_address\n ].sort(), [\n uiTokenIn === null || uiTokenIn === void 0 ? void 0 : uiTokenIn.address,\n uiTokenOut === null || uiTokenOut === void 0 ? void 0 : uiTokenOut.address\n ].sort());\n });\n if (!market) return;\n return new _solana_web3_js__WEBPACK_IMPORTED_MODULE_1__.PublicKey(market.market_address);\n }, [\n markets,\n uiTokenIn === null || uiTokenIn === void 0 ? void 0 : uiTokenIn.address,\n uiTokenOut === null || uiTokenOut === void 0 ? void 0 : uiTokenOut.address\n ]);\n const { data: marketInfo , isFetching: isFetchingMarketInfo , refetch: refetchMarketInfo } = (0,_components_limit_order_hooks_use_fetch_market_info__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z)(marketAddress, enabledSwapOrderbook);\n const [baseToken] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(()=>{\n return [\n (marketInfo === null || marketInfo === void 0 ? void 0 : marketInfo.baseTokenMintAddress) && tokenListMap.get(marketInfo.baseTokenMintAddress.toBase58()),\n (marketInfo === null || marketInfo === void 0 ? void 0 : marketInfo.quoteTokenMintAddress) && tokenListMap.get(marketInfo.quoteTokenMintAddress.toBase58())\n ];\n }, [\n marketInfo,\n tokenListMap\n ]);\n const priceLadder = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(()=>{\n var _marketInfo_marketState;\n return marketInfo === null || marketInfo === void 0 ? void 0 : (_marketInfo_marketState = marketInfo.marketState) === null || _marketInfo_marketState === void 0 ? void 0 : _marketInfo_marketState.getUiLadder();\n }, [\n marketInfo === null || marketInfo === void 0 ? void 0 : marketInfo.marketState\n ]);\n const orderbookSide = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(()=>{\n if (!uiTokenIn || !baseToken) return;\n return uiTokenIn.address === baseToken.address ? _trathailoi_phoenix_orderbook_sdk__WEBPACK_IMPORTED_MODULE_2__/* .Side.Ask */ .MFA.Ask : _trathailoi_phoenix_orderbook_sdk__WEBPACK_IMPORTED_MODULE_2__/* .Side.Bid */ .MFA.Bid;\n }, [\n uiTokenIn,\n baseToken\n ]);\n const value = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(()=>{\n return {\n marketAddress,\n priceLadder,\n marketInfo,\n isFetchingMarketInfo,\n refetchMarketInfo: async ()=>{\n await refetchMarketInfo();\n },\n orderbookSide\n };\n }, [\n marketAddress,\n orderbookSide,\n priceLadder,\n marketInfo,\n refetchMarketInfo,\n isFetchingMarketInfo\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SwapOrderbookContext.Provider, {\n value: value,\n children: children\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (SwapOrderbookProvider);\n\n\n/***/ }),\n\n/***/ 5144:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"sd\": function() { return /* binding */ SwapProvider; }\n/* harmony export */ });\n/* unused harmony export defaultTokenInfoB */\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294);\n/* harmony import */ var _hooks_use_amplitude__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54341);\n/* harmony import */ var _hooks_use_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49472);\n/* harmony import */ var _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28309);\n/* harmony import */ var _providers_language__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(59915);\n/* harmony import */ var _use_token_mint_addresses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(52988);\n\n\n\n\n\n\n\nconst defaultTokenInfoA = {\n nickName: \"tokenA\",\n chainId: 101,\n address: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .RENEC_MINT_ADDRESS */ .vV,\n name: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .RENEC */ .A7,\n decimals: 9,\n symbol: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .RENEC */ .A7,\n logoURI: \"https://remitano.com/coins/renec.png\"\n};\nconst defaultTokenInfoB = {\n nickName: \"tokenA\",\n chainId: 101,\n address: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .REUSD_MINT_ADDRESS */ .Df,\n name: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .REUSD */ .ZP,\n decimals: 9,\n symbol: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .REUSD */ .ZP,\n logoURI: \"https://raw.githubusercontent.com/renec-chain/rpl-token-registry/master/assets/mainnet/4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3/logo.png\"\n};\nconst initContextState = {\n inputMintAddress: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .REUSD */ .ZP,\n setInputMintAddress: ()=>null,\n outputMintAddress: _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .REUSD */ .ZP,\n setOutputMintAddress: ()=>null,\n switchMintAddresses: ()=>null,\n tokenIn: defaultTokenInfoA,\n tokenOut: defaultTokenInfoB,\n isLoading: false\n};\nconst SwapContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(initContextState);\nconst DEFAULT_MINT_ADDRESSES_BY_LANG_MAP = {\n vi: [\n \"\",\n _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .REVND_MINT_ADDRESS */ .PW\n ],\n vn: [\n \"\",\n _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .REVND_MINT_ADDRESS */ .PW\n ],\n ng: [\n \"\",\n _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .RENGN_MINT_ADDRESS */ .f_\n ],\n en: [\n \"\",\n _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .RENEC_MINT_ADDRESS */ .vV\n ]\n};\nconst SwapProvider = (param)=>{\n let { children } = param;\n const { isLoading: isLoadingSettings } = (0,_hooks_use_settings__WEBPACK_IMPORTED_MODULE_3__/* .useSettings */ .r)();\n const { getTokenInfo , isLoading: isLoadingTokens } = (0,_hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__/* .useTokens */ .rU)();\n const amplitude = (0,_hooks_use_amplitude__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z)();\n const { isoCode , lang } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(_providers_language__WEBPACK_IMPORTED_MODULE_5__/* .LanguageContext */ .A);\n var _DEFAULT_MINT_ADDRESSES_BY_LANG_MAP_;\n const initMintAddresses = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n return (_DEFAULT_MINT_ADDRESSES_BY_LANG_MAP_ = DEFAULT_MINT_ADDRESSES_BY_LANG_MAP[(isoCode === null || isoCode === void 0 ? void 0 : isoCode.toLowerCase()) || lang]) !== null && _DEFAULT_MINT_ADDRESSES_BY_LANG_MAP_ !== void 0 ? _DEFAULT_MINT_ADDRESSES_BY_LANG_MAP_ : DEFAULT_MINT_ADDRESSES_BY_LANG_MAP[\"en\"];\n }, [\n isoCode,\n lang\n ]);\n const { mintAddresses , setMintAddresses } = (0,_use_token_mint_addresses__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(initMintAddresses);\n const [inputMintAddress, outputMintAddress] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>mintAddresses, [\n mintAddresses\n ]);\n const [tokenIn, tokenOut] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>[\n inputMintAddress ? getTokenInfo(inputMintAddress) : undefined,\n outputMintAddress ? getTokenInfo(outputMintAddress) : undefined\n ], [\n getTokenInfo,\n inputMintAddress,\n outputMintAddress\n ]);\n const switchMintAddresses = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n amplitude.track(_hooks_use_amplitude__WEBPACK_IMPORTED_MODULE_2__/* .EVENT_NAMES.swap_switch_token */ .K.swap_switch_token, {\n from_token: tokenOut === null || tokenOut === void 0 ? void 0 : tokenOut.symbol,\n to_token: tokenIn === null || tokenIn === void 0 ? void 0 : tokenIn.symbol\n });\n setMintAddresses((param)=>{\n let [a, b] = param;\n return [\n b,\n a\n ];\n });\n }, [\n amplitude,\n tokenIn,\n tokenOut,\n setMintAddresses\n ]);\n const setInputMintAddress = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((mintAddress)=>{\n setMintAddresses((param)=>{\n let [a, b] = param;\n return [\n mintAddress,\n mintAddress === b ? a : b\n ];\n });\n const token = getTokenInfo(mintAddress);\n amplitude.track(_hooks_use_amplitude__WEBPACK_IMPORTED_MODULE_2__/* .EVENT_NAMES.swap_select_from_token */ .K.swap_select_from_token, {\n token_name: token === null || token === void 0 ? void 0 : token.symbol\n });\n }, [\n amplitude,\n getTokenInfo,\n setMintAddresses\n ]);\n const setOutputMintAddress = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((mintAddress)=>{\n setMintAddresses((param)=>{\n let [a, b] = param;\n return [\n mintAddress === a ? b : a,\n mintAddress\n ];\n });\n const token = getTokenInfo(mintAddress);\n amplitude.track(_hooks_use_amplitude__WEBPACK_IMPORTED_MODULE_2__/* .EVENT_NAMES.swap_select_to_token */ .K.swap_select_to_token, {\n token_name: token === null || token === void 0 ? void 0 : token.symbol\n });\n }, [\n amplitude,\n getTokenInfo,\n setMintAddresses\n ]);\n const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n return {\n inputMintAddress,\n setInputMintAddress,\n outputMintAddress,\n setOutputMintAddress,\n switchMintAddresses,\n tokenIn,\n tokenOut,\n isLoading: isLoadingSettings || isLoadingTokens\n };\n }, [\n inputMintAddress,\n setInputMintAddress,\n outputMintAddress,\n setOutputMintAddress,\n switchMintAddresses,\n tokenIn,\n tokenOut,\n isLoadingSettings,\n isLoadingTokens\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SwapContext.Provider, {\n value: contextValue,\n children: children\n });\n};\nSwapContext.displayName = \"SwapContext\";\n/* harmony default export */ __webpack_exports__[\"ZP\"] = (SwapContext);\n\n\n/***/ }),\n\n/***/ 52988:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18446);\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11163);\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67294);\n/* harmony import */ var _hooks_use_tokens__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(28309);\n\n\n\n\nconst PAIR_SEPARATOR = \"_\";\nconst useTokenMintAddresses = (initMintAddresses)=>{\n const router = (0,next_router__WEBPACK_IMPORTED_MODULE_1__.useRouter)();\n const { isLoading , tokenList } = (0,_hooks_use_tokens__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Co)();\n const [defaultMintAddresses, setDefaultMintAddresses] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(initMintAddresses);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n setDefaultMintAddresses((defaultMintAddresses)=>lodash_isEqual__WEBPACK_IMPORTED_MODULE_0___default()(defaultMintAddresses, initMintAddresses) ? defaultMintAddresses : initMintAddresses);\n }, [\n initMintAddresses\n ]);\n const [mintAddresses, setMintAddresses] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([\n \"\",\n \"\"\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n if (isLoading || !tokenList) return;\n const queryPair = String(window.location.pathname.split(\"/\").pop()).toLowerCase();\n const pairs = queryPair.split(PAIR_SEPARATOR);\n if (pairs.length < 1 || pairs.length > 2) return;\n let foundTokenIn;\n let foundTokenOut;\n if (pairs.length === 1) {\n // if only one token in the query string, treat it as tokenOut\n foundTokenOut = tokenList.find((t)=>t.token_symbol.toLowerCase() === pairs[0]);\n if (!foundTokenOut) return;\n } else {\n foundTokenIn = tokenList.find((t)=>t.token_symbol.toLowerCase() === pairs[0]);\n foundTokenOut = tokenList.find((t)=>t.token_symbol.toLowerCase() === pairs[1]);\n if (!foundTokenIn || !foundTokenOut) return;\n }\n setMintAddresses((mintAddresses)=>{\n const [prevInAddr, prevOutAddr] = mintAddresses;\n const newDefaultInAddr = (foundTokenIn === null || foundTokenIn === void 0 ? void 0 : foundTokenIn.coin_address) || prevInAddr;\n const newDefaultOutAddr = (foundTokenOut === null || foundTokenOut === void 0 ? void 0 : foundTokenOut.coin_address) || prevOutAddr;\n const newAddr = newDefaultInAddr === newDefaultOutAddr ? [\n \"\",\n newDefaultOutAddr\n ] : [\n newDefaultInAddr,\n newDefaultOutAddr\n ];\n return lodash_isEqual__WEBPACK_IMPORTED_MODULE_0___default()(newAddr, mintAddresses) ? mintAddresses : newAddr;\n });\n }, [\n isLoading,\n tokenList\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{\n if (![\n \"/swap\",\n \"/swap/[pair]\",\n \"/limit/[pair]\"\n ].includes(router.pathname)) return;\n if (isLoading || !tokenList) return;\n const tokenIn = tokenList.find((t)=>t.coin_address === mintAddresses[0]);\n const tokenOut = tokenList.find((t)=>t.coin_address === mintAddresses[1]);\n if (tokenIn && !tokenOut) return;\n const newPairQuery = [\n tokenIn === null || tokenIn === void 0 ? void 0 : tokenIn.token_symbol,\n tokenOut === null || tokenOut === void 0 ? void 0 : tokenOut.token_symbol\n ].filter(Boolean).join(PAIR_SEPARATOR);\n if (!newPairQuery) return;\n const searchParams = window.location.search;\n const pathname = router.pathname === \"/swap\" ? \"/swap/[pair]\" : router.pathname;\n window.history.replaceState({}, \"\", \"/\".concat(router.locale).concat(pathname.replace(\"[pair]\", newPairQuery)).concat(searchParams));\n }, [\n isLoading,\n mintAddresses,\n router,\n tokenList\n ]);\n const finalMintAddresses = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>mintAddresses[0] || mintAddresses[1] ? mintAddresses : defaultMintAddresses, [\n defaultMintAddresses,\n mintAddresses\n ]);\n const handleSetMintAddresses = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((updater)=>{\n setMintAddresses(typeof updater === \"function\" ? updater(finalMintAddresses) : updater);\n }, [\n finalMintAddresses\n ]);\n return {\n mintAddresses: finalMintAddresses,\n setMintAddresses: handleSetMintAddresses\n };\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (useTokenMintAddresses);\n\n\n/***/ }),\n\n/***/ 98638:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88767);\n/* harmony import */ var _hooks_use_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49472);\n/* harmony import */ var _root_cypress_fixtures_orderbook_markets_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2425);\n/* harmony import */ var _utils_apis_orderbook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26110);\n\n\n\n\nconst useFetchAllMarkets = (enabled)=>{\n const { data: settingsData } = (0,_hooks_use_settings__WEBPACK_IMPORTED_MODULE_1__/* .useSettings */ .r)();\n return (0,react_query__WEBPACK_IMPORTED_MODULE_0__.useQuery)({\n queryKey: [\n \"orderbook-market\"\n ],\n queryFn: async ()=>{\n const markets = await (0,_utils_apis_orderbook__WEBPACK_IMPORTED_MODULE_3__/* .fetchOrderbookMarkets */ .o)();\n return markets;\n },\n initialData: _root_cypress_fixtures_orderbook_markets_json__WEBPACK_IMPORTED_MODULE_2__.data,\n refetchOnWindowFocus: false,\n enabled: enabled !== null && enabled !== void 0 ? enabled : Boolean(settingsData === null || settingsData === void 0 ? void 0 : settingsData.orderbook_feature_enabled)\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (useFetchAllMarkets);\n\n\n/***/ }),\n\n/***/ 79868:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var _trathailoi_phoenix_orderbook_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86439);\n/* harmony import */ var _hooks_use_orderbook_ids__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8307);\n/* harmony import */ var _hooks_use_query_with_subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5785);\n/* harmony import */ var _hooks_use_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49472);\n/* harmony import */ var _wallet_adapter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(33618);\n\n\n\n\n\nconst useFetchMarketInfo = (marketAddress, enabled)=>{\n const { connection } = (0,_wallet_adapter__WEBPACK_IMPORTED_MODULE_4__/* .useConnection */ .Rc)();\n const { data: settingsData } = (0,_hooks_use_settings__WEBPACK_IMPORTED_MODULE_3__/* .useSettings */ .r)();\n const { programId , seatManagerProgramId } = (0,_hooks_use_orderbook_ids__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z)();\n return (0,_hooks_use_query_with_subscription__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z)(\"onAccountChange\", {\n queryKey: [\n \"marketState\",\n marketAddress,\n programId.toBase58(),\n seatManagerProgramId.toBase58()\n ],\n queryFn: async ()=>{\n if (!marketAddress) return;\n const phoenixClient = await _trathailoi_phoenix_orderbook_sdk__WEBPACK_IMPORTED_MODULE_0__/* .Client.createWithoutConfig */ .KUN.createWithoutConfig(connection, programId, seatManagerProgramId, [\n marketAddress\n ]);\n phoenixClient.printLadder(marketAddress.toBase58());\n const marketState = phoenixClient.marketStates.get(marketAddress.toBase58());\n const baseTokenMintAddress = marketState === null || marketState === void 0 ? void 0 : marketState.data.header.baseParams.mintKey;\n const quoteTokenMintAddress = marketState === null || marketState === void 0 ? void 0 : marketState.data.header.quoteParams.mintKey;\n const result = {\n phoenixClient,\n marketState,\n baseTokenMintAddress,\n quoteTokenMintAddress\n };\n return result;\n },\n refetchOnWindowFocus: false,\n enabled: enabled !== null && enabled !== void 0 ? enabled : Boolean((settingsData === null || settingsData === void 0 ? void 0 : settingsData.orderbook_feature_enabled) && marketAddress),\n keepPreviousData: true,\n subscriptionOptions: marketAddress\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (useFetchMarketInfo);\n\n\n/***/ }),\n\n/***/ 74733:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"q\": function() { return /* binding */ BLACK_LIST_TOKENS_SYMBOLS; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);\n/* harmony import */ var _hooks_use_nemo_apis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67013);\n/* harmony import */ var _utils_apis_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35108);\n\n\n\nconst BLACK_LIST_TOKENS_SYMBOLS = [\n \"reSOL\",\n \"reBNB\"\n];\n/**\n * These token options will be used in the deposit and withdraw dialog in the assets page\n */ const useDepositTokenOptions = ()=>{\n const { data: coreTokens = [] , isLoading: isFetchingCoreTokens } = (0,_hooks_use_nemo_apis__WEBPACK_IMPORTED_MODULE_1__/* .useFetchTopCoinList */ .PE)();\n const tokenOptions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>coreTokens.filter((token)=>!BLACK_LIST_TOKENS_SYMBOLS.includes(token.token_symbol)).map((token)=>(0,_utils_apis_helper__WEBPACK_IMPORTED_MODULE_2__/* .toRegistryTokenInfo */ .ZO)(token)), [\n coreTokens\n ]);\n return {\n tokenOptions,\n isLoading: isFetchingCoreTokens\n };\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (useDepositTokenOptions);\n\n\n/***/ }),\n\n/***/ 8307:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27632);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294);\n/* harmony import */ var _hooks_use_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49472);\n/* harmony import */ var _utils_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73680);\n\n\n\n\nconst useOrderbookIds = ()=>{\n const { data: settingsData } = (0,_hooks_use_settings__WEBPACK_IMPORTED_MODULE_2__/* .useSettings */ .r)();\n return (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n return {\n programId: new _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__.PublicKey((settingsData === null || settingsData === void 0 ? void 0 : settingsData.orderbook_program_id) || _utils_helpers__WEBPACK_IMPORTED_MODULE_3__/* .DEFAULT_ORDERBOOK_PROGRAM_ID */ .Nz),\n seatManagerProgramId: new _solana_web3_js__WEBPACK_IMPORTED_MODULE_0__.PublicKey((settingsData === null || settingsData === void 0 ? void 0 : settingsData.orderbook_seat_manager_program_id) || _utils_helpers__WEBPACK_IMPORTED_MODULE_3__/* .DEFAULT_ORDERBOOK_SEAT_MANAGER_PROGRAM_ID */ .oI)\n };\n }, [\n settingsData === null || settingsData === void 0 ? void 0 : settingsData.orderbook_program_id,\n settingsData === null || settingsData === void 0 ? void 0 : settingsData.orderbook_seat_manager_program_id\n ]);\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (useOrderbookIds);\n\n\n/***/ }),\n\n/***/ 72427:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"__N_SSP\": function() { return /* binding */ __N_SSP; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5152);\n/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_dynamic__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_base_WrappedTokensFlow_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96661);\n/* harmony import */ var _components_home_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5144);\n/* harmony import */ var _components_home_context_orderbook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(90804);\n/* harmony import */ var _layouts_MainLayout__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(72026);\n\n\n\n\n\n\nconst Home = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(()=>Promise.all(/* import() */[__webpack_require__.e(3434), __webpack_require__.e(7333), __webpack_require__.e(7375), __webpack_require__.e(2054), __webpack_require__.e(2763), __webpack_require__.e(2963), __webpack_require__.e(2929), __webpack_require__.e(4907), __webpack_require__.e(8964)]).then(__webpack_require__.bind(__webpack_require__, 14460)), {\n loadableGenerated: {\n webpack: ()=>[\n /*require.resolve*/(14460)\n ]\n },\n ssr: false\n});\nconst Index = ()=>{\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_layouts_MainLayout__WEBPACK_IMPORTED_MODULE_5__/* .MainLayout */ .Z, {\n hasNautilus: true,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_home_context__WEBPACK_IMPORTED_MODULE_3__/* .SwapProvider */ .sd, {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_home_context_orderbook__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_base_WrappedTokensFlow_context__WEBPACK_IMPORTED_MODULE_2__/* .WrapperTokensFlowProvider */ .hf, {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Home, {})\n })\n })\n })\n });\n};\nvar __N_SSP = true;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Index);\n\n\n/***/ }),\n\n/***/ 26110:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"$\": function() { return /* binding */ fetchOrderbookLookupTables; },\n \"o\": function() { return /* binding */ fetchOrderbookMarkets; }\n});\n\n// EXTERNAL MODULE: ./src/constants/index.ts\nvar constants = __webpack_require__(1880);\n;// CONCATENATED MODULE: ./cypress/fixtures/orderbook-lookup-tables.mainnet.json\nvar orderbook_lookup_tables_mainnet_namespaceObject = JSON.parse('{\"BboKhELy5TLk8AUqiDCfsb3gZS8NHWaS3V2nG9rXUBar\":\"DCoaPzp5TjptqHkWAzX6BJvg3Ai7MRCe74y3pT5c4aVi\",\"79v1HvSAfapg6RtKrwvYweN13HxhxVxLovNc5eZsvy9C\":\"64TByJBbMEjnGB6zJG8TCuWmj2rHWFB1WY2snV7dhqx3\",\"7KWYo2oAjjwPTyV1yUiHTd2fxYjoPzvJm7c6GY3MTSjx\":\"DRqgX8gAHSi2cZHyc1G5cRNNfhNgDykSKJPahGb6bDdc\",\"TYJsWAUmkfZDgs6oFcJkKnuCXJZLhN9t7Em44XsVCPR\":\"HFV5EaKd2MWNFcKRNL4X7RXpA5XaSdkLmDBmBQ63kJKH\",\"3Mw5ciN8xTeEivzBnRdmtdWewxsiDuYwPrbqW9Qz9S1m\":\"B2wWP7CYxJrP3sZqGG76hefjkJ8pbDyn4D1mUcSxCxgE\",\"BcHeXUmmD3qRcm1fMdWHtyXCxuWpV67kpp9kSKNTwVYQ\":\"7RM33LewLdZ7SdqshYsVFuUwsh8voogFojAsF8STgpJ7\",\"9jmYELw1BK8yLP3TJtuGUmue39iwnjcs3rD4micSGVeT\":\"FetgcKWrcT2KMHc8cUjkxmLxtP6ub2Pthy6a4DZkWL4v\"}');\n// EXTERNAL MODULE: ./cypress/fixtures/orderbook-lookup-tables.testnet.json\nvar orderbook_lookup_tables_testnet = __webpack_require__(59263);\n// EXTERNAL MODULE: ./cypress/fixtures/orderbook-markets.json\nvar orderbook_markets = __webpack_require__(2425);\n;// CONCATENATED MODULE: ./cypress/fixtures/orderbook-markets.mainnet.json\nvar orderbook_markets_mainnet_namespaceObject = JSON.parse('{\"data\":[{\"market_address\":\"BboKhELy5TLk8AUqiDCfsb3gZS8NHWaS3V2nG9rXUBar\",\"base_token_mint_address\":\"GwPQTMg3eMVpDTEE3daZDtGsBtNHBK3X47dbBJvXUzF4\",\"quote_token_mint_address\":\"4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3\"},{\"market_address\":\"79v1HvSAfapg6RtKrwvYweN13HxhxVxLovNc5eZsvy9C\",\"base_token_mint_address\":\"GwGh3b7iNibT3gpGn6SwZA9xZme7Th4NZmuGVD75jpZL\",\"quote_token_mint_address\":\"4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3\"},{\"market_address\":\"7KWYo2oAjjwPTyV1yUiHTd2fxYjoPzvJm7c6GY3MTSjx\",\"base_token_mint_address\":\"4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3\",\"quote_token_mint_address\":\"2kNzm2v6KR5dpzgavS2nssLV9RxogVP6py2S6doJEfuZ\"},{\"market_address\":\"TYJsWAUmkfZDgs6oFcJkKnuCXJZLhN9t7Em44XsVCPR\",\"base_token_mint_address\":\"4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3\",\"quote_token_mint_address\":\"BfSYryW6Q93iUKE4uNsUtAdxQT9uU4GSVg2si3outLk1\"},{\"market_address\":\"3Mw5ciN8xTeEivzBnRdmtdWewxsiDuYwPrbqW9Qz9S1m\",\"base_token_mint_address\":\"HtzrB8LihudQnWPdtK5rMnyExor8jaufXLJeKybxgBzM\",\"quote_token_mint_address\":\"4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3\"},{\"market_address\":\"BcHeXUmmD3qRcm1fMdWHtyXCxuWpV67kpp9kSKNTwVYQ\",\"base_token_mint_address\":\"AhDXc3sRW1xKPXwDwAmGb4JonRTka5rdSjg43owF53gg\",\"quote_token_mint_address\":\"4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3\"},{\"market_address\":\"9jmYELw1BK8yLP3TJtuGUmue39iwnjcs3rD4micSGVeT\",\"base_token_mint_address\":\"GvTwnAQLTdM6fMZbuGQoVj5odefCC2FsDvaMgxqZV1fi\",\"quote_token_mint_address\":\"4Q89182juiadeFgGw3fupnrwnnDmBhf7e7fHWxnUP3S3\"}]}');\n// EXTERNAL MODULE: ./src/utils/apis/index.ts\nvar apis = __webpack_require__(40795);\n// EXTERNAL MODULE: ./src/utils/helpers.ts\nvar helpers = __webpack_require__(73680);\n;// CONCATENATED MODULE: ./src/utils/apis/orderbook.ts\n\n\n\n\n\n\n\nconst fetchOrderbookMarkets = async ()=>{\n const [, response] = await (0,helpers/* toResultAsync */.zM)(apis/* api.get */.h.get(\"orderbook/markets\"));\n const fixedMarkets = constants/* isMainnet */.mC ? orderbook_markets_mainnet_namespaceObject : orderbook_markets;\n return ((response === null || response === void 0 ? void 0 : response.data) || fixedMarkets.data).filter(Boolean);\n};\nconst fetchOrderbookLookupTables = async ()=>{\n const [, response] = await (0,helpers/* toResultAsync */.zM)(apis/* api.get */.h.get(\"orderbook/lookup-tables\"));\n const fixedLookupTables = constants/* isMainnet */.mC ? orderbook_lookup_tables_mainnet_namespaceObject : orderbook_lookup_tables_testnet;\n return (response === null || response === void 0 ? void 0 : response.data) || fixedLookupTables;\n};\n\n\n/***/ }),\n\n/***/ 59263:\n/***/ (function(module) {\n\nmodule.exports = JSON.parse('{\"DAkTPFaX4YcC7Jf2ZbBqEREc7aYLd6pdpFiY1xzCR4F2\":\"E5tEdzxCJNp9ET361Se5kt3Nc1puG1PTZ3zYpWZZCwnW\",\"FYyt3YmdT1wTCy3imJNARrJBQSxh9x3JecDtUheMCrHx\":\"7Ejb5cMCBtc6SYpoXv13ULGheBeQmDux3KantSmPgYpF\",\"DTLaTHF4AN3HERzeYbf9vVugMrPHAoyKag7QN6HYomjn\":\"2f7PbFABojmv5J83z7ZoxNQu5kpDkHd5m5eVJk5kUDcW\",\"sT8JrgChgSfvS9wK5BJpgGLdNFNBs2nw1BCiGF6DsaY\":\"FWQLw6m98m6JGtpLUucUu6rgtGved1ekJzQTDWSZeVEL\"}');\n\n/***/ }),\n\n/***/ 2425:\n/***/ (function(module) {\n\nmodule.exports = JSON.parse('{\"data\":[{\"market_address\":\"DTLaTHF4AN3HERzeYbf9vVugMrPHAoyKag7QN6HYomjn\",\"base_token_mint_address\":\"DSodi59U9ZWRnVgP94VNnKamFybYpsqYj2iKL1jQF7Ag\",\"quote_token_mint_address\":\"Afy8qEgeJykFziRwiCk6tnBbd3uzxMoEqn2GTNCyGN7P\"},{\"market_address\":\"DAkTPFaX4YcC7Jf2ZbBqEREc7aYLd6pdpFiY1xzCR4F2\",\"base_token_mint_address\":\"3GyCTH5u2TgctJUs6vJTMJ51GcBEHo3WBNYfsJJ3Vw3v\",\"quote_token_mint_address\":\"Afy8qEgeJykFziRwiCk6tnBbd3uzxMoEqn2GTNCyGN7P\"},{\"market_address\":\"FYyt3YmdT1wTCy3imJNARrJBQSxh9x3JecDtUheMCrHx\",\"base_token_mint_address\":\"HqNYxW2MztYF8mGp2f9XN6RTE7Xk4KY8nbxAmww6fdH2\",\"quote_token_mint_address\":\"Afy8qEgeJykFziRwiCk6tnBbd3uzxMoEqn2GTNCyGN7P\"},{\"market_address\":\"sT8JrgChgSfvS9wK5BJpgGLdNFNBs2nw1BCiGF6DsaY\",\"base_token_mint_address\":\"CHe7TGhNzxpqiW6pdVJ2H2Mw5t7yHXTNyCfzJ1WFR5Dw\",\"quote_token_mint_address\":\"Afy8qEgeJykFziRwiCk6tnBbd3uzxMoEqn2GTNCyGN7P\"},{\"market_address\":\"5yPaMiC5iUxpX4B9Yvdnk3Bt4bfFD8yAXCMUi4Uh4arD\",\"base_token_mint_address\":\"So11111111111111111111111111111111111111112\",\"quote_token_mint_address\":\"Afy8qEgeJykFziRwiCk6tnBbd3uzxMoEqn2GTNCyGN7P\"}]}');\n\n/***/ })\n\n}]);"],"names":["self","push","__unused_webpack_module","__webpack_exports__","__webpack_require__","d","WrappedTokensFlowContext","WrapperTokensFlowProvider","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_1__","_hooks_use_balances__WEBPACK_IMPORTED_MODULE_2__","_hooks_use_deposit_token_options__WEBPACK_IMPORTED_MODULE_3__","createContext","selectedToken","setSelectedToken","prevTokenBalance","tokenOptions","children","param","balances","l","useState","Z","useMemo","symbol","ctxValue","jsx","Provider","value","SwapOrderbookContext","_solana_web3_js__WEBPACK_IMPORTED_MODULE_1__","_trathailoi_phoenix_orderbook_sdk__WEBPACK_IMPORTED_MODULE_2__","lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__","lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default","n","react__WEBPACK_IMPORTED_MODULE_4__","_components_home_context__WEBPACK_IMPORTED_MODULE_5__","_components_limit_order_hooks_use_fetch_all_markets__WEBPACK_IMPORTED_MODULE_6__","_components_limit_order_hooks_use_fetch_market_info__WEBPACK_IMPORTED_MODULE_7__","_hooks_use_settings__WEBPACK_IMPORTED_MODULE_8__","_hooks_use_tokens__WEBPACK_IMPORTED_MODULE_9__","isFetchingMarketInfo","refetchMarketInfo","Promise","resolve","SwapOrderbookProvider","data","settingsData","r","enabledSwapOrderbook","Boolean","swap_and_orderbook_router_feature_enabled","tokenIn","uiTokenIn","tokenOut","uiTokenOut","useContext","ZP","tokenListMap","Co","markets","marketAddress","market","find","base_token_mint_address","quote_token_mint_address","sort","address","PublicKey","market_address","marketInfo","isFetching","refetch","baseToken","baseTokenMintAddress","get","toBase58","quoteTokenMintAddress","priceLadder","_marketInfo_marketState","marketState","getUiLadder","orderbookSide","MFA","Ask","Bid","SwapProvider","_hooks_use_amplitude__WEBPACK_IMPORTED_MODULE_2__","_hooks_use_settings__WEBPACK_IMPORTED_MODULE_3__","_hooks_use_tokens__WEBPACK_IMPORTED_MODULE_4__","_providers_language__WEBPACK_IMPORTED_MODULE_5__","_use_token_mint_addresses__WEBPACK_IMPORTED_MODULE_6__","defaultTokenInfoA","nickName","chainId","vV","name","A7","decimals","logoURI","defaultTokenInfoB","Df","initContextState","inputMintAddress","setInputMintAddress","outputMintAddress","setOutputMintAddress","switchMintAddresses","isLoading","SwapContext","DEFAULT_MINT_ADDRESSES_BY_LANG_MAP","vi","PW","vn","ng","f_","en","_DEFAULT_MINT_ADDRESSES_BY_LANG_MAP_","isLoadingSettings","getTokenInfo","isLoadingTokens","rU","amplitude","isoCode","lang","A","initMintAddresses","toLowerCase","mintAddresses","setMintAddresses","undefined","useCallback","track","K","swap_switch_token","from_token","to_token","a","b","mintAddress","token","swap_select_from_token","token_name","swap_select_to_token","contextValue","displayName","lodash_isEqual__WEBPACK_IMPORTED_MODULE_0__","lodash_isEqual__WEBPACK_IMPORTED_MODULE_0___default","next_router__WEBPACK_IMPORTED_MODULE_1__","react__WEBPACK_IMPORTED_MODULE_2__","_hooks_use_tokens__WEBPACK_IMPORTED_MODULE_3__","useTokenMintAddresses","router","useRouter","tokenList","defaultMintAddresses","setDefaultMintAddresses","useEffect","foundTokenIn","foundTokenOut","queryPair","String","window","location","pathname","split","pop","pairs","length","t","token_symbol","prevInAddr","prevOutAddr","newDefaultInAddr","coin_address","newDefaultOutAddr","newAddr","includes","newPairQuery","filter","join","searchParams","search","history","replaceState","concat","locale","replace","finalMintAddresses","handleSetMintAddresses","updater","react_query__WEBPACK_IMPORTED_MODULE_0__","_hooks_use_settings__WEBPACK_IMPORTED_MODULE_1__","_root_cypress_fixtures_orderbook_markets_json__WEBPACK_IMPORTED_MODULE_2__","_utils_apis_orderbook__WEBPACK_IMPORTED_MODULE_3__","useFetchAllMarkets","useQuery","queryKey","queryFn","o","initialData","refetchOnWindowFocus","enabled","orderbook_feature_enabled","_trathailoi_phoenix_orderbook_sdk__WEBPACK_IMPORTED_MODULE_0__","_hooks_use_orderbook_ids__WEBPACK_IMPORTED_MODULE_1__","_hooks_use_query_with_subscription__WEBPACK_IMPORTED_MODULE_2__","_wallet_adapter__WEBPACK_IMPORTED_MODULE_4__","useFetchMarketInfo","connection","Rc","programId","seatManagerProgramId","phoenixClient","KUN","createWithoutConfig","printLadder","marketStates","header","baseParams","mintKey","quoteParams","keepPreviousData","subscriptionOptions","BLACK_LIST_TOKENS_SYMBOLS","react__WEBPACK_IMPORTED_MODULE_0__","_hooks_use_nemo_apis__WEBPACK_IMPORTED_MODULE_1__","_utils_apis_helper__WEBPACK_IMPORTED_MODULE_2__","useDepositTokenOptions","coreTokens","isFetchingCoreTokens","PE","map","ZO","_solana_web3_js__WEBPACK_IMPORTED_MODULE_0__","_hooks_use_settings__WEBPACK_IMPORTED_MODULE_2__","_utils_helpers__WEBPACK_IMPORTED_MODULE_3__","useOrderbookIds","orderbook_program_id","Nz","orderbook_seat_manager_program_id","oI","__N_SSP","next_dynamic__WEBPACK_IMPORTED_MODULE_1__","next_dynamic__WEBPACK_IMPORTED_MODULE_1___default","_components_base_WrappedTokensFlow_context__WEBPACK_IMPORTED_MODULE_2__","_components_home_context__WEBPACK_IMPORTED_MODULE_3__","_components_home_context_orderbook__WEBPACK_IMPORTED_MODULE_4__","_layouts_MainLayout__WEBPACK_IMPORTED_MODULE_5__","Home","all","e","then","bind","loadableGenerated","webpack","ssr","Index","hasNautilus","sd","hf","fetchOrderbookLookupTables","fetchOrderbookMarkets","constants","orderbook_lookup_tables_mainnet_namespaceObject","JSON","parse","orderbook_lookup_tables_testnet","orderbook_markets","orderbook_markets_mainnet_namespaceObject","apis","helpers","response","zM","h","fixedMarkets","mC","fixedLookupTables","module","exports"],"sourceRoot":""}