ci(release): publish latest release

parent e64228a5
IPFS hash of the deployment: IPFS hash of the deployment:
- CIDv0: `QmSXtnd5rc5ifhuGDZ9oSTWzT3hby6KQJ8Lw3hbVzpvfD5` - CIDv0: `QmbENTNezCQwTKQ2VkX1SqyZZPRrduUGjfXvek11DL4yn3`
- CIDv1: `bafybeib6kag7hqjgchx7kr7novcjc42sn6bc5iq2u27ra5n2wimtjiwg5q` - CIDv1: `bafybeif7rqirjplagadkzstmg5kpcsusw3urflnjglb2wuqtunyune3fhq`
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,9 @@ You can also access the Uniswap Interface from an IPFS gateway. ...@@ -10,14 +10,9 @@ 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://bafybeib6kag7hqjgchx7kr7novcjc42sn6bc5iq2u27ra5n2wimtjiwg5q.ipfs.dweb.link/ - https://bafybeif7rqirjplagadkzstmg5kpcsusw3urflnjglb2wuqtunyune3fhq.ipfs.dweb.link/
- [ipfs://QmSXtnd5rc5ifhuGDZ9oSTWzT3hby6KQJ8Lw3hbVzpvfD5/](ipfs://QmSXtnd5rc5ifhuGDZ9oSTWzT3hby6KQJ8Lw3hbVzpvfD5/) - [ipfs://QmbENTNezCQwTKQ2VkX1SqyZZPRrduUGjfXvek11DL4yn3/](ipfs://QmbENTNezCQwTKQ2VkX1SqyZZPRrduUGjfXvek11DL4yn3/)
### 5.69.3 (2025-02-07) ### 5.69.4 (2025-02-07)
### Bug Fixes
* **web:** show correct token amount in PDP tx table [prod] (#16114) 5391b42
web/5.69.3 web/5.69.4
\ No newline at end of file \ No newline at end of file
...@@ -37,6 +37,8 @@ import { ...@@ -37,6 +37,8 @@ import {
TransactionHash, TransactionHash,
UniversalRouterVersion, UniversalRouterVersion,
} from 'uniswap/src/data/tradingApi/__generated__' } from 'uniswap/src/data/tradingApi/__generated__'
import { UniverseChainId } from 'uniswap/src/features/chains/types'
import { isTestEnv } from 'utilities/src/environment/env'
// TradingAPI team is looking into updating type generation to produce the following types for it's current QuoteResponse type: // TradingAPI team is looking into updating type generation to produce the following types for it's current QuoteResponse type:
// See: https://linear.app/uniswap/issue/API-236/explore-changing-the-quote-schema-to-pull-out-a-basequoteresponse // See: https://linear.app/uniswap/issue/API-236/explore-changing-the-quote-schema-to-pull-out-a-basequoteresponse
...@@ -125,11 +127,19 @@ export async function fetchOrders({ orderIds }: { orderIds: string[] }): Promise ...@@ -125,11 +127,19 @@ export async function fetchOrders({ orderIds }: { orderIds: string[] }): Promise
} }
export async function fetchSwappableTokens(params: SwappableTokensParams): Promise<GetSwappableTokensResponse> { export async function fetchSwappableTokens(params: SwappableTokensParams): Promise<GetSwappableTokensResponse> {
const chainBlocklist = params.unichainEnabled ? [] : [UniverseChainId.Unichain.toString()]
return await TradingApiClient.get<GetSwappableTokensResponse>(uniswapUrls.tradingApiPaths.swappableTokens, { return await TradingApiClient.get<GetSwappableTokensResponse>(uniswapUrls.tradingApiPaths.swappableTokens, {
params: { params: {
tokenIn: params.tokenIn, tokenIn: params.tokenIn,
tokenInChainId: params.tokenInChainId, tokenInChainId: params.tokenInChainId,
}, },
headers:
params.unichainEnabled || isTestEnv()
? {}
: {
'x-chain-blocklist': chainBlocklist.join(','),
},
}) })
} }
......
...@@ -23,6 +23,7 @@ import { MAX_REACT_QUERY_CACHE_TIME_MS } from 'utilities/src/time/time' ...@@ -23,6 +23,7 @@ import { MAX_REACT_QUERY_CACHE_TIME_MS } from 'utilities/src/time/time'
export type SwappableTokensParams = { export type SwappableTokensParams = {
tokenIn: Address tokenIn: Address
tokenInChainId: ChainId tokenInChainId: ChainId
unichainEnabled?: boolean
} }
export function useTradingApiSwappableTokensQuery({ export function useTradingApiSwappableTokensQuery({
......
...@@ -3,6 +3,8 @@ import { useTradingApiSwappableTokensQuery } from 'uniswap/src/data/apiClients/t ...@@ -3,6 +3,8 @@ import { useTradingApiSwappableTokensQuery } from 'uniswap/src/data/apiClients/t
import { ChainId } from 'uniswap/src/data/tradingApi/__generated__' import { ChainId } from 'uniswap/src/data/tradingApi/__generated__'
import { UniverseChainId } from 'uniswap/src/features/chains/types' import { UniverseChainId } from 'uniswap/src/features/chains/types'
import { toSupportedChainId } from 'uniswap/src/features/chains/utils' import { toSupportedChainId } from 'uniswap/src/features/chains/utils'
import { FeatureFlags } from 'uniswap/src/features/gating/flags'
import { useFeatureFlag } from 'uniswap/src/features/gating/hooks'
import { import {
NATIVE_ADDRESS_FOR_TRADING_API, NATIVE_ADDRESS_FOR_TRADING_API,
toTradingApiSupportedChainId, toTradingApiSupportedChainId,
...@@ -11,10 +13,12 @@ import { ...@@ -11,10 +13,12 @@ import {
const FALLBACK_NUM_CHAINS = 8 const FALLBACK_NUM_CHAINS = 8
export function useNumBridgingChains(): number { export function useNumBridgingChains(): number {
const unichainEnabled = useFeatureFlag(FeatureFlags.Unichain)
const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({ const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({
params: { params: {
tokenIn: NATIVE_ADDRESS_FOR_TRADING_API, tokenIn: NATIVE_ADDRESS_FOR_TRADING_API,
tokenInChainId: ChainId._1, tokenInChainId: ChainId._1,
unichainEnabled,
}, },
}) })
...@@ -25,10 +29,12 @@ export function useNumBridgingChains(): number { ...@@ -25,10 +29,12 @@ export function useNumBridgingChains(): number {
} }
export function useIsBridgingChain(chainId: UniverseChainId): boolean { export function useIsBridgingChain(chainId: UniverseChainId): boolean {
const unichainEnabled = useFeatureFlag(FeatureFlags.Unichain)
const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({ const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({
params: { params: {
tokenIn: NATIVE_ADDRESS_FOR_TRADING_API, tokenIn: NATIVE_ADDRESS_FOR_TRADING_API,
tokenInChainId: ChainId._1, tokenInChainId: ChainId._1,
unichainEnabled,
}, },
}) })
...@@ -39,10 +45,12 @@ export function useIsBridgingChain(chainId: UniverseChainId): boolean { ...@@ -39,10 +45,12 @@ export function useIsBridgingChain(chainId: UniverseChainId): boolean {
} }
export function useBridgingSupportedChainIds(): UniverseChainId[] { export function useBridgingSupportedChainIds(): UniverseChainId[] {
const unichainEnabled = useFeatureFlag(FeatureFlags.Unichain)
const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({ const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({
params: { params: {
tokenIn: NATIVE_ADDRESS_FOR_TRADING_API, tokenIn: NATIVE_ADDRESS_FOR_TRADING_API,
tokenInChainId: ChainId._1, tokenInChainId: ChainId._1,
unichainEnabled,
}, },
}) })
......
...@@ -14,6 +14,8 @@ import { ALL_CHAIN_IDS, UniverseChainId } from 'uniswap/src/features/chains/type ...@@ -14,6 +14,8 @@ import { ALL_CHAIN_IDS, UniverseChainId } from 'uniswap/src/features/chains/type
import { toSupportedChainId } from 'uniswap/src/features/chains/utils' import { toSupportedChainId } from 'uniswap/src/features/chains/utils'
import { CurrencyInfo, PortfolioBalance } from 'uniswap/src/features/dataApi/types' import { CurrencyInfo, PortfolioBalance } from 'uniswap/src/features/dataApi/types'
import { currencyIdToContractInput } from 'uniswap/src/features/dataApi/utils' import { currencyIdToContractInput } from 'uniswap/src/features/dataApi/utils'
import { FeatureFlags } from 'uniswap/src/features/gating/flags'
import { useFeatureFlag } from 'uniswap/src/features/gating/hooks'
import { import {
NATIVE_ADDRESS_FOR_TRADING_API, NATIVE_ADDRESS_FOR_TRADING_API,
getTokenAddressFromChainForTradingApi, getTokenAddressFromChainForTradingApi,
...@@ -54,12 +56,14 @@ export function useBridgingTokenWithHighestBalance({ ...@@ -54,12 +56,14 @@ export function useBridgingTokenWithHighestBalance({
fetchPolicy: 'cache-first', fetchPolicy: 'cache-first',
}) })
const unichainEnabled = useFeatureFlag(FeatureFlags.Unichain)
const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({ const { data: bridgingTokens } = useTradingApiSwappableTokensQuery({
params: params:
otherChainBalances && otherChainBalances?.length > 0 && tokenIn && tokenInChainId otherChainBalances && otherChainBalances?.length > 0 && tokenIn && tokenInChainId
? { ? {
tokenIn, tokenIn,
tokenInChainId, tokenInChainId,
unichainEnabled,
} }
: undefined, : undefined,
}) })
...@@ -118,7 +122,7 @@ export function useBridgingTokensOptions({ ...@@ -118,7 +122,7 @@ export function useBridgingTokensOptions({
}): GqlResult<TokenOption[] | undefined> & { shouldNest?: boolean } { }): GqlResult<TokenOption[] | undefined> & { shouldNest?: boolean } {
const tokenIn = input?.address ? getTokenAddressFromChainForTradingApi(input.address, input.chainId) : undefined const tokenIn = input?.address ? getTokenAddressFromChainForTradingApi(input.address, input.chainId) : undefined
const tokenInChainId = toTradingApiSupportedChainId(input?.chainId) const tokenInChainId = toTradingApiSupportedChainId(input?.chainId)
const unichainEnabled = useFeatureFlag(FeatureFlags.Unichain)
const { const {
data: bridgingTokens, data: bridgingTokens,
isLoading: loadingBridgingTokens, isLoading: loadingBridgingTokens,
...@@ -130,6 +134,7 @@ export function useBridgingTokensOptions({ ...@@ -130,6 +134,7 @@ export function useBridgingTokensOptions({
? { ? {
tokenIn, tokenIn,
tokenInChainId, tokenInChainId,
unichainEnabled,
} }
: undefined, : undefined,
}) })
......
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