Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 7.38.1 #13079

Merged
merged 120 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
9b2bcd5
test: add e2e test for security alert api (#12288)
vinistevam Nov 29, 2024
a6e7175
fix: add source when local PPOM fails (#12460)
vinistevam Nov 29, 2024
f0f851f
fix: Resolve errors, omissions, duplicates in Engine types `Global{Ac…
MajorLift Dec 1, 2024
1a83b1f
fix: Remove stateless "non-controllers" from background engine state …
MajorLift Dec 1, 2024
b221d14
fix(431-2): active network icon has too much margin and adding option…
vinnyhoward Dec 2, 2024
a8c0783
feat: implement remote feature flag controller (#12427)
joaoloureirop Dec 2, 2024
46b554b
feat: Add Bitcoin accounts (Flask Only) (#12294)
owencraston Dec 2, 2024
44cbe2c
ci: disable security e2e tests (#12513)
cortisiko Dec 3, 2024
d9e9381
fix: 10967 User able to add Ledger account with existing account name…
dawnseeker8 Dec 3, 2024
db3b31e
test: address regression pipeline slow down (#12512)
cortisiko Dec 3, 2024
57da0a9
feat: upgrade profile-sync-controller to 1.0.0 (#12459)
Prithpal-Sooriya Dec 3, 2024
b2f9eec
feat: multichain detect tokens feat (#12417)
salimtb Dec 3, 2024
1a0dc3b
chore: Address derived from SRP (#12528)
tommasini Dec 3, 2024
a97e2ef
test: Move files to Onboarding folder (#12511)
SamuelSalas Dec 3, 2024
d4737f0
feat: cicd e2e label requirements + pr automation (#12243)
jake-perkins Dec 3, 2024
dc310af
chore: Add eth hd keyring and key tree to decrease unlock time (#12428)
tommasini Dec 3, 2024
8bcf0a7
fix: abstract out circular dependencies between engine and networks u…
tommasini Dec 4, 2024
e39e54b
chore: Decrease hot and cold start app to wallet view time (#12543)
tommasini Dec 4, 2024
0bd6f46
chore: change ownership of profile sync from notifications to identit…
mathieuartu Dec 4, 2024
4ead541
feat: Support gas fee flows in swaps (#12495)
OGPoyraz Dec 4, 2024
734e389
chore: fail status when on no labels for retro-label changes (#12554)
jake-perkins Dec 4, 2024
e33e278
test: Move files to Wallet folder (#12531)
SamuelSalas Dec 4, 2024
5680027
test: Create e2e tag for multi chain (#12558)
cortisiko Dec 4, 2024
1a8b40f
feat: v7.36.0 (#12314)
sethkfman Dec 4, 2024
a93ef10
fix: Move `AssetPollingProvider` from Root to Nav/Main/index.js (#12562)
gambinish Dec 4, 2024
a907380
test: remove redundent tests in quarantine folder (#12556)
cortisiko Dec 5, 2024
c07f8e7
chore: use getShares contract method from stake-sdk for unstake all f…
nickewansmith Dec 5, 2024
93c3823
chore: Bump Snaps packages (#12551)
FrederikBolding Dec 5, 2024
32843a4
fix: circular dependencies engine-network-handleNetworkSwitch (#12373)
tommasini Dec 5, 2024
7db2099
fix: fix NFTs disappearing after killing app (#12529)
sahar-fehri Dec 5, 2024
f771782
fix: update input handling in useInputHandler to support BACK key fun…
amitabh94 Dec 5, 2024
16f3df4
chore: cicd e2e hardening (#12563)
jake-perkins Dec 5, 2024
43ae0a1
fix(12527): sdk connection with unknown url causes a bug (#12566)
EtherWizard33 Dec 5, 2024
eefb428
feat: add aggregated portfolio balance cross chains (#12505)
sahar-fehri Dec 5, 2024
c7af597
test: move remaining modal pages and selectors to their respective fo…
SamuelSalas Dec 5, 2024
edbef4d
chore: bump react-native-linear-gradient library (#12553)
tommasini Dec 5, 2024
d1b476c
test: fix mock server (#12536)
vinistevam Dec 5, 2024
011560f
chore: Update accounts packages (#12555)
owencraston Dec 5, 2024
fcb68ad
chore: transfer ownership of auth & profile sync E2E from notificatio…
mathieuartu Dec 5, 2024
dc52797
fix: add resolution for express to fix failing audit on path-to-regex…
Prithpal-Sooriya Dec 6, 2024
ec9e594
refactor: remove global network from transaction controller (#12321)
matthewwalsh0 Dec 6, 2024
81b1414
test(3615): add new e2e test for initial dapp connection and non perm…
EtherWizard33 Dec 6, 2024
33c1784
fix: Jest timer error in unit test (#12230)
NicolasMassart Dec 6, 2024
5542ba5
chore: Add option to skip pod install setup step (#12574)
Gudahtt Dec 6, 2024
f4f2e15
chore: Stop suppressing pod install failures (#12485)
Gudahtt Dec 6, 2024
4f11c6c
feat: migrate Base network RPC from https://mainnet.base.org to base-…
salimtb Dec 6, 2024
a75153e
fix: disable mock poc test (#12598)
chrisleewilcox Dec 6, 2024
b19eea6
fix: circular deps between engine, network utils tx utils (#12376)
tommasini Dec 7, 2024
0ea88d6
feat(ci): Expo (#12244)
andrepimenta Dec 9, 2024
3dcd114
chore: bump `@metamask/{preferences,assets}-controllers` (#12579)
cryptodev-2s Dec 9, 2024
bf126d0
chore: bump {gas-fee,network,selected-network,notification-services,p…
cryptodev-2s Dec 9, 2024
2adeecd
chore(deps): Bump `@metamask/composable-controller` from `^3.0.0` to …
MajorLift Dec 9, 2024
d2ad6fd
docs: Update README.md with new expo instructions (#12617)
andrepimenta Dec 9, 2024
65e28fc
chore: Chore/12435 mvp handle engine does not exist (#12538)
Cal-L Dec 9, 2024
9d63e34
chore: update user storage E2E framework (#12609)
mathieuartu Dec 10, 2024
8ad0072
chore: bump {profile-sync,notification-services}-controller (#12615)
cryptodev-2s Dec 10, 2024
0f46383
chore: update bug template to include feature branches (#12623)
jvbriones Dec 10, 2024
800d116
feat: multi chain asset list (#12431)
vinnyhoward Dec 10, 2024
da4021c
fix: fix flaky test (#12626)
salimtb Dec 10, 2024
54e0a8a
fix: e2e regression gas api (#12607)
vinistevam Dec 10, 2024
226107b
fix: hide tokens without balance for multichain (#12630)
vinnyhoward Dec 11, 2024
259faa3
feat: activate portfolio view (#12507)
salimtb Dec 11, 2024
2d17939
feat: upgrade transaction controller to get incoming transactions usi…
matthewwalsh0 Dec 11, 2024
0b676de
feat: Hide the smart transaction status page if we return a txHash as…
dan437 Dec 11, 2024
3627a43
build: Add --device flag to yarn start:android (#12645)
andrepimenta Dec 11, 2024
427415c
refactor: de-anonymize insensitive properties of swaps events (#12532)
bfullam Dec 11, 2024
d49e8b6
fix: fix native tokens filter when all networks is selected (#12637)
sahar-fehri Dec 11, 2024
963d2c4
test(3615): additional e2e scenarios editing permissions and non perm…
EtherWizard33 Dec 12, 2024
c1c2e79
feat: enable ledger clear signing feature (#12537)
dawnseeker8 Dec 12, 2024
2f0cc61
fix: fix network selector (#12641)
sahar-fehri Dec 12, 2024
caae9fa
feat: adding basic page for typed signatures V3, V4 (#12506)
jpuri Dec 12, 2024
5972b5b
fix: add new translations (#12624)
sahar-fehri Dec 12, 2024
7e40e3e
fix: fix swaps button on asset overview page for multichain feature (…
sahar-fehri Dec 12, 2024
7e52ed6
fix: fix token details navigation (#12659)
sahar-fehri Dec 12, 2024
715476c
feat: 7.37.0 (#12490)
github-actions[bot] Dec 12, 2024
48adca9
fix: disable flaky tests on incoming-transactions.spec (#12663)
chrisleewilcox Dec 12, 2024
5201d39
chore: Additional e2e test to support `PortfolioView` (#12602)
gambinish Dec 12, 2024
ea18201
New Crowdin translations by Github Action (#12338)
metamaskbot Dec 12, 2024
dbdcf20
bump semvar version to 7.38.0 && build version to 1514
metamaskbot Dec 12, 2024
62b4d92
chore: chore/7.38.0-Changelog (#12672)
github-actions[bot] Dec 13, 2024
17c1611
chore(runway): cherry-pick chore(ramp): upgrade sdk to 1.28.8 (#12699)
runway-github[bot] Dec 13, 2024
2e566df
chore(runway): cherry-pick fix: replace legacy eth-json-rpc deps (#12…
runway-github[bot] Dec 13, 2024
e6e4c81
chore: cherry pick 82c500f (#12701)
sethkfman Dec 13, 2024
4ed3ff3
Bump version number to 1516
metamaskbot Dec 13, 2024
b82cb0f
chore: cherry-pick #12658 (#12721)
github-actions[bot] Dec 17, 2024
944ab36
Bump version number to 1521
metamaskbot Dec 17, 2024
53918db
fix: fix swap flow (#12788) (#12797)
salimtb Dec 20, 2024
f15d1e5
chore(runway): cherry-pick chore: bump nanoid package to 3.3.8 (#12819)
runway-github[bot] Dec 20, 2024
25fbf35
chore(runway): cherry-pick fix: use correct import for MetricsEventBu…
runway-github[bot] Dec 20, 2024
029c49c
fix: mark transactions as failed for cancelled / unknown smart transa…
smilingkylan Dec 20, 2024
1ce1441
Bump version number to 1522
metamaskbot Dec 20, 2024
79019b7
chore(runway): cherry-pick fix: optimize display swap button (#12841)
runway-github[bot] Jan 7, 2025
47ebd7e
Bump version number to 1523
metamaskbot Jan 7, 2025
cfdb096
updated changelog
sethkfman Jan 7, 2025
911ef35
fix: fix asset options sheet (#12859) (#12919)
sahar-fehri Jan 11, 2025
871b706
fix (cherrypick): invoke_snap RPC requests inside the built-in browse…
Prithpal-Sooriya Jan 11, 2025
56982d6
chore(runway): cherry-pick fix: add nativeAsset key to staked ETH ass…
runway-github[bot] Jan 13, 2025
4ae9c70
Bump version number to 1524
metamaskbot Jan 13, 2025
1a91603
chore: Cherry pick `12958` into `release/7.38.0` (#12962)
OGPoyraz Jan 13, 2025
e98e7b7
chore(runway): cherry-pick fix: Only aggregate PortfolioBalance if on…
runway-github[bot] Jan 14, 2025
f3dc6d9
chore(cherry-pick) fix: ensure StakingBalance is shown or hidden appr…
nickewansmith Jan 15, 2025
c4180b9
chore(cherry-pick) fix: enable earn button navigation on unsupported …
amitabh94 Jan 15, 2025
c4af1f5
chore(runway): cherry-pick fix: Fix `send` flow deeplinks (#13014)
runway-github[bot] Jan 15, 2025
2edb5fb
Bump version number to 1525
metamaskbot Jan 15, 2025
dbe488a
chore : Cherry pick `12965` (#13015)
OGPoyraz Jan 16, 2025
5e20a6d
chore(runway): cherry-pick fix: Fix disappearing security alert respo…
runway-github[bot] Jan 16, 2025
82b9653
chore(runway): cherry-pick fix: Bump artifact upload and download ver…
runway-github[bot] Jan 16, 2025
f4f7c79
chore(runway): cherry-pick chore: Scope PortfolioView feature flag to…
runway-github[bot] Jan 16, 2025
11f5d6b
Bump version number to 1528
metamaskbot Jan 16, 2025
dba4661
bump semvar version to 7.38.1 && build version to 1533
metamaskbot Jan 20, 2025
210fd1d
fix: remove expo changes (#13067)
sethkfman Jan 20, 2025
e921a15
sync with stable
metamaskbot Jan 23, 2025
213cc1b
update variable
metamaskbot Jan 23, 2025
879e975
ignore audit temp for stable merge
metamaskbot Jan 24, 2025
016bc8d
lint fix
metamaskbot Jan 24, 2025
6d3f849
CI trigger
metamaskbot Jan 27, 2025
dc852d0
fix expo issues, audit, linting
metamaskbot Jan 28, 2025
4aae18d
updated lint
metamaskbot Jan 28, 2025
5a88ef6
dedupe
metamaskbot Jan 28, 2025
12f9364
remove unused audit
metamaskbot Jan 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: Additional e2e test to support PortfolioView (#12602)
## **Description**

Additional e2e tests to support `PortfolioView`. This is an initial pass
to cover the basic happy path use cases. Should be expanded further to
handle edge cases.

## **Related issues**

Fixes:

## **Manual testing steps**

1. `yarn setup`
2. `yarn test:e2e:ios:debug:build`
3. `yarn watch:clean`
4. `yarn test:e2e:ios:debug:run
/e2e/specs/multichain/asset-list.spec.js`

## **Screenshots/Recordings**

Current state of things:
```
PASS  e2e/specs/multichain/asset-list.spec.js (58.1 s)
  SmokeMultiChain Import Tokens
    ✓ should display tokens across networks when all networks filter is toggled on (9755 ms)
    ✓ should display tokens across networks when current networks filter is toggled on (23606 ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        58.153 s
```

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

---------

Co-authored-by: salimtb <salim.toubal@outlook.com>
Co-authored-by: Curtis <Curtis.David7@gmail.com>
  • Loading branch information
3 people authored Dec 12, 2024
commit 5201d392eb412be86a8bc14a71da892d99d12eb4
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import ListItemSelect from '../../../../component-library/components/List/ListIt
import { VerticalAlignment } from '../../../../component-library/components/List/ListItem';
import { strings } from '../../../../../locales/i18n';
import { enableAllNetworksFilter } from '../util/enableAllNetworksFilter';
import { WalletViewSelectorsIDs } from '../../../../../e2e/selectors/wallet/WalletView.selectors';

enum FilterOption {
AllNetworks,
Expand Down Expand Up @@ -69,6 +70,7 @@ const TokenFilterBottomSheet = () => {
{strings('wallet.filter_by')}
</Text>
<ListItemSelect
testID={WalletViewSelectorsIDs.TOKEN_NETWORK_FILTER_ALL}
onPress={() =>
onFilterControlsBottomSheetPress(FilterOption.AllNetworks)
}
Expand All @@ -81,6 +83,7 @@ const TokenFilterBottomSheet = () => {
</Text>
</ListItemSelect>
<ListItemSelect
testID={WalletViewSelectorsIDs.TOKEN_NETWORK_FILTER_CURRENT}
onPress={() =>
onFilterControlsBottomSheetPress(FilterOption.CurrentNetwork)
}
Expand Down
1 change: 1 addition & 0 deletions app/components/UI/Tokens/__snapshots__/index.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@ exports[`Tokens Portfolio View should match the snapshot when portfolio view is
"paddingHorizontal": 16,
}
}
testID="token-network-filter"
>
<Text
numberOfLines={1}
Expand Down
1 change: 1 addition & 0 deletions app/components/UI/Tokens/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ const Tokens: React.FC<TokensI> = ({ tokens }) => {
{isPortfolioViewEnabled() ? (
<View style={styles.controlButtonOuterWrapper}>
<ButtonBase
testID={WalletViewSelectorsIDs.TOKEN_NETWORK_FILTER}
label={
<Text style={styles.controlButtonText} numberOfLines={1}>
{isAllNetworks
Expand Down
8 changes: 8 additions & 0 deletions e2e/pages/swaps/QuoteView.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ class QuoteView {
return Matchers.getElementByText(QuoteViewSelectorText.GET_QUOTES);
}

get cancelButton() {
return Matchers.getElementByText(QuoteViewSelectorText.CANCEL);
}

get sourceToken() {
return Matchers.getElementByID(QuoteViewSelectorIDs.SOURCE_TOKEN);
}
Expand Down Expand Up @@ -58,6 +62,10 @@ class QuoteView {
await device.disableSynchronization();
await Gestures.waitAndTap(this.getQuotes);
}

async tapOnCancelButton() {
await Gestures.waitAndTap(this.cancelButton);
}
}

export default new QuoteView();
36 changes: 36 additions & 0 deletions e2e/pages/wallet/WalletView.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,26 @@ class WalletView {
);
}

get tokenNetworkFilter() {
return Matchers.getElementByID(WalletViewSelectorsIDs.TOKEN_NETWORK_FILTER);
}

get tokenNetworkFilterAll() {
return Matchers.getElementByID(
WalletViewSelectorsIDs.TOKEN_NETWORK_FILTER_ALL,
);
}

get tokenNetworkFilterCurrent() {
return Matchers.getElementByID(
WalletViewSelectorsIDs.TOKEN_NETWORK_FILTER_CURRENT,
);
}

get cancelButton() {
return Matchers.getElementByText('Cancel');
}

async tapCurrentMainWalletAccountActions() {
await Gestures.waitAndTap(this.currentMainWalletAccountActions);
}
Expand Down Expand Up @@ -165,6 +185,22 @@ class WalletView {
async tapPortfolio() {
await Gestures.waitAndTap(this.portfolioButton);
}

async tapTokenNetworkFilter() {
await Gestures.waitAndTap(this.tokenNetworkFilter);
}

async tapTokenNetworkFilterAll() {
await Gestures.waitAndTap(this.tokenNetworkFilterAll);
}

async tapTokenNetworkFilterCurrent() {
await Gestures.waitAndTap(this.tokenNetworkFilterCurrent);
}

async tapCancelButton() {
await Gestures.waitAndTap(this.cancelButton);
}
}

export default new WalletView();
1 change: 1 addition & 0 deletions e2e/selectors/swaps/QuoteView.selectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import enContent from '../../../locales/languages/en.json';

export const QuoteViewSelectorText = {
GET_QUOTES: enContent.swaps.get_quotes,
CANCEL: 'Cancel',
};

export const QuoteViewSelectorIDs = {
Expand Down
3 changes: 3 additions & 0 deletions e2e/selectors/wallet/WalletView.selectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ export const WalletViewSelectorsIDs = {
SORT_ALPHABETICAL: 'sort-alphabetical',
SORT_BY: 'sort-by',
NAVBAR_NETWORK_PICKER: 'network-avatar-picker',
TOKEN_NETWORK_FILTER: 'token-network-filter',
TOKEN_NETWORK_FILTER_ALL: 'token-network-filter-all',
TOKEN_NETWORK_FILTER_CURRENT: 'token-network-filter-current',
};

export const WalletViewSelectorsText = {
Expand Down
133 changes: 133 additions & 0 deletions e2e/specs/multichain/asset-list.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
// 'persists the preferred asset list preference when changing networks'

import { SmokeMultiChain } from '../../tags';
import WalletView from '../../pages/wallet/WalletView';
import FixtureBuilder from '../../fixtures/fixture-builder';
import {
loadFixture,
startFixtureServer,
stopFixtureServer,
} from '../../fixtures/fixture-helper';
import FixtureServer from '../../fixtures/fixture-server';
import { getFixturesServerPort } from '../../fixtures/utils';
import { loginToApp } from '../../viewHelper';
import Assertions from '../../utils/Assertions';
import TokenOverview from '../../pages/wallet/TokenOverview';
import NetworkEducationModal from '../../pages/Network/NetworkEducationModal';
import TestHelpers from '../../helpers';
import SendView from '../../pages/Send/SendView';

import QuoteView from '../../pages/swaps/QuoteView';
import TabBarComponent from '../../pages/wallet/TabBarComponent';

const fixtureServer = new FixtureServer();

const ETHEREUM_NAME = 'Ethereum';
const AVAX_NAME = 'AVAX';
const BNB_NAME = 'BNB';

describe(SmokeMultiChain('Import Tokens'), () => {
beforeAll(async () => {
await TestHelpers.reverseServerPort();
const fixture = new FixtureBuilder().withPopularNetworks().build();
await startFixtureServer(fixtureServer);
await loadFixture(fixtureServer, { fixture });
await TestHelpers.launchApp({
launchArgs: { fixtureServerPort: `${getFixturesServerPort()}` },
});
await loginToApp();
});

afterAll(async () => {
await stopFixtureServer(fixtureServer);
});

it('should display tokens across networks when all networks filter is toggled on', async () => {
await WalletView.tapTokenNetworkFilter();
await WalletView.tapTokenNetworkFilterAll();
const eth = WalletView.tokenInWallet(ETHEREUM_NAME);
const avax = WalletView.tokenInWallet(AVAX_NAME);
const bnb = WalletView.tokenInWallet(BNB_NAME);
await Assertions.checkIfVisible(eth);
await Assertions.checkIfVisible(avax);
await Assertions.checkIfVisible(bnb);
});

it('should display tokens of current network when current networks filter is toggled on', async () => {
await WalletView.tapTokenNetworkFilter();
await WalletView.tapTokenNetworkFilterAll();
await WalletView.tapTokenNetworkFilter();
await WalletView.tapTokenNetworkFilterCurrent();
const eth = WalletView.tokenInWallet(ETHEREUM_NAME);
const avax = WalletView.tokenInWallet(AVAX_NAME);
const bnb = WalletView.tokenInWallet(BNB_NAME);
await Assertions.checkIfVisible(eth);
await Assertions.checkIfNotVisible(avax);
await Assertions.checkIfNotVisible(bnb);
});

it('should switch networks when clicking on swap if an asset on a different network is selected', async () => {
const BNB_NAME = 'BNB Smart Chain';
await WalletView.tapTokenNetworkFilter();
await WalletView.tapTokenNetworkFilterAll();
const bnb = WalletView.tokenInWallet('BNB');
await Assertions.checkIfVisible(bnb);
await WalletView.tapOnToken('BNB');
await Assertions.checkIfVisible(TokenOverview.swapButton);
await TokenOverview.tapSwapButton();

await Assertions.checkIfVisible(NetworkEducationModal.container);
await Assertions.checkIfElementToHaveText(
NetworkEducationModal.networkName,
BNB_NAME,
);
await NetworkEducationModal.tapGotItButton();
});

it('should switch networks when clicking on send if an asset on a different network is selected', async () => {
const ETHEREUM_NAME = 'Ethereum Main Network';
await QuoteView.tapOnCancelButton();
await TabBarComponent.tapWallet();
await WalletView.tapTokenNetworkFilter();
await WalletView.tapTokenNetworkFilterAll();
const ethereum = WalletView.tokenInWallet('Ethereum');
await Assertions.checkIfVisible(ethereum);
await WalletView.tapOnToken();
await Assertions.checkIfVisible(TokenOverview.sendButton);
await TokenOverview.tapSendButton();

await Assertions.checkIfVisible(NetworkEducationModal.container);
await Assertions.checkIfElementToHaveText(
NetworkEducationModal.networkName,
ETHEREUM_NAME,
);
await NetworkEducationModal.tapGotItButton();
});

it('should allows clicking into the asset details page of native token on another network', async () => {
await SendView.tapCancelButton();
await TabBarComponent.tapWallet();
await WalletView.tapTokenNetworkFilter();
await WalletView.tapTokenNetworkFilterAll();
await WalletView.tapOnToken('AVAX');

await Assertions.checkIfVisible(TokenOverview.container);
await TokenOverview.tapChartPeriod1d();
await Assertions.checkIfVisible(TokenOverview.chartPeriod1d);
await TokenOverview.tapChartPeriod1w();
await Assertions.checkIfVisible(TokenOverview.chartPeriod1w);
await TokenOverview.tapChartPeriod1m();
await Assertions.checkIfVisible(TokenOverview.chartPeriod1m);
await TokenOverview.tapChartPeriod3m();
await Assertions.checkIfVisible(TokenOverview.chartPeriod3m);
await TokenOverview.tapChartPeriod1y();
await Assertions.checkIfVisible(TokenOverview.chartPeriod1y);
await TokenOverview.tapChartPeriod3y();
await Assertions.checkIfVisible(TokenOverview.chartPeriod3y);

await TokenOverview.scrollOnScreen();
await Assertions.checkIfVisible(TokenOverview.receiveButton);
await Assertions.checkIfVisible(TokenOverview.sendButton);
await Assertions.checkIfVisible(TokenOverview.swapButton);
});
});
Loading