ci(release): publish latest release

parent c580e7f7
IPFS hash of the deployment: IPFS hash of the deployment:
- CIDv0: `QmPrqLALpGaKqo51BdmEzdEk1gqMYoigWqcSrSRjB359us` - CIDv0: `QmezmXSutzznthvc6pSCrb7JgxjGqXFNCWCZLjADjg6Tf8`
- CIDv1: `bafybeiaws4pqenzmeqsuoufsgcyhgtxc5azas2dsnh6i25xpe75b3rybti` - CIDv1: `bafybeihxp3cmskdb4nr76bocjhdgq32ykbfquxwakbdx33iehf44jxwuim`
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,9 +10,14 @@ You can also access the Uniswap Interface from an IPFS gateway. ...@@ -10,9 +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://bafybeiaws4pqenzmeqsuoufsgcyhgtxc5azas2dsnh6i25xpe75b3rybti.ipfs.dweb.link/ - https://bafybeihxp3cmskdb4nr76bocjhdgq32ykbfquxwakbdx33iehf44jxwuim.ipfs.dweb.link/
- [ipfs://QmPrqLALpGaKqo51BdmEzdEk1gqMYoigWqcSrSRjB359us/](ipfs://QmPrqLALpGaKqo51BdmEzdEk1gqMYoigWqcSrSRjB359us/) - [ipfs://QmezmXSutzznthvc6pSCrb7JgxjGqXFNCWCZLjADjg6Tf8/](ipfs://QmezmXSutzznthvc6pSCrb7JgxjGqXFNCWCZLjADjg6Tf8/)
### 5.83.6 (2025-05-08) ### 5.83.7 (2025-05-13)
### Bug Fixes
* **web:** only support batch swaps on supported status (#19566) da9a5ec
web/5.83.6 web/5.83.7
\ No newline at end of file \ No newline at end of file
...@@ -77,7 +77,7 @@ describe('walletCapabilities', () => { ...@@ -77,7 +77,7 @@ describe('walletCapabilities', () => {
expect(isAtomicBatchingSupportedByChainId(mockCapabilities, 1)).toBe(true) expect(isAtomicBatchingSupportedByChainId(mockCapabilities, 1)).toBe(true)
const readyCapabilities: GetCapabilitiesResult = { '0x1': { atomic: { status: 'ready' } } } const readyCapabilities: GetCapabilitiesResult = { '0x1': { atomic: { status: 'ready' } } }
expect(isAtomicBatchingSupportedByChainId(readyCapabilities, 1)).toBe(true) expect(isAtomicBatchingSupportedByChainId(readyCapabilities, 1)).toBe(false)
const unsupportedCapabilities: GetCapabilitiesResult = { '0x1': { atomic: { status: 'unsupported' } } } const unsupportedCapabilities: GetCapabilitiesResult = { '0x1': { atomic: { status: 'unsupported' } } }
expect(isAtomicBatchingSupportedByChainId(unsupportedCapabilities, 1)).toBe(false) expect(isAtomicBatchingSupportedByChainId(unsupportedCapabilities, 1)).toBe(false)
......
...@@ -51,10 +51,7 @@ enum AtomicBatchingStatus { ...@@ -51,10 +51,7 @@ enum AtomicBatchingStatus {
} }
export function isAtomicBatchingSupported(chainCapabilities: ChainCapabilities): boolean { export function isAtomicBatchingSupported(chainCapabilities: ChainCapabilities): boolean {
return ( return chainCapabilities?.atomic?.status === AtomicBatchingStatus.Supported
chainCapabilities?.atomic?.status === AtomicBatchingStatus.Supported ||
chainCapabilities?.atomic?.status === AtomicBatchingStatus.Ready
)
} }
export function isAtomicBatchingSupportedByChainId( export function isAtomicBatchingSupportedByChainId(
......
...@@ -134,7 +134,7 @@ describe('walletCapabilities reducer', () => { ...@@ -134,7 +134,7 @@ describe('walletCapabilities reducer', () => {
// Test various chain IDs // Test various chain IDs
expect(selector(1)).toBe(true) // Chain 1 has status 'supported' expect(selector(1)).toBe(true) // Chain 1 has status 'supported'
expect(selector(2)).toBe(true) // Chain 2 has status 'ready' expect(selector(2)).toBe(false) // Chain 2 has status 'ready'
expect(selector(3)).toBe(false) // Chain 3 has status 'unsupported' expect(selector(3)).toBe(false) // Chain 3 has status 'unsupported'
expect(selector(4)).toBe(false) // Chain 4 has no atomic capability expect(selector(4)).toBe(false) // Chain 4 has no atomic capability
expect(selector(999)).toBe(false) // Chain 999 not in map expect(selector(999)).toBe(false) // Chain 999 not in map
...@@ -148,7 +148,7 @@ describe('walletCapabilities reducer', () => { ...@@ -148,7 +148,7 @@ describe('walletCapabilities reducer', () => {
// This tests that the internal helper correctly evaluates string values // This tests that the internal helper correctly evaluates string values
const testCases = [ const testCases = [
{ chainId: '0x1', atomicStatus: 'supported', expected: true }, { chainId: '0x1', atomicStatus: 'supported', expected: true },
{ chainId: '0x2', atomicStatus: 'ready', expected: true }, { chainId: '0x2', atomicStatus: 'ready', expected: false },
{ chainId: '0x3', atomicStatus: 'unsupported', expected: false }, { chainId: '0x3', atomicStatus: 'unsupported', expected: false },
{ chainId: '0x4', atomicStatus: 'something-else', expected: false }, { chainId: '0x4', atomicStatus: 'something-else', expected: false },
{ chainId: '0x5', atomicStatus: undefined, expected: false }, { chainId: '0x5', atomicStatus: undefined, expected: false },
......
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