ci(release): publish latest release

parent 7939ac87
IPFS hash of the deployment: IPFS hash of the deployment:
- CIDv0: `Qmare3scA791vEczmDbddpWRgmipd2LyBeHGoV53RzqJWd` - CIDv0: `QmeAziMcEHMw2m77u6dTq6DBg3f9NPNCsFSoWy5jLRLx8c`
- CIDv1: `bafybeifz7lwau4w4z7awqjzujhgnff4lpwxrj533xk3n6skzpjmvzpyhvi` - CIDv1: `bafybeihlihgtua66efgaafuzz3mf3ndy5waaffkvh5tfkqifvtjc75suju`
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org). The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).
...@@ -10,14 +10,14 @@ You can also access the Uniswap Interface from an IPFS gateway. ...@@ -10,14 +10,14 @@ You can also access the Uniswap Interface from an IPFS gateway.
Your Uniswap settings are never remembered across different URLs. Your Uniswap settings are never remembered across different URLs.
IPFS gateways: IPFS gateways:
- https://bafybeifz7lwau4w4z7awqjzujhgnff4lpwxrj533xk3n6skzpjmvzpyhvi.ipfs.dweb.link/ - https://bafybeihlihgtua66efgaafuzz3mf3ndy5waaffkvh5tfkqifvtjc75suju.ipfs.dweb.link/
- [ipfs://Qmare3scA791vEczmDbddpWRgmipd2LyBeHGoV53RzqJWd/](ipfs://Qmare3scA791vEczmDbddpWRgmipd2LyBeHGoV53RzqJWd/) - [ipfs://QmeAziMcEHMw2m77u6dTq6DBg3f9NPNCsFSoWy5jLRLx8c/](ipfs://QmeAziMcEHMw2m77u6dTq6DBg3f9NPNCsFSoWy5jLRLx8c/)
### 5.79.1 (2025-04-17) ### 5.79.2 (2025-04-18)
### Bug Fixes ### Bug Fixes
* **web:** v4 0 slippage at max (#18588) 07180fd * **web:** remove v4 0 slippage (#18615) 3a282e3
web/5.79.1 web/5.79.2
\ No newline at end of file \ No newline at end of file
...@@ -18,8 +18,6 @@ import { ...@@ -18,8 +18,6 @@ import {
import { toSupportedChainId } from 'uniswap/src/features/chains/utils' import { toSupportedChainId } from 'uniswap/src/features/chains/utils'
import { CurrencyInfo } from 'uniswap/src/features/dataApi/types' import { CurrencyInfo } from 'uniswap/src/features/dataApi/types'
import { useTransactionGasFee, useUSDCurrencyAmountOfGasFee } from 'uniswap/src/features/gas/hooks' import { useTransactionGasFee, useUSDCurrencyAmountOfGasFee } from 'uniswap/src/features/gas/hooks'
import { FeatureFlags } from 'uniswap/src/features/gating/flags'
import { useFeatureFlag } from 'uniswap/src/features/gating/hooks'
import { useCurrencyInfo } from 'uniswap/src/features/tokens/useCurrencyInfo' import { useCurrencyInfo } from 'uniswap/src/features/tokens/useCurrencyInfo'
import { import {
IncreasePositionTxAndGasInfo, IncreasePositionTxAndGasInfo,
...@@ -50,7 +48,6 @@ export function IncreaseLiquidityTxContextProvider({ children }: PropsWithChildr ...@@ -50,7 +48,6 @@ export function IncreaseLiquidityTxContextProvider({ children }: PropsWithChildr
const { derivedIncreaseLiquidityInfo, increaseLiquidityState, currentTransactionStep } = useIncreaseLiquidityContext() const { derivedIncreaseLiquidityInfo, increaseLiquidityState, currentTransactionStep } = useIncreaseLiquidityContext()
const { customDeadline, customSlippageTolerance } = useTransactionSettingsContext() const { customDeadline, customSlippageTolerance } = useTransactionSettingsContext()
const [hasIncreaseErrorResponse, setHasIncreaseErrorResponse] = useState(false) const [hasIncreaseErrorResponse, setHasIncreaseErrorResponse] = useState(false)
const v4ZeroSlippageEnabled = useFeatureFlag(FeatureFlags.V40Slippage)
const { currencyAmounts, error } = derivedIncreaseLiquidityInfo const { currencyAmounts, error } = derivedIncreaseLiquidityInfo
const { exactField } = increaseLiquidityState const { exactField } = increaseLiquidityState
...@@ -144,10 +141,6 @@ export function IncreaseLiquidityTxContextProvider({ children }: PropsWithChildr ...@@ -144,10 +141,6 @@ export function IncreaseLiquidityTxContextProvider({ children }: PropsWithChildr
exactField === PositionField.TOKEN0 ? [amount0, amount1] : [amount1, amount0] exactField === PositionField.TOKEN0 ? [amount0, amount1] : [amount1, amount0]
const independentToken = exactField === PositionField.TOKEN0 ? IndependentToken.TOKEN_0 : IndependentToken.TOKEN_1 const independentToken = exactField === PositionField.TOKEN0 ? IndependentToken.TOKEN_0 : IndependentToken.TOKEN_1
// stopgap measure to prevent overslippage on V4 pools
// TODO: remove this when we can set an upper limit on maxAmounts on protocol level
const forceV4ZeroSlippage = v4ZeroSlippageEnabled && positionInfo.version === ProtocolVersion.V4
return { return {
simulateTransaction: !approvalsNeeded, simulateTransaction: !approvalsNeeded,
protocol: apiProtocolItems, protocol: apiProtocolItems,
...@@ -168,17 +161,9 @@ export function IncreaseLiquidityTxContextProvider({ children }: PropsWithChildr ...@@ -168,17 +161,9 @@ export function IncreaseLiquidityTxContextProvider({ children }: PropsWithChildr
hooks: positionInfo.v4hook, hooks: positionInfo.v4hook,
}, },
}, },
slippageTolerance: forceV4ZeroSlippage ? 0 : customSlippageTolerance, slippageTolerance: customSlippageTolerance,
} }
}, [ }, [account, positionInfo, currencyAmounts, approvalsNeeded, customSlippageTolerance, exactField])
account,
positionInfo,
currencyAmounts,
approvalsNeeded,
customSlippageTolerance,
exactField,
v4ZeroSlippageEnabled,
])
const currency0Info = useCurrencyInfo(currencyId(positionInfo?.currency0Amount.currency)) const currency0Info = useCurrencyInfo(currencyId(positionInfo?.currency0Amount.currency))
const currency1Info = useCurrencyInfo(currencyId(positionInfo?.currency1Amount.currency)) const currency1Info = useCurrencyInfo(currencyId(positionInfo?.currency1Amount.currency))
......
import { ProtocolVersion } from '@uniswap/client-pools/dist/pools/v1/types_pb'
import { FeeTierSearchModal } from 'components/Liquidity/FeeTierSearchModal' import { FeeTierSearchModal } from 'components/Liquidity/FeeTierSearchModal'
import { useCreatePositionDependentAmountFallback } from 'components/Liquidity/hooks/useDependentAmountFallback' import { useCreatePositionDependentAmountFallback } from 'components/Liquidity/hooks/useDependentAmountFallback'
import { DepositState } from 'components/Liquidity/types' import { DepositState } from 'components/Liquidity/types'
...@@ -38,8 +37,6 @@ import { useCheckLpApprovalQuery } from 'uniswap/src/data/apiClients/tradingApi/ ...@@ -38,8 +37,6 @@ import { useCheckLpApprovalQuery } from 'uniswap/src/data/apiClients/tradingApi/
import { useCreateLpPositionCalldataQuery } from 'uniswap/src/data/apiClients/tradingApi/useCreateLpPositionCalldataQuery' import { useCreateLpPositionCalldataQuery } from 'uniswap/src/data/apiClients/tradingApi/useCreateLpPositionCalldataQuery'
import { toSupportedChainId } from 'uniswap/src/features/chains/utils' import { toSupportedChainId } from 'uniswap/src/features/chains/utils'
import { useTransactionGasFee, useUSDCurrencyAmountOfGasFee } from 'uniswap/src/features/gas/hooks' import { useTransactionGasFee, useUSDCurrencyAmountOfGasFee } from 'uniswap/src/features/gas/hooks'
import { FeatureFlags } from 'uniswap/src/features/gating/flags'
import { useFeatureFlag } from 'uniswap/src/features/gating/hooks'
import { getErrorMessageToDisplay, parseErrorMessageTitle } from 'uniswap/src/features/transactions/liquidity/utils' import { getErrorMessageToDisplay, parseErrorMessageTitle } from 'uniswap/src/features/transactions/liquidity/utils'
import { useTransactionSettingsContext } from 'uniswap/src/features/transactions/settings/contexts/TransactionSettingsContext' import { useTransactionSettingsContext } from 'uniswap/src/features/transactions/settings/contexts/TransactionSettingsContext'
import { TransactionStep, TransactionStepType } from 'uniswap/src/features/transactions/swap/types/steps' import { TransactionStep, TransactionStepType } from 'uniswap/src/features/transactions/swap/types/steps'
...@@ -173,7 +170,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod ...@@ -173,7 +170,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod
const { derivedDepositInfo, depositState } = useDepositContext() const { derivedDepositInfo, depositState } = useDepositContext()
const { priceRangeState, derivedPriceRangeInfo } = usePriceRangeContext() const { priceRangeState, derivedPriceRangeInfo } = usePriceRangeContext()
const swapSettings = useTransactionSettingsContext() const swapSettings = useTransactionSettingsContext()
const v4ZeroSlippageEnabled = useFeatureFlag(FeatureFlags.V40Slippage)
const hasError = Boolean(derivedDepositInfo.error) const hasError = Boolean(derivedDepositInfo.error)
const [hasCreateErrorResponse, setHasCreateErrorResponse] = useState(false) const [hasCreateErrorResponse, setHasCreateErrorResponse] = useState(false)
...@@ -219,10 +215,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod ...@@ -219,10 +215,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod
approvalCalldata?.gasFeeToken1Approval, approvalCalldata?.gasFeeToken1Approval,
) )
// stopgap measure to prevent overslippage on V4 pools
// TODO: remove this when we can set an upper limit on maxAmounts on protocol level
const forceV4ZeroSlippage = v4ZeroSlippageEnabled && derivedPositionInfo.protocolVersion === ProtocolVersion.V4
const createCalldataQueryParams = useMemo(() => { const createCalldataQueryParams = useMemo(() => {
return generateCreateCalldataQueryParams({ return generateCreateCalldataQueryParams({
account, account,
...@@ -233,7 +225,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod ...@@ -233,7 +225,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod
derivedPriceRangeInfo, derivedPriceRangeInfo,
derivedDepositInfo, derivedDepositInfo,
independentField: depositState.exactField, independentField: depositState.exactField,
slippageTolerance: forceV4ZeroSlippage ? 0 : undefined,
}) })
}, [ }, [
account, account,
...@@ -244,7 +235,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod ...@@ -244,7 +235,6 @@ export function CreateTxContextProvider({ children }: { children: React.ReactNod
positionState, positionState,
priceRangeState, priceRangeState,
depositState.exactField, depositState.exactField,
forceV4ZeroSlippage,
]) ])
const isUserCommittedToCreate = const isUserCommittedToCreate =
......
...@@ -64,7 +64,6 @@ export enum FeatureFlags { ...@@ -64,7 +64,6 @@ export enum FeatureFlags {
UniswapXSyntheticQuote, UniswapXSyntheticQuote,
UniswapXv2, UniswapXv2,
UniversalSwap, UniversalSwap,
V40Slippage,
} }
/* eslint-enable @typescript-eslint/prefer-enum-initializers */ /* eslint-enable @typescript-eslint/prefer-enum-initializers */
...@@ -112,7 +111,6 @@ export const WEB_FEATURE_FLAG_NAMES = new Map<FeatureFlags, string>([ ...@@ -112,7 +111,6 @@ export const WEB_FEATURE_FLAG_NAMES = new Map<FeatureFlags, string>([
[FeatureFlags.UniswapXSyntheticQuote, 'uniswapx_synthetic_quote'], [FeatureFlags.UniswapXSyntheticQuote, 'uniswapx_synthetic_quote'],
[FeatureFlags.UniswapXv2, 'uniswapx_v2'], [FeatureFlags.UniswapXv2, 'uniswapx_v2'],
[FeatureFlags.UniversalSwap, 'universal_swap'], [FeatureFlags.UniversalSwap, 'universal_swap'],
[FeatureFlags.V40Slippage, 'v4_0_slippage'],
]) ])
// These names must match the gate name on statsig // These names must match the gate name on statsig
......
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