ci(release): publish latest release

parent b8c8439e
IPFS hash of the deployment:
- CIDv0: `QmXS4vd18Mi4tKCVNuk1qnB1wyNPN7XRR1iSygxNvnRKiD`
- CIDv1: `bafybeiehdr3z22tnf5jdnjnsj5kfb7ywjjefa2oyttljiuwjtu6mhocxjy`
- CIDv0: `QmZhPHVskUQR1q2jr5D2AyMkfvkoBtbN95Z3ofUcwyH3Lh`
- CIDv1: `bafybeifiybibt7gtwvbhz4awqe7lzdd5m62cm7mcuriu5eva3zceuov4xy`
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).
......@@ -10,73 +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://bafybeiehdr3z22tnf5jdnjnsj5kfb7ywjjefa2oyttljiuwjtu6mhocxjy.ipfs.dweb.link/
- [ipfs://QmXS4vd18Mi4tKCVNuk1qnB1wyNPN7XRR1iSygxNvnRKiD/](ipfs://QmXS4vd18Mi4tKCVNuk1qnB1wyNPN7XRR1iSygxNvnRKiD/)
- https://bafybeifiybibt7gtwvbhz4awqe7lzdd5m62cm7mcuriu5eva3zceuov4xy.ipfs.dweb.link/
- [ipfs://QmZhPHVskUQR1q2jr5D2AyMkfvkoBtbN95Z3ofUcwyH3Lh/](ipfs://QmZhPHVskUQR1q2jr5D2AyMkfvkoBtbN95Z3ofUcwyH3Lh/)
## 5.86.0 (2025-05-21)
### Features
* **web:** [lp] prefill hook and fee tier (#19820) 09bd7d7
* **web:** defer limit/buy/send form renders (#19445) e464d28
* **web:** defer render of mini portfolio (#19442) 9ce97c7
* **web:** defer top level Updaters (#19444) 4e57ea2
* **web:** gracefully handle upgrade prompt rejection (#19753) cf8beed
* **web:** lazy-import redux store in async code (#19441) 1ba4faa
* **web:** re sign in to EW when session ends (#19670) 8d003c0
* **web:** show backup EW card (#19317) 89f2297
* **web:** skip quotes for hidden positions, stabilize refs (#19755) 165b56d
* **web:** update animation direction for get started modal (#19717) 932f082
* **web:** virtualize positions list (#19754) 2460066
* **web:** vite support (#19713) 1cbf6ea
### 5.86.1 (2025-05-23)
### Bug Fixes
* **web:** [lp] improve liquiditySaga error logging (#19546) f7857cf
* **web:** add custom range icon color (#19564) 3b8b585
* **web:** Add formAction None to CSP (#19333) d9ef80b
* **web:** add retries to the getstarted e2e test (#19513) 6fa8bd6
* **web:** add useInitialHeight prop to fix enter animation on liquidity modals (#19530) a3f0063
* **web:** Adds color extraction to token detail page charts (#19300) b2b0289
* **web:** allow press on disabled web3-status-connected (#19534) 87d8aac
* **web:** dedupe and cache wallet capabilities calls (#19739) 729472d
* **web:** delete unused GQL queries (#19506) 6eca1a3
* **web:** do not double stringify list authenticator credential (#19715) 25d9d16
* **web:** fix color of UniswapX gas fee tooltip (#19563) 5bb793e
* **web:** fix mobile status overflow on positions (#19350) ea732a4
* **web:** fix web pool index virtualized list dynamic heights (#20074) 9af7388
* **web:** improve LP incentive tooltip responsiveness (#19550) 563b9d4
* **web:** incorrect bridge card display for wrong network (#19541) 593c2bd
* **web:** only support batch swaps on supported status (#19565) c81568c
* **web:** REVERT "remove async imports in LanguageProvider and amplitude" (#19738) 081bfaa
* **web:** settings tooltips (#20059) (#20073) 4ef1352
* **web:** staging web update unwrap tx on smart wallet accounts (#20025) ac4f3a6
* **web:** temp remove disabled prop from Button (#19676) 41c2e61
* **web:** update EW endpoint for beta (#19519) b405d89
* **web:** update MoreHorizontal icon size (#19558) 57c4372
* **web:** use liquidity info badges on pool details page (#19809) 33ce214
* **web): Revert "feat(web:** defer render of mini portfolio (#19442) - staging (#19987) 1e04adb
### Continuous Integration
* **web:** update sitemaps 277df80
### Code Refactoring
* **web:** rename graphql folder (#19712) 06730e1
* **web:** use useScrollbarStyles from ui and remove web ScrollBarStyles (#19516) 6f0b63f
### Tests
* **web:** [errors] add wait for timeout after swap settings click (#19511) 6412e2b
* **web:** delete cypress fees test (#19537) 26a8096
* **web:** handle smart wallet delegations (#19677) 9824dec
* **web:** playwright amplitude extension and logging test (#19536) b234ac6
* **web:** token selector sections should be visible (#19529) df98029
* **web:** hotfix prod cb 5792 patch (#20096) 11ba54c
web/5.86.0
\ No newline at end of file
web/5.86.1
\ No newline at end of file
......@@ -54,6 +54,37 @@ function finalizeBatch(params: {
delete FAILURE_COUNT_MAP[transaction.batchInfo.batchId]
}
/**
* TODO(WEB-7872):Temporary parsing logic for Coinbase Smart Wallet responses that do not yet conform
* to the EIP-5972 spec. Once the coinbase smart wallet is updated, this method (and its caller) can be
* deleted.
*/
function handleFallbackParsingForCoinbase(params: {
result: GetCallsResult
transaction: PendingBatchDetails
onActivityUpdate: OnActivityUpdate
}) {
const { result, transaction, onActivityUpdate } = params
// We only care about confirmed results. "PENDING" responses are ignored so the
// next poll can re-check them later.
if (result.status !== 'CONFIRMED') {
return
}
const receipt = result.receipts?.[0]
if (!receipt) {
throw new Error(
`${transaction.batchInfo.connectorId ?? 'wallet'} returned CONFIRMED with no receipt (legacy Coinbase path)`,
)
}
const hash = receipt.transactionHash
const updatedStatus = receipt.status === 1 ? TransactionStatus.Confirmed : TransactionStatus.Failed
finalizeBatch({ transaction, onActivityUpdate, hash, status: updatedStatus })
}
export function usePollPendingBatchTransactions(onActivityUpdate: OnActivityUpdate) {
const pendingBatchTransactions = usePendingBatches()
const walletProvider = useEthersWeb3Provider()
......@@ -62,6 +93,13 @@ export function usePollPendingBatchTransactions(onActivityUpdate: OnActivityUpda
for (const transaction of pendingBatchTransactions) {
try {
const result = await getCallsStatus({ provider, batchId: transaction.batchInfo.batchId })
// TODO(WEB-7872) If Coinbase smart wallet returns a string status, handle via fallback helper.
if (typeof result?.status === 'string') {
handleFallbackParsingForCoinbase({ result, transaction, onActivityUpdate })
continue
}
const receipt = result?.receipts?.[0]
if (result?.status === 200) {
if (!receipt) {
......@@ -109,7 +147,8 @@ type GetCallsResult = {
version: string
id: `0x${string}`
chainId: `0x${string}`
status: number // See "Status Codes"
// TODO(WEB-7872): Remove temporary support for v1 of atomic batching schema for coinbase wallet (CONFIRMED | PENDING)
status: number | 'CONFIRMED' | 'PENDING'
atomic: boolean
receipts?: {
logs: {
......@@ -117,7 +156,8 @@ type GetCallsResult = {
data: `0x${string}`
topics: `0x${string}`[]
}[]
status: `0x${string}` // Hex 1 or 0 for success or failure, respectively
// TODO(WEB-7872): Remove temporary support for v1 of atomic batching schema for coinbase wallet (0 | 1)
status: `0x${string}` | 0 | 1
blockHash: `0x${string}`
blockNumber: `0x${string}`
gasUsed: `0x${string}`
......
......@@ -28,7 +28,12 @@ async function sendCalls(params: {
{ version: CURRENT_SEND_CALLS_VERSION, calls, from, chainId, atomicRequired: true },
])
return result.id
// TODO(WEB-7872): Remove temporary support for v1 of atomic batching schema for coinbase wallet (remove case below)
if (typeof result === 'string') {
return result
}
return result.id as string
}
export function* handleAtomicSendCalls(
......
......@@ -53,7 +53,9 @@ enum AtomicBatchingStatus {
export function isAtomicBatchingSupported(chainCapabilities: ChainCapabilities): boolean {
return (
chainCapabilities?.atomic?.status === AtomicBatchingStatus.Supported ||
chainCapabilities?.atomic?.status === AtomicBatchingStatus.Ready
chainCapabilities?.atomic?.status === AtomicBatchingStatus.Ready ||
// TODO(WEB-7872): Remove temporary support for v1 of atomic batching schema for coinbase wallet (remove line below)
chainCapabilities?.atomicBatch?.supported === true
)
}
......
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