ci(release): publish latest release

parent d601b7c8
IPFS hash of the deployment: IPFS hash of the deployment:
- CIDv0: `QmQfE3pMVV1oR1B3nQddxPTEZBtyB4HPvAUHoKJRxYRaRT` - CIDv0: `QmZFXGq1NtaYzhf3RjWjaoTmr3ezXGMvLQjgudHxaofoNd`
- CIDv1: `bafybeibcpgdkbtvg5jux6wn55msnxuhlhswer4y5lashm6jltipdq3dtxy` - CIDv1: `bafybeifcea7jfix5tqs6q65iuy2z2mano572wljjxqndobhh2qp7uwhnry`
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://bafybeibcpgdkbtvg5jux6wn55msnxuhlhswer4y5lashm6jltipdq3dtxy.ipfs.dweb.link/ - https://bafybeifcea7jfix5tqs6q65iuy2z2mano572wljjxqndobhh2qp7uwhnry.ipfs.dweb.link/
- [ipfs://QmQfE3pMVV1oR1B3nQddxPTEZBtyB4HPvAUHoKJRxYRaRT/](ipfs://QmQfE3pMVV1oR1B3nQddxPTEZBtyB4HPvAUHoKJRxYRaRT/) - [ipfs://QmZFXGq1NtaYzhf3RjWjaoTmr3ezXGMvLQjgudHxaofoNd/](ipfs://QmZFXGq1NtaYzhf3RjWjaoTmr3ezXGMvLQjgudHxaofoNd/)
### 5.68.2 (2025-01-29) ### 5.68.3 (2025-01-29)
### Bug Fixes ### Bug Fixes
* **web:** use qn rpc for default and remove cloudflare eth (#15670) 14bd6aa * **web:** include correct hook filter on ListPools queries (#15669) 3828ffa
web/5.68.2 web/5.68.3
\ No newline at end of file \ No newline at end of file
...@@ -11,6 +11,7 @@ import { PriceChartType } from 'components/Charts/utils' ...@@ -11,6 +11,7 @@ import { PriceChartType } from 'components/Charts/utils'
import { DropdownSelector } from 'components/DropdownSelector' import { DropdownSelector } from 'components/DropdownSelector'
import { useDensityChartData } from 'components/LiquidityChartRangeInput/hooks' import { useDensityChartData } from 'components/LiquidityChartRangeInput/hooks'
import { DataQuality } from 'components/Tokens/TokenDetails/ChartSection/util' import { DataQuality } from 'components/Tokens/TokenDetails/ChartSection/util'
import { ZERO_ADDRESS } from 'constants/misc'
import { usePoolPriceChartData } from 'hooks/usePoolPriceChartData' import { usePoolPriceChartData } from 'hooks/usePoolPriceChartData'
import { import {
getCurrencyAddressWithWrap, getCurrencyAddressWithWrap,
...@@ -44,6 +45,7 @@ export function LiquidityRangeInput({ ...@@ -44,6 +45,7 @@ export function LiquidityRangeInput({
tickSpacing, tickSpacing,
protocolVersion, protocolVersion,
poolId, poolId,
hook,
minPrice, minPrice,
maxPrice, maxPrice,
setMinPrice, setMinPrice,
...@@ -56,6 +58,7 @@ export function LiquidityRangeInput({ ...@@ -56,6 +58,7 @@ export function LiquidityRangeInput({
tickSpacing?: number tickSpacing?: number
protocolVersion: ProtocolVersion protocolVersion: ProtocolVersion
poolId: string poolId: string
hook?: string
minPrice?: number minPrice?: number
maxPrice?: number maxPrice?: number
disableBrushInteraction?: boolean disableBrushInteraction?: boolean
...@@ -173,6 +176,7 @@ export function LiquidityRangeInput({ ...@@ -173,6 +176,7 @@ export function LiquidityRangeInput({
version: protocolVersion, version: protocolVersion,
feeAmount: Number(feeTier), feeAmount: Number(feeTier),
tickSpacing, tickSpacing,
hooks: hook ?? ZERO_ADDRESS,
}) })
const sortedFormattedData = useMemo(() => { const sortedFormattedData = useMemo(() => {
......
...@@ -3,6 +3,7 @@ import { FeePoolSelectAction, LiquidityEventName } from '@uniswap/analytics-even ...@@ -3,6 +3,7 @@ import { FeePoolSelectAction, LiquidityEventName } from '@uniswap/analytics-even
import { useAllFeeTierPoolData } from 'components/Liquidity/hooks' import { useAllFeeTierPoolData } from 'components/Liquidity/hooks'
import { calculateTickSpacingFromFeeAmount, isDynamicFeeTier } from 'components/Liquidity/utils' import { calculateTickSpacingFromFeeAmount, isDynamicFeeTier } from 'components/Liquidity/utils'
import { StyledPercentInput } from 'components/PercentInput' import { StyledPercentInput } from 'components/PercentInput'
import { ZERO_ADDRESS } from 'constants/misc'
import ms from 'ms' import ms from 'ms'
import { useCreatePositionContext } from 'pages/Pool/Positions/create/CreatePositionContext' import { useCreatePositionContext } from 'pages/Pool/Positions/create/CreatePositionContext'
import { NumericalInputMimic, NumericalInputSymbolContainer } from 'pages/Swap/common/shared' import { NumericalInputMimic, NumericalInputSymbolContainer } from 'pages/Swap/common/shared'
...@@ -64,6 +65,7 @@ export function FeeTierSearchModal() { ...@@ -64,6 +65,7 @@ export function FeeTierSearchModal() {
protocolVersion, protocolVersion,
currencies: derivedPositionInfo.currencies, currencies: derivedPositionInfo.currencies,
withDynamicFeeTier, withDynamicFeeTier,
hook: hook ?? ZERO_ADDRESS,
}) })
const showCreateModal = !withDynamicFeeTier && (createModeEnabled || !hasExistingFeeTiers) const showCreateModal = !withDynamicFeeTier && (createModeEnabled || !hasExistingFeeTiers)
......
...@@ -9,6 +9,7 @@ import { ...@@ -9,6 +9,7 @@ import {
mergeFeeTiers, mergeFeeTiers,
} from 'components/Liquidity/utils' } from 'components/Liquidity/utils'
import { PriceOrdering, getPriceOrderingFromPositionForUI } from 'components/PositionListItem' import { PriceOrdering, getPriceOrderingFromPositionForUI } from 'components/PositionListItem'
import { ZERO_ADDRESS } from 'constants/misc'
import useIsTickAtLimit from 'hooks/useIsTickAtLimit' import useIsTickAtLimit from 'hooks/useIsTickAtLimit'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import { OptionalCurrency } from 'pages/Pool/Positions/create/types' import { OptionalCurrency } from 'pages/Pool/Positions/create/types'
...@@ -31,10 +32,12 @@ export function useAllFeeTierPoolData({ ...@@ -31,10 +32,12 @@ export function useAllFeeTierPoolData({
protocolVersion, protocolVersion,
currencies, currencies,
withDynamicFeeTier = false, withDynamicFeeTier = false,
hook,
}: { }: {
chainId?: number chainId?: number
protocolVersion: ProtocolVersion protocolVersion: ProtocolVersion
currencies: [OptionalCurrency, OptionalCurrency] currencies: [OptionalCurrency, OptionalCurrency]
hook: string
withDynamicFeeTier?: boolean withDynamicFeeTier?: boolean
}): { feeTierData: Record<number, FeeTierData>; hasExistingFeeTiers: boolean } { }): { feeTierData: Record<number, FeeTierData>; hasExistingFeeTiers: boolean } {
const { t } = useTranslation() const { t } = useTranslation()
...@@ -47,6 +50,7 @@ export function useAllFeeTierPoolData({ ...@@ -47,6 +50,7 @@ export function useAllFeeTierPoolData({
protocolVersions: [protocolVersion], protocolVersions: [protocolVersion],
token0: getCurrencyAddressForTradingApi(sortedCurrencies[0]), token0: getCurrencyAddressForTradingApi(sortedCurrencies[0]),
token1: getCurrencyAddressForTradingApi(sortedCurrencies[1]), token1: getCurrencyAddressForTradingApi(sortedCurrencies[1]),
hooks: hook ?? ZERO_ADDRESS,
}, },
Boolean(chainId && sortedCurrencies?.[0] && sortedCurrencies?.[1]), Boolean(chainId && sortedCurrencies?.[0] && sortedCurrencies?.[1]),
) )
......
...@@ -6,6 +6,7 @@ import { Chart } from 'components/LiquidityChartRangeInput/Chart' ...@@ -6,6 +6,7 @@ import { Chart } from 'components/LiquidityChartRangeInput/Chart'
import { useDensityChartData } from 'components/LiquidityChartRangeInput/hooks' import { useDensityChartData } from 'components/LiquidityChartRangeInput/hooks'
import { ZoomLevels } from 'components/LiquidityChartRangeInput/types' import { ZoomLevels } from 'components/LiquidityChartRangeInput/types'
import { AutoColumn, ColumnCenter } from 'components/deprecated/Column' import { AutoColumn, ColumnCenter } from 'components/deprecated/Column'
import { ZERO_ADDRESS } from 'constants/misc'
import { useColor } from 'hooks/useColor' import { useColor } from 'hooks/useColor'
import styled, { useTheme } from 'lib/styled-components' import styled, { useTheme } from 'lib/styled-components'
import { saturate } from 'polished' import { saturate } from 'polished'
...@@ -86,6 +87,7 @@ export default function LiquidityChartRangeInput({ ...@@ -86,6 +87,7 @@ export default function LiquidityChartRangeInput({
currencyB, currencyB,
feeAmount, feeAmount,
tickSpacing, tickSpacing,
hook,
poolId, poolId,
protocolVersion, protocolVersion,
ticksAtLimit, ticksAtLimit,
...@@ -100,6 +102,7 @@ export default function LiquidityChartRangeInput({ ...@@ -100,6 +102,7 @@ export default function LiquidityChartRangeInput({
currencyB?: Currency currencyB?: Currency
feeAmount?: FeeAmount feeAmount?: FeeAmount
tickSpacing?: number tickSpacing?: number
hook?: string
poolId?: string poolId?: string
protocolVersion: ProtocolVersion protocolVersion: ProtocolVersion
ticksAtLimit: { [bound in Bound]?: boolean | undefined } ticksAtLimit: { [bound in Bound]?: boolean | undefined }
...@@ -124,6 +127,7 @@ export default function LiquidityChartRangeInput({ ...@@ -124,6 +127,7 @@ export default function LiquidityChartRangeInput({
version: protocolVersion, version: protocolVersion,
poolId, poolId,
tickSpacing, tickSpacing,
hooks: hook ?? ZERO_ADDRESS,
}) })
const onBrushDomainChangeEnded = useCallback( const onBrushDomainChangeEnded = useCallback(
......
...@@ -3,6 +3,7 @@ import { ProtocolVersion } from '@uniswap/client-pools/dist/pools/v1/types_pb' ...@@ -3,6 +3,7 @@ import { ProtocolVersion } from '@uniswap/client-pools/dist/pools/v1/types_pb'
import { Currency, V3_CORE_FACTORY_ADDRESSES } from '@uniswap/sdk-core' import { Currency, V3_CORE_FACTORY_ADDRESSES } from '@uniswap/sdk-core'
import { FeeAmount, Pool as V3Pool, tickToPrice } from '@uniswap/v3-sdk' import { FeeAmount, Pool as V3Pool, tickToPrice } from '@uniswap/v3-sdk'
import { Pool as V4Pool } from '@uniswap/v4-sdk' import { Pool as V4Pool } from '@uniswap/v4-sdk'
import { ZERO_ADDRESS } from 'constants/misc'
import { TickData, Ticks } from 'graphql/data/AllV3TicksQuery' import { TickData, Ticks } from 'graphql/data/AllV3TicksQuery'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import ms from 'ms' import ms from 'ms'
...@@ -182,7 +183,7 @@ export function usePoolActiveLiquidity({ ...@@ -182,7 +183,7 @@ export function usePoolActiveLiquidity({
protocolVersions: [version], protocolVersions: [version],
token0: getCurrencyAddressWithWrap(currencyA, version), token0: getCurrencyAddressWithWrap(currencyA, version),
token1: getCurrencyAddressWithWrap(currencyB, version), token1: getCurrencyAddressWithWrap(currencyB, version),
hooks, hooks: hooks ?? ZERO_ADDRESS,
}, },
poolsQueryEnabled, poolsQueryEnabled,
) )
......
...@@ -311,7 +311,7 @@ export const SelectPriceRangeStep = ({ ...@@ -311,7 +311,7 @@ export const SelectPriceRangeStep = ({
const { t } = useTranslation() const { t } = useTranslation()
const { const {
positionState: { fee }, positionState: { fee, hook },
derivedPositionInfo, derivedPositionInfo,
} = useCreatePositionContext() } = useCreatePositionContext()
const { priceRangeState, setPriceRangeState, derivedPriceRangeInfo } = usePriceRangeContext() const { priceRangeState, setPriceRangeState, derivedPriceRangeInfo } = usePriceRangeContext()
...@@ -517,6 +517,7 @@ export const SelectPriceRangeStep = ({ ...@@ -517,6 +517,7 @@ export const SelectPriceRangeStep = ({
currencyA={baseCurrency ?? undefined} currencyA={baseCurrency ?? undefined}
currencyB={quoteCurrency ?? undefined} currencyB={quoteCurrency ?? undefined}
feeAmount={fee.feeAmount} feeAmount={fee.feeAmount}
hook={hook}
ticksAtLimit={{ ticksAtLimit={{
LOWER: ticksAtLimit[0], LOWER: ticksAtLimit[0],
UPPER: ticksAtLimit[1], UPPER: ticksAtLimit[1],
...@@ -536,6 +537,7 @@ export const SelectPriceRangeStep = ({ ...@@ -536,6 +537,7 @@ export const SelectPriceRangeStep = ({
currency0={quoteCurrency} currency0={quoteCurrency}
currency1={baseCurrency} currency1={baseCurrency}
feeTier={fee.feeAmount} feeTier={fee.feeAmount}
hook={hook}
tickSpacing={derivedPositionInfo.pool?.tickSpacing} tickSpacing={derivedPositionInfo.pool?.tickSpacing}
protocolVersion={derivedPositionInfo.protocolVersion} protocolVersion={derivedPositionInfo.protocolVersion}
poolId={derivedPositionInfo.poolId} poolId={derivedPositionInfo.poolId}
......
...@@ -9,6 +9,7 @@ import { getDefaultFeeTiersWithData, isDynamicFeeTier } from 'components/Liquidi ...@@ -9,6 +9,7 @@ import { getDefaultFeeTiersWithData, isDynamicFeeTier } from 'components/Liquidi
import { DoubleCurrencyLogo } from 'components/Logo/DoubleLogo' import { DoubleCurrencyLogo } from 'components/Logo/DoubleLogo'
import CurrencySearchModal from 'components/SearchModal/CurrencySearchModal' import CurrencySearchModal from 'components/SearchModal/CurrencySearchModal'
import { MouseoverTooltip } from 'components/Tooltip' import { MouseoverTooltip } from 'components/Tooltip'
import { ZERO_ADDRESS } from 'constants/misc'
import { PrefetchBalancesWrapper } from 'graphql/data/apollo/AdaptiveTokenBalancesProvider' import { PrefetchBalancesWrapper } from 'graphql/data/apollo/AdaptiveTokenBalancesProvider'
import { useCurrencyInfo } from 'hooks/Tokens' import { useCurrencyInfo } from 'hooks/Tokens'
import { SUPPORTED_V2POOL_CHAIN_IDS } from 'hooks/useNetworkSupportsV2' import { SUPPORTED_V2POOL_CHAIN_IDS } from 'hooks/useNetworkSupportsV2'
...@@ -243,6 +244,7 @@ export function SelectTokensStep({ ...@@ -243,6 +244,7 @@ export function SelectTokensStep({
chainId: token0?.chainId, chainId: token0?.chainId,
protocolVersion, protocolVersion,
currencies: derivedPositionInfo.currencies, currencies: derivedPositionInfo.currencies,
hook: hook ?? ZERO_ADDRESS,
}) })
const feeTiers = getDefaultFeeTiersWithData({ chainId: token0?.chainId, feeTierData, t }) const feeTiers = getDefaultFeeTiersWithData({ chainId: token0?.chainId, feeTierData, t })
......
...@@ -7,6 +7,7 @@ import { Pool as V4Pool } from '@uniswap/v4-sdk' ...@@ -7,6 +7,7 @@ import { Pool as V4Pool } from '@uniswap/v4-sdk'
import { DepositInfo, DepositState } from 'components/Liquidity/types' import { DepositInfo, DepositState } from 'components/Liquidity/types'
import { getPoolFromRest } from 'components/Liquidity/utils' import { getPoolFromRest } from 'components/Liquidity/utils'
import { ConnectWalletButtonText } from 'components/NavBar/accountCTAsExperimentUtils' import { ConnectWalletButtonText } from 'components/NavBar/accountCTAsExperimentUtils'
import { ZERO_ADDRESS } from 'constants/misc'
import { checkIsNative, useCurrency, useCurrencyInfo } from 'hooks/Tokens' import { checkIsNative, useCurrency, useCurrencyInfo } from 'hooks/Tokens'
import { useAccount } from 'hooks/useAccount' import { useAccount } from 'hooks/useAccount'
import { useIsPoolOutOfSync } from 'hooks/useIsPoolOutOfSync' import { useIsPoolOutOfSync } from 'hooks/useIsPoolOutOfSync'
...@@ -93,7 +94,7 @@ export function useDerivedPositionInfo(state: PositionState): CreatePositionInfo ...@@ -93,7 +94,7 @@ export function useDerivedPositionInfo(state: PositionState): CreatePositionInfo
protocolVersions: [protocolVersion], protocolVersions: [protocolVersion],
token0: getCurrencyAddressWithWrap(sortedCurrencies?.[0], protocolVersion), token0: getCurrencyAddressWithWrap(sortedCurrencies?.[0], protocolVersion),
token1: getCurrencyAddressWithWrap(sortedCurrencies?.[1], protocolVersion), token1: getCurrencyAddressWithWrap(sortedCurrencies?.[1], protocolVersion),
hooks: state.hook?.toLowerCase(), // BE does not accept checksummed addresses hooks: state.hook?.toLowerCase() ?? ZERO_ADDRESS, // BE does not accept checksummed addresses
}, },
poolsQueryEnabled, poolsQueryEnabled,
) )
......
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