-
Notifications
You must be signed in to change notification settings - Fork 5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
08d6805
commit d69a638
Showing
1,786 changed files
with
20,296 additions
and
24,164 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,18 @@ | ||
ignores: [ | ||
# Dependencies that depcheck thinks are unused but are actually used | ||
'@graphql-codegen/*', | ||
'@commitlint/*', | ||
'i18next', | ||
"@graphql-codegen/*", | ||
"@commitlint/*", | ||
"i18next", | ||
# Dependencies that depcheck thinks are missing but are actually present or never used | ||
'@yarnpkg/core', | ||
'@yarnpkg/cli', | ||
'clipanion', | ||
'@yarnpkg/fslib', | ||
'bufferutil', | ||
'utf-8-validate', | ||
'@yarnpkg/parsers', | ||
'@yarnpkg/plugin-git', | ||
'semver', | ||
'typanion', | ||
'turbo-ignore', | ||
'prettier', | ||
'prettier-plugin-organize-imports', | ||
"@yarnpkg/core", | ||
"@yarnpkg/cli", | ||
"clipanion", | ||
"@yarnpkg/fslib", | ||
"bufferutil", | ||
"utf-8-validate", | ||
"@yarnpkg/parsers", | ||
"@yarnpkg/plugin-git", | ||
"semver", | ||
"typanion", | ||
"turbo-ignore", | ||
] |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,50 +1,9 @@ | ||
IPFS hash of the deployment: | ||
- CIDv0: `QmaNrzdiCZfezB1GYBZprZVoAh4KGsaZjzVH9qSmDCvZDv` | ||
- CIDv1: `bafybeifs3vfz27oqei35fu5fg6pfgzz3eacp3rdyhg7lvm5mp63iiauomu` | ||
Expanded network support — we now support ZKsync! | ||
|
||
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org). | ||
|
||
You can also access the Uniswap Interface from an IPFS gateway. | ||
**BEWARE**: The Uniswap interface uses [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) to remember your settings, such as which tokens you have imported. | ||
**You should always use an IPFS gateway that enforces origin separation**, or our hosted deployment of the latest release at [app.uniswap.org](https://app.uniswap.org). | ||
Your Uniswap settings are never remembered across different URLs. | ||
|
||
IPFS gateways: | ||
- https://bafybeifs3vfz27oqei35fu5fg6pfgzz3eacp3rdyhg7lvm5mp63iiauomu.ipfs.dweb.link/ | ||
- https://bafybeifs3vfz27oqei35fu5fg6pfgzz3eacp3rdyhg7lvm5mp63iiauomu.ipfs.cf-ipfs.com/ | ||
- [ipfs://QmaNrzdiCZfezB1GYBZprZVoAh4KGsaZjzVH9qSmDCvZDv/](ipfs://QmaNrzdiCZfezB1GYBZprZVoAh4KGsaZjzVH9qSmDCvZDv/) | ||
|
||
## 5.39.0 (2024-07-10) | ||
|
||
|
||
### Features | ||
|
||
* **web:** [ext-gtm] make drawer a modal when uni extension is installed (#9560) 9f17d08 | ||
* **web:** [ext-gtm] remove extra miniport content when extension is connected (#9678) e78e6d8 | ||
* **web:** activity Row for FOR transactions (#9874) cea60c1 | ||
* **web:** add error state for FOR connection modal (#9597) 5bd5da8 | ||
* **web:** deeplinks for extension (#9782) 9c8c5bf | ||
* **web:** empty wallet state (#9641) 67e82cc | ||
* **web:** fiat on ramp design polish (#9860) 40ba8bc | ||
* **web:** FOR transaction status polling (#9793) 147db24 | ||
* **web:** open FOR widget in onClick (#9826) 5658b80 | ||
* **web:** redux slice for FOR transactions (#9575) 5985d7c | ||
* **web:** reorganize fiat on ramp components (incl. snapshots) (#9625) 60d8ebe | ||
|
||
|
||
### Bug Fixes | ||
|
||
* **web:** avoid datadog duplicate logs and slowdowns in web test (#9626) 2031800 | ||
* **web:** fix incorrect isToken check (#9765) 7ef1d18 | ||
* **web:** fix rive not loading in prod (#9856) 681219d | ||
* **web:** memoize FOR transactions to avoid rerenders - hotfix staging (#9917) e4d272e | ||
* **web:** Show chart error state if priceHistory is an empty array [staging] (#9926) 4dc66f3 | ||
* **web:** use sentence case miniP (#9759) 79ce461 | ||
* **web:** useSyncChainQuery for input currencies without chain param (#9521) 565c985 | ||
|
||
|
||
### Continuous Integration | ||
|
||
* **web:** update sitemaps fd342d7 | ||
Better multi-network warnings — provides clear warnings when a user doesn’t have enough base asset on a network to pay gas and complete a transaction. | ||
|
||
Other changes: | ||
|
||
- Onboarding improvements | ||
- Better handling of larger numbers | ||
- Various bug fixes and performance improvements |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
web/5.39.0 | ||
mobile/1.30 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
ios | ||
android | ||
.eslintrc.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
import { by, element, expect } from 'detox' | ||
import { TestWallet } from 'e2e/utils/fixtures' | ||
import { ElementName } from 'uniswap/src/features/telemetry/constants' | ||
|
||
export function CreateNewWallet(): void { | ||
it('creates a new wallet', async () => { | ||
// Selects "Create a new wallet" option on the landing screen | ||
await element(by.id(ElementName.CreateAccount)).tap() | ||
|
||
// Skips unitag flow | ||
await element(by.id(ElementName.Skip)).tap() | ||
|
||
// Taps "Let's keep it safe" on QRAnimation screen | ||
await element(by.id(ElementName.Next)).tap() | ||
|
||
// Check is both manual and cloud backup options are available on BackupScreen | ||
await expect(element(by.id(ElementName.AddCloudBackup))).toBeVisible() | ||
await expect(element(by.id(ElementName.AddManualBackup))).toBeVisible() | ||
|
||
// Picks "Manual backup" option | ||
await element(by.id(ElementName.AddManualBackup)).tap() | ||
|
||
// Checks if ManualBackupScreen warning displays and taps "I'm ready" button | ||
await expect(element(by.id(ElementName.Confirm))).toBeVisible() | ||
await element(by.id(ElementName.Confirm)).tap() | ||
|
||
// Taps continue on ManualBackupScreen | ||
await element(by.id(ElementName.Next)).tap() | ||
|
||
// Taps continue on manual backup confirmation screen. It is replaced by mock because detox | ||
// can't interact with native screens | ||
await element(by.id(ElementName.Continue)).tap() | ||
|
||
// Skips notification setup by tapping "Maybe later" button | ||
await element(by.id(ElementName.Skip)).tap() | ||
|
||
// Skips biometrics setup by tapping "Maybe later" button | ||
await element(by.id(ElementName.Skip)).tap() | ||
|
||
// Confirms by tapping "Skip" on warning modal | ||
await element(by.id(ElementName.Confirm)).tap() | ||
|
||
// Confirms if user successfuly finished create new wallet flow by checking if provided wallet name is | ||
// displayed and other | ||
await expect(element(by.text(TestWallet.name))).toBeVisible() | ||
await expect(element(by.id(ElementName.Swap))).toBeVisible() | ||
await expect(element(by.id(ElementName.SearchTokensAndWallets))).toBeVisible() | ||
}) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,47 @@ | ||
import { by, element, expect } from 'detox' | ||
import { TestWallet } from 'e2e/utils/fixtures' | ||
import { TestID } from 'uniswap/src/test/fixtures/testIDs' | ||
import { ElementName } from 'uniswap/src/features/telemetry/constants' | ||
|
||
export async function CreateNewWallet(): Promise<void> { | ||
// Selects "Create a new wallet" option on the landing screen | ||
await element(by.id(TestID.CreateAccount)).tap() | ||
await element(by.id(ElementName.CreateAccount)).tap() | ||
|
||
// Skips unitag flow | ||
await element(by.id(TestID.Skip)).tap() | ||
await element(by.id(ElementName.Skip)).tap() | ||
|
||
// Taps "Let's keep it safe" on QRAnimation screen | ||
await element(by.id(TestID.Next)).tap() | ||
await element(by.id(ElementName.Next)).tap() | ||
|
||
// Check is both manual and cloud backup options are available on BackupScreen | ||
await expect(element(by.id(TestID.AddCloudBackup))).toBeVisible() | ||
await expect(element(by.id(TestID.AddManualBackup))).toBeVisible() | ||
await expect(element(by.id(ElementName.AddCloudBackup))).toBeVisible() | ||
await expect(element(by.id(ElementName.AddManualBackup))).toBeVisible() | ||
|
||
// Picks "Manual backup" option | ||
await element(by.id(TestID.AddManualBackup)).tap() | ||
await element(by.id(ElementName.AddManualBackup)).tap() | ||
|
||
// Checks if ManualBackupScreen warning displays and taps "I'm ready" button | ||
await expect(element(by.id(TestID.Confirm))).toBeVisible() | ||
await element(by.id(TestID.Confirm)).tap() | ||
await expect(element(by.id(ElementName.Confirm))).toBeVisible() | ||
await element(by.id(ElementName.Confirm)).tap() | ||
|
||
// Taps continue on ManualBackupScreen | ||
await element(by.id(TestID.Next)).tap() | ||
await element(by.id(ElementName.Next)).tap() | ||
|
||
// Taps continue on manual backup confirmation screen. It is replaced by mock because detox | ||
// can't interact with native screens | ||
await element(by.id(TestID.Continue)).tap() | ||
await element(by.id(ElementName.Continue)).tap() | ||
|
||
// Skips notification setup by tapping "Maybe later" button | ||
await element(by.id(TestID.Skip)).tap() | ||
await element(by.id(ElementName.Skip)).tap() | ||
|
||
// Skips biometrics setup by tapping "Maybe later" button | ||
await element(by.id(TestID.Skip)).tap() | ||
await element(by.id(ElementName.Skip)).tap() | ||
|
||
// Confirms by tapping "Skip" on warning modal | ||
await element(by.id(TestID.Confirm)).tap() | ||
await element(by.id(ElementName.Confirm)).tap() | ||
|
||
// Confirms if user successfuly finished create new wallet flow by checking if provided wallet name is | ||
// displayed and other | ||
await expect(element(by.text(TestWallet.name))).toBeVisible() | ||
await expect(element(by.id(TestID.Swap))).toBeVisible() | ||
await expect(element(by.id(TestID.SearchTokensAndWallets))).toBeVisible() | ||
await expect(element(by.id(ElementName.Swap))).toBeVisible() | ||
await expect(element(by.id(ElementName.SearchTokensAndWallets))).toBeVisible() | ||
} |
Oops, something went wrong.