Skip to content

feat: v7.50.0#16518

Merged
tommasini merged 560 commits into
stablefrom
release/7.50.0
Jul 10, 2025
Merged

feat: v7.50.0#16518
tommasini merged 560 commits into
stablefrom
release/7.50.0

Conversation

@metamaskbot
Copy link
Copy Markdown
Collaborator

@metamaskbot metamaskbot commented Jun 19, 2025

🚀 v7.50.0 Testing & Release Quality Process

Hi Team,
As part of our new MetaMask Release Quality Process, here’s a quick overview of the key processes, testing strategies, and milestones to ensure a smooth and high-quality deployment.


📋 Key Processes

Testing Strategy

  • Developer Teams:
    Conduct regression and exploratory testing for your functional areas, including automated and manual tests for critical workflows.
  • QA Team:
    Focus on exploratory testing across the wallet, prioritize high-impact areas, and triage any Sentry errors found during testing.
  • Customer Success Team:
    Validate new functionalities and provide feedback to support release monitoring.

GitHub Signoff

  • Each team must sign off on the Release Candidate (RC) via GitHub by the end of the validation timeline (Tuesday EOD PT).
  • Ensure all tests outlined in the Testing Plan are executed, and any identified issues are addressed.

Issue Resolution

  • Resolve all Release Blockers (Sev0 and Sev1) by Tuesday EOD PT.
  • For unresolved blockers, PRs may be reverted, or feature flags disabled to maintain release quality and timelines.

Cherry-Picking Criteria

  • Only critical fixes meeting outlined criteria will be cherry-picked.
  • Developers must ensure these fixes are thoroughly reviewed, tested, and merged by Tuesday EOD PT.

🗓️ Timeline and Milestones

  1. Today (Friday): Begin Release Candidate validation.
  2. Tuesday EOD PT: Finalize RC with all fixes and cherry-picks.
  3. Wednesday: Buffer day for final checks.
  4. Thursday: Submit release to app stores and begin rollout to 1% of users.
  5. Monday: Scale deployment to 10%.
  6. Tuesday: Full rollout to 100%.

✅ Signoff Checklist

Each team is responsible for signing off via GitHub. Use the checkbox below to track signoff completion:

Team sign-off checklist

  • Accounts
  • Assets
  • Confirmations
  • Design System
  • Earn
  • Hardware Wallets
  • Identity
  • Mobile Platform
  • Network Enablement
  • New Networks
  • Phosphor
  • Portfolio
  • Product Safety
  • Ramp
  • Readable Permissions
  • SDK
  • Snaps Platform
  • Swaps and Bridge
  • Transactions
  • Wallet API Platform
  • Wallet Framework
  • Wallet Standard
  • Wallet UX
  • Web3Auth

This process is a major step forward in ensuring release stability and quality. Let’s stay aligned and make this release a success! 🚀

Feel free to reach out if you have questions or need clarification.

Many thanks in advance

Reference

https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit?gid=1370936236#gid=1370936236

PatrykLucka and others added 30 commits June 5, 2025 18:34
<!--
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**

<!--
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?
-->
This PR updates account list item designs according to new designs for
accounts hierarchy

Figma:
https://www.figma.com/design/nmBs86I42Cp0T39BlRdX7x/Network-Expansion-Specs?node-id=4107-45412&t=5V9pe1PHnRCxIcXk-4

SRP pills should be removed after introducing accounts hierarchy.
## **Related issues**

Fixes:

## **Manual testing steps**

1. Open accounts list

## **Screenshots/Recordings**

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

### **Before**

<!-- [screenshots/recordings] -->
<img width="379" alt="Screenshot 2025-05-22 at 16 53 18"
src="https://github.com/user-attachments/assets/41d56755-782b-4046-8fcd-b71cba113303"
/>

### **After**

<!-- [screenshots/recordings] -->
<img width="386" alt="Screenshot 2025-05-22 at 16 52 04"
src="https://github.com/user-attachments/assets/24d8fac7-6176-4d7d-bff6-6d129a7f87da"
/>

## **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.
This PR adds a button in development builds to clear the Transak
authentication key so that dev team can QA and develop parts of the app
that are skipped when a user is logged in. It is added to the settings
page in the same place as ramp activation keys.

Video of feature:
https://www.loom.com/share/4b764c63e13e46a893242fc6527cb60e

settings page displays logged-out state
User can log into Transak with email OTP and authentication state
persists (even after app closure)
use can click button to log out and logged-out state persists

Closes duplicate  #15959 

<!--
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**

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.

---------

Co-authored-by: Pedro Pablo Aste Kompen <wachunei@gmail.com>
<!--
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**

As we migrate away from Ganache, this is the final remaining work that
will enable Anvil to be the default node for running E2E tests across
local and CI environments. This PR builds on the recently released
[MetaMask Foundry installer
package](https://github.com/MetaMask/core/releases/tag/v423.0.0), which
provides a consistent way to install Foundry binaries across extension
and mobile clients.

What this PR does:
  - Adds support for installing Anvil during the yarn setup process.
  - Updates CI workflows to include Anvil installation.
  - Adds a new command:
- `yarn anvil` exposes all of Anvil’s CLI options. See more
[here](https://book.getfoundry.sh/anvil/reference#options).


## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
6.
7.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.

---------

Co-authored-by: OGPoyraz <omergoktugpoyraz@gmail.com>
…zation (#16095)

<!--
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**

Changes were uncovered from this investigation:
#15634

This ensures that our list item select the specific data they need (not
large objects), and we can utilise WeakMap memoization for better
parameter/args memo vs the default LRU memoization from reselect.

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

N/A

## **Screenshots/Recordings**

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

### **Before**

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

https://www.loom.com/share/e4c2793bb96b40329d767c3f3b4f8df9

### **After**

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

https://www.loom.com/share/ea465018b6d446b4a627154a2147a24f

## **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.
<!--
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**

Similar to MetaMask/metamask-extension#33180
with variations

- Extract gas properties from TransactionMeta.
- Continue to pass all request properties to PPOM (Tests are expecting
these, and I don't see how this would block the work in this PR)
- Use constant names > magic names

## **Related issues**

Fixes: https://github.com/MetaMask/MetaMask-planning/issues/5005

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.

---------

Co-authored-by: OGPoyraz <omergoktugpoyraz@gmail.com>
<!--
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**

Adds pre-configured and newly added chain ids to profile analytics

## **Related issues**

Fixes: MetaMask/MetaMask-planning#4988

## **Manual testing steps**

1. Start App
1.1 Identity event should fire and include a chain_id_list property with
all configured chain ids
2. Add a popular or custom new network
2.1 Identity event should fire and include the previous list with the
newly added chain id
3. Remove a network
3.1 Identity event should fire and include the chain_id_list without the
removed chain id


## **Screenshots/Recordings**

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

On app start:
<img width="402" alt="identity_on_open"
src="https://github.com/user-attachments/assets/cbe69e9e-5308-4944-aa57-c8089af2640b"
/>

Added chain with ID 80094 (Berachain):
<img width="411" alt="adding_berachain"
src="https://github.com/user-attachments/assets/9d9beab3-22d0-49ef-8ae0-050838f2c3b5"
/>

Remove chain with ID 10 (Optimism):
<img width="415" alt="removing_optimism"
src="https://github.com/user-attachments/assets/7ff2d301-498c-4ce4-8b6b-008116e55022"
/>


## **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.
## **Description**

This is an internal PR of this external Margelo performance PR.
#16092

--------

Creating new instances of `Intl` is expensive in Hermes. This PR adds
simple cache for it. It improves rendering performance of `TokenList`
for about 30% because it makes all `TokenListItem` component faster.
This also means that there should be less blank spaces when scrolling
quickly.

It could help also in other places in the app as I replaced all usages
of `new Intl` with this new cached version.

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

N/A - just make sure app currencies and number formatting looks okay.

## **Screenshots/Recordings**

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

### **Before**

~250ms average for render of `TokenList` (measured on high end device)
<img width="888" alt="Screenshot 2025-06-04 at 21 02 19"
src="https://github.com/user-attachments/assets/3b316dbd-8010-49f4-874b-92e6c1ff68df"
/>

### **After**

~170ms average for render of `TokenList` (30% improvement)
<img width="893" alt="Screenshot 2025-06-04 at 20 59 19"
src="https://github.com/user-attachments/assets/80cd18de-327f-47d9-ad8f-789a9bcaebb0"
/>

## **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.
## **Description**
Given the introduction of Solana accounts in 7.47.0, we must now be
diligent about address comparison. Solana addresses are case sensitive
so we must remove all cases of `.toLowerCase` AND `.toLowerCaseEquals`
when performing address comparison/lookup. Instead I created a new
function called `areAddressesEqual` (code pasted below) which we can use
to handle this case sensitive comparison use case. I maintained the
lowercase comparison for eth addresses since there are many assumptions
about lower case addresses already in the codebase. In places where
comparison was not needed I opted for the `toFormattedAddress` which
handles the account type case for us. Instead of calling
`safeToChecksumAddress` we should call `toFormattedAddress` which
conditionally checksums the address if the account is EVM. Both of these
function definitions are pasted below.

```js
export function areAddressesEqual(address1: string, address2: string) {
  if (!address1 || !address2) {
    return false;
  }

  const isAddress1Eth = isEthAddress(address1);
  const isAddress2Eth = isEthAddress(address2);

  // If one is an ETH address and the other is not, return false
  if (isAddress1Eth !== isAddress2Eth) {
    return false;
  }

  // If both are ETH addresses, do a lowercase comparison
  if (isAddress1Eth && isAddress2Eth) {
    return address1.toLowerCase() === address2.toLowerCase();
  }

  // If both are not ETH addresses, do a raw comparison.
  // This is important for non-EVM addresses since they are case sensitive.
  return address1 === address2;
}


export function toFormattedAddress(address: string) {
  return isEthAddress(address) ? toChecksumAddress(address) : address;
}
```

We want to avoid any potential issues that could occurs from comparing
two unique addresses that are equal when lowercased. This could cause
issues such as ...
- incorrect assets being displayed
- sending to the wrong address
- Incorrect transaction data

#### Note
- There were several changes to some of these files that were auto
format changes from prettier. The only real changes in this PR are
swapping out `.toLowerCase` for `toFormattedAddress(address)` and the
equivalent unit test fixes.

### For reviewers
- Ensure that your owned file changes make sense. If a component is EVM
only then we may not need to perform this change.
- Look for other cases of `.toLowerCase` AND `.toLowerCaseEquals` and
ensure that the ones I left in the code make sense.
    - I left some that were related to ENS, transactions and asset data.

## **Related issues**

Fixes: #15404
Resolves: https://consensyssoftware.atlassian.net/browse/MUL-239

## **Manual testing steps**

1. Create a wallet
2. create a sol account
3. import an new SRP
4. create a new Sol account
5. perform a send between your accounts
6. ensure that all the data is correct
7. ensure that all the assets being displayed are as expected
8. ensure that the transaction data being shown on the transaction
details screen is correct for each account.

## **Screenshots/Recordings**

There should be no visible changes with this PR.

### **Before**


https://github.com/user-attachments/assets/0fa9230f-f9de-4524-9fce-f7fd11063043


### **After**


https://github.com/user-attachments/assets/02329abe-c945-4a35-97f2-09401a2a0bdb

#### Tested imported account with multiple tokens and NFTS and its
working as expected

<image
src="https://github.com/user-attachments/assets/6b590409-9917-4d24-8187-f945fbbeb39e"
height="500" width="250" />

<image
src="https://github.com/user-attachments/assets/e1f11be1-f2d7-4aac-b260-5c601e9b6290"
height="500" width="250" />


## **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.
This PR updates the KYC forms to submit data to the deposit provider and
builds an MVP build quote page with an amount that can be changed.

-  adjusts the form keys to match Transak API interfaces
- adds MVP UX with input to build quote page
- passes amount as params to basic info
- passes basic info as params to address form
- submit combined kyc data to transak as a `patchUser` call via deposit
SDK


<!--
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**

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
…)" (#16154)

<!--
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**

The e2e pipeline is currently broken on main because of
#16110. The purpose of
this PR is to revert commit `dc87d4f4fbe8358517a642e77dab2fa0704010c4`
so that we have a stable pipeline once again.


The passing e2e is here:
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/c832b5b8-9db1-49f6-8a6e-0cbadde3a222

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
<!--
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**
To address MetaMask/MetaMask-planning#4229 ,
this pr remove the enable automatic security check option in the
security settings and hide/disable the check prompt on login
This will resultant the minimum version will always been checked.

Another pr will remove all the logics and metrics

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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


https://github.com/user-attachments/assets/8be6e7dd-46e9-495b-89cc-a2727a3636e9


### **After**

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


https://github.com/user-attachments/assets/777fc5d3-fd52-4ada-b8f2-b542d8c5819f


## **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: hieu-w <maestrokoder@gmail.com>
Co-authored-by: hieu-w <hieu@tor.us>
Co-authored-by: Chaitanya Potti <chaitanya.potti@gmail.com>
<!--
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**
1.4
Update New SRP onboarding flow as per figma design

https://www.figma.com/design/pViOUcmjwhEzFsdrwknpNc/Onboarding-redesign?node-id=434-55200&t=wmEoQSF9g9lFtkwp-0

This PR is part 4 of 7 for the new SRP ui update

This PR cover

- new srp backup ui verification flow


<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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


https://github.com/user-attachments/assets/37d04ed0-7534-4800-8cbc-228c9add83a6


## **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: smgv <gpatra1996@gmail.com>
Co-authored-by: Chaitanya Potti <chaitanya.potti@gmail.com>
Co-authored-by: hieu-w <hieu@tor.us>
Co-authored-by: hieu-w <maestrokoder@gmail.com>
Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com>
<!--
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**
To address issue
MetaMask/MetaMask-planning#4086 , onboarding
wizard is disabled from the wallet home screen.
Another PR will be added to remove all related logic and state

<!--
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?
-->
onboarding wizard tour is disabled 

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to Wallet Home Screen after wallet creation
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

https://github.com/user-attachments/assets/8be6e7dd-46e9-495b-89cc-a2727a3636e9

### **After**

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

https://github.com/user-attachments/assets/fa98c19b-ab94-41ce-8dc9-7f9aa09b2718


## **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: Chaitanya Potti <chaitanya.potti@gmail.com>
Co-authored-by: hieu-w <maestrokoder@gmail.com>
Co-authored-by: hieu-w <hieu@tor.us>
## **Description**

Cleanup ticket that moves the notifications js spec into ts.

## **Related issues**

Fixes: https://consensyssoftware.atlassian.net/browse/MMQA-648

## **Manual testing steps**

N/A - this just modifies tests

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **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.
## **Description**

Upgrade assets-controllers to v68

## **Related issues**

Fixes:

## **Manual testing steps**

1. Import account wiht NFTs and switch to Ethereum/linea networks
2. Go to NFTs tab
3. You should see all your NFTs on popular networks
4. Click on current network
5. It should filter correctly
6. Remove any NFT on any network
7. Re-Import NFT
8. Should be removed and imported successfully

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
<!--
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**

<!--
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?
-->

This PR aims to convert confirmation e2e test files to TS.

## **Related issues**

N/A 

## **Manual testing steps**

N/A 

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
…16104)

## **Description**

### Problem
The current `AccountRightButton` component shows network badges that
create confusion about dapp permission behavior:
1. **When dapp is connected:** Shows an "Active Network" badge on the
account avatar, suggesting only that network can receive requests
2. **Reality:** Connected dapps can send confirmation requests for any
permitted network, making the network badge misleading

This UX inconsistency could lead users to believe they're limited to
interactions on the displayed network only.

### Solution
Simplified the `AccountRightButton` behavior to remove misleading
network indicators while maintaining core functionality:

**New Behavior:**
- When no dapp is connected (!selectedAddress): Shows Global Selected
Network avatar
- When dapp is connected (selectedAddress exists): Shows account avatar
only (no network badge)

Maintained Functionality:
- **Disconnected state:** Clicking opens network selector
- **Connected state:** Clicking opens permissions view where users can
edit permitted networks
- Network management through permissions remains fully functional

## **Related issues**

Fixes: MetaMask/MetaMask-planning#5091

## **Manual testing steps**

1. Goto the browser tab
2. Goto any dapp and observe that the network avatar is still their and
clickable
3. When you connect/give permissions to the dapp, the account avatar
still shows and works as usual, but the network badge doesn't show
anymore.

## **Screenshots/Recordings**


https://github.com/user-attachments/assets/589d195e-eb6f-4889-977b-c633d75a0480

### **Before**

`-`

### **After**

`-`

## **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**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] 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.
<!--
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**

This PR extracts `getMultichainBlockExplorer` to its own hook to become
reusable.

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to wallet account action
2. Click on the block explorer link.
3. See that it is working like normal.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
<!--
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**

This PR adds the new account details behind a feature flag. 

Changes:
1. Add EditAccountName and ShareAddress components
2. Nav/App has been updated to add the new bottom sheets.
3. `getMultichainBlockExplorer` has been added to
`app/core/Multichain/networks.ts`
4. The new multichain account details is behind a feature flag in
`app/components/UI/EvmAccountSelectorList/EvmAccountSelectorList.tsx`

<!--
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?
5. What is the improvement/solution?
-->

## **Related issues**

Depends on: #15722

## **Manual testing steps**

1. Manually enable the remote flag
2. Go to account list
6. Click on the 3 dots menu.
7. See the new account details.
8. Click on the address to see the shareable address component.
9. Click on the name to change name. 

## **Screenshots/Recordings**

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

### **Before**

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


https://github.com/user-attachments/assets/1752700b-fb99-494b-b066-8c699bf5e18a



### **After**



https://github.com/user-attachments/assets/2ad59f77-89fa-49b1-bb8f-a493f1ed93b6



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

## **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.
…#15943)

<!--
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**
On Android, SelectComponent scrollview does not scroll to the selected
item automatically when the modal opens. This PR is copying the
behaviour on iOS

## **Related issues**

Fixes: #15942 

## **Manual testing steps**

1. On Android, go to settings -> general -> currency conversion
2. Open the dropdown 
3. Select a currency that's lower down the list, the modal should close
after selected
4. Re-open the modal 
5. should see the selected currency in view

## **Screenshots/Recordings**

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

### **Before**
![Android
before](https://github.com/user-attachments/assets/b7176291-69fc-41b4-b0a4-78495ce03d29)



### **After**
![Android
after](https://github.com/user-attachments/assets/e9e6ce35-1cdc-4746-990f-ffc4830c41b2)


## **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
- [ ] I’ve included tests if applicable
- [ ] 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**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] 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.
## **Description**

This PR changes the account list item to display network avatars. This
change supports a more network-centric approach to account selection,
which is more valuable in a multichain context. Here is the
[Figma](https://www.figma.com/design/MlBUrNnIXlftX4TSjqiUYg/Core-Components?m=auto&node-id=3172-12532&t=kmK0k3E8p5Y6azvO-1)

### Implementation
- Account List Network Indicators: The account list now shows the active
networks by account using the new `AccountNetworkIndicator` component
- Smart Network Activity Sync: Added a new
`useAccountsWithNetworkActivitySync` hook that centralizes network
activity fetching logic for:
- First load (only once per app session, if basic functionality is
enabled)
  - Transaction completion (confirmed transactions)
  - Manual triggers (e.g., after account creation, import etc)
- Improved Multichain Experience: Integrated network indicators into
both `CaipAccountSelectorList` and `EvmAccountSelectorList` components
to show users which networks have activity for each account

### When the data is refreshed
- On first load
- On transaction confirmed
- On SRP import
- On Private key import

### Key Components Added/Modified
- AccountNetworkIndicator: New component that displays network avatars
for accounts with transaction activity
- useAccountsWithNetworkActivitySync: New hook for managing network
activity data synchronization

## **Related issues**

Feature:
[#4057](MetaMask/MetaMask-planning#4057)

## **Manual testing steps**

### On First Load
1. Go to this page wallet home screen
2. Click on account picker at the top
3. Observe that account selector now have network icons sorted by
aggregated network balance

### Import SRP
1. import a address with activity using your SRP
2. Observe that the correct networks are shown

### Import Private Key
1. import a address with activity using your private key
2. Observe that the correct networks are shown

### Send a transaction to a network that hasn't had transaction before
1. Find a fresh address with no activity 
2. Observe that there are no networks avatars in the account list
3. Send a transaction to this new address 
4. Observe the new network avatars

## **Screenshots/Recordings**

### Recording

| Before  | After  | 
|:---:|:---:|

|![before](https://github.com/user-attachments/assets/a95a24df-fb62-4f8d-93d2-278a14d8afee)|![after](https://github.com/user-attachments/assets/a31b9658-7e00-4ec2-8564-0e8ab9c3f79b)|

### Screenshot

| Before  | After  | 
|:---:|:---:|

|![before](https://github.com/user-attachments/assets/1b18c47d-3a26-4356-808f-73b53448e3fb)|![after](https://github.com/user-attachments/assets/b1d53b58-a48f-43aa-951e-86fac6d5dd04)|

### Dapp Permissions

<img
src="https://github.com/user-attachments/assets/92119f84-eb85-4caf-982b-dce83a80f5c6"
width=350 >

### **Before**

NA

### **After**

NA

## **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**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] 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.
<!--
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**

<!--
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?
-->
This PR addresses multiple E2E test failures across the MetaMask mobile
app by fixing selector mismatches, UI flow changes, and
platform-specific compatibility issues. The fixes ensure tests work
reliably across both iOS and Android platforms.
### Root Issues Identified

- Confirmation UI Migration: The app had transitioned to a new
confirmation UI by default, but tests were still using selectors from
the legacy confirmation interface
- Terms of Use Flow Changes: The Terms of Use modal now appears earlier
in the onboarding flow, blocking access to subsequent screens
- Platform-Specific Selector Conflicts: Cross-platform differences in
checkbox and button selectors causing test failures
- Feature Flag Conflicts: Tests needed to force specific UI states for
consistent behavior

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
<!--
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**
Mandatory modal are dismisaable after using the BottomSheet Modal.
Mandatory modal for terms of use are not suppose to be able to be
dismissed

This PR fix the mandatory modal to be not dismissable
<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **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.
<!--
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**

<!--
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?
-->

## **Related issues**

Fixes: #16186 

## **Manual testing steps**

1. Go to swap page
2. Generate a quote
3. Verify that clicking Terms & Conditions opens a web view with the
T&Cs content

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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


https://github.com/user-attachments/assets/cef8e499-a7c0-43bf-8712-d53c336a84cc


## **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**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] 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.
<!--
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**

Recreated version of
#16110

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
<!--
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**
This PR fixes 2 issues, network change event not reflecting and invalid
network being shown on personal_sign, and handleSendTransaction.

Improved the code to better manage getting the current network with
support for the latest Per-DApp Selected changes.
Additionally when personal_sign or other activity like
handleSendTransaction where still using old globalNetworkSelector and
for this case we added a check isPerDappSelectedNetworkEnabled and use
other selectors when true and fallback to old global network selector if
the flag is not yet activated.

Also brought some minimal improvements to the code for better
readability, reduce code duplicity, etc.

<!--
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?
-->

## **Related issues**

Fixes: #15240

## **Manual testing steps**

Please follow the instructions in the related [github
issue](#15240)

## **Screenshots/Recordings**

1st Issue, personal sign showing wrong network after changing the
selected network from the Dapp.

| Before       | After  (with multichain flags)       |  
|--------------|--------------|
| <video
src="https://github.com/user-attachments/assets/d02fcf6e-d20f-4439-a18e-7638637f54d7">
|<video alt="as"
src="https://github.com/user-attachments/assets/d6b45d57-5abf-4119-ab5a-bd2dc9e2bc5f">
| Currently failing, switches network but does not show personal_sign
after |

2nd issue, transaction preview shows wrong network selected
| Before       | After  (with multichain flags)       |  
|--------------|--------------|
| Not recorded | <video
src="https://github.com/user-attachments/assets/8b3085d9-b171-4106-a1bd-ddc9d0cc4784">
|


## **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.

---------

Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
Co-authored-by: tommasini <tommasini15@gmail.com>
…le. (#16150)

<!--
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**
This enables the per dapp selected network feature flag. And updates the
related unit tests.

These files have failing tests need to be fix

on main:
modified:
app/components/UI/PermissionsSummary/PermissionsSummary.test.tsx (snaps
updated by Eric)
modified:
app/components/UI/TransactionElement/TransactionDetails/index.test.tsx
(snaps updated by Eric)
modified:
app/components/Views/AccountPermissions/AccountPermissions.test.tsx
(fixed by Eric)
modified:
app/components/Views/confirmations/components/confirm/confirm-component.test.tsx
(fixed by Goktug)
modified:
app/components/Views/confirmations/components/info-root/info-root.test.tsx
(fixed by Goktug)
modified:
app/components/Views/confirmations/components/info/switch-account-type/switch-account-type.test.tsx
(fixed by Goktug)
modified:
app/components/Views/confirmations/legacy/SendFlow/Confirm/index.test.tsx
(fixed by Goktug)

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.

---------

Co-authored-by: EtherWizard33 <etherwizard22@gmail.com>
Co-authored-by: OGPoyraz <omergoktugpoyraz@gmail.com>
Co-authored-by: NidhiKJha <menidhikjha@gmail.com>
… test execution (#16208)

<!--
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**

<!--
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?
-->

## **Related issues**

Fixes:
https://consensys.slack.com/archives/C02U025CVU4/p1749486101994769

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **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
- [ ] 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.
#16098)

In this PR, the permissions menu total fiat balance always shows the
total for the popular networks regardless of the currently selected
network for the dapp, the globally selected network, and the token
filter value

## **Related issues**

~Fixes: #15639

## **Manual testing steps**

1. Connect to a dapp
2. In the dapp select a network other than the globally selected one
3. Check the account balance in the Permissions menu, it should render
aggregated balance

## **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/9c42c3b7-6fb5-461e-8e23-ff61e44ebe93





### **After**


https://github.com/user-attachments/assets/299da2da-e75e-4504-9da2-9f2786cebf5c



## **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.

---------

Co-authored-by: Alex Donesky <adonesky@gmail.com>
Co-authored-by: ffmcgee <joao.carlos@consensys.net>
Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com>
<!--
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**
After a user completes their KYC, we want to display a screen that polls
for the KYC status and shows either an error or a success screen

<!--
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?
-->

## **Related issues**

Fixes:
https://consensyssoftware.atlassian.net/browse/RAMPS-2477?atlOrigin=eyJpIjoiYzFmNjE1Mjg0YTI5NGY1OTljZTIyMGZiNTVhODA1NDkiLCJwIjoiaiJ9

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**


https://github.com/user-attachments/assets/227c82d0-6601-4941-b45e-e162287000cc


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

### **Before**

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

### **After**

<!-- [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.

---------

Co-authored-by: George Weiler <george.weiler@consensys.net>
Co-authored-by: George Weiler <georgejweiler@gmail.com>
@sethkfman sethkfman changed the title release: 7.50.0 feat: v7.50.0 Jul 3, 2025
@socket-security
Copy link
Copy Markdown

socket-security Bot commented Jul 3, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​rollup/​rollup-linux-x64-gnu@​4.41.01001003799100
Updatednpm/​side-channel@​1.0.6 ⏵ 1.1.06610086 +2152100
Addednpm/​@​types/​get-params@​0.1.21001005376100
Addednpm/​@​solana/​wallet-standard-chains@​1.1.11001006277100
Addednpm/​@​babel/​plugin-proposal-private-methods@​7.18.61001006281100
Updatednpm/​@​babel/​helper-annotate-as-pure@​7.25.9 ⏵ 7.27.11001006393100
Updatednpm/​@​babel/​plugin-transform-private-methods@​7.25.9 ⏵ 7.27.11001006392100
Updatednpm/​@​babel/​helper-optimise-call-expression@​7.25.9 ⏵ 7.27.11001006592100
Addednpm/​openapi-typescript-helpers@​0.0.151001006683100
Addednpm/​@​solana/​wallet-standard-features@​1.3.01001006777100
Addednpm/​react-compiler-runtime@​19.1.0-rc.21001006897100
Addednpm/​@​redux-devtools/​utils@​3.1.1981006979100
Updatednpm/​@​babel/​helper-plugin-utils@​7.26.5 ⏵ 7.27.11001006993100
Updatednpm/​@​babel/​helper-validator-option@​7.25.9 ⏵ 7.27.11001006992100
Addednpm/​@​wallet-standard/​wallet@​1.1.01001007081100
Addednpm/​@​wallet-standard/​base@​1.1.01001007081100
Addednpm/​@​wallet-standard/​features@​1.1.01001007081100
Updatednpm/​@​metamask/​keyring-internal-snap-client@​4.0.2 ⏵ 4.1.097 +110071 +190100
Updatednpm/​@​metamask/​keyring-internal-api@​6.0.1 ⏵ 6.2.097 +110071 +292100
Updatednpm/​@​babel/​helper-validator-identifier@​7.25.9 ⏵ 7.27.11001007192100
Addednpm/​@​metamask/​account-tree-controller@​0.1.1721007192100
Updatednpm/​@​metamask/​address-book-controller@​6.0.3 ⏵ 6.1.097 +110071 +194100
Updatednpm/​@​babel/​code-frame@​7.26.2 ⏵ 7.27.11001007293100
Updatednpm/​@​metamask/​multichain-transactions-controller@​1.0.0 ⏵ 2.0.0961007296 +1100
Updatednpm/​@​contentful/​rich-text-types@​16.7.0 ⏵ 16.8.510010072 +192100
Updatednpm/​@​babel/​helper-string-parser@​7.25.9 ⏵ 7.27.11001007292100
Updatednpm/​@​metamask/​keyring-snap-client@​4.1.0 ⏵ 5.0.099 +110073 +190100
Updatednpm/​@​babel/​helper-compilation-targets@​7.26.5 ⏵ 7.27.2100 +110073 +193100
Updatednpm/​@​babel/​helper-member-expression-to-functions@​7.25.9 ⏵ 7.27.1100 +110073 +192100
Updatednpm/​@​metamask/​preferences-controller@​17.0.0 ⏵ 18.1.09810073 +194 -3100
Updatednpm/​@​babel/​helper-module-imports@​7.25.9 ⏵ 7.27.11001007392100
Updatednpm/​@​metamask/​multichain-network-controller@​0.7.0 ⏵ 0.8.0991007495100
See 89 more rows in the dashboard

View full report

@socket-security
Copy link
Copy Markdown

socket-security Bot commented Jul 3, 2025

Caution

Review the following alerts detected in dependencies.

According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. It is recommended to resolve "Warn" alerts too. Learn more about Socket for GitHub.

Action Severity Alert (click for details)
Block High
npm/@consensys/native-ramps-sdk@1.0.4 has Unstable ownership.

Author: rizedr

From: package.jsonnpm/@consensys/native-ramps-sdk@1.0.4

ℹ Read more on: This package | This alert | What is unstable ownership?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Try to reduce the number of authors you depend on to reduce the risk to malicious actors gaining access to your supply chain. Packages should remove inactive collaborators with publishing rights from packages on npm.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@consensys/native-ramps-sdk@1.0.4. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Medium
npm/contentful@11.5.23 has Network access.

Module: globalThis["fetch"]

Location: Package overview

From: package.jsonnpm/contentful@11.5.23

ℹ Read more on: This package | This alert | What is network access?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/contentful@11.5.23. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Medium
npm/openapi-fetch@0.13.7 has Network access.

Module: globalThis["fetch"]

Location: Package overview

From: yarn.locknpm/openapi-fetch@0.13.7

ℹ Read more on: This package | This alert | What is network access?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/openapi-fetch@0.13.7. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Medium
npm/redux-devtools-expo-dev-plugin@1.0.0 has Network access.

Module: globalThis["fetch"]

Location: Package overview

From: package.jsonnpm/redux-devtools-expo-dev-plugin@1.0.0

ℹ Read more on: This package | This alert | What is network access?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/redux-devtools-expo-dev-plugin@1.0.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
npm/@solana/wallet-standard-chains@1.1.1 has a New author.

New Author: solana-devs

Previous Author: jordansexton

From: yarn.locknpm/@solana/wallet-standard-chains@1.1.1

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@solana/wallet-standard-chains@1.1.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
npm/@solana/wallet-standard-features@1.3.0 has a New author.

New Author: solana-devs

Previous Author: jordansexton

From: yarn.locknpm/@solana/wallet-standard-features@1.3.0

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@solana/wallet-standard-features@1.3.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
npm/redux@5.0.1 has a New author.

New Author: phryneas

Previous Author: acemarke

From: yarn.locknpm/redux@5.0.1

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/redux@5.0.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
npm/@babel/plugin-proposal-private-methods@7.18.6 is Deprecated.

Reason: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.

From: yarn.locknpm/@babel/plugin-proposal-private-methods@7.18.6

ℹ Read more on: This package | This alert | What is a deprecated package?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Research the state of the package and determine if there are non-deprecated versions that can be used, or if it should be replaced with a new, supported solution.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@babel/plugin-proposal-private-methods@7.18.6. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

sethkfman and others added 2 commits July 3, 2025 17:14
…LD flag key (#16910)

- fix: cp-7.50.0 removed local flag and regression on LD flag key
(#16903)

<!--
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**
Regression on LD flag and simplified to remove bug to ensure Contentful
Banners are displayed

<img width="285" alt="Screenshot 2025-07-03 at 12 59 12 PM"

src="https://github.com/user-attachments/assets/7b41785c-b5ec-4f70-842b-c58b512a50f6"
/>


<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.

---------

Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
[b93bd5b](b93bd5b)

---------

Co-authored-by: Marci McBride <mcbridemarci@users.noreply.github.com>
Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
Co-authored-by: Marci McBride <mcbridemarci@gmail.com>
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 76.30662% with 68 lines in your changes missing coverage. Please review.

Please upload report for BASE (stable@a59525a). Learn more about missing BASE report.

Files with missing lines Patch % Lines
...aipAccountSelectorList/CaipAccountSelectorList.tsx 73.49% 18 Missing and 4 partials ⚠️
app/components/Nav/App/App.tsx 23.52% 13 Missing ⚠️
app/components/Nav/Main/MainNavigator.js 0.00% 9 Missing ⚠️
...omponents/Modals/ModalMandatory/ModalMandatory.tsx 60.00% 5 Missing and 1 partial ⚠️
app/components/Nav/Main/index.js 0.00% 6 Missing ⚠️
app/actions/identity/index.ts 83.33% 3 Missing ⚠️
...omponents/UI/AccountFromToInfoCard/AddressFrom.tsx 50.00% 0 Missing and 3 partials ⚠️
app/components/UI/AssetOverview/AssetOverview.tsx 77.77% 0 Missing and 2 partials ⚠️
...nts-temp/CellSelectWithMenu/CellSelectWithMenu.tsx 0.00% 0 Missing and 1 partial ⚠️
...ts/Approvals/AddChainApproval/AddChainApproval.tsx 0.00% 1 Missing ⚠️
... and 2 more
Additional details and impacted files
@@            Coverage Diff            @@
##             stable   #16518   +/-   ##
=========================================
  Coverage          ?   72.14%           
=========================================
  Files             ?     2663           
  Lines             ?    57745           
  Branches          ?     9028           
=========================================
  Hits              ?    41658           
  Misses            ?    13458           
  Partials          ?     2629           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

tommasini and others added 11 commits July 4, 2025 16:00
<!--
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**
cp #16916
<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
…system (#16967)

- fix: cp-7.50.0 align sdk connection with permission system (#16460)

<!--
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**

This PR updates the SDK connection flow to consistently use the latest
permissions system UI, removing legacy components and streamlining the
connection experience.

- Removed the legacy `AccountConnectSingle` component in favor of using
the newer `PermissionsSummary` component consistently
- Eliminated the conditional rendering between old and new UI based on
`isSdkUrlUnknown`
- Simplified icon handling and URL state management
- Improved callback handling with proper memoization using `useCallback`
- Consolidated connection confirmation logic into a single
`handleConfirm` function
- Use channelIdOrHostname to fetch and store permissions instead of just
hostname
- Fixed lots of Wallet Connect issues as part of this PR those addresses
in the videos mainly, apart from the minor UI change

## **Related issues**

- Depends on #14602 

## **Manual testing steps**

- SDK connection requests from dapps
- WalletConnect connection flows
- Permission granting for both known and unknown origins
- Network switching during connection
- Multiple account selection flows



## **Screenshots/Recordings**
We first want to alignt eh AccountConnect.tsx component to the latest
permission UI.

| Before       | After      |  
|--------------|--------------|
|

![image](https://github.com/user-attachments/assets/2ed702ff-6ec9-4bd5-94b3-57ef92485d70)
|

![image](https://github.com/user-attachments/assets/93c1f8a3-9af4-40bf-97fe-1970770fe030)
|

## Additional recordings
Switching networks with pre-approved networks (addEthereumNetwork +
SwitchEthereumNetwork) VS only SwitchEthereumNetwork
| Without pre-approved networks  | with pre-approved networks     |  
|--------------|--------------|
| <video

src="https://github.com/user-attachments/assets/0e0eb6ec-7a89-441c-83be-fc634bb0e89a"
/> | <video

src="https://github.com/user-attachments/assets/1f6943ee-13f5-4f4c-b902-0594c278c1de"
/> |

| WC Session restore on cold start |  
|--------------|
| <video

src="https://github.com/user-attachments/assets/8e8967cb-1241-4040-9c53-de259076ff0b"
/> |










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




## **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**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] 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: Edward Penta <eddie.penta@consensys.net>
[724c3ea](724c3ea)

---------

Co-authored-by: Javier Ribó <javi.ribo@consensys.net>
Co-authored-by: Edward Penta <eddie.penta@consensys.net>
….11.0 (#16981)

- chore: cp-7.50.0 bump controller utils to version 11.11.0 (#16968)

<!--
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**
Bump controller utils to v^11.11.0
This is a copy of this external contribution PR -
https://github.com/MetaMask/metamask-mobile/pull/16950/files

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

<!-- [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.
[2697dea](2697dea)

Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com>
#16993)

- fix: cp-7.50.0 fix bridge account selection (#16988)

<!--
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**
Fixes bug where destination account selector broke the bridge UI after
clearing the default selection.

<!--
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?
-->

## **Related issues**

Fixes: #16983

## **Manual testing steps**

1. Go to Bridge
2. Select Solana to EVM or vice versa
3. Clear default account and select new account

## **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/ee736a5e-0b99-445a-bf5a-856031c2ccbb


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

### **After**



https://github.com/user-attachments/assets/002af379-f00b-4fc8-a9c9-0528aea6e35f


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

## **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.
[4daee83](4daee83)

Co-authored-by: Bryan Fullam <bryan.fullam@consensys.net>
…m acc from solana acc (#17028)

- fix: cp-7.50.0 crash app when selecting evm acc from solana acc
(#17019)

<!--
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**
The `CollectibleContracts` component was receiving non-EVM data, and it
is not ready for it.
<!--
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:

## **Related issues**

Fixes: #17016 

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

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

### **Before**

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

### **After**



https://github.com/user-attachments/assets/bd2455f6-3259-4e5b-ae89-607350f8d7f6


<!-- [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.
[bc588f2](bc588f2)

Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com>
This PR updates the change log for 7.50.0 and generates the test plan
here
[commit.csv](https://github.com/MetaMask/metamask-mobile/blob/chore/7.50.0-Changelog/commits.csv)

---------

Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com>
Co-authored-by: tommasini <tommasini15@gmail.com>
@sonarqubecloud
Copy link
Copy Markdown

@tommasini tommasini marked this pull request as ready for review July 10, 2025 11:09
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jul 10, 2025

https://bitrise.io/ Bitrise

✅✅✅ pr_smoke_e2e_pipeline passed on Bitrise! ✅✅✅

Commit hash: b1144ca
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/70d781be-6e29-4c31-9f27-b3d62fe8882e

Note

  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

@tommasini tommasini merged commit bc83b72 into stable Jul 10, 2025
43 of 50 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.