Commit 4d19122b authored by Jordan Frankfurt's avatar Jordan Frankfurt Committed by GitHub

set 5 min deadline on swaps and hide UI on L2 (#2081)

parent 13d7d2c9
...@@ -10,6 +10,8 @@ import { RowBetween, RowFixed } from '../Row' ...@@ -10,6 +10,8 @@ import { RowBetween, RowFixed } from '../Row'
import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc' import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc'
import { darken } from 'polished' import { darken } from 'polished'
import { useSetUserSlippageTolerance, useUserSlippageTolerance, useUserTransactionTTL } from 'state/user/hooks' import { useSetUserSlippageTolerance, useUserSlippageTolerance, useUserTransactionTTL } from 'state/user/hooks'
import { L2_CHAIN_IDS } from 'constants/chains'
import { useActiveWeb3React } from 'hooks/web3'
enum SlippageError { enum SlippageError {
InvalidInput = 'InvalidInput', InvalidInput = 'InvalidInput',
...@@ -92,6 +94,7 @@ interface TransactionSettingsProps { ...@@ -92,6 +94,7 @@ interface TransactionSettingsProps {
} }
export default function TransactionSettings({ placeholderSlippage }: TransactionSettingsProps) { export default function TransactionSettings({ placeholderSlippage }: TransactionSettingsProps) {
const { chainId } = useActiveWeb3React()
const theme = useContext(ThemeContext) const theme = useContext(ThemeContext)
const userSlippageTolerance = useUserSlippageTolerance() const userSlippageTolerance = useUserSlippageTolerance()
...@@ -151,6 +154,8 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction ...@@ -151,6 +154,8 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction
} }
} }
const showCustomDeadlineRow = Boolean(chainId && !L2_CHAIN_IDS.includes(chainId))
return ( return (
<AutoColumn gap="md"> <AutoColumn gap="md">
<AutoColumn gap="sm"> <AutoColumn gap="sm">
...@@ -221,12 +226,15 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction ...@@ -221,12 +226,15 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction
) : null} ) : null}
</AutoColumn> </AutoColumn>
{showCustomDeadlineRow && (
<AutoColumn gap="sm"> <AutoColumn gap="sm">
<RowFixed> <RowFixed>
<TYPE.black fontSize={14} fontWeight={400} color={theme.text2}> <TYPE.black fontSize={14} fontWeight={400} color={theme.text2}>
<Trans>Transaction deadline</Trans> <Trans>Transaction deadline</Trans>
</TYPE.black> </TYPE.black>
<QuestionHelper text={t`Your transaction will revert if it is pending for more than this period of time.`} /> <QuestionHelper
text={t`Your transaction will revert if it is pending for more than this period of time.`}
/>
</RowFixed> </RowFixed>
<RowFixed> <RowFixed>
<OptionCustom style={{ width: '80px' }} warning={!!deadlineError} tabIndex={-1}> <OptionCustom style={{ width: '80px' }} warning={!!deadlineError} tabIndex={-1}>
...@@ -252,6 +260,7 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction ...@@ -252,6 +260,7 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction
</TYPE.body> </TYPE.body>
</RowFixed> </RowFixed>
</AutoColumn> </AutoColumn>
)}
</AutoColumn> </AutoColumn>
) )
} }
import { Percent, Token } from '@uniswap/sdk-core' import { Percent, Token } from '@uniswap/sdk-core'
import { computePairAddress, Pair } from '@uniswap/v2-sdk' import { computePairAddress, Pair } from '@uniswap/v2-sdk'
import { L2_CHAIN_IDS } from 'constants/chains'
import { SupportedLocale } from 'constants/locales' import { SupportedLocale } from 'constants/locales'
import { L2_DEADLINE_FROM_NOW } from 'constants/misc'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import flatMap from 'lodash.flatmap' import flatMap from 'lodash.flatmap'
import { useCallback, useMemo } from 'react' import { useCallback, useMemo } from 'react'
...@@ -182,10 +184,11 @@ export function useUserSlippageToleranceWithDefault(defaultSlippageTolerance: Pe ...@@ -182,10 +184,11 @@ export function useUserSlippageToleranceWithDefault(defaultSlippageTolerance: Pe
} }
export function useUserTransactionTTL(): [number, (slippage: number) => void] { export function useUserTransactionTTL(): [number, (slippage: number) => void] {
const { chainId } = useActiveWeb3React()
const dispatch = useAppDispatch() const dispatch = useAppDispatch()
const userDeadline = useAppSelector((state) => { const userDeadline = useAppSelector((state) => state.user.userDeadline)
return state.user.userDeadline const onL2 = Boolean(chainId && L2_CHAIN_IDS.includes(chainId))
}) const deadline = onL2 ? L2_DEADLINE_FROM_NOW : userDeadline
const setUserDeadline = useCallback( const setUserDeadline = useCallback(
(userDeadline: number) => { (userDeadline: number) => {
...@@ -194,7 +197,7 @@ export function useUserTransactionTTL(): [number, (slippage: number) => void] { ...@@ -194,7 +197,7 @@ export function useUserTransactionTTL(): [number, (slippage: number) => void] {
[dispatch] [dispatch]
) )
return [userDeadline, setUserDeadline] return [deadline, setUserDeadline]
} }
export function useAddUserToken(): (token: Token) => void { export function useAddUserToken(): (token: Token) => void {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment