{"version":3,"file":"static/chunks/7940-0289cec062065d54.js","mappings":"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","sources":["webpack://_N_E/./src/components/CloseIcon/index.tsx","webpack://_N_E/./src/hooks/useDebouncedChangeHandler.ts","webpack://_N_E/./src/hooks/useERC20Permit.ts","webpack://_N_E/./src/hooks/useIsArgentWallet.ts","webpack://_N_E/./src/hooks/useTotalSupply.ts","webpack://_N_E/./src/hooks/useTransactionDeadline.ts","webpack://_N_E/./src/hooks/useCurrentBlockTimestamp.ts","webpack://_N_E/./src/modals/TransactionConfirmationModal/index.tsx","webpack://_N_E/./src/hooks/useAddTokenToMetaMask.ts","webpack://_N_E/./src/state/burn/hooks.ts"],"sourcesContent":["import { X } from 'react-feather'\n\nconst CloseIcon = (props) => \n\nexport default CloseIcon\n","import { useCallback, useEffect, useRef, useState } from 'react'\n\n/**\n * Easy way to debounce the handling of a rapidly changing value, e.g. a changing slider input\n * @param value value that is rapidly changing\n * @param onChange change handler that should receive the debounced updates to the value\n * @param debouncedMs how long we should wait for changes to be applied\n */\nexport default function useDebouncedChangeHandler(\n value: T,\n onChange: (newValue: T) => void,\n debouncedMs = 100\n): [T, (value: T) => void] {\n const [inner, setInner] = useState(() => value)\n const timer = useRef>()\n\n const onChangeInner = useCallback(\n (newValue: T) => {\n setInner(newValue)\n if (timer.current) {\n clearTimeout(timer.current)\n }\n timer.current = setTimeout(() => {\n onChange(newValue)\n timer.current = undefined\n }, debouncedMs)\n },\n [debouncedMs, onChange]\n )\n\n useEffect(() => {\n if (timer.current) {\n clearTimeout(timer.current)\n timer.current = undefined\n }\n setInner(value)\n }, [value])\n\n return [inner, onChangeInner]\n}\n","import { Currency, CurrencyAmount, JSBI, Percent, Token, TradeType, Trade as V2Trade } from '@sushiswap/core-sdk'\nimport { DAI, SUSHI, USDC } from '../config/tokens'\nimport { useMemo, useState } from 'react'\n\nimport { splitSignature } from '@ethersproject/bytes'\nimport { useActiveWeb3React } from '../services/web3'\nimport { useEIP2612Contract } from './useContract'\nimport useIsArgentWallet from './useIsArgentWallet'\nimport { useSingleCallResult } from '../state/multicall/hooks'\nimport useTransactionDeadline from './useTransactionDeadline'\n\nenum PermitType {\n AMOUNT = 1,\n ALLOWED = 2,\n}\n\n// 20 minutes to submit after signing\nconst PERMIT_VALIDITY_BUFFER = 20 * 60\n\ninterface PermitInfo {\n type: PermitType\n name: string\n // version is optional, and if omitted, will not be included in the domain\n version?: string\n}\n\n// todo: read this information from extensions on token lists or elsewhere (permit registry?)\nconst PERMITTABLE_TOKENS: {\n [chainId: number]: {\n [checksummedTokenAddress: string]: PermitInfo\n }\n} = {\n [1]: {\n [USDC.address]: { type: PermitType.AMOUNT, name: 'USD Coin', version: '2' },\n [DAI.address]: {\n type: PermitType.ALLOWED,\n name: 'Dai Stablecoin',\n version: '1',\n },\n [SUSHI[1].address]: { type: PermitType.AMOUNT, name: 'SushiSwap' },\n },\n [4]: {\n ['0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735']: {\n type: PermitType.ALLOWED,\n name: 'Dai Stablecoin',\n version: '1',\n },\n [SUSHI[4].address]: { type: PermitType.AMOUNT, name: 'SushiSwap' },\n },\n [3]: {\n [SUSHI[3].address]: { type: PermitType.AMOUNT, name: 'SushiSwap' },\n ['0x07865c6E87B9F70255377e024ace6630C1Eaa37F']: {\n type: PermitType.AMOUNT,\n name: 'USD Coin',\n version: '2',\n },\n },\n [5]: {\n [SUSHI[5].address]: { type: PermitType.AMOUNT, name: 'SushiSwap' },\n },\n [42]: {\n [SUSHI[42].address]: { type: PermitType.AMOUNT, name: 'SushiSwap' },\n },\n}\n\nexport enum UseERC20PermitState {\n // returned for any reason, e.g. it is an argent wallet, or the currency does not support it\n NOT_APPLICABLE,\n LOADING,\n NOT_SIGNED,\n SIGNED,\n}\n\ninterface BaseSignatureData {\n v: number\n r: string\n s: string\n deadline: number\n nonce: number\n owner: string\n spender: string\n chainId: number\n tokenAddress: string\n permitType: PermitType\n}\n\nexport interface StandardSignatureData extends BaseSignatureData {\n amount: string\n}\n\nexport interface AllowedSignatureData extends BaseSignatureData {\n allowed: true\n}\n\nexport type SignatureData = StandardSignatureData | AllowedSignatureData\n\nconst EIP712_DOMAIN_TYPE = [\n { name: 'name', type: 'string' },\n { name: 'version', type: 'string' },\n { name: 'chainId', type: 'uint256' },\n { name: 'verifyingContract', type: 'address' },\n]\n\nconst EIP712_DOMAIN_TYPE_NO_VERSION = [\n { name: 'name', type: 'string' },\n { name: 'chainId', type: 'uint256' },\n { name: 'verifyingContract', type: 'address' },\n]\n\nconst EIP2612_TYPE = [\n { name: 'owner', type: 'address' },\n { name: 'spender', type: 'address' },\n { name: 'value', type: 'uint256' },\n { name: 'nonce', type: 'uint256' },\n { name: 'deadline', type: 'uint256' },\n]\n\nconst PERMIT_ALLOWED_TYPE = [\n { name: 'holder', type: 'address' },\n { name: 'spender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'expiry', type: 'uint256' },\n { name: 'allowed', type: 'bool' },\n]\n\nexport function useERC20Permit(\n currencyAmount: CurrencyAmount | null | undefined,\n spender: string | null | undefined,\n overridePermitInfo: PermitInfo | undefined | null\n): {\n signatureData: SignatureData | null\n state: UseERC20PermitState\n gatherPermitSignature: null | (() => Promise)\n} {\n const { account, chainId, library } = useActiveWeb3React()\n const transactionDeadline = useTransactionDeadline()\n const tokenAddress = currencyAmount?.currency?.isToken ? currencyAmount.currency.address : undefined\n const eip2612Contract = useEIP2612Contract(tokenAddress)\n const isArgentWallet = useIsArgentWallet()\n const nonceInputs = useMemo(() => [account ?? undefined], [account])\n const tokenNonceState = useSingleCallResult(eip2612Contract, 'nonces', nonceInputs)\n const permitInfo =\n overridePermitInfo ?? (chainId && tokenAddress ? PERMITTABLE_TOKENS[chainId]?.[tokenAddress] : undefined)\n\n const [signatureData, setSignatureData] = useState(null)\n\n return useMemo(() => {\n if (\n isArgentWallet ||\n !currencyAmount ||\n !eip2612Contract ||\n !account ||\n !chainId ||\n !transactionDeadline ||\n !library ||\n !tokenNonceState.valid ||\n !tokenAddress ||\n !spender ||\n !permitInfo\n ) {\n return {\n state: UseERC20PermitState.NOT_APPLICABLE,\n signatureData: null,\n gatherPermitSignature: null,\n }\n }\n\n const nonceNumber = tokenNonceState.result?.[0]?.toNumber()\n if (tokenNonceState.loading || typeof nonceNumber !== 'number') {\n return {\n state: UseERC20PermitState.LOADING,\n signatureData: null,\n gatherPermitSignature: null,\n }\n }\n\n const isSignatureDataValid =\n signatureData &&\n signatureData.owner === account &&\n signatureData.deadline >= transactionDeadline.toNumber() &&\n signatureData.tokenAddress === tokenAddress &&\n signatureData.nonce === nonceNumber &&\n signatureData.spender === spender &&\n ('allowed' in signatureData || JSBI.equal(JSBI.BigInt(signatureData.amount), currencyAmount.quotient))\n\n return {\n state: isSignatureDataValid ? UseERC20PermitState.SIGNED : UseERC20PermitState.NOT_SIGNED,\n signatureData: isSignatureDataValid ? signatureData : null,\n gatherPermitSignature: async function gatherPermitSignature() {\n const allowed = permitInfo.type === PermitType.ALLOWED\n const signatureDeadline = transactionDeadline.toNumber() + PERMIT_VALIDITY_BUFFER\n const value = currencyAmount.quotient.toString()\n\n const message = allowed\n ? {\n holder: account,\n spender,\n allowed,\n nonce: nonceNumber,\n expiry: signatureDeadline,\n }\n : {\n owner: account,\n spender,\n value,\n nonce: nonceNumber,\n deadline: signatureDeadline,\n }\n const domain = permitInfo.version\n ? {\n name: permitInfo.name,\n version: permitInfo.version,\n verifyingContract: tokenAddress,\n chainId,\n }\n : {\n name: permitInfo.name,\n verifyingContract: tokenAddress,\n chainId,\n }\n const data = JSON.stringify({\n types: {\n EIP712Domain: permitInfo.version ? EIP712_DOMAIN_TYPE : EIP712_DOMAIN_TYPE_NO_VERSION,\n Permit: allowed ? PERMIT_ALLOWED_TYPE : EIP2612_TYPE,\n },\n domain,\n primaryType: 'Permit',\n message,\n })\n\n return library\n .send('eth_signTypedData_v4', [account, data])\n .then(splitSignature)\n .then((signature) => {\n setSignatureData({\n v: signature.v,\n r: signature.r,\n s: signature.s,\n deadline: signatureDeadline,\n ...(allowed ? { allowed } : { amount: value }),\n nonce: nonceNumber,\n chainId,\n owner: account,\n spender,\n tokenAddress,\n permitType: permitInfo.type,\n })\n })\n },\n }\n }, [\n currencyAmount,\n eip2612Contract,\n account,\n chainId,\n isArgentWallet,\n transactionDeadline,\n library,\n tokenNonceState.loading,\n tokenNonceState.valid,\n tokenNonceState.result,\n tokenAddress,\n spender,\n permitInfo,\n signatureData,\n ])\n}\n\nconst REMOVE_V2_LIQUIDITY_PERMIT_INFO: PermitInfo = {\n version: '1',\n name: 'SushiSwap LP Token',\n type: PermitType.AMOUNT,\n}\n\nexport function useV2LiquidityTokenPermit(\n liquidityAmount: CurrencyAmount | null | undefined,\n spender: string | null | undefined\n) {\n return useERC20Permit(liquidityAmount, spender, REMOVE_V2_LIQUIDITY_PERMIT_INFO)\n}\n\nexport function useERC20PermitFromTrade(\n trade: V2Trade | undefined,\n allowedSlippage: Percent\n) {\n const { chainId } = useActiveWeb3React()\n\n const amountToApprove = useMemo(\n () => (trade ? trade.maximumAmountIn(allowedSlippage) : undefined),\n [trade, allowedSlippage]\n )\n\n return useERC20Permit(\n amountToApprove,\n // v2 router does not support\n trade instanceof V2Trade ? undefined : trade,\n null\n )\n}\n","import { NEVER_RELOAD, useSingleCallResult } from '../state/multicall/hooks'\n\nimport { useActiveWeb3React } from '../services/web3'\nimport { useArgentWalletDetectorContract } from './useContract'\nimport { useMemo } from 'react'\n\nexport default function useIsArgentWallet(): boolean {\n const { account } = useActiveWeb3React()\n const argentWalletDetector = useArgentWalletDetectorContract()\n const inputs = useMemo(() => [account ?? undefined], [account])\n const call = useSingleCallResult(argentWalletDetector, 'isArgentWallet', inputs, NEVER_RELOAD)\n return call?.result?.[0] ?? false\n}\n","import { Currency, CurrencyAmount, Token } from '@sushiswap/core-sdk'\n\nimport { BigNumber } from '@ethersproject/bignumber'\nimport { useSingleCallResult } from '../state/multicall/hooks'\nimport { useTokenContract } from './useContract'\n\n// returns undefined if input token is undefined, or fails to get token contract,\n// or contract total supply cannot be fetched\nexport function useTotalSupply(token?: Currency): CurrencyAmount | undefined {\n const contract = useTokenContract(token?.isToken ? token.address : undefined, false)\n\n const totalSupply: BigNumber = useSingleCallResult(contract, 'totalSupply')?.result?.[0]\n\n return token?.isToken && totalSupply ? CurrencyAmount.fromRawAmount(token, totalSupply.toString()) : undefined\n}\n","import { BigNumber } from '@ethersproject/bignumber'\nimport { useAppSelector } from '../state/hooks'\nimport useCurrentBlockTimestamp from './useCurrentBlockTimestamp'\nimport { useMemo } from 'react'\n\n// combines the block timestamp with the user setting to give the deadline that should be used for any submitted transaction\nexport default function useTransactionDeadline(): BigNumber | undefined {\n const ttl = useAppSelector((state) => state.user.userDeadline)\n\n const blockTimestamp = useCurrentBlockTimestamp()\n // console.log({ ttl, blockTimestamp })\n return useMemo(() => {\n if (blockTimestamp && ttl) return blockTimestamp.add(ttl)\n return undefined\n }, [blockTimestamp, ttl])\n}\n","import { BigNumber } from '@ethersproject/bignumber'\nimport { useMulticall2Contract } from './useContract'\nimport { useSingleCallResult } from '../state/multicall/hooks'\n\n// gets the current timestamp from the blockchain\nexport default function useCurrentBlockTimestamp(): BigNumber | undefined {\n const multicall = useMulticall2Contract()\n return useSingleCallResult(multicall, 'getCurrentBlockTimestamp')?.result?.[0]\n}\n","import { AlertTriangle, ArrowUpCircle, CheckCircle } from 'react-feather'\nimport { ChainId, Currency } from '@sushiswap/core-sdk'\nimport React, { FC } from 'react'\nimport { Trans, t } from '@lingui/macro'\n\nimport Button from '../../components/Button'\nimport CloseIcon from '../../components/CloseIcon'\nimport ExternalLink from '../../components/ExternalLink'\nimport Image from '../../components/Image'\nimport Lottie from 'lottie-react'\nimport Modal from '../../components/Modal'\nimport ModalHeader from '../../components/ModalHeader'\nimport { RowFixed } from '../../components/Row'\nimport { getExplorerLink } from '../../functions/explorer'\nimport loadingRollingCircle from '../../animation/loading-rolling-circle.json'\nimport { useActiveWeb3React } from '../../services/web3'\nimport useAddTokenToMetaMask from '../../hooks/useAddTokenToMetaMask'\nimport { useLingui } from '@lingui/react'\n\ninterface ConfirmationPendingContentProps {\n onDismiss: () => void\n pendingText: string\n}\n\nexport const ConfirmationPendingContent: FC = ({ onDismiss, pendingText }) => {\n const { i18n } = useLingui()\n return (\n
\n
\n \n
\n
\n \n
\n
\n
{i18n._(t`Waiting for Confirmation`)}
\n
{pendingText}
\n
{i18n._(t`Confirm this transaction in your wallet`)}
\n
\n
\n )\n}\n\ninterface TransactionSubmittedContentProps {\n onDismiss: () => void\n hash: string | undefined\n chainId: ChainId\n currencyToAdd?: Currency | undefined\n inline?: boolean // not in modal\n}\n\nexport const TransactionSubmittedContent: FC = ({\n onDismiss,\n chainId,\n hash,\n currencyToAdd,\n}) => {\n const { i18n } = useLingui()\n const { library } = useActiveWeb3React()\n const { addToken, success } = useAddTokenToMetaMask(currencyToAdd)\n return (\n
\n
\n \n
\n
\n \n
\n
\n
{i18n._(t`Transaction Submitted`)}
\n {chainId && hash && (\n \n
View on explorer
\n
\n )}\n {currencyToAdd && library?.provider?.isMetaMask && (\n \n )}\n {/* */}\n
\n
\n )\n}\n\ninterface ConfirmationModelContentProps {\n title: string\n onDismiss: () => void\n topContent: () => React.ReactNode\n bottomContent: () => React.ReactNode\n}\n\nexport const ConfirmationModalContent: FC = ({\n title,\n bottomContent,\n onDismiss,\n topContent,\n}) => {\n return (\n
\n \n {topContent()}\n {bottomContent()}\n
\n )\n}\n\ninterface TransactionErrorContentProps {\n message: string\n onDismiss: () => void\n}\n\nexport const TransactionErrorContent: FC = ({ message, onDismiss }) => {\n const { i18n } = useLingui()\n\n return (\n
\n
\n
\n
{i18n._(t`Error`)}
\n \n
\n
\n \n
{message}
\n
\n
\n
\n \n
\n
\n )\n}\n\ninterface ConfirmationModalProps {\n isOpen: boolean\n onDismiss: () => void\n hash: string | undefined\n content: () => React.ReactNode\n attemptingTxn: boolean\n pendingText: string\n currencyToAdd?: Currency | undefined\n}\n\nconst TransactionConfirmationModal: FC = ({\n isOpen,\n onDismiss,\n attemptingTxn,\n hash,\n pendingText,\n content,\n currencyToAdd,\n}) => {\n const { chainId } = useActiveWeb3React()\n\n if (!chainId) return null\n\n // confirmation screen\n return (\n \n {attemptingTxn ? (\n \n ) : hash ? (\n \n ) : (\n content()\n )}\n \n )\n}\n\nexport default TransactionConfirmationModal\n","import { Currency, Token } from '@sushiswap/core-sdk'\nimport { useCallback, useState } from 'react'\n\nimport { getCurrencyLogoUrls } from './../components/CurrencyLogo'\nimport { useActiveWeb3React } from '../services/web3'\n\nexport default function useAddTokenToMetaMask(currencyToAdd: Currency | undefined): {\n addToken: () => void\n success: boolean | undefined\n} {\n const { chainId, library } = useActiveWeb3React()\n\n const token: Token | undefined = currencyToAdd?.wrapped\n\n const [success, setSuccess] = useState()\n\n const addToken = useCallback(() => {\n if (library && library.provider.isMetaMask && library.provider.request && token) {\n library.provider\n .request({\n method: 'wallet_watchAsset',\n params: {\n //@ts-ignore // need this for incorrect ethers provider type\n type: 'ERC20',\n options: {\n address: token.address,\n symbol: token.symbol,\n decimals: token.decimals,\n image: getCurrencyLogoUrls(token),\n },\n },\n })\n .then((success) => {\n setSuccess(success)\n })\n .catch(() => setSuccess(false))\n } else {\n setSuccess(false)\n }\n }, [library, token])\n\n return { addToken, success }\n}\n","import { Currency, CurrencyAmount, JSBI, Pair, Percent, Token, ZERO } from '@sushiswap/core-sdk'\nimport { Field, typeInput } from './actions'\nimport { useAppDispatch, useAppSelector } from '../hooks'\n\nimport { AppState } from '../index'\nimport { t } from '@lingui/macro'\nimport { tryParseAmount } from '../../functions/parse'\nimport { useActiveWeb3React } from '../../services/web3'\nimport { useCallback } from 'react'\nimport { useLingui } from '@lingui/react'\nimport { useTokenBalances } from '../wallet/hooks'\nimport { useTotalSupply } from '../../hooks/useTotalSupply'\nimport { useV2Pair } from '../../hooks/useV2Pairs'\n\nexport function useBurnState(): AppState['burn'] {\n return useAppSelector((state) => state.burn)\n}\n\nexport function useDerivedBurnInfo(\n currencyA: Currency | undefined,\n currencyB: Currency | undefined\n): {\n pair?: Pair | null\n parsedAmounts: {\n [Field.LIQUIDITY_PERCENT]: Percent\n [Field.LIQUIDITY]?: CurrencyAmount\n [Field.CURRENCY_A]?: CurrencyAmount\n [Field.CURRENCY_B]?: CurrencyAmount\n }\n error?: string\n userLiquidity: CurrencyAmount | undefined\n} {\n const { account, chainId } = useActiveWeb3React()\n\n const { i18n } = useLingui()\n\n const { independentField, typedValue } = useBurnState()\n\n // pair + totalsupply\n const [, pair] = useV2Pair(currencyA, currencyB)\n\n // balances\n const relevantTokenBalances = useTokenBalances(account ?? undefined, [pair?.liquidityToken])\n const userLiquidity: undefined | CurrencyAmount = relevantTokenBalances?.[pair?.liquidityToken?.address ?? '']\n\n const [tokenA, tokenB] = [currencyA?.wrapped, currencyB?.wrapped]\n const tokens = {\n [Field.CURRENCY_A]: tokenA,\n [Field.CURRENCY_B]: tokenB,\n [Field.LIQUIDITY]: pair?.liquidityToken,\n }\n\n // liquidity values\n const totalSupply = useTotalSupply(pair?.liquidityToken)\n\n const liquidityValueA =\n pair &&\n totalSupply &&\n userLiquidity &&\n tokenA &&\n // this condition is a short-circuit in the case where useTokenBalance updates sooner than useTotalSupply\n JSBI.greaterThanOrEqual(totalSupply.quotient, userLiquidity.quotient)\n ? CurrencyAmount.fromRawAmount(tokenA, pair.getLiquidityValue(tokenA, totalSupply, userLiquidity, false).quotient)\n : undefined\n\n const liquidityValueB =\n pair &&\n totalSupply &&\n userLiquidity &&\n tokenB &&\n // this condition is a short-circuit in the case where useTokenBalance updates sooner than useTotalSupply\n JSBI.greaterThanOrEqual(totalSupply.quotient, userLiquidity.quotient)\n ? CurrencyAmount.fromRawAmount(tokenB, pair.getLiquidityValue(tokenB, totalSupply, userLiquidity, false).quotient)\n : undefined\n\n const liquidityValues: {\n [Field.CURRENCY_A]?: CurrencyAmount\n [Field.CURRENCY_B]?: CurrencyAmount\n } = {\n [Field.CURRENCY_A]: liquidityValueA,\n [Field.CURRENCY_B]: liquidityValueB,\n }\n\n let percentToRemove: Percent = new Percent('0', '100')\n // user specified a %\n if (independentField === Field.LIQUIDITY_PERCENT) {\n percentToRemove = new Percent(typedValue, '100')\n }\n // user specified a specific amount of liquidity tokens\n else if (independentField === Field.LIQUIDITY) {\n if (pair?.liquidityToken) {\n const independentAmount = tryParseAmount(typedValue, pair.liquidityToken)\n if (independentAmount && userLiquidity && !independentAmount.greaterThan(userLiquidity)) {\n percentToRemove = new Percent(independentAmount.quotient, userLiquidity.quotient)\n }\n }\n }\n // user specified a specific amount of token a or b\n else {\n if (tokens[independentField]) {\n const independentAmount = tryParseAmount(typedValue, tokens[independentField])\n const liquidityValue = liquidityValues[independentField]\n if (independentAmount && liquidityValue && !independentAmount.greaterThan(liquidityValue)) {\n percentToRemove = new Percent(independentAmount.quotient, liquidityValue.quotient)\n }\n }\n }\n\n const parsedAmounts: {\n [Field.LIQUIDITY_PERCENT]: Percent\n [Field.LIQUIDITY]?: CurrencyAmount\n [Field.CURRENCY_A]?: CurrencyAmount\n [Field.CURRENCY_B]?: CurrencyAmount\n } = {\n [Field.LIQUIDITY_PERCENT]: percentToRemove,\n [Field.LIQUIDITY]:\n userLiquidity && percentToRemove && percentToRemove.greaterThan('0')\n ? CurrencyAmount.fromRawAmount(\n userLiquidity.currency,\n percentToRemove.multiply(userLiquidity.quotient).quotient\n )\n : undefined,\n [Field.CURRENCY_A]:\n tokenA && percentToRemove && percentToRemove.greaterThan('0') && liquidityValueA\n ? CurrencyAmount.fromRawAmount(tokenA, percentToRemove.multiply(liquidityValueA.quotient).quotient)\n : undefined,\n [Field.CURRENCY_B]:\n tokenB && percentToRemove && percentToRemove.greaterThan('0') && liquidityValueB\n ? CurrencyAmount.fromRawAmount(tokenB, percentToRemove.multiply(liquidityValueB.quotient).quotient)\n : undefined,\n }\n\n let error: string | undefined\n if (!account) {\n error = i18n._(t`Connect Wallet`)\n }\n\n if (!parsedAmounts[Field.LIQUIDITY] || !parsedAmounts[Field.CURRENCY_A] || !parsedAmounts[Field.CURRENCY_B]) {\n error = error ?? i18n._(t`Enter an amount`)\n }\n\n if (parsedAmounts[Field.CURRENCY_A]?.equalTo(ZERO) && parsedAmounts[Field.CURRENCY_B]?.equalTo(ZERO)) {\n error = error ?? i18n._(t`Insufficient SLP balance`)\n }\n\n return { pair, parsedAmounts, error, userLiquidity }\n}\n\nexport function useBurnActionHandlers(): {\n onUserInput: (field: Field, typedValue: string) => void\n} {\n const dispatch = useAppDispatch()\n\n const onUserInput = useCallback(\n (field: Field, typedValue: string) => {\n dispatch(typeInput({ field, typedValue }))\n },\n [dispatch]\n )\n\n return {\n onUserInput,\n }\n}\n"],"names":["props","className","useDebouncedChangeHandler","value","onChange","debouncedMs","inner","setInner","useState","timer","useRef","onChangeInner","useCallback","newValue","current","clearTimeout","setTimeout","undefined","useEffect","PermitType","PERMITTABLE_TOKENS","USDC","type","AMOUNT","name","version","DAI","ALLOWED","SUSHI","UseERC20PermitState","EIP712_DOMAIN_TYPE","EIP712_DOMAIN_TYPE_NO_VERSION","EIP2612_TYPE","PERMIT_ALLOWED_TYPE","useERC20Permit","currencyAmount","spender","overridePermitInfo","account","chainId","library","useActiveWeb3React","transactionDeadline","useTransactionDeadline","tokenAddress","currency","isToken","address","eip2612Contract","useEIP2612Contract","isArgentWallet","useIsArgentWallet","nonceInputs","useMemo","tokenNonceState","useSingleCallResult","permitInfo","signatureData","setSignatureData","valid","state","NOT_APPLICABLE","gatherPermitSignature","nonceNumber","result","toNumber","loading","LOADING","isSignatureDataValid","owner","deadline","nonce","JSBI","amount","quotient","SIGNED","NOT_SIGNED","async","allowed","signatureDeadline","toString","message","holder","expiry","domain","verifyingContract","data","JSON","stringify","types","EIP712Domain","Permit","primaryType","send","then","splitSignature","signature","v","r","s","permitType","REMOVE_V2_LIQUIDITY_PERMIT_INFO","useV2LiquidityTokenPermit","liquidityAmount","argentWalletDetector","useArgentWalletDetectorContract","inputs","call","NEVER_RELOAD","useTotalSupply","token","contract","useTokenContract","totalSupply","CurrencyAmount","ttl","useAppSelector","user","userDeadline","blockTimestamp","multicall","useMulticall2Contract","useCurrentBlockTimestamp","add","ConfirmationPendingContent","onDismiss","pendingText","i18n","useLingui","CloseIcon","onClick","animationData","loadingRollingCircle","autoplay","loop","_","TransactionSubmittedContent","hash","currencyToAdd","addToken","success","wrapped","setSuccess","provider","isMetaMask","request","method","params","options","symbol","decimals","image","getCurrencyLogoUrls","catch","useAddTokenToMetaMask","strokeWidth","size","ExternalLink","href","getExplorerLink","Button","color","Row","Image","src","alt","width","height","ConfirmationModalContent","title","bottomContent","topContent","ModalHeader","onClose","TransactionErrorContent","style","isOpen","attemptingTxn","content","Modal","maxHeight","useBurnState","burn","useDerivedBurnInfo","currencyA","currencyB","independentField","typedValue","pair","useV2Pair","relevantTokenBalances","useTokenBalances","liquidityToken","userLiquidity","tokenA","tokenB","tokens","Field","liquidityValueA","getLiquidityValue","liquidityValueB","liquidityValues","percentToRemove","Percent","independentAmount","tryParseAmount","greaterThan","liquidityValue","parsedAmounts","multiply","error","equalTo","ZERO","useBurnActionHandlers","dispatch","useAppDispatch","onUserInput","field","typeInput"],"sourceRoot":""}