Skip to content

chore(runway): cherry-pick fix: cp-7.64.0 when switching the network filter from a non-EVM network to "Popular networks" EVM tokens aren't displayed#25653

Merged
joaoloureirop merged 1 commit into
release/7.64.0from
runway-cherry-pick-7.64.0-1770219883
Feb 4, 2026
Merged

chore(runway): cherry-pick fix: cp-7.64.0 when switching the network filter from a non-EVM network to "Popular networks" EVM tokens aren't displayed#25653
joaoloureirop merged 1 commit into
release/7.64.0from
runway-cherry-pick-7.64.0-1770219883

Conversation

@runway-github
Copy link
Copy Markdown
Contributor

@runway-github runway-github Bot commented Feb 4, 2026

Description

Bug: When I switch the network filter from a non-EVM network to "Popular
networks" my EVM tokens aren't displayed.

Solution: I have idnetified that this bug was introduced by
this PR and
needs to be backported cause the bug was also backported
here

The issue is that the wrong selector selectSelectedInternalAccountId
was being used instead of selectSelectedInternalAccountByScope

Changelog

CHANGELOG entry: fix when switching the network filter from a non-EVM
network to "Popular networks" EVM tokens aren't displayed

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2597 &
#25632

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

Screen.Recording.2026-02-04.at.15.50.21.mov

After

Screen.Recording.2026-02-04.at.15.48.34.mov

Pre-merge author checklist

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.

Note

Medium Risk
Changes the selectAsset selector’s account-scoping logic to use scope-based account resolution, which can affect which balances/tokens render across networks and account groups.

Overview
Fixes an asset lookup/scoping bug where switching network filters could cause EVM tokens (and native/staked assets) to resolve against the wrong account.

selectAsset now derives the correct account from the selected account group via selectSelectedInternalAccountByScope, normalizing chainId to CAIP (using toEvmCaipChainId/isCaipChainId) before filtering assets/staked assets by accountId. Tests were updated to validate native/staked lookups across two different account groups.

Written by Cursor Bugbot for commit 8cf8415. This will update automatically on new commits. Configure here.

8c7645f

…filter from a non-EVM network to "Popular networks" EVM tokens aren't displayed (#25630)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**
Bug: When I switch the network filter from a non-EVM network to "Popular
networks" my EVM tokens aren't displayed.

Solution: I have idnetified that this bug was introduced by
[this](#25468) PR and
needs to be backported cause the bug was also backported
[here](#25580)

The issue is that the wrong selector `selectSelectedInternalAccountId`
was being used instead of `selectSelectedInternalAccountByScope`

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: fix when switching the network filter from a non-EVM
network to "Popular networks" EVM tokens aren't displayed

## **Related issues**

Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2597 &
#25632

## **Manual testing steps**

```gherkin
Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]
```

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**


https://github.com/user-attachments/assets/bcffcb65-3227-467d-9255-55d2177f2416


<!-- [screenshots/recordings] -->

### **After**


https://github.com/user-attachments/assets/b0e5a877-b7ae-4078-a0fa-d4000a9525f6


<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] 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).
- [ ] I've completed the PR template to the best of my ability
- [ ] I've included tests if applicable
- [ ] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] 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.


<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Changes core asset-selection logic used to render token/native/staked
balances across networks; a mistake could hide or mis-associate assets
when switching networks/account groups.
> 
> **Overview**
> Fixes an asset lookup bug where switching from a non-EVM network
filter back to EVM (“Popular networks”) could return the wrong/missing
EVM token entries.
> 
> `selectAsset` now scopes native/staked and token lookups to the
*selected account group’s* account for the requested chain via
`selectSelectedInternalAccountByScope`, normalizing chain IDs to CAIP
with `isCaipChainId`/`toEvmCaipChainId` instead of relying on
`selectSelectedInternalAccountId`.
> 
> Updates `assets-list.test.ts` to validate scoping by account group
(adding a second group/account and asserting balances switch correctly).
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
6c68b7c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@runway-github runway-github Bot requested a review from a team as a code owner February 4, 2026 15:44
@metamaskbot metamaskbot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Feb 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 4, 2026

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - base branch is not main (base: release/7.64.0)

All E2E tests pre-selected.

View GitHub Actions results

@github-actions github-actions Bot added the size-M label Feb 4, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Feb 4, 2026

@joaoloureirop joaoloureirop enabled auto-merge (squash) February 4, 2026 16:52
@joaoloureirop joaoloureirop merged commit bd02a1b into release/7.64.0 Feb 4, 2026
172 of 174 checks passed
@joaoloureirop joaoloureirop deleted the runway-cherry-pick-7.64.0-1770219883 branch February 4, 2026 16:57
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 4, 2026
@metamaskbot metamaskbot added the release-7.64.0 Issue or pull request that will be included in release 7.64.0 label Feb 6, 2026
@metamaskbot
Copy link
Copy Markdown
Collaborator

No release label on PR. Adding release label release-7.64.0 on PR, as PR was cherry-picked in branch 7.64.0.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.64.0 Issue or pull request that will be included in release 7.64.0 size-M team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants