{"version":3,"file":"static/chunks/pages/liquidity-357f6dc0f3df58cc.js","mappings":"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","sources":["webpack://_N_E/./node_modules/date-fns/esm/addDays/index.js","webpack://_N_E/./node_modules/date-fns/esm/addMonths/index.js","webpack://_N_E/./node_modules/date-fns/esm/add/index.js","webpack://_N_E/?177c","webpack://_N_E/./src/hooks/pair/usePairDetails.ts","webpack://_N_E/./src/hooks/liquidity/useAddLiquidity.ts","webpack://_N_E/./src/screens/liquidity/AddLiquidity/components/LiquidityInfo/LiquidityInfo.tsx","webpack://_N_E/./src/screens/liquidity/AddLiquidity/components/PlusButton/PlusButton.tsx","webpack://_N_E/./src/screens/liquidity/AddLiquidity/components/PlusButton/index.ts","webpack://_N_E/./src/screens/liquidity/AddLiquidity/components/SubmitLiquidityButton/SubmitLiquidityButton.tsx","webpack://_N_E/./src/screens/liquidity/AddLiquidity/components/SubmitLiquidityButton/index.ts","webpack://_N_E/./src/hooks/swap/usePairData.ts","webpack://_N_E/./src/screens/liquidity/AddLiquidity/hooks.ts","webpack://_N_E/./src/screens/liquidity/AddLiquidity/AddLiquidity.tsx","webpack://_N_E/./src/screens/liquidity/AddLiquidity/index.ts","webpack://_N_E/./src/pages/liquidity/index.tsx","webpack://_N_E/"],"sourcesContent":["import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n date.setDate(date.getDate() + amount);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n var dayOfMonth = date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return date;\n }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport addDays from \"../addDays/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport default function add(dirtyDate, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0;\n\n // Add years and months\n var date = toDate(dirtyDate);\n var dateWithMonths = months || years ? addMonths(date, months + years * 12) : date;\n\n // Add weeks and days\n var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes and seconds\n var minutesToAdd = minutes + hours * 60;\n var secondsToAdd = seconds + minutesToAdd * 60;\n var msToAdd = secondsToAdd * 1000;\n var finalDate = new Date(dateWithDays.getTime() + msToAdd);\n return finalDate;\n}","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/liquidity\",\n function () {\n return require(\"private-next-pages/liquidity/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/liquidity\"])\n });\n }\n ","import { useQuery, UseQueryOptions } from '@tanstack/react-query';\nimport { request, gql, Variables } from 'graphql-request';\n\nimport { QueryKeys } from 'src/constants/queryKeys';\n\nimport { config } from '@app/config';\nimport { Pair } from '@app/types/pool';\n\nexport const fetcher = (baseUrl: string, params: Variables) => {\n return request<{ pair: Pair }>(\n `${baseUrl}`,\n gql`\n query {\n pair(\n id: \"${params.id}\"\n )\n {\n id\n token0 {\n id\n totalSupply\n symbol\n name\n decimals\n tradeVolumeUSD\n tradeVolume\n totalLiquidity\n txCount\n derivedETH\n }\n token1 {\n id\n totalSupply\n symbol\n name\n decimals\n tradeVolumeUSD\n tradeVolume\n totalLiquidity\n txCount\n derivedETH\n }\n isStable\n reserve0\n reserve1\n reserveETH\n reserveUSD\n token0Price\n token1Price\n volumeUSD\n totalSupply\n liquidityPositions {\n liquidityTokenBalance\n user {\n id\n }\n }\n }\n }\n `,\n params\n );\n};\n\nexport const usePairDetails = (\n params: Variables = {},\n options: UseQueryOptions = {}\n) => {\n return useQuery(\n [QueryKeys.PAIR_DETAILS, { params }],\n async () => {\n const response = await fetcher(config.subgraphUrl as string, {\n ...params\n });\n\n return response.pair;\n },\n {\n enabled: !!params.id,\n staleTime: 60000,\n ...options\n }\n );\n};\n","import { useAddress, useContract } from '@thirdweb-dev/react';\nimport { NATIVE_TOKEN_ADDRESS } from '@thirdweb-dev/sdk';\nimport { add } from 'date-fns';\nimport { useAsyncFn } from 'react-use';\n\nimport { config } from '@app/config';\nimport { numberToBigNumberFixed } from '@app/helpers/format';\nimport { getSwapSettings } from '@app/hooks/swap/useSwapSettings';\nimport { Token } from '@app/types/token';\nimport { BigNumberish } from 'ethers';\n\ntype TokenItem = {\n token: Token | null;\n amount: string | null;\n};\n\nexport function useAddLiquidity(from: TokenItem, to: TokenItem) {\n const address = useAddress();\n const { contract } = useContract(config.contracts.router);\n\n const [{ loading, error }, addLiquidity] = useAsyncFn(async () => {\n if (\n !from.amount ||\n !to.amount ||\n !contract ||\n !address ||\n !from.token ||\n !to.token\n ) {\n return undefined;\n }\n\n const settings = await getSwapSettings();\n\n if (from.token.contractAddress === NATIVE_TOKEN_ADDRESS) {\n // eth => erc20\n return contract.call(\n 'addLiquidityETH',\n [\n to.token.contractAddress,\n numberToBigNumberFixed(+to.amount, to.token.decimals),\n 0,\n 0,\n address,\n add(new Date(), { minutes: settings.deadline }).getTime()\n ],\n {\n value: numberToBigNumberFixed(+from.amount, from.token.decimals)\n }\n );\n } else if (to.token.contractAddress === NATIVE_TOKEN_ADDRESS) {\n // erc20 => eth\n return contract.call(\n 'addLiquidityETH',\n [\n from.token.contractAddress,\n numberToBigNumberFixed(+from.amount, from.token.decimals),\n 0,\n 0,\n address,\n add(new Date(), { minutes: settings.deadline }).getTime()\n ],\n {\n value: numberToBigNumberFixed(+to.amount, to.token.decimals)\n }\n );\n } else {\n return contract.call('addLiquidity', [\n from.token.contractAddress,\n to.token.contractAddress,\n numberToBigNumberFixed(+from.amount, from.token.decimals),\n numberToBigNumberFixed(+to.amount, to.token.decimals),\n 0,\n 0,\n address,\n add(new Date(), { minutes: settings.deadline }).getTime()\n ]);\n }\n }, [contract, from.token, to.token, from.amount, to.amount, address]);\n\n return {\n addLiquidity,\n loading,\n error\n };\n}\n","import { ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons';\nimport { Box, HStack, IconButton, Text, Tooltip } from '@chakra-ui/react';\nimport { useAddress } from '@thirdweb-dev/react';\nimport React, { FC, ReactNode, useMemo } from 'react';\nimport { useToggle } from 'react-use';\n\nimport { CopyButton } from '@app/components/CopyButton';\nimport { EMPTY_ADDRESS } from '@app/constants/common';\nimport { formatWalletAddress, toOptionalFixed } from '@app/helpers/format';\nimport { usePairDetails } from '@app/hooks/pair/usePairDetails';\nimport { useSwapAvailablity } from '@app/hooks/swap/useSwapAvailablity';\nimport { useTokensRate } from '@app/hooks/swap/useTokensRate';\nimport { useTrade } from '@app/hooks/swap/useTrade';\nimport { InputsState } from '@app/screens/liquidity/AddLiquidity/hooks';\nimport { getSymbol } from '@app/helpers/symbol';\nimport s from '@app/components/Swap/components/SwapInfo/SwapInfo.module.scss';\nimport { useSwapSettings } from '@app/hooks/swap/useSwapSettings';\n\ninterface Props {\n state: InputsState;\n pairAddress: string | undefined;\n}\n\nexport const LiquidityInfo: FC = ({ state, pairAddress }) => {\n const { fromRate, toRate } = useMemo(() => {\n if (\n !state.from.amount ||\n !state.to.amount ||\n !state.from.token ||\n !state.to.token\n ) {\n return {\n fromRate: 0,\n toRate: 0\n };\n }\n\n return {\n fromRate: +state.to.amount / +state.from.amount,\n toRate: +state.from.amount / +state.to.amount\n };\n }, [state.from.amount, state.from.token, state.to.amount, state.to.token]);\n\n const { data: pairDetails } = usePairDetails({\n id: pairAddress ? pairAddress.toLowerCase() : null\n });\n\n const { settings } = useSwapSettings();\n\n const address = useAddress();\n\n const { trades } = useTrade(state.from, state.to);\n\n const { isSwapAvailable } = useSwapAvailablity(\n state.from.token!,\n state.to.token!,\n trades\n );\n\n const { swapOut: swapOutFrom } = useTokensRate(\n state.from.token!,\n state.to.token!,\n '1',\n isSwapAvailable,\n trades,\n undefined\n );\n\n const { swapOut: swapOutTo } = useTokensRate(\n state.to.token!,\n state.from.token!,\n '1',\n isSwapAvailable,\n trades,\n undefined\n );\n\n const poolShare = useMemo(() => {\n if (!pairDetails || !address) {\n return 0;\n }\n\n const { liquidityPositions, totalSupply } = pairDetails;\n\n const position = liquidityPositions.find(\n lp => lp.user.id.toLowerCase() === address?.toLowerCase()\n );\n\n if (position) {\n const userDepositInPool = position.liquidityTokenBalance;\n\n return (+userDepositInPool * 100) / +totalSupply;\n }\n\n return 0;\n }, [address, pairDetails]);\n\n function renderInfoRow(\n label: string,\n value: string | number,\n copyValue?: boolean,\n rawValue?: string,\n tooltip?: ReactNode\n ) {\n return (\n \n {label}\n {copyValue && rawValue ? (\n \n {value}\n \n \n ) : tooltip ? (\n {tooltip}}\n placement=\"right\"\n portalProps={{ appendToParentPortal: true }}\n zIndex={1000}\n >\n {value}\n \n ) : (\n {value}\n )}\n \n );\n }\n\n if (!state.from.token || !state.to.token) {\n return null;\n }\n\n function renderRates() {\n if (pairDetails) {\n const token0Symbol = getSymbol(pairDetails.token0.symbol);\n const token1Symbol = getSymbol(pairDetails.token1.symbol);\n\n return (\n \n \n \n 1 {token0Symbol} = {toOptionalFixed(+pairDetails.token1Price, 5)}{' '}\n {token1Symbol}\n \n \n\n \n \n 1 {token1Symbol} = {toOptionalFixed(+pairDetails.token0Price, 5)}{' '}\n {token0Symbol}\n \n \n \n );\n }\n\n return (\n \n \n \n 1 {state.from.token?.symbol} = {toOptionalFixed(fromRate, 5)}{' '}\n {state.to.token?.symbol}\n \n \n\n \n \n 1 {state.to.token?.symbol} = {toOptionalFixed(toRate, 5)}{' '}\n {state.from.token?.symbol}\n \n \n \n );\n }\n\n return (\n <>\n \n
Price and Share
\n \n {pairDetails &&\n swapOutFrom !== undefined &&\n renderInfoRow(\n `${state.from.token.symbol} per ${state.to.token.symbol}`,\n `${swapOutFrom}`\n )}\n {pairDetails &&\n swapOutTo !== undefined &&\n renderInfoRow(\n `${state.to.token.symbol} per ${state.from.token.symbol}`,\n `${swapOutTo}`\n )}\n {renderInfoRow(\n 'Max slippage',\n `${settings?.slippage}%`,\n false,\n undefined,\n <>\n
\n This is the minimum amount you are guaranteed to receive.\n Otherwise the transaction will be reverted.\n
\n \n )}\n {renderInfoRow(\n 'Share',\n `${toOptionalFixed(poolShare, 5)}%`,\n false,\n undefined,\n <>\n
\n Pooled tokens automatically earn fees proportional to your\n share; they can be claimed and liquidity withdrawn at any time.\n
\n \n )}\n {renderInfoRow(\n 'LP address',\n pairAddress && pairAddress !== EMPTY_ADDRESS\n ? formatWalletAddress(pairAddress)\n : 'n/a',\n Boolean(pairAddress && pairAddress !== EMPTY_ADDRESS),\n pairAddress\n )}\n
\n
\n \n );\n};\n","import { Box, IconButton } from '@chakra-ui/react';\nimport React, { FC } from 'react';\nimport { Icon } from '@app/components/Icon';\n\ninterface Props {\n onClick?: () => void;\n}\n\nexport const PlusButton: FC = ({ onClick }) => {\n return (\n \n \n \n \n \n );\n};\n","export * from './PlusButton';\n","import { HStack } from '@chakra-ui/react';\nimport {\n useAddress,\n useNetworkMismatch,\n TransactionError\n} from '@thirdweb-dev/react';\nimport React, { FC } from 'react';\n\nimport { CustomConnectWalletButton } from '@app/components/CustomConnectWalletButton';\nimport { ExternalLink } from '@app/components/ExternalLink';\nimport { NetworkMismatchButton } from '@app/components/NetworkMismatchButton';\nimport { SubmitButton } from '@app/components/SubmitButton';\nimport { showErrorToast, showSuccessToast } from '@app/components/Toast';\nimport { useTokenApprove } from '@app/hooks/liquidity/useTokenApprove';\nimport { Token } from '@app/types/token';\n\ninterface Props {\n addLiquidityInProgress: boolean;\n onSubmit: () => void;\n areValuesEmpty: boolean;\n areTokensSelected: boolean;\n state: {\n from: {\n token: Token | null;\n amount: string;\n };\n to: {\n token: Token | null;\n amount: string;\n };\n };\n fromTokenBalance: string | undefined;\n toTokenBalance: string | undefined;\n}\n\nexport const SubmitLiquidityButton: FC = ({\n state,\n addLiquidityInProgress,\n onSubmit,\n areValuesEmpty,\n areTokensSelected,\n fromTokenBalance,\n toTokenBalance\n}) => {\n const isMismatchedNetwork = useNetworkMismatch();\n const address = useAddress();\n const isConnected = !!address;\n\n const {\n requiresApproval: requiresApprovalFromToken,\n approve: approveFrom,\n isApproveInProgress: isApproveFromInProgress,\n getAllowance: getAllowanceFrom\n } = useTokenApprove(state.from);\n\n const {\n requiresApproval: requiresApprovalToToken,\n approve: approveTo,\n isApproveInProgress: isApproveToInProgress,\n getAllowance: getAllowanceTo\n } = useTokenApprove(state.to);\n\n if (!isConnected) {\n return ;\n }\n\n if (isMismatchedNetwork) {\n return ;\n }\n\n if (requiresApprovalFromToken || requiresApprovalToToken) {\n return (\n \n {requiresApprovalFromToken && (\n {\n try {\n const res = await approveFrom();\n\n await getAllowanceFrom();\n\n if (res && res['reason'] !== undefined) {\n showErrorToast(res.reason);\n } else {\n const txHash = res?.receipt?.transactionHash;\n\n showSuccessToast(\n `Successfully approved ${state.from.token?.symbol}`,\n \n );\n }\n } catch (e) {\n if (e instanceof TransactionError) {\n showErrorToast(e.reason);\n } else {\n showErrorToast(`Error approving ${state.from.token?.symbol}`);\n }\n }\n }}\n label={`Approve ${state.from.token?.symbol}`}\n />\n )}\n {requiresApprovalToToken && (\n {\n try {\n const res = await approveTo();\n\n await getAllowanceTo();\n\n if (res['reason'] !== undefined) {\n showErrorToast(res.reason);\n } else {\n showSuccessToast(\n `Successfully approved ${state.to.token?.symbol}`\n );\n }\n } catch (e) {\n if (e instanceof TransactionError) {\n showErrorToast(e.reason);\n } else {\n showErrorToast(`Error approving ${state.to.token?.symbol}`);\n }\n }\n }}\n label={`Approve ${state.to.token?.symbol}`}\n />\n )}\n \n );\n }\n\n if (!isMismatchedNetwork) {\n let btnLabel = '';\n\n if (!areTokensSelected) {\n btnLabel = 'Select a pair';\n } else if (areValuesEmpty) {\n btnLabel = 'Enter an amount';\n } else {\n btnLabel = 'Supply';\n }\n\n return (\n \n );\n }\n\n return null;\n};\n","export * from './SubmitLiquidityButton';\n","import { useContract, useContractRead } from '@thirdweb-dev/react';\n\nimport { config } from '@app/config';\nimport { NATIVE_TOKEN_ADDRESS } from '@thirdweb-dev/sdk';\n\nexport function usePairData(from: string, to: string) {\n const { contract } = useContract(config.contracts.factory);\n const token0 = from === NATIVE_TOKEN_ADDRESS ? config.contracts.weth : from;\n const token1 = to === NATIVE_TOKEN_ADDRESS ? config.contracts.weth : to;\n\n const { data, isLoading } = useContractRead(contract, 'getPair', [\n token0,\n token1\n ]);\n\n return {\n data,\n isLoading\n };\n}\n","import { useCallback, useState } from 'react';\n\nimport { usePairDetails } from '@app/hooks/pair/usePairDetails';\nimport { usePairData } from '@app/hooks/swap/usePairData';\nimport { Token } from '@app/types/token';\nimport { NATIVE_TOKEN_ADDRESS } from '@thirdweb-dev/sdk';\nimport { config } from '@app/config';\n\nexport type InputsState = {\n from: {\n token: Token | null;\n amount: string;\n };\n to: {\n token: Token | null;\n amount: string;\n };\n};\n\nexport function useAddLiquidityPageData(initialData?: InputsState) {\n const [state, setState] = useState(\n initialData ?? {\n from: {\n token: null,\n amount: ''\n },\n to: {\n token: null,\n amount: ''\n }\n }\n );\n\n const { data: pairAddress } = usePairData(\n state.from.token?.contractAddress ?? '',\n state.to.token?.contractAddress ?? ''\n );\n\n const { data: pairDetails } = usePairDetails({\n id: pairAddress ? pairAddress.toLowerCase() : null\n });\n\n const resetStateValues = useCallback(() => {\n setState(prev => ({\n ...prev,\n from: {\n ...prev.from,\n amount: ''\n },\n to: {\n ...prev.to,\n amount: ''\n }\n }));\n }, []);\n\n const handleFromTokenChange = useCallback(\n (val: string) => {\n setState(prev => {\n const newValue = {\n ...prev,\n from: {\n ...prev.from,\n amount: +val < 0 ? '0' : val\n }\n };\n\n if (pairDetails) {\n let [reserve0, reserve1] =\n prev.from.token?.contractAddress.toLowerCase() ===\n pairDetails.token0.id.toLowerCase()\n ? [pairDetails.reserve0, pairDetails.reserve1]\n : [pairDetails.reserve1, pairDetails.reserve0];\n const amountTo =\n val !== '' && +val >= 0 && +reserve0 > 0\n ? (+val * +reserve1) / +reserve0\n : '';\n\n newValue.to = {\n ...prev.to,\n amount: amountTo ? amountTo.toFixed(6) : prev.to.amount\n };\n }\n\n return newValue;\n });\n },\n [pairDetails]\n );\n\n const handleToTokenChange = useCallback(\n (val: string) => {\n // amountB = amountA.mul(reserveB) / reserveA;\n setState(prev => {\n const newValue = {\n ...prev,\n to: {\n ...prev.to,\n amount: +val < 0 ? '0' : val\n }\n };\n\n if (pairDetails) {\n let [reserve0, reserve1] =\n prev.to.token?.contractAddress.toLowerCase() ===\n pairDetails.token0.id.toLowerCase()\n ? [pairDetails.reserve0, pairDetails.reserve1]\n : [pairDetails.reserve1, pairDetails.reserve0];\n\n const amountFrom =\n val !== '' && +val >= 0 && +reserve0 > 0\n ? (+val * +reserve1) / +reserve0\n : '';\n\n newValue.from = {\n ...prev.from,\n amount: amountFrom ? amountFrom.toFixed(6) : prev.from.amount\n };\n }\n\n return newValue;\n });\n },\n [pairDetails]\n );\n\n const handleFromTokenSelect = useCallback((token: Token) => {\n setState(prev => ({\n ...prev,\n from: {\n ...prev.from,\n token,\n amount: ''\n },\n to: {\n token:\n (token.contractAddress === config.contracts.weth &&\n prev.to.token?.contractAddress === NATIVE_TOKEN_ADDRESS) ||\n (token.contractAddress === NATIVE_TOKEN_ADDRESS &&\n prev.to.token?.contractAddress === config.contracts.weth) ||\n token.contractAddress === prev.to.token?.contractAddress\n ? null\n : prev.to.token,\n amount: ''\n }\n }));\n }, []);\n\n const handleToTokenSelect = useCallback((token: Token) => {\n setState(prev => ({\n ...prev,\n to: {\n ...prev.to,\n token,\n amount: ''\n },\n from: {\n token:\n (token.contractAddress === config.contracts.weth &&\n prev.from.token?.contractAddress === NATIVE_TOKEN_ADDRESS) ||\n (token.contractAddress === NATIVE_TOKEN_ADDRESS &&\n prev.from.token?.contractAddress === config.contracts.weth) ||\n token.contractAddress === prev.from.token?.contractAddress\n ? null\n : prev.from.token,\n amount: ''\n }\n }));\n }, []);\n\n return {\n state,\n setState,\n resetStateValues,\n handleFromTokenChange,\n handleToTokenChange,\n handleFromTokenSelect,\n handleToTokenSelect,\n pairAddress\n };\n}\n","import { Box, VStack, Text, HStack, IconButton } from '@chakra-ui/react';\nimport { TransactionError } from '@thirdweb-dev/react';\nimport React, { FC, useState } from 'react';\nimport { useRouter } from 'next/router';\n\nimport { ExternalLink } from '@app/components/ExternalLink';\nimport { HeaderControls } from '@app/components/Swap/components/HeaderControls';\nimport { TokenInput } from '@app/components/Swap/components/TokenInput';\nimport { showErrorToast, showSuccessToast } from '@app/components/Toast';\nimport { TransactionResultModal } from '@app/components/TransactionResultModal';\nimport { useAddLiquidity } from '@app/hooks/liquidity/useAddLiquidity';\nimport { useTokenBalance } from '@app/hooks/swap/useTokenBalance';\nimport { LiquidityInfo } from '@app/screens/liquidity/AddLiquidity/components/LiquidityInfo/LiquidityInfo';\nimport { PlusButton } from '@app/screens/liquidity/AddLiquidity/components/PlusButton';\nimport { SubmitLiquidityButton } from '@app/screens/liquidity/AddLiquidity/components/SubmitLiquidityButton';\nimport { useAddLiquidityPageData } from '@app/screens/liquidity/AddLiquidity/hooks';\nimport { Token } from '@app/types/token';\nimport s from '@app/components/Swap/Swap.module.scss';\nimport { Icon } from '@app/components/Icon';\nimport { APP_ROUTES } from '@app/constants/routes';\n\ninterface Props {\n inModalView?: boolean;\n initialData?: {\n from: {\n token: Token;\n amount: string;\n };\n to: {\n token: Token;\n amount: string;\n };\n };\n}\n\nexport const AddLiquidity: FC = ({\n inModalView = false,\n initialData\n}) => {\n const router = useRouter();\n const [feedback, setFeedback] = useState<{\n status: 'success' | 'error';\n title: string;\n message: string;\n } | null>(null);\n const [view, setView] = useState<'lp' | 'spnft'>('lp');\n const {\n state,\n handleFromTokenChange,\n handleToTokenChange,\n handleFromTokenSelect,\n handleToTokenSelect,\n resetStateValues,\n pairAddress\n } = useAddLiquidityPageData(initialData);\n\n const { addLiquidity, loading: addLiquidityInProgress } = useAddLiquidity(\n state.from,\n state.to\n );\n\n const { data: fromTokenBalance, isLoading: isLoadingFromTokenBalance } =\n useTokenBalance(state.from.token?.contractAddress ?? '');\n\n const { data: toTokenBalance, isLoading: isLoadingToTokenBalance } =\n useTokenBalance(state.to.token?.contractAddress ?? '');\n\n return (\n \n {!inModalView && (\n \n router.push(APP_ROUTES.positions)}\n >\n \n \n Add liquidity\n \n \n )}\n \n \n \n \n \n\n {state.from.token && state.to.token && (\n \n \n \n )}\n\n \n {\n try {\n const res = await addLiquidity();\n\n if (res['reason'] !== undefined) {\n showErrorToast(res.reason);\n } else if (res instanceof Error) {\n showErrorToast(res.message);\n } else {\n resetStateValues();\n\n const txHash = res?.receipt?.transactionHash;\n\n showSuccessToast(\n `Successfully added liquidity ${state.from.token?.symbol}/${state.to.token?.symbol}`,\n \n );\n\n setFeedback({\n status: 'success',\n title: 'Transaction Confirmed',\n message: 'Your transaction has been successfully completed'\n });\n }\n } catch (e) {\n if (e instanceof TransactionError) {\n showErrorToast(e.reason);\n } else {\n showErrorToast(\n `Error adding liquidity ${state.from.token?.symbol}/${state.to.token?.symbol}`\n );\n }\n\n setFeedback({\n status: 'error',\n title: 'Transaction Error',\n message:\n 'There was an error processing your transaction. Please check the details and try again'\n });\n }\n }}\n areValuesEmpty={!state.from.amount || !state.to.amount}\n areTokensSelected={!!(state.from.token && state.to.token)}\n />\n {/**/}\n setFeedback(null)}\n />\n \n \n );\n};\n","export * from './AddLiquidity';\n","import CryptoIcons from 'base64-cryptocurrency-icons';\nimport { NextPage } from 'next';\nimport React, { useMemo } from 'react';\n\nimport MainLayout from '@app/components/MainLayout';\nimport { useTokenDetails } from '@app/hooks/token/useTokenDetails';\nimport { AddLiquidity } from '@app/screens/liquidity/AddLiquidity';\nimport { TOKENS_WHITELIST } from '@app/constants/tokensWhitelist';\nimport { PairToken } from '@app/types/pool';\nimport { APP_NAME } from '@app/constants/common';\nimport { useRouter } from 'next/router';\nimport { Center, Flex, Spinner } from '@chakra-ui/react';\nimport { NATIVE_TOKEN_ADDRESS } from '@thirdweb-dev/sdk';\n\nfunction getTokenData(\n dataFromGraph: PairToken | undefined,\n tokenAddress: string\n) {\n if (dataFromGraph) {\n return {\n symbol: dataFromGraph.symbol,\n contractAddress: dataFromGraph.id,\n decimals: +dataFromGraph.decimals,\n name: dataFromGraph.name,\n logoUri: CryptoIcons[dataFromGraph.symbol]?.icon ?? ''\n };\n }\n\n const wlData = TOKENS_WHITELIST.find(\n item => item.contractAddress === tokenAddress\n );\n\n if (wlData) {\n return {\n symbol: wlData.symbol,\n contractAddress: wlData.contractAddress,\n decimals: +wlData.decimals,\n name: wlData.name,\n logoUri: CryptoIcons[wlData.symbol]?.icon ?? ''\n };\n }\n}\n\nexport const LiquidityPage: NextPage = () => {\n const { query } = useRouter();\n const { token0, token1 } = query;\n\n const {\n data: tokenFrom,\n isLoading: isLoadingFrom,\n fetchStatus: fetchStatusFrom\n } = useTokenDetails({\n id: token0 as string\n });\n\n const {\n data: tokenTo,\n isLoading: isLoadingTo,\n fetchStatus: fetchStatusTo\n } = useTokenDetails({\n id: token1 as string\n });\n\n const isLoading =\n (isLoadingFrom && fetchStatusFrom !== 'idle') ||\n (isLoadingTo && fetchStatusTo !== 'idle');\n\n const initialData = useMemo(() => {\n if (!token0 || !token1 || !tokenFrom || !tokenTo) {\n return undefined;\n }\n\n const token0Data = getTokenData(tokenFrom, token0 as string);\n const token1Data = getTokenData(tokenTo, token1 as string);\n\n return token0Data && token1Data\n ? {\n from: {\n amount: '',\n token: token0Data\n },\n to: {\n amount: '',\n token: token1Data\n }\n }\n : undefined;\n }, [token0, token1, tokenFrom, tokenTo]);\n\n return (\n \n {isLoading ? (\n \n
\n \n
\n \n ) : (\n \n )}\n
\n );\n};\n\nexport default LiquidityPage;\n"],"names":["add","dirtyDate","duration","requiredArgs","Z","arguments","esm_typeof","Date","NaN","years","toInteger","months","weeks","days","hours","minutes","seconds","date","toDate","dateWithMonths","addMonths","dirtyAmount","amount","isNaN","dayOfMonth","getDate","endOfDesiredMonth","getTime","setMonth","getMonth","setFullYear","getFullYear","dateWithDays","addDays","setDate","secondsToAdd","minutesToAdd","window","__NEXT_P","push","__webpack_require__","fetcher","baseUrl","params","request","concat","gql","id","usePairDetails","options","useQuery","QueryKeys","PAIR_DETAILS","response","config","subgraphUrl","pair","enabled","staleTime","LiquidityInfo","state","pairAddress","param","fromRate","toRate","useMemo","from","to","token","data","pairDetails","toLowerCase","settings","useSwapSettings","address","useAddress","trades","useTrade","isSwapAvailable","useSwapAvailablity","swapOut","swapOutFrom","useTokensRate","undefined","swapOutTo","poolShare","liquidityPositions","totalSupply","position","find","lp","user","userDepositInPool","liquidityTokenBalance","renderInfoRow","label","value","copyValue","rawValue","tooltip","jsx_runtime","jsxs","HStack","justifyContent","mb","color","jsx","Text","className","s","CopyButton","text","Tooltip","div","placement","portalProps","appendToParentPortal","zIndex","Fragment","Box","width","mt","symbol","slippage","toOptionalFixed","EMPTY_ADDRESS","formatWalletAddress","Boolean","PlusButton","onClick","IconButton","aria-label","isDisabled","Icon","name","SubmitLiquidityButton","addLiquidityInProgress","onSubmit","areValuesEmpty","areTokensSelected","fromTokenBalance","toTokenBalance","isMismatchedNetwork","useNetworkMismatch","requiresApproval","requiresApprovalFromToken","approve","approveFrom","isApproveInProgress","isApproveFromInProgress","getAllowance","getAllowanceFrom","useTokenApprove","requiresApprovalToToken","approveTo","isApproveToInProgress","getAllowanceTo","CustomConnectWalletButton","NetworkMismatchButton","SubmitButton","isLoading","loadingText","disabled","res","showErrorToast","reason","txHash","receipt","transactionHash","showSuccessToast","ExternalLink","e","TransactionError","btnLabel","AddLiquidity","inModalView","initialData","router","useRouter","feedback","setFeedback","useState","view","setView","handleFromTokenChange","handleToTokenChange","handleFromTokenSelect","handleToTokenSelect","resetStateValues","useAddLiquidityPageData","setState","usePairData","contract","useContract","contracts","factory","token0","NATIVE_TOKEN_ADDRESS","weth","token1","useContractRead","contractAddress","useCallback","prev","newValue","val","reserve0","reserve1","amountTo","toFixed","amountFrom","addLiquidity","loading","useAddLiquidity","error","useAsyncFn","getSwapSettings","call","numberToBigNumberFixed","decimals","deadline","isLoadingFromTokenBalance","useTokenBalance","isLoadingToTokenBalance","bg","borderRadius","maxWidth","mx","w","sx","boxShadow","APP_ROUTES","positions","HeaderControls","VStack","gap","TokenInput","showMax","source","values","onChange","onTokenSelect","disableSelect","displayValue","Error","message","status","title","TransactionResultModal","isOpen","onClose","getTokenData","dataFromGraph","tokenAddress","CryptoIcons","logoUri","icon","wlData","TOKENS_WHITELIST","item","LiquidityPage","query","tokenFrom","isLoadingFrom","fetchStatus","fetchStatusFrom","useTokenDetails","tokenTo","isLoadingTo","fetchStatusTo","token0Data","token1Data","MainLayout","metadata","APP_NAME","Flex","h","minHeight","Center","Spinner","height","liquidity"],"sourceRoot":""}