From ef48bf7bfa2d35a76cdf47ac779a3ac7f3c221d8 Mon Sep 17 00:00:00 2001 From: Uniswap Labs Service Account Date: Thu, 12 Dec 2024 00:15:33 +0000 Subject: [PATCH] ci(release): publish latest release --- RELEASE | 59 +++---------------- VERSION | 2 +- .../Liquidity/LiquidityPositionCard.tsx | 30 ++++++---- 3 files changed, 27 insertions(+), 64 deletions(-) diff --git a/RELEASE b/RELEASE index 93b12811bae..0da49b59cb5 100644 --- a/RELEASE +++ b/RELEASE @@ -1,6 +1,6 @@ IPFS hash of the deployment: -- CIDv0: `QmUKDwf73MabW8XFc1EBM7rPqxs9p7sCAPaznFgrLpSJ6S` -- CIDv1: `bafybeicyzcey52u465bnzqnoat6g6itt7tjmkc47mmssyzge2xif2iihc4` +- CIDv0: `QmeKVogatGvBPKPZDiUPj87zSqgPLHKmrEHX4DvHBAKus9` +- CIDv1: `bafybeihnn5l2otftw3dumfziisxkaxlk2cxpwgahpicwbqqn3jrywvsnzq` The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org). @@ -10,60 +10,15 @@ You can also access the Uniswap Interface from an IPFS gateway. Your Uniswap settings are never remembered across different URLs. IPFS gateways: -- https://bafybeicyzcey52u465bnzqnoat6g6itt7tjmkc47mmssyzge2xif2iihc4.ipfs.dweb.link/ -- https://bafybeicyzcey52u465bnzqnoat6g6itt7tjmkc47mmssyzge2xif2iihc4.ipfs.cf-ipfs.com/ -- [ipfs://QmUKDwf73MabW8XFc1EBM7rPqxs9p7sCAPaznFgrLpSJ6S/](ipfs://QmUKDwf73MabW8XFc1EBM7rPqxs9p7sCAPaznFgrLpSJ6S/) +- https://bafybeihnn5l2otftw3dumfziisxkaxlk2cxpwgahpicwbqqn3jrywvsnzq.ipfs.dweb.link/ +- https://bafybeihnn5l2otftw3dumfziisxkaxlk2cxpwgahpicwbqqn3jrywvsnzq.ipfs.cf-ipfs.com/ +- [ipfs://QmeKVogatGvBPKPZDiUPj87zSqgPLHKmrEHX4DvHBAKus9/](ipfs://QmeKVogatGvBPKPZDiUPj87zSqgPLHKmrEHX4DvHBAKus9/) -## 5.62.0 (2024-12-11) - - -### Features - -* **web:** add modification check to on chain tx (#14083) 964cb1e -* **web:** add network cost to create flow (#14224) 9e280d9 -* **web:** add platform id tracking (#13780) 186a9e0 -* **web:** only show token warning on swap button click for prefilled (#14118) 068dd89 -* **web:** price range input tick tooltips (#14129) 3c66f56 -* **web:** show usd values in current tick tooltip for price range input (#14157) 7ecd409 -* **web:** wiring up conversion proxy service (#13935) 6759787 +### 5.62.1 (2024-12-12) ### Bug Fixes -* **web:** [3/n] remove react-spring (SwapLineItem) (#13914) 991557e -* **web:** android keyboard issue (#14262) 1042833 -* **web:** block lvmh nfts (#14233) dbbb92d -* **web:** cherrypick of price inversion issue (#14479) 75092f6 -* **web:** delay main API call until approvals are calculated (#14302) af8185b -* **web:** downgrade react-native-web to 0.19.10 (#14474) 206c46f -* **web:** enforce privacy opt out choices (#14486) f8c43ad -* **web:** fix broken link for providing lps (#14372) (#14412) 71a95cc -* **web:** fix crash with v2 pair where there is a pool but no liquidity (#14186) cd0fd54 -* **web:** fix max button functionality on deposit form (#14285) 1de6b4b -* **web:** hide un-owned positions (#14448) 280514a -* **web:** improve x-y positioning of liquidity chart and brush in range input (#14128) e50620d -* **web:** landing page modal diet - part ii (#14409) d1bd48c -* **web:** landing page modal diet (#14349) 6547912 -* **web:** move input token warning to post-swap button (#14077) 823bef9 -* **web:** op usdc sends (#14189) 24d41ea -* **web:** prevent crash when sending on bnb chain (#14359) 496ab28 -* **web:** prevent flash of old swap flow (#14335) de64de2 -* **web:** price range input grab (#14127) b1046cf -* **web:** remove nondefault list tokens from common bases (#14187) 2c9db40 -* **web:** remove react-spring from NFT pages (#13923) 6045f3c -* **web:** rename swap settings context to tx settings context (#14276) 87fa4f6 -* **web:** resizing resets flow (#14232) d442d98 -* **web:** skip trading api calls when the form is not filled out (#14245) 389413d -* **web:** update support articles for v4 and lp redesign (#14248) a109d09 -* **web:** update the claim flow to use the saga to deal with switching chains (#14346) 23246e9 -* **web:** update the create flow to get data from the sdk instead of … (#14427) 94999a8 -* **web:** v4 blocking fixes (#14178) 873bce1 -* **web:** wrap positions in multichain context (#14467) 1d9f25d -* **web:** zora zk v2 lp fix staging (#14485) 4490890 - - -### Continuous Integration - -* **web:** update sitemaps b5a5370 +* **web:** hides migrate when flag not on (#14496) 8f69fd0 diff --git a/VERSION b/VERSION index df1041f1baa..3ba0d506e2f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -web/5.62.0 \ No newline at end of file +web/5.62.1 \ No newline at end of file diff --git a/apps/web/src/components/Liquidity/LiquidityPositionCard.tsx b/apps/web/src/components/Liquidity/LiquidityPositionCard.tsx index 54f2d9d3816..1f0e9030575 100644 --- a/apps/web/src/components/Liquidity/LiquidityPositionCard.tsx +++ b/apps/web/src/components/Liquidity/LiquidityPositionCard.tsx @@ -15,7 +15,7 @@ import { PriceOrdering } from 'components/PositionListItem' import { MouseoverTooltip } from 'components/Tooltip' import { getPoolDetailsURL } from 'graphql/data/util' import { useSwitchChain } from 'hooks/useSwitchChain' -import { useMemo, useState } from 'react' +import { ReactNode, useMemo, useState } from 'react' import { MoreHorizontal } from 'react-feather' import { useNavigate } from 'react-router-dom' import { setOpenModal } from 'state/application/reducer' @@ -40,8 +40,11 @@ import { Plus } from 'ui/src/components/icons/Plus' import { RightArrow } from 'ui/src/components/icons/RightArrow' import { iconSizes } from 'ui/src/theme' import { ActionSheetDropdown } from 'uniswap/src/components/dropdowns/ActionSheetDropdown' +import { MenuItemProp } from 'uniswap/src/components/modals/ActionSheetModal' import { getChainInfo } from 'uniswap/src/features/chains/chainInfo' import { toGraphQLChain } from 'uniswap/src/features/chains/utils' +import { FeatureFlags } from 'uniswap/src/features/gating/flags' +import { useFeatureFlag } from 'uniswap/src/features/gating/hooks' import { useLocalizationContext } from 'uniswap/src/features/language/LocalizationContext' import { ModalName } from 'uniswap/src/features/telemetry/constants' import { useUSDCValue } from 'uniswap/src/features/transactions/swap/hooks/useUSDCPrice' @@ -101,6 +104,7 @@ export function LiquidityPositionCard({ const { t } = useTranslation() const colors = useSporeColors() const isTouchDevice = useIsTouchDevice() + const isV4Enabled = useFeatureFlag(FeatureFlags.V4Data) const [pricesInverted, setPricesInverted] = useState(false) const dispatch = useAppDispatch() @@ -140,14 +144,14 @@ export function LiquidityPositionCard({ onPress: () => { dispatch(setOpenModal({ name: ModalName.AddLiquidity, initialState: liquidityPosition })) }, - render: () => {t('common.addLiquidity')}, + render: (): ReactNode => {t('common.addLiquidity')}, }, { key: 'position-card-remove-liquidity', onPress: () => { dispatch(setOpenModal({ name: ModalName.RemoveLiquidity, initialState: liquidityPosition })) }, - render: () => {t('pool.removeLiquidity')}, + render: (): ReactNode => {t('pool.removeLiquidity')}, }, ] @@ -161,7 +165,9 @@ export function LiquidityPositionCard({ } navigate(`/migrate/v2/${liquidityPosition.liquidityToken?.address ?? ''}`) }, - render: () => {t('pool.migrateLiquidity')}, + render: (): ReactNode => ( + {t('pool.migrateLiquidity')} + ), } if (liquidityPosition.version === ProtocolVersion.V2) { @@ -173,7 +179,9 @@ export function LiquidityPositionCard({ onPress: () => { navigate(`/migrate/v3/${chainInfo.urlParam}/${liquidityPosition.tokenId}`) }, - render: () => {t('pool.migrateLiquidity')}, + render: (): ReactNode => ( + {t('pool.migrateLiquidity')} + ), } return [ @@ -184,14 +192,14 @@ export function LiquidityPositionCard({ setOpenModal({ name: ModalName.ClaimFee, initialState: { ...liquidityPosition, collectAsWeth: false } }), ) }, - render: () => {t('pool.collectFees')}, + render: (): ReactNode => {t('pool.collectFees')}, }, ...v2Options, - migrateV3Option, + isV4Enabled ? migrateV3Option : undefined, { key: 'position-card-separator', onPress: () => null, - render: () => , + render: (): ReactNode => , }, { key: 'position-card-pool-info', @@ -202,10 +210,10 @@ export function LiquidityPositionCard({ navigate(getPoolDetailsURL(liquidityPosition.poolId, toGraphQLChain(liquidityPosition.chainId))) }, - render: () => {t('pool.info')}, + render: (): ReactNode => {t('pool.info')}, }, - ] - }, [liquidityPosition, dispatch, t, account.chainId, navigate, switchChain]) + ].filter((option): option is MenuItemProp => option !== undefined) + }, [liquidityPosition, isV4Enabled, dispatch, t, account.chainId, navigate, switchChain]) const priceOrderingForChart = useMemo(() => { if (