Skip to content

Commit 22b68da

Browse files
ci(release): publish latest release
1 parent a44531f commit 22b68da

6 files changed

Lines changed: 53 additions & 8 deletions

File tree

RELEASE

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
IPFS hash of the deployment:
2-
- CIDv0: `QmVf8nJ32ENZxg2mM528UcuxP3puyQmDVFDvVq7ruo5WrG`
3-
- CIDv1: `bafybeidmxyar7rih7mftkdhtnzp7qzicfhaspdv6etzwwuma2omplm33pu`
2+
- CIDv0: `QmZtzKn5uasjQnXbChP2jEoLpp12SHU9fBVgHoFQTerFwC`
3+
- CIDv1: `bafybeiflxfjch3fgvfjrp34iuisvqvnm2f7k5tndrnn4hvxgtwmqhhfig4`
44

55
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).
66

@@ -10,5 +10,5 @@ You can also access the Uniswap Interface from an IPFS gateway.
1010
Your Uniswap settings are never remembered across different URLs.
1111

1212
IPFS gateways:
13-
- https://bafybeidmxyar7rih7mftkdhtnzp7qzicfhaspdv6etzwwuma2omplm33pu.ipfs.dweb.link/
14-
- [ipfs://QmVf8nJ32ENZxg2mM528UcuxP3puyQmDVFDvVq7ruo5WrG/](ipfs://QmVf8nJ32ENZxg2mM528UcuxP3puyQmDVFDvVq7ruo5WrG/)
13+
- https://bafybeiflxfjch3fgvfjrp34iuisvqvnm2f7k5tndrnn4hvxgtwmqhhfig4.ipfs.dweb.link/
14+
- [ipfs://QmZtzKn5uasjQnXbChP2jEoLpp12SHU9fBVgHoFQTerFwC/](ipfs://QmZtzKn5uasjQnXbChP2jEoLpp12SHU9fBVgHoFQTerFwC/)

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
web/5.149.3
1+
web/5.149.4

apps/web/src/features/Toucan/Auction/Banners/TokenLaunched/TokenLaunchedBanner.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ import { logger } from 'utilities/src/logger/logger'
77
import { TokenLaunchedBannerInner } from '~/features/Toucan/Auction/Banners/TokenLaunched/TokenLaunchedBannerInner'
88
import { TokenLaunchedBannerSkeleton } from '~/features/Toucan/Auction/Banners/TokenLaunched/TokenLaunchedBannerSkeleton'
99
import { TokenLaunchFailedBannerContent } from '~/features/Toucan/Auction/Banners/TokenLaunched/TokenLaunchFailedBannerContent'
10+
import { TokenRestrictedBannerContent } from '~/features/Toucan/Auction/Banners/TokenLaunched/TokenRestrictedBannerContent'
1011
import { useTokenLaunchedBannerColorData } from '~/features/Toucan/Auction/Banners/TokenLaunched/useTokenLaunchedBannerColorData'
1112
import { useTokenLaunchedBannerPriceData } from '~/features/Toucan/Auction/Banners/TokenLaunched/useTokenLaunchedBannerPriceData'
1213
import { fromQ96ToDecimalWithTokenDecimals } from '~/features/Toucan/Auction/BidDistributionChart/utils/q96'
1314
import { useBidTokenInfo } from '~/features/Toucan/Auction/hooks/useBidTokenInfo'
1415
import { useAuctionStore } from '~/features/Toucan/Auction/store/useAuctionStore'
1516
import { getClearingPrice } from '~/features/Toucan/Auction/utils/clearingPrice'
17+
import { getAuctionMetadata } from '~/features/Toucan/Config/config'
1618

1719
interface TokenLaunchedBannerProps {
1820
tokenName: string
@@ -47,6 +49,10 @@ export function TokenLaunchedBanner({
4749
const chainId = auctionDetails?.chainId
4850
const auctionAddress = auctionDetails?.address
4951

52+
const tradingRestrictedUntilTge = Boolean(
53+
tokenAddress && chainId && getAuctionMetadata({ chainId, tokenAddress })?.tradingRestrictedUntilTge,
54+
)
55+
5056
const { bannerGradient, accentColor } = useTokenLaunchedBannerColorData({
5157
tokenColor: isGraduated ? tokenColor : colors.statusCritical.val,
5258
tokenColorLoading,
@@ -61,18 +67,18 @@ export function TokenLaunchedBanner({
6167
} = useTokenLaunchedBannerPriceData({
6268
tokenAddress,
6369
chainId,
64-
skip: !isGraduated || !tokenAddress || !chainId,
70+
skip: !isGraduated || tradingRestrictedUntilTge || !tokenAddress || !chainId,
6571
})
6672

6773
// Fetch bid token info (needed for clearing price fallback conversion to USD)
6874
const { bidTokenInfo, loading: bidTokenLoading } = useBidTokenInfo({
6975
bidTokenAddress,
7076
chainId,
71-
skip: !isGraduated || !bidTokenAddress || !chainId,
77+
skip: !isGraduated || tradingRestrictedUntilTge || !bidTokenAddress || !chainId,
7278
})
7379

7480
// Fetch clearing price history for chart fallback (only when GraphQL price fails)
75-
const needsFallback = isGraduated && !priceLoading && (!priceData || priceError)
81+
const needsFallback = isGraduated && !tradingRestrictedUntilTge && !priceLoading && (!priceData || priceError)
7682
const { data: clearingPriceResponse, isLoading: clearingHistoryLoading } = useQuery(
7783
auctionQueries.getClearingPriceHistory({
7884
params: new GetClearingPriceHistoryRequest({
@@ -142,6 +148,10 @@ export function TokenLaunchedBanner({
142148
return <TokenLaunchFailedBannerContent tokenName={tokenName} bannerGradient={bannerGradient} />
143149
}
144150

151+
if (tradingRestrictedUntilTge) {
152+
return <TokenRestrictedBannerContent bannerGradient={bannerGradient} accentColor={accentColor} />
153+
}
154+
145155
// Show loading skeleton while data is being fetched
146156
const isLoading = priceLoading || bidTokenLoading || (needsFallback && clearingHistoryLoading)
147157
if (isLoading) {
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { CSSProperties } from 'react'
2+
import { useTranslation } from 'react-i18next'
3+
import { Flex, Text } from 'ui/src'
4+
import { zIndexes } from 'ui/src/theme'
5+
import { PulsingIndicatorDot } from '~/features/Toucan/Auction/Banners/AuctionIntro/PulsingIndicatorDot'
6+
import { TokenLaunchedBannerWrapper } from '~/features/Toucan/Auction/Banners/TokenLaunched/TokenLaunchedBannerWrapper'
7+
8+
interface TokenRestrictedBannerContentProps {
9+
bannerGradient: CSSProperties
10+
accentColor: string
11+
}
12+
13+
export function TokenRestrictedBannerContent({ bannerGradient, accentColor }: TokenRestrictedBannerContentProps) {
14+
const { t } = useTranslation()
15+
16+
return (
17+
<TokenLaunchedBannerWrapper bannerGradient={bannerGradient}>
18+
<Flex row alignItems="center" gap="$spacing12" position="relative" zIndex={zIndexes.default}>
19+
<PulsingIndicatorDot color={accentColor} />
20+
<Flex gap="$spacing2" flexShrink={1}>
21+
<Text variant="body3" $sm={{ variant: 'body4' }} color="$neutral1">
22+
{t('toucan.auction.tokenLaunchedBanner.restrictedHeading')}
23+
</Text>
24+
<Text variant="body4" color="$neutral2">
25+
{t('toucan.auction.tokenLaunchedBanner.restrictedSubheading')}
26+
</Text>
27+
</Flex>
28+
</Flex>
29+
</TokenLaunchedBannerWrapper>
30+
)
31+
}

apps/web/src/features/Toucan/Config/config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export interface AuctionMetadataOverride {
5454
logoUrl?: string
5555
tokenName?: string
5656
tokenSymbol?: string
57+
tradingRestrictedUntilTge?: boolean
5758
}
5859

5960
/**
@@ -87,6 +88,7 @@ const AUCTION_METADATA_OVERRIDES: Record<string, AuctionMetadataOverride> = {
8788
},
8889
'1-0x4c93b9fbf7fd1777ccbcbc538b1d0a8b58fb1ad6': {
8990
logoUrl: '/images/logos/strato-token-launch-logo.jpeg',
91+
tradingRestrictedUntilTge: true,
9092
},
9193
}
9294

packages/uniswap/src/i18n/locales/source/en-US.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2673,6 +2673,8 @@
26732673
"toucan.auction.tokenLaunchedBanner.availableToTrade": "{{tokenName}} available to trade",
26742674
"toucan.auction.tokenLaunchedBanner.failedHeading": "{{tokenName}} failed to launch",
26752675
"toucan.auction.tokenLaunchedBanner.failedSubheading": "This auction did not reach the minimum sale threshold and failed to launch.",
2676+
"toucan.auction.tokenLaunchedBanner.restrictedHeading": "The auction has ended and a pool has been created.",
2677+
"toucan.auction.tokenLaunchedBanner.restrictedSubheading": "Trading is restricted until TGE",
26762678
"toucan.auction.tokenLaunchedBanner.tradeNow": "Trade now",
26772679
"toucan.auction.totalSupply": "Total Supply",
26782680
"toucan.auction.twitter": "Twitter",

0 commit comments

Comments
 (0)