{"version":3,"file":"static/chunks/7788-302c1fa576274a58.js","mappings":"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","sources":["webpack://_N_E/./src/components/Image/index.tsx","webpack://_N_E/./src/components/Input/Address/index.tsx","webpack://_N_E/./src/components/Input/Numeric/index.tsx","webpack://_N_E/./src/components/Input/Percent/index.tsx","webpack://_N_E/./src/components/Input/index.tsx","webpack://_N_E/./src/components/Toggle/index.tsx","webpack://_N_E/./src/components/TransactionSettings/index.tsx","webpack://_N_E/./src/components/Settings/index.tsx","webpack://_N_E/./src/functions/cloudinary.ts","webpack://_N_E/./src/hooks/useENS.ts","webpack://_N_E/./src/hooks/useENSAddress.ts","webpack://_N_E/./src/hooks/useOnClickOutside.tsx","webpack://_N_E/./src/hooks/useV2Pairs.ts"],"sourcesContent":["import NextImage from 'next/image'\nimport { cloudinaryLoader } from '../../functions/cloudinary'\n\n// Cloudflare Loader\nconst normalize = (src) => {\n return src[0] === '/' ? src.slice(1) : src\n}\n\nconst cloudFlareLoader = ({ src, width, quality }) => {\n const params = [`width=${width}`]\n if (quality) {\n params.push(`quality=${quality}`)\n }\n const paramsString = params.join(',')\n return `/cdn-cgi/image/${paramsString}/${normalize(src)}`\n}\n\nconst shimmer = (w, h) => `\n\n \n \n \n \n \n \n \n \n \n \n`\n\nconst toBase64 = (str) => (typeof window === 'undefined' ? Buffer.from(str).toString('base64') : window.btoa(str))\n\nconst Image = ({\n src,\n width = undefined,\n height = undefined,\n layout = undefined,\n loader = undefined,\n style = undefined,\n ...rest\n}) => {\n const useBlur = parseInt(String(height), 10) >= 40 && parseInt(String(width), 10) >= 40\n return (\n
\n {useBlur ? (\n \n ) : (\n \n )}\n
\n )\n}\n\nexport default Image\n","import { classNames, escapeRegExp } from '../../../functions'\n\nimport React from 'react'\nimport useENS from '../../../hooks/useENS'\n\nconst inputRegex = RegExp(`^\\\\d*$`) // match escaped \".\" characters via in a non-capturing group\n\nexport const AddressInput = React.memo(\n ({\n value,\n onUserInput,\n placeholder,\n className = 'flex w-full h-full p-3 font-bold rounded overflow-ellipsis recipient-address-input bg-dark-900 placeholder-low-emphesis',\n align,\n fontSize = '24px',\n ...rest\n }: {\n value: string\n onUserInput: (input: string) => void\n error?: boolean\n fontSize?: string\n align?: 'right' | 'left'\n } & Omit, 'ref' | 'onChange' | 'as'>) => {\n const { address, loading } = useENS(value)\n\n const enforcer = (nextUserInput: string) => {\n if (nextUserInput === '' || inputRegex.test(escapeRegExp(nextUserInput))) {\n if (Number(nextUserInput) <= 100) {\n onUserInput(nextUserInput)\n }\n }\n }\n\n return (\n <>\n {\n enforcer(event.target.value.replace(/\\s+/g, ''))\n }}\n // universal input options\n inputMode=\"text\"\n title=\"Wallet Address or ENS name\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n placeholder=\"Wallet Address or ENS name\"\n pattern=\"^(0x[a-fA-F0-9]{40})$\"\n // text-specific options\n type=\"text\"\n className={classNames(\n align === 'right' && 'text-right',\n 'font-medium bg-transparent whitespace-nowrap overflow-ellipsis flex-auto',\n className\n )}\n style={{ fontSize }}\n {...rest}\n />\n \n )\n }\n)\n\nAddressInput.displayName = 'AddressInput'\n\nexport default AddressInput\n\n// const inputRegex = RegExp(`^\\\\d*(?:\\\\\\\\[.])?\\\\d*$`) // match escaped \".\" characters via in a non-capturing group\n","import { classNames, escapeRegExp } from '../../../functions'\n\nimport React from 'react'\n\nconst inputRegex = RegExp(`^\\\\d*(?:\\\\\\\\[.])?\\\\d*$`) // match escaped \".\" characters via in a non-capturing group\n\nconst defaultClassName = 'w-0 p-0 text-2xl bg-transparent'\n\nexport const Input = React.memo(\n ({\n value,\n onUserInput,\n placeholder,\n className = defaultClassName,\n ...rest\n }: {\n value: string | number\n onUserInput: (input: string) => void\n error?: boolean\n fontSize?: string\n align?: 'right' | 'left'\n } & Omit, 'ref' | 'onChange' | 'as'>) => {\n const enforcer = (nextUserInput: string) => {\n if (nextUserInput === '' || inputRegex.test(escapeRegExp(nextUserInput))) {\n onUserInput(nextUserInput)\n }\n }\n\n return (\n {\n // replace commas with periods, because uniswap exclusively uses period as the decimal separator\n enforcer(event.target.value.replace(/,/g, '.'))\n }}\n // universal input options\n inputMode=\"decimal\"\n title=\"Token Amount\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n // text-specific options\n type=\"text\"\n pattern=\"^[0-9]*[.,]?[0-9]*$\"\n placeholder={placeholder || '0.0'}\n min={0}\n minLength={1}\n maxLength={79}\n spellCheck=\"false\"\n className={classNames(\n 'relative font-bold outline-none border-none flex-auto overflow-hidden overflow-ellipsis placeholder-low-emphesis focus:placeholder-primary',\n className\n )}\n />\n )\n }\n)\n\nInput.displayName = 'NumericalInput'\n\nexport default Input\n\n// const inputRegex = RegExp(`^\\\\d*(?:\\\\\\\\[.])?\\\\d*$`) // match escaped \".\" characters via in a non-capturing group\n","import { classNames, escapeRegExp } from '../../../functions'\n\nimport React from 'react'\n\nconst inputRegex = RegExp(`^\\\\d*$`) // match escaped \".\" characters via in a non-capturing group\n\nexport const Input = React.memo(\n ({\n value,\n onUserInput,\n placeholder,\n className,\n align,\n fontSize = '24px',\n ...rest\n }: {\n value: string | number\n onUserInput: (input: string) => void\n error?: boolean\n fontSize?: string\n align?: 'right' | 'left'\n } & Omit, 'ref' | 'onChange' | 'as'>) => {\n const enforcer = (nextUserInput: string) => {\n if (nextUserInput === '' || inputRegex.test(escapeRegExp(nextUserInput))) {\n if (Number(nextUserInput) <= 100) {\n onUserInput(nextUserInput)\n }\n }\n }\n\n return (\n <>\n {\n // replace commas with periods, because uniswap exclusively uses period as the decimal separator\n enforcer(event.target.value.replace(/,/g, '.').replace(/%/g, ''))\n }}\n // universal input options\n inputMode=\"decimal\"\n title=\"Token Amount\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n // text-specific options\n type=\"text\"\n pattern=\"^[0-9]*$\"\n placeholder={placeholder || '100'}\n maxLength={3}\n className={classNames(\n align === 'right' && 'text-right',\n 'font-medium bg-transparent whitespace-nowrap overflow-ellipsis flex-auto',\n className\n )}\n style={{ fontSize }}\n {...rest}\n />\n \n )\n }\n)\n\nInput.displayName = 'PercentInput'\n\nexport default Input\n","import Address from './Address'\nimport Numeric from './Numeric'\nimport Percent from './Percent'\n\nconst Input = {\n Address,\n Percent,\n Numeric,\n}\n\nexport default Input\n","import React from 'react'\nimport { Switch } from '@headlessui/react'\nimport { classNames } from '../../functions'\n\nexport interface ToggleProps {\n id?: string\n isActive: boolean\n toggle: () => void\n}\n\nexport default function Toggle({ id, isActive, toggle }: ToggleProps) {\n return (\n \n Use setting\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n","import React, { useRef, useState } from 'react'\nimport { useSetUserSlippageTolerance, useUserSlippageTolerance, useUserTransactionTTL } from '../../state/user/hooks'\n\nimport { DEFAULT_DEADLINE_FROM_NOW } from '../../constants'\nimport { Percent } from '@sushiswap/core-sdk'\nimport QuestionHelper from '../QuestionHelper'\nimport Typography from '../Typography'\nimport { classNames } from '../../functions'\nimport { t } from '@lingui/macro'\nimport { useLingui } from '@lingui/react'\nimport Button from '../Button'\n\nenum SlippageError {\n InvalidInput = 'InvalidInput',\n RiskyLow = 'RiskyLow',\n RiskyHigh = 'RiskyHigh',\n}\n\nenum DeadlineError {\n InvalidInput = 'InvalidInput',\n}\n\nexport interface TransactionSettingsProps {\n placeholderSlippage?: Percent // varies according to the context in which the settings dialog is placed\n}\n\nexport default function TransactionSettings({ placeholderSlippage }: TransactionSettingsProps) {\n const { i18n } = useLingui()\n\n const inputRef = useRef()\n\n const userSlippageTolerance = useUserSlippageTolerance()\n const setUserSlippageTolerance = useSetUserSlippageTolerance()\n\n const [deadline, setDeadline] = useUserTransactionTTL()\n\n const [slippageInput, setSlippageInput] = useState('')\n const [slippageError, setSlippageError] = useState(false)\n\n const [deadlineInput, setDeadlineInput] = useState('')\n const [deadlineError, setDeadlineError] = useState(false)\n\n function parseSlippageInput(value: string) {\n // populate what the user typed and clear the error\n setSlippageInput(value)\n setSlippageError(false)\n\n if (value.length === 0) {\n setUserSlippageTolerance('auto')\n } else {\n const parsed = Math.floor(Number.parseFloat(value) * 100)\n\n if (!Number.isInteger(parsed) || parsed < 0 || parsed > 5000) {\n setUserSlippageTolerance('auto')\n if (value !== '.') {\n setSlippageError(SlippageError.InvalidInput)\n }\n } else {\n setUserSlippageTolerance(new Percent(parsed, 10_000))\n }\n }\n }\n\n const tooLow = userSlippageTolerance !== 'auto' && userSlippageTolerance.lessThan(new Percent(5, 10_000))\n const tooHigh = userSlippageTolerance !== 'auto' && userSlippageTolerance.greaterThan(new Percent(1, 100))\n\n function parseCustomDeadline(value: string) {\n // populate what the user typed and clear the error\n setDeadlineInput(value)\n setDeadlineError(false)\n\n if (value.length === 0) {\n setDeadline(DEFAULT_DEADLINE_FROM_NOW)\n } else {\n try {\n const parsed: number = Math.floor(Number.parseFloat(value) * 60)\n if (!Number.isInteger(parsed) || parsed < 60 || parsed > 180 * 60) {\n setDeadlineError(DeadlineError.InvalidInput)\n } else {\n setDeadline(parsed)\n }\n } catch (error) {\n console.error(error)\n setDeadlineError(DeadlineError.InvalidInput)\n }\n }\n }\n\n return (\n
\n
\n
\n \n {i18n._(t`Slippage tolerance`)}\n \n\n \n
\n
\n \n
\n {tooLow || tooHigh ? (\n \n ⚠️\n \n ) : null}\n 0\n ? slippageInput\n : userSlippageTolerance === 'auto'\n ? ''\n : userSlippageTolerance.toFixed(2)\n }\n onChange={(e) => parseSlippageInput(e.target.value)}\n onBlur={() => {\n setSlippageInput('')\n setSlippageError(false)\n }}\n color={slippageError ? 'red' : ''}\n />\n %\n
\n
\n {\n parseSlippageInput('')\n }}\n >\n {i18n._(t`Auto`)}\n \n
\n {slippageError || tooLow || tooHigh ? (\n \n
\n {slippageError === SlippageError.InvalidInput\n ? i18n._(t`Enter a valid slippage percentage`)\n : slippageError === SlippageError.RiskyLow\n ? i18n._(t`Your transaction may fail`)\n : i18n._(t`Your transaction may be frontrun`)}\n
\n \n ) : null}\n
\n\n
\n
\n \n {i18n._(t`Transaction deadline`)}\n \n\n \n
\n
\n \n 0\n ? deadlineInput\n : deadline === DEFAULT_DEADLINE_FROM_NOW\n ? ''\n : (deadline / 60).toString()\n }\n onChange={(e) => parseCustomDeadline(e.target.value)}\n onBlur={() => {\n setDeadlineInput('')\n setDeadlineError(false)\n }}\n color={deadlineError ? 'red' : ''}\n />\n
\n {i18n._(t`minutes`)}\n
\n \n \n )\n}\n","import { ChainId, Percent } from '@sushiswap/core-sdk'\nimport React, { useRef, useState } from 'react'\nimport { useExpertModeManager, useUserSingleHopOnly, useUserTransactionTTL } from '../../state/user/hooks'\nimport { useModalOpen, useToggleSettingsMenu } from '../../state/application/hooks'\n\nimport { AdjustmentsIcon } from '@heroicons/react/outline'\nimport { ApplicationModal } from '../../state/application/actions'\nimport Button from '../Button'\nimport Modal from '../Modal'\nimport ModalHeader from '../ModalHeader'\nimport QuestionHelper from '../QuestionHelper'\nimport Toggle from '../Toggle'\nimport TransactionSettings from '../TransactionSettings'\nimport Typography from '../Typography'\nimport { t } from '@lingui/macro'\nimport { useActiveWeb3React } from '../../services/web3'\nimport { useLingui } from '@lingui/react'\nimport { useOnClickOutside } from '../../hooks/useOnClickOutside'\n\nexport default function SettingsTab({ placeholderSlippage }: { placeholderSlippage?: Percent }) {\n const { i18n } = useLingui()\n\n const node = useRef(null)\n const open = useModalOpen(ApplicationModal.SETTINGS)\n const toggle = useToggleSettingsMenu()\n\n const [expertMode, toggleExpertMode] = useExpertModeManager()\n\n const [singleHopOnly, setSingleHopOnly] = useUserSingleHopOnly()\n\n // show confirmation view before turning on\n const [showConfirmation, setShowConfirmation] = useState(false)\n\n useOnClickOutside(node, open ? toggle : undefined)\n\n return (\n
\n \n \n
\n {open && (\n
\n
\n \n {i18n._(t`Transaction Settings`)}\n \n\n \n\n \n {i18n._(t`Interface Settings`)}\n \n\n
\n
\n \n {i18n._(t`Toggle Expert Mode`)}\n \n \n
\n {\n toggleExpertMode()\n setShowConfirmation(false)\n }\n : () => {\n toggle()\n setShowConfirmation(true)\n }\n }\n />\n
\n
\n
\n \n {i18n._(t`Disable Multihops`)}\n \n \n
\n (singleHopOnly ? setSingleHopOnly(false) : setSingleHopOnly(true))}\n />\n
\n
\n
\n )}\n\n setShowConfirmation(false)}>\n
\n setShowConfirmation(false)} />\n \n {i18n._(t`Expert mode turns off the confirm transaction prompt and allows high slippage trades\n that often result in bad rates and lost funds.`)}\n \n \n {i18n._(t`ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING.`)}\n \n {\n // if (window.prompt(i18n._(t`Please type the word \"confirm\" to enable expert mode.`)) === 'confirm') {\n // toggleExpertMode()\n // setShowConfirmation(false)\n // }\n toggleExpertMode()\n setShowConfirmation(false)\n }}\n >\n \n {i18n._(t`Turn On Expert Mode`)}\n \n \n
\n
\n \n )\n}\n","const normalize = (src) => {\n return src[0] === '/' ? src.slice(1) : src\n}\n\nexport const cloudinaryLoader = ({ src, width }) => {\n return `https://res.cloudinary.com/sushi-cdn/image/fetch/w_${width}/${normalize(src)}`\n}\n","import { isAddress } from '../functions/validate'\nimport useENSAddress from './useENSAddress'\nimport useENSName from './useENSName'\n\n/**\n * Given a name or address, does a lookup to resolve to an address and name\n * @param nameOrAddress ENS name or address\n */\nexport default function useENS(nameOrAddress?: string | null): {\n loading: boolean\n address: string | null\n name: string | null\n} {\n const validated = isAddress(nameOrAddress)\n const reverseLookup = useENSName(validated ? validated : undefined)\n const lookup = useENSAddress(nameOrAddress)\n\n return {\n loading: reverseLookup.loading || lookup.loading,\n address: validated ? validated : lookup.address,\n name: reverseLookup.ENSName ? reverseLookup.ENSName : !validated && lookup.address ? nameOrAddress || null : null,\n }\n}\n","import { useENSRegistrarContract, useENSResolverContract } from './useContract'\n\nimport { isZero } from '../functions'\nimport { namehash } from '@ethersproject/hash'\nimport useDebounce from './useDebounce'\nimport { useMemo } from 'react'\nimport { useSingleCallResult } from '../state/multicall/hooks'\n\n/**\n * Does a lookup for an ENS name to find its address.\n */\nexport default function useENSAddress(ensName?: string | null): {\n loading: boolean\n address: string | null\n} {\n const debouncedName = useDebounce(ensName, 200)\n const ensNodeArgument = useMemo(() => {\n if (!debouncedName) return [undefined]\n try {\n return debouncedName ? [namehash(debouncedName)] : [undefined]\n } catch (error) {\n return [undefined]\n }\n }, [debouncedName])\n const registrarContract = useENSRegistrarContract(false)\n const resolverAddress = useSingleCallResult(registrarContract, 'resolver', ensNodeArgument)\n const resolverAddressResult = resolverAddress.result?.[0]\n const resolverContract = useENSResolverContract(\n resolverAddressResult && !isZero(resolverAddressResult) ? resolverAddressResult : undefined,\n false\n )\n const addr = useSingleCallResult(resolverContract, 'addr', ensNodeArgument)\n\n const changed = debouncedName !== ensName\n return {\n address: changed ? null : addr.result?.[0] ?? null,\n loading: changed || resolverAddress.loading || addr.loading,\n }\n}\n","import { RefObject, useEffect, useRef } from 'react'\n\nexport function useOnClickOutside(\n node: RefObject,\n handler: undefined | (() => void)\n) {\n const handlerRef = useRef void)>(handler)\n useEffect(() => {\n handlerRef.current = handler\n }, [handler])\n\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (node.current?.contains(e.target as Node) ?? false) {\n return\n }\n if (handlerRef.current) handlerRef.current()\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [node])\n}\n","import { Currency, CurrencyAmount, FACTORY_ADDRESS, Pair, computePairAddress } from '@sushiswap/core-sdk'\n\nimport IUniswapV2PairABI from '@sushiswap/core/abi/IUniswapV2Pair.json'\nimport { Interface } from '@ethersproject/abi'\nimport { useMemo } from 'react'\nimport { useMultipleContractSingleData } from '../state/multicall/hooks'\n\nconst PAIR_INTERFACE = new Interface(IUniswapV2PairABI)\n\nexport enum PairState {\n LOADING,\n NOT_EXISTS,\n EXISTS,\n INVALID,\n}\n\nexport function useV2Pairs(currencies: [Currency | undefined, Currency | undefined][]): [PairState, Pair | null][] {\n const tokens = useMemo(\n () => currencies.map(([currencyA, currencyB]) => [currencyA?.wrapped, currencyB?.wrapped]),\n [currencies]\n )\n\n const pairAddresses = useMemo(\n () =>\n tokens.map(([tokenA, tokenB]) => {\n return tokenA &&\n tokenB &&\n tokenA.chainId === tokenB.chainId &&\n !tokenA.equals(tokenB) &&\n FACTORY_ADDRESS[tokenA.chainId]\n ? computePairAddress({\n factoryAddress: FACTORY_ADDRESS[tokenA.chainId],\n tokenA,\n tokenB,\n })\n : undefined\n }),\n [tokens]\n )\n\n const results = useMultipleContractSingleData(pairAddresses, PAIR_INTERFACE, 'getReserves')\n\n return useMemo(() => {\n return results.map((result, i) => {\n const { result: reserves, loading } = result\n const tokenA = tokens[i][0]\n const tokenB = tokens[i][1]\n if (loading) return [PairState.LOADING, null]\n if (!tokenA || !tokenB || tokenA.equals(tokenB)) return [PairState.INVALID, null]\n if (!reserves) return [PairState.NOT_EXISTS, null]\n const { reserve0, reserve1 } = reserves\n const [token0, token1] = tokenA.sortsBefore(tokenB) ? [tokenA, tokenB] : [tokenB, tokenA]\n return [\n PairState.EXISTS,\n new Pair(\n CurrencyAmount.fromRawAmount(token0, reserve0.toString()),\n CurrencyAmount.fromRawAmount(token1, reserve1.toString())\n ),\n ]\n })\n }, [results, tokens])\n}\n\nexport function useV2Pair(tokenA?: Currency, tokenB?: Currency): [PairState, Pair | null] {\n const inputs: [[Currency | undefined, Currency | undefined]] = useMemo(() => [[tokenA, tokenB]], [tokenA, tokenB])\n return useV2Pairs(inputs)[0]\n}\n"],"names":["src","width","height","layout","loader","style","rest","useBlur","parseInt","String","className","placeholder","blurDataURL","w","h","str","window","btoa","inputRegex","RegExp","AddressInput","React","value","onUserInput","align","fontSize","address","loading","useENS","onChange","event","nextUserInput","target","replace","test","escapeRegExp","Number","inputMode","title","autoComplete","autoCorrect","autoCapitalize","spellCheck","pattern","type","classNames","displayName","defaultClassName","Input","min","minLength","maxLength","Address","Percent","Numeric","Toggle","id","isActive","toggle","checked","fill","viewBox","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","SlippageError","DeadlineError","TransactionSettings","placeholderSlippage","i18n","useLingui","userSlippageTolerance","useRef","useUserSlippageTolerance","setUserSlippageTolerance","useSetUserSlippageTolerance","deadline","setDeadline","useUserTransactionTTL","slippageInput","setSlippageInput","useState","slippageError","setSlippageError","deadlineInput","setDeadlineInput","deadlineError","setDeadlineError","parseSlippageInput","length","parsed","Math","floor","parseFloat","isInteger","InvalidInput","tooLow","lessThan","tooHigh","greaterThan","Typography","variant","_","QuestionHelper","text","tabIndex","role","toFixed","e","onBlur","color","Button","size","onClick","RiskyLow","maxWidth","marginRight","DEFAULT_DEADLINE_FROM_NOW","toString","error","console","parseCustomDeadline","SettingsTab","node","open","useModalOpen","ApplicationModal","useToggleSettingsMenu","expertMode","toggleExpertMode","useExpertModeManager","singleHopOnly","setSingleHopOnly","useUserSingleHopOnly","showConfirmation","setShowConfirmation","useOnClickOutside","undefined","ref","weight","Modal","isOpen","onDismiss","ModalHeader","onClose","cloudinaryLoader","slice","normalize","nameOrAddress","validated","isAddress","reverseLookup","useENSName","lookup","useENSAddress","name","ENSName","ensName","debouncedName","useDebounce","ensNodeArgument","useMemo","namehash","registrarContract","useENSRegistrarContract","resolverAddress","useSingleCallResult","resolverAddressResult","result","resolverContract","useENSResolverContract","isZero","addr","changed","handler","handlerRef","useEffect","current","handleClickOutside","contains","document","addEventListener","removeEventListener","PAIR_INTERFACE","Interface","IUniswapV2PairABI","PairState","useV2Pairs","currencies","tokens","map","currencyA","currencyB","wrapped","pairAddresses","tokenA","tokenB","chainId","equals","FACTORY_ADDRESS","computePairAddress","factoryAddress","results","useMultipleContractSingleData","i","reserves","LOADING","INVALID","NOT_EXISTS","reserve0","reserve1","token0","token1","sortsBefore","EXISTS","Pair","CurrencyAmount","useV2Pair"],"sourceRoot":""}