Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
interface
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
LuckySwap
interface
Commits
f494f119
Commit
f494f119
authored
May 29, 2025
by
Uniswap Labs Service Account
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ci(release): publish latest release
parent
6a7a7ef7
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
27 additions
and
75 deletions
+27
-75
RELEASE
RELEASE
+6
-63
VERSION
VERSION
+1
-1
TokenWarningModal.tsx
packages/uniswap/src/features/tokens/TokenWarningModal.tsx
+1
-1
safetyUtils.test.ts
packages/uniswap/src/features/tokens/safetyUtils.test.ts
+15
-9
safetyUtils.ts
packages/uniswap/src/features/tokens/safetyUtils.ts
+4
-1
No files found.
RELEASE
View file @
f494f119
IPFS hash of the deployment:
- CIDv0: `Qm
eQNaiwpcq1CouKoDNgFD67b4rcw5YuLs3DSG1t5DLBxr
`
- CIDv1: `bafybei
hov4kdcqzqfzh4p4n7o7o7z5p5xs3sdle6gc7zbfymyncoz24ma4
`
- CIDv0: `Qm
YLUSmyP2FahHkscj7gQbA43gJY3PQ7gekdk8Tt3yfrVq
`
- CIDv1: `bafybei
eurfbwxnagisdo3rash52dwiew7ivubnbpig7sy6ub4d3tjfr73q
`
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).
...
...
@@ -10,71 +10,14 @@ You can also access the Uniswap Interface from an IPFS gateway.
Your Uniswap settings are never remembered across different URLs.
IPFS gateways:
- https://bafybei
hov4kdcqzqfzh4p4n7o7o7z5p5xs3sdle6gc7zbfymyncoz24ma4
.ipfs.dweb.link/
- [ipfs://Qm
eQNaiwpcq1CouKoDNgFD67b4rcw5YuLs3DSG1t5DLBxr/](ipfs://QmeQNaiwpcq1CouKoDNgFD67b4rcw5YuLs3DSG1t5DLBxr
/)
- https://bafybei
eurfbwxnagisdo3rash52dwiew7ivubnbpig7sy6ub4d3tjfr73q
.ipfs.dweb.link/
- [ipfs://Qm
YLUSmyP2FahHkscj7gQbA43gJY3PQ7gekdk8Tt3yfrVq/](ipfs://QmYLUSmyP2FahHkscj7gQbA43gJY3PQ7gekdk8Tt3yfrVq
/)
## 5.87.0 (2025-05-29)
### Features
* **web:** change how we navigate to new TDP when tokens change (#20088) 3c515b3
* **web:** clear text on search select (#19957) 519d18d
* **web:** fiat offramp (#19241) 1654f80
* **web:** fix language around swapping with passkey (#19805) cf90f72
* **web:** react compiler on vite (#19825) fe989f5
* **web:** remove EW view passphrase (#19640) fdc36d5
* **web:** remove indicativeQuote endpoint in favor of quote w/ routingPreference.Fastest (#19982) c05ffb7
* **web:** reworked connected no positions page (#20000) af0bf59
* **web:** reworked disconnected your positions page (#19999) 3e56bb9
* **web:** vite CSP injection (#19836) 7e16a6a
### 5.87.1 (2025-05-29)
### Bug Fixes
* **web:** [tdp] sort other chain balances (#20063) d032e9d
* **web:** add submitting state to send form review modal (#20049) 112c892
* **web:** bug in send form when sending Celo USDC (#20132) d7e717c
* **web:** debugging csp error in production (#20058) 083c86c
* **web:** fallback to currency info on testnet (#20120) 3ec79b7
* **web:** handle 5792 v1 spec (#20097) 4df918c
* **web:** handle errors in parseRestPosition function (#20062) 5de5253
* **web:** make Range Bands indicator line more visible (#19891) 1aa70e1
* **web:** make web logging synchronous (#20013) aa9d96c
* **web:** pool index virtualized list dynamic heights (#20010) 70bee14
* **web:** prevent extreme outliers from breaking Pool price history chart (#19914) 8cc189f
* **web:** remove nfts from landing page (#20055) 28e7db8
* **web:** removeFormatNumberOrString from web formatting (#20034) f06fefd
* **web:** settings tooltips (#20059) 4406198
* **web:** update max button border (#19981) c769943
* **web:** update publishignore (#19864) ea21978
* **web:** update search bar hover behavior (#19994) a7481ad
* **web:** update unwrap TX on smart wallet accounts (#19954) 06f49bf
* **web:** use current year for footer copy (#19939) 7c30ca8
* **web:** vite storybook mock fix (#20012) e15b409
* **web:** wrapped token issues in pool details page (#20085) b129d2a
* **web): Revert "feat(web:** defer render of mini portfolio (#19442)" (#19958) 72ef6b8
### Continuous Integration
* **web:** update sitemaps a6ea37d
### Code Refactoring
* **web:** remove dialog component + content & customize limit error (#19911) 2331e94
* **web:** rename dialogv2 -> dialog (#19912) 9fd421e
### Tests
* **web:** fix Swap → should be able to swap token with FOT warning via TDP (#20024) 8fd03b5
* **web:** migrate some TDP tests to playwright (#20087) 7e831d1
* **web:** remove uniswapx cypress files (#19936) f057838
* **web:** uniswapx test - activity (#19933) fb5a4c2
* **web:** uniswapx test - cancel (#19929) 3502b54
* **web:** uniswapx test - expired (#19928) a5cc4c1
* **web:** uniswapx test (#19886) 32f8775
* **web:** fix token warning modal plural crash (#20340) 0adb22e
VERSION
View file @
f494f119
web/5.87.0
\ No newline at end of file
web/5.87.1
\ No newline at end of file
packages/uniswap/src/features/tokens/TokenWarningModal.tsx
View file @
f494f119
...
...
@@ -317,7 +317,7 @@ export default function TokenWarningModal({
<
AnimateTransition
currentIndex=
{
warningIndex
}
animationType=
{
warningIndex
===
0
?
'
forward
'
:
'
backward
'
}
>
<
TokenWarningModalContent
currencyInfo0=
{
currencyInfo0
}
currencyInfo1=
{
c
urrencyInfo1
}
currencyInfo1=
{
c
ombinedPlural
?
currencyInfo1
:
undefined
}
isInfoOnlyWarning=
{
!
hasSecondWarning
&&
isInfoOnlyWarning
}
// modal should be actionable if it is a 2-token warning (go to next token)
hasSecondWarning=
{
hasSecondWarning
}
shouldBeCombinedPlural=
{
combinedPlural
}
...
...
packages/uniswap/src/features/tokens/safetyUtils.test.ts
View file @
f494f119
...
...
@@ -16,6 +16,7 @@ import {
useModalSubtitleText
,
useTokenWarningCardText
,
}
from
'
uniswap/src/features/tokens/safetyUtils
'
import
{
logger
}
from
'
utilities/src/logger/logger
'
jest
.
mock
(
'
react-i18next
'
,
()
=>
({
useTranslation
:
():
{
t
:
(
str
:
string
)
=>
string
}
=>
{
...
...
@@ -434,15 +435,20 @@ describe('useModalHeaderText', () => {
expect
(
useModalHeaderText
({
tokenProtectionWarning
:
undefined
})).
toBeNull
()
})
it
(
'
throws error when tokenSymbol1 provided without plural treatment
'
,
()
=>
{
expect
(()
=>
useModalHeaderText
({
tokenProtectionWarning
:
TokenProtectionWarning
.
FotLow
,
tokenSymbol0
:
'
ABC
'
,
tokenSymbol1
:
'
XYZ
'
,
shouldHavePluralTreatment
:
false
,
}),
).
toThrow
(
'
Should only combine into one plural-languaged modal if BOTH are low or BOTH are blocked
'
)
it
(
'
logs error when tokenSymbol1 provided without plural treatment
'
,
()
=>
{
const
mockLogger
=
jest
.
spyOn
(
logger
,
'
error
'
)
useModalHeaderText
({
tokenProtectionWarning
:
TokenProtectionWarning
.
FotLow
,
tokenSymbol0
:
'
ABC
'
,
tokenSymbol1
:
'
XYZ
'
,
shouldHavePluralTreatment
:
false
,
})
expect
(
mockLogger
).
toHaveBeenCalledWith
(
'
Should only combine into one plural-languaged modal if BOTH are low or BOTH are blocked
'
,
{
tags
:
{
file
:
'
safetyUtils.ts
'
,
function
:
'
useModalHeaderText
'
},
},
)
})
it
(
'
returns correct text for blocked tokens with plural treatment
'
,
()
=>
{
...
...
packages/uniswap/src/features/tokens/safetyUtils.ts
View file @
f494f119
...
...
@@ -7,6 +7,7 @@ import { WarningSeverity } from 'uniswap/src/components/modals/WarningModal/type
import
{
ProtectionResult
}
from
'
uniswap/src/data/graphql/uniswap-data-api/__generated__/types-and-hooks
'
import
{
AttackType
,
CurrencyInfo
,
TokenList
}
from
'
uniswap/src/features/dataApi/types
'
import
{
useLocalizationContext
}
from
'
uniswap/src/features/language/LocalizationContext
'
import
{
logger
}
from
'
utilities/src/logger/logger
'
import
{
isInterface
}
from
'
utilities/src/platform
'
export
enum
TokenProtectionWarning
{
...
...
@@ -215,7 +216,9 @@ export function useModalHeaderText({
return
null
}
if
(
!
shouldHavePluralTreatment
&&
tokenSymbol1
)
{
throw
new
Error
(
'
Should only combine into one plural-languaged modal if BOTH are low or BOTH are blocked
'
)
logger
.
error
(
'
Should only combine into one plural-languaged modal if BOTH are low or BOTH are blocked
'
,
{
tags
:
{
file
:
'
safetyUtils.ts
'
,
function
:
'
useModalHeaderText
'
},
})
}
switch
(
tokenProtectionWarning
)
{
case
TokenProtectionWarning
.
Blocked
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment