Commit 379437b7 authored by eddie's avatar eddie Committed by GitHub

fix: remove all references to expert mode (#6675)

parent 02c0dee0
...@@ -81,34 +81,6 @@ describe('Permit2', () => { ...@@ -81,34 +81,6 @@ describe('Permit2', () => {
}) })
}) })
it('swaps after completing full permit2 approval process in expert mode', () => {
// Sets up a swap between INPUT_TOKEN and OUTPUT_TOKEN.
cy.visit(`/swap/?inputCurrency=${INPUT_TOKEN.address}&outputCurrency=${OUTPUT_TOKEN.address}&ape=true`, {
ethereum: 'hardhat',
})
cy.get('#swap-currency-input .token-amount-input').type(TEST_BALANCE_INCREMENT.toString())
cy.hardhat().then(({ provider }) => {
cy.spy(provider, 'send').as('permitApprovalSpy')
})
initiateSwap()
cy.contains('Enable spending limits for DAI on Uniswap').should('exist')
cy.contains('Approved').should('exist')
cy.contains('Allow DAI to be used for swapping').should('exist')
cy.contains('Confirm Swap').should('exist')
cy.then(() => {
const approvalTime = Date.now()
cy.contains('Swapped').should('exist')
expectTokenAllowanceForPermit2ToBeMax()
expectPermit2AllowanceForUniversalRouterToBeMax(approvalTime)
cy.get('@permitApprovalSpy').should('have.been.calledWith', 'eth_signTypedData_v4')
})
})
it('swaps after handling user rejection of both approval and signature', () => { it('swaps after handling user rejection of both approval and signature', () => {
const USER_REJECTION = { code: 4001 } const USER_REJECTION = { code: 4001 }
cy.hardhat().then((hardhat) => { cy.hardhat().then((hardhat) => {
......
import { useEffect } from 'react'
import { useAppDispatch } from 'state/hooks'
import { updateUserExpertMode } from '../state/user/reducer'
import useParsedQueryString from './useParsedQueryString'
export default function ApeModeQueryParamReader(): null {
useApeModeQueryParamReader()
return null
}
function useApeModeQueryParamReader() {
const dispatch = useAppDispatch()
const { ape } = useParsedQueryString()
useEffect(() => {
if (typeof ape !== 'string') return
if (ape === '' || ape.toLowerCase() === 'true') {
dispatch(updateUserExpertMode({ userExpertMode: true }))
}
})
}
...@@ -57,7 +57,7 @@ import { useV3PositionFromTokenId } from '../../hooks/useV3Positions' ...@@ -57,7 +57,7 @@ import { useV3PositionFromTokenId } from '../../hooks/useV3Positions'
import { Bound, Field } from '../../state/mint/v3/actions' import { Bound, Field } from '../../state/mint/v3/actions'
import { useTransactionAdder } from '../../state/transactions/hooks' import { useTransactionAdder } from '../../state/transactions/hooks'
import { TransactionType } from '../../state/transactions/types' import { TransactionType } from '../../state/transactions/types'
import { useIsExpertMode, useUserSlippageToleranceWithDefault } from '../../state/user/hooks' import { useUserSlippageToleranceWithDefault } from '../../state/user/hooks'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import approveAmountCalldata from '../../utils/approveAmountCalldata' import approveAmountCalldata from '../../utils/approveAmountCalldata'
import { calculateGasMargin } from '../../utils/calculateGasMargin' import { calculateGasMargin } from '../../utils/calculateGasMargin'
...@@ -103,7 +103,6 @@ function AddLiquidity() { ...@@ -103,7 +103,6 @@ function AddLiquidity() {
const theme = useTheme() const theme = useTheme()
const toggleWalletDrawer = useToggleAccountDrawer() // toggle wallet when disconnected const toggleWalletDrawer = useToggleAccountDrawer() // toggle wallet when disconnected
const expertMode = useIsExpertMode()
const addTransaction = useTransactionAdder() const addTransaction = useTransactionAdder()
const positionManager = useV3NFTPositionManagerContract() const positionManager = useV3NFTPositionManagerContract()
...@@ -532,7 +531,7 @@ function AddLiquidity() { ...@@ -532,7 +531,7 @@ function AddLiquidity() {
)} )}
<ButtonError <ButtonError
onClick={() => { onClick={() => {
expertMode ? onAdd() : setShowConfirm(true) setShowConfirm(true)
}} }}
disabled={ disabled={
!isValid || !isValid ||
......
...@@ -36,7 +36,7 @@ import { Field } from '../../state/mint/actions' ...@@ -36,7 +36,7 @@ import { Field } from '../../state/mint/actions'
import { useDerivedMintInfo, useMintActionHandlers, useMintState } from '../../state/mint/hooks' import { useDerivedMintInfo, useMintActionHandlers, useMintState } from '../../state/mint/hooks'
import { useTransactionAdder } from '../../state/transactions/hooks' import { useTransactionAdder } from '../../state/transactions/hooks'
import { TransactionType } from '../../state/transactions/types' import { TransactionType } from '../../state/transactions/types'
import { useIsExpertMode, useUserSlippageToleranceWithDefault } from '../../state/user/hooks' import { useUserSlippageToleranceWithDefault } from '../../state/user/hooks'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import { calculateGasMargin } from '../../utils/calculateGasMargin' import { calculateGasMargin } from '../../utils/calculateGasMargin'
import { calculateSlippageAmount } from '../../utils/calculateSlippageAmount' import { calculateSlippageAmount } from '../../utils/calculateSlippageAmount'
...@@ -69,8 +69,6 @@ export default function AddLiquidity() { ...@@ -69,8 +69,6 @@ export default function AddLiquidity() {
const toggleWalletDrawer = useToggleAccountDrawer() // toggle wallet when disconnected const toggleWalletDrawer = useToggleAccountDrawer() // toggle wallet when disconnected
const expertMode = useIsExpertMode()
// mint state // mint state
const { independentField, typedValue, otherTypedValue } = useMintState() const { independentField, typedValue, otherTypedValue } = useMintState()
const { const {
...@@ -487,7 +485,7 @@ export default function AddLiquidity() { ...@@ -487,7 +485,7 @@ export default function AddLiquidity() {
)} )}
<ButtonError <ButtonError
onClick={() => { onClick={() => {
expertMode ? onAdd() : setShowConfirm(true) setShowConfirm(true)
}} }}
disabled={!isValid || approvalA !== ApprovalState.APPROVED || approvalB !== ApprovalState.APPROVED} disabled={!isValid || approvalA !== ApprovalState.APPROVED || approvalB !== ApprovalState.APPROVED}
error={!isValid && !!parsedAmounts[Field.CURRENCY_A] && !!parsedAmounts[Field.CURRENCY_B]} error={!isValid && !!parsedAmounts[Field.CURRENCY_A] && !!parsedAmounts[Field.CURRENCY_B]}
......
...@@ -4,7 +4,6 @@ import { useWeb3React } from '@web3-react/core' ...@@ -4,7 +4,6 @@ import { useWeb3React } from '@web3-react/core'
import Loader from 'components/Icons/LoadingSpinner' import Loader from 'components/Icons/LoadingSpinner'
import TopLevelModals from 'components/TopLevelModals' import TopLevelModals from 'components/TopLevelModals'
import { useFeatureFlagsIsLoaded } from 'featureFlags' import { useFeatureFlagsIsLoaded } from 'featureFlags'
import ApeModeQueryParamReader from 'hooks/useApeModeQueryParamReader'
import { useAtom } from 'jotai' import { useAtom } from 'jotai'
import { useBag } from 'nft/hooks/useBag' import { useBag } from 'nft/hooks/useBag'
import { lazy, Suspense, useEffect, useMemo, useState } from 'react' import { lazy, Suspense, useEffect, useMemo, useState } from 'react'
...@@ -28,7 +27,6 @@ import { PageTabs } from '../components/NavBar' ...@@ -28,7 +27,6 @@ import { PageTabs } from '../components/NavBar'
import NavBar from '../components/NavBar' import NavBar from '../components/NavBar'
import Polling from '../components/Polling' import Polling from '../components/Polling'
import Popups from '../components/Popups' import Popups from '../components/Popups'
import { useIsExpertMode } from '../state/user/hooks'
import DarkModeQueryParamReader from '../theme/components/DarkModeQueryParamReader' import DarkModeQueryParamReader from '../theme/components/DarkModeQueryParamReader'
import AddLiquidity from './AddLiquidity' import AddLiquidity from './AddLiquidity'
import { RedirectDuplicateTokenIds } from './AddLiquidity/redirects' import { RedirectDuplicateTokenIds } from './AddLiquidity/redirects'
...@@ -115,7 +113,6 @@ export default function App() { ...@@ -115,7 +113,6 @@ export default function App() {
const { pathname } = useLocation() const { pathname } = useLocation()
const currentPage = getCurrentPageFromLocation(pathname) const currentPage = getCurrentPageFromLocation(pathname)
const isDarkMode = useIsDarkMode() const isDarkMode = useIsDarkMode()
const isExpertMode = useIsExpertMode()
const [scrolledState, setScrolledState] = useState(false) const [scrolledState, setScrolledState] = useState(false)
useAnalyticsReporter() useAnalyticsReporter()
...@@ -163,10 +160,6 @@ export default function App() { ...@@ -163,10 +160,6 @@ export default function App() {
user.set(CustomUserProperties.DARK_MODE, isDarkMode) user.set(CustomUserProperties.DARK_MODE, isDarkMode)
}, [isDarkMode]) }, [isDarkMode])
useEffect(() => {
user.set(CustomUserProperties.EXPERT_MODE, isExpertMode)
}, [isExpertMode])
useEffect(() => { useEffect(() => {
const scrollListener = () => { const scrollListener = () => {
setScrolledState(window.scrollY > 0) setScrolledState(window.scrollY > 0)
...@@ -190,7 +183,6 @@ export default function App() { ...@@ -190,7 +183,6 @@ export default function App() {
return ( return (
<ErrorBoundary> <ErrorBoundary>
<DarkModeQueryParamReader /> <DarkModeQueryParamReader />
<ApeModeQueryParamReader />
<Trace page={currentPage}> <Trace page={currentPage}>
<StatsigProvider <StatsigProvider
user={statsigUser} user={statsigUser}
......
...@@ -48,7 +48,7 @@ import SwapCurrencyInputPanel from '../../components/CurrencyInputPanel/SwapCurr ...@@ -48,7 +48,7 @@ import SwapCurrencyInputPanel from '../../components/CurrencyInputPanel/SwapCurr
import { AutoRow } from '../../components/Row' import { AutoRow } from '../../components/Row'
import confirmPriceImpactWithoutFee from '../../components/swap/confirmPriceImpactWithoutFee' import confirmPriceImpactWithoutFee from '../../components/swap/confirmPriceImpactWithoutFee'
import ConfirmSwapModal from '../../components/swap/ConfirmSwapModal' import ConfirmSwapModal from '../../components/swap/ConfirmSwapModal'
import { ArrowWrapper, PageWrapper, SwapCallbackError, SwapWrapper } from '../../components/swap/styleds' import { ArrowWrapper, PageWrapper, SwapWrapper } from '../../components/swap/styleds'
import SwapHeader from '../../components/swap/SwapHeader' import SwapHeader from '../../components/swap/SwapHeader'
import { SwitchLocaleLink } from '../../components/SwitchLocaleLink' import { SwitchLocaleLink } from '../../components/SwitchLocaleLink'
import { getSwapCurrencyId, TOKEN_SHORTHANDS } from '../../constants/tokens' import { getSwapCurrencyId, TOKEN_SHORTHANDS } from '../../constants/tokens'
...@@ -58,7 +58,6 @@ import useWrapCallback, { WrapErrorText, WrapType } from '../../hooks/useWrapCal ...@@ -58,7 +58,6 @@ import useWrapCallback, { WrapErrorText, WrapType } from '../../hooks/useWrapCal
import { Field, replaceSwapState } from '../../state/swap/actions' import { Field, replaceSwapState } from '../../state/swap/actions'
import { useDefaultsFromURLSearch, useDerivedSwapInfo, useSwapActionHandlers } from '../../state/swap/hooks' import { useDefaultsFromURLSearch, useDerivedSwapInfo, useSwapActionHandlers } from '../../state/swap/hooks'
import swapReducer, { initialState as initialSwapState, SwapState } from '../../state/swap/reducer' import swapReducer, { initialState as initialSwapState, SwapState } from '../../state/swap/reducer'
import { useExpertModeManager } from '../../state/user/hooks'
import { LinkStyledButton, ThemedText } from '../../theme' import { LinkStyledButton, ThemedText } from '../../theme'
import { computeFiatValuePriceImpact } from '../../utils/computeFiatValuePriceImpact' import { computeFiatValuePriceImpact } from '../../utils/computeFiatValuePriceImpact'
import { maxAmountSpend } from '../../utils/maxAmountSpend' import { maxAmountSpend } from '../../utils/maxAmountSpend'
...@@ -225,8 +224,6 @@ export function Swap({ ...@@ -225,8 +224,6 @@ export function Swap({
// toggle wallet when disconnected // toggle wallet when disconnected
const toggleWalletDrawer = useToggleAccountDrawer() const toggleWalletDrawer = useToggleAccountDrawer()
// for expert mode
const [isExpertMode] = useExpertModeManager()
// swap state // swap state
const [state, dispatch] = useReducer(swapReducer, { ...initialSwapState, ...prefilledState }) const [state, dispatch] = useReducer(swapReducer, { ...initialSwapState, ...prefilledState })
const { typedValue, recipient, independentField } = state const { typedValue, recipient, independentField } = state
...@@ -503,7 +500,7 @@ export function Swap({ ...@@ -503,7 +500,7 @@ export function Swap({
[onCurrencyChange, onCurrencySelection, state] [onCurrencyChange, onCurrencySelection, state]
) )
const priceImpactTooHigh = priceImpactSeverity > 3 && !isExpertMode const priceImpactTooHigh = priceImpactSeverity > 3
const showPriceImpactWarning = largerPriceImpact && priceImpactSeverity > 3 const showPriceImpactWarning = largerPriceImpact && priceImpactSeverity > 3
const prevTrade = usePrevious(trade) const prevTrade = usePrevious(trade)
...@@ -729,7 +726,6 @@ export function Swap({ ...@@ -729,7 +726,6 @@ export function Swap({
</ButtonError> </ButtonError>
</TraceEvent> </TraceEvent>
)} )}
{Boolean(isExpertMode && swapError) && <SwapCallbackError error={swapError?.message} />}
</div> </div>
</AutoColumn> </AutoColumn>
</SwapWrapper> </SwapWrapper>
......
...@@ -37,7 +37,6 @@ export const sentryEnhancer = Sentry.createReduxEnhancer({ ...@@ -37,7 +37,6 @@ export const sentryEnhancer = Sentry.createReduxEnhancer({
selectedWallet: user.selectedWallet, selectedWallet: user.selectedWallet,
lastUpdateVersionTimestamp: user.lastUpdateVersionTimestamp, lastUpdateVersionTimestamp: user.lastUpdateVersionTimestamp,
userLocale: user.userLocale, userLocale: user.userLocale,
userExpertMode: user.userExpertMode,
userRouterPreference: user.userRouterPreference, userRouterPreference: user.userRouterPreference,
userHideClosedPositions: user.userHideClosedPositions, userHideClosedPositions: user.userHideClosedPositions,
userSlippageTolerance: user.userSlippageTolerance, userSlippageTolerance: user.userSlippageTolerance,
......
...@@ -21,7 +21,6 @@ import { ...@@ -21,7 +21,6 @@ import {
updateHideUniswapWalletBanner, updateHideUniswapWalletBanner,
updateUserBuyFiatFlowCompleted, updateUserBuyFiatFlowCompleted,
updateUserDeadline, updateUserDeadline,
updateUserExpertMode,
updateUserLocale, updateUserLocale,
updateUserRouterPreference, updateUserRouterPreference,
updateUserSlippageTolerance, updateUserSlippageTolerance,
...@@ -66,10 +65,6 @@ export function useUserLocaleManager(): [SupportedLocale | null, (newLocale: Sup ...@@ -66,10 +65,6 @@ export function useUserLocaleManager(): [SupportedLocale | null, (newLocale: Sup
return [locale, setLocale] return [locale, setLocale]
} }
export function useIsExpertMode(): boolean {
return useAppSelector((state) => state.user.userExpertMode)
}
export function useBuyFiatFlowCompleted(): [boolean | undefined, (buyFiatFlowCompleted: boolean) => void] { export function useBuyFiatFlowCompleted(): [boolean | undefined, (buyFiatFlowCompleted: boolean) => void] {
const dispatch = useAppDispatch() const dispatch = useAppDispatch()
const buyFiatFlowCompleted = useAppSelector((state) => state.user.buyFiatFlowCompleted) const buyFiatFlowCompleted = useAppSelector((state) => state.user.buyFiatFlowCompleted)
...@@ -82,17 +77,6 @@ export function useBuyFiatFlowCompleted(): [boolean | undefined, (buyFiatFlowCom ...@@ -82,17 +77,6 @@ export function useBuyFiatFlowCompleted(): [boolean | undefined, (buyFiatFlowCom
return [buyFiatFlowCompleted, setBuyFiatFlowCompleted] return [buyFiatFlowCompleted, setBuyFiatFlowCompleted]
} }
export function useExpertModeManager(): [boolean, () => void] {
const dispatch = useAppDispatch()
const expertMode = useIsExpertMode()
const toggleSetExpertMode = useCallback(() => {
dispatch(updateUserExpertMode({ userExpertMode: !expertMode }))
}, [expertMode, dispatch])
return [expertMode, toggleSetExpertMode]
}
export function useRouterPreference(): [RouterPreference, (routerPreference: RouterPreference) => void] { export function useRouterPreference(): [RouterPreference, (routerPreference: RouterPreference) => void] {
const dispatch = useAppDispatch() const dispatch = useAppDispatch()
......
...@@ -11,7 +11,6 @@ import reducer, { ...@@ -11,7 +11,6 @@ import reducer, {
updateHideUniswapWalletBanner, updateHideUniswapWalletBanner,
updateSelectedWallet, updateSelectedWallet,
updateUserDeadline, updateUserDeadline,
updateUserExpertMode,
updateUserLocale, updateUserLocale,
updateUserRouterPreference, updateUserRouterPreference,
updateUserSlippageTolerance, updateUserSlippageTolerance,
...@@ -76,13 +75,6 @@ describe('swap reducer', () => { ...@@ -76,13 +75,6 @@ describe('swap reducer', () => {
}) })
}) })
describe('updateUserExpertMode', () => {
it('updates the userExpertMode', () => {
store.dispatch(updateUserExpertMode({ userExpertMode: true }))
expect(store.getState().userExpertMode).toEqual(true)
})
})
describe('updateUserLocale', () => { describe('updateUserLocale', () => {
it('updates the userLocale', () => { it('updates the userLocale', () => {
store.dispatch(updateUserLocale({ userLocale: 'en' })) store.dispatch(updateUserLocale({ userLocale: 'en' }))
......
...@@ -19,8 +19,6 @@ export interface UserState { ...@@ -19,8 +19,6 @@ export interface UserState {
userLocale: SupportedLocale | null userLocale: SupportedLocale | null
userExpertMode: boolean
// which router should be used to calculate trades // which router should be used to calculate trades
userRouterPreference: RouterPreference userRouterPreference: RouterPreference
...@@ -63,7 +61,6 @@ function pairKey(token0Address: string, token1Address: string) { ...@@ -63,7 +61,6 @@ function pairKey(token0Address: string, token1Address: string) {
export const initialState: UserState = { export const initialState: UserState = {
buyFiatFlowCompleted: undefined, buyFiatFlowCompleted: undefined,
selectedWallet: undefined, selectedWallet: undefined,
userExpertMode: false,
userLocale: null, userLocale: null,
userRouterPreference: RouterPreference.AUTO, userRouterPreference: RouterPreference.AUTO,
userHideClosedPositions: false, userHideClosedPositions: false,
...@@ -88,10 +85,6 @@ const userSlice = createSlice({ ...@@ -88,10 +85,6 @@ const userSlice = createSlice({
updateSelectedWallet(state, { payload: { wallet } }) { updateSelectedWallet(state, { payload: { wallet } }) {
state.selectedWallet = wallet state.selectedWallet = wallet
}, },
updateUserExpertMode(state, action) {
state.userExpertMode = action.payload.userExpertMode
state.timestamp = currentTimestamp()
},
updateUserLocale(state, action) { updateUserLocale(state, action) {
state.userLocale = action.payload.userLocale state.userLocale = action.payload.userLocale
state.timestamp = currentTimestamp() state.timestamp = currentTimestamp()
...@@ -184,7 +177,6 @@ export const { ...@@ -184,7 +177,6 @@ export const {
updateHideClosedPositions, updateHideClosedPositions,
updateUserRouterPreference, updateUserRouterPreference,
updateUserDeadline, updateUserDeadline,
updateUserExpertMode,
updateUserLocale, updateUserLocale,
updateUserSlippageTolerance, updateUserSlippageTolerance,
updateHideUniswapWalletBanner, updateHideUniswapWalletBanner,
......
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