Skip to content

chore: stable sync 7.45.1 #15064

New issue

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

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

Already on GitHub? Sign in to your account

Open
wants to merge 191 commits into
base: main
Choose a base branch
from
Open

chore: stable sync 7.45.1 #15064

wants to merge 191 commits into from

Conversation

sethkfman
Copy link
Contributor

Description

chore: stable sync 7.45.1

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

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

metamaskbot and others added 30 commits February 13, 2025 22:48
This PR updates the change log for 7.41.0 and generates the test plan
here
[commit.csv](https://github.com/MetaMask/metamask-mobile/blob/chore/7.41.0-Changelog/commits.csv)

---------

Co-authored-by: metamaskbot <[email protected]>
- chore: remove SRP videos (#13507)

## **Description**

Removing the SRP video (saving 7.5 mb) and replaced with new designs

[here](https://www.figma.com/design/pViOUcmjwhEzFsdrwknpNc/Onboarding-redesign?node-id=1-117&t=SrTBBEz0dgAQsaoU-1)
In the future we are doing a bigger redesign. This is a small step
towards it

## **Related issues**

Fixes:

## **Manual testing steps**

1. Fresh install of the app
2. Create a new wallet and going through onboarding flow, make sure the
new design is there and fits on all devices
3. Afterwards goto settings and goto "Security and Privacy" to make sure
its removed altogether (no design)

## **Screenshots/Recordings**

### Larger Devices
iPhone 16

<img

src="https://github.com/user-attachments/assets/a470060d-292f-46fc-acbe-2d3eea859557"
width="250px" />

### Smaller Devices

iPhone SE



https://github.com/user-attachments/assets/f2f45941-1b1d-4f2b-8151-c0028183f1f0

Pixel 2

<img

src="https://github.com/user-attachments/assets/94ebea2e-100b-469a-afbc-f61369e2ee5f"
width="250px" />

### **Before**

<img

src="https://github.com/user-attachments/assets/a9c9011c-a466-4d1b-bcac-fcf930e1c5c1"
width="250px" />


### **After**

<img

src="https://github.com/user-attachments/assets/20f44bf9-17fe-440e-984e-69ce18a2b70f"
width="250px" />


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

Co-authored-by: Vince Howard <[email protected]>
This PR cherry-picks #13530

Co-authored-by: Vince Howard <[email protected]>
This PR cherry-picks #13513

Co-authored-by: sahar-fehri <[email protected]>
This PR cherry-picks #13484

Co-authored-by: sahar-fehri <[email protected]>
This PR cherry-picks #13503

Co-authored-by: Vince Howard <[email protected]>
Updated formatting to info plist
This PR cherry-picks
#12857

---------

Co-authored-by: Eric Bishard <[email protected]>
Co-authored-by: metamaskbot <[email protected]>
Co-authored-by: Owen Craston <[email protected]>
## **Description**

- Added additional app icons
- Removed unused tint fields in `Contents.json`
- Updated `info.plist`

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

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.
This PR cherry-picks #13554

Co-authored-by: tommasini <[email protected]>
… workarounds) (#13586)

This PR cherry-picks #13509

Co-authored-by: Davide Brocchetto <[email protected]>
… package into existing pooled staking hooks) (#13612)

This PR cherry-picks
#13594
This PR cherry-picks #13590

Co-authored-by: Eric Bishard <[email protected]>
…yModal` (#13669)

- fix: cp-7.41.0 Prevent flickering on `RetryModal` (#13637)

<!--
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 relocates `RetryModal` to stop flickering in
`TransactionsHistory` screen.

## **Related issues**

Fixes: #13547

## **Manual testing steps**

See issue #13547

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

Co-authored-by: OGPoyraz <[email protected]>
)

- fix: cp-7.41.0 Temporarily revert gas included swaps (#13639)

## **Description**
Reverts #13430 for now.

We initially believed that resolving the known issue with gas-included
swaps requiring token approval would be easy and could be completed
before the release candidate for version 7.41.0 was pushed to
production, but it turns out that more fundamental changes are needed.
Specifically, submitBatch support from the
TransactionController—allowing the simultaneous submission of multiple
transactions (approval and swap)—is required. This submitBatch support
will likely also be used for current swaps that need token approval to
increase success rates.

## **Related issues**

Fixes: #13584 

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

Co-authored-by: Daniel <[email protected]>
<!--
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? -->

Cherry-picks
bee0c07

This PR relocates `RetryModal` to stop flickering in
`TransactionsHistory` screen.

## **Related issues**

Fixes: #13547

## **Manual testing steps**

See issue #13547

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

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

Fix request from url displayed for signatures. Wrong url is spamming
sentry.

## **Related issues**

Fixes: #13580

## **Manual testing steps**
NA

## **Screenshots/Recordings**
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**

- [ ] 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.
…#13695)

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

Fix swaps done using hardware wallets.

## **Related issues**

Fixes: #13570 

## **Manual testing steps**

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

## **Screenshots/Recordings**
TODO

## **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: OGPoyraz <[email protected]>
…cons for improved dark/light mode handling (#13697)

- fix: cp-7.41.0 implement transparent app icons for improved dark/light
mode handling (#13597)

## **Description**

**Issue:** Our app icons were stuck in dark mode and ignored light mode
settings in TestFlight builds (while working correctly locally). The
build process was stripping the light mode icons during compilation.

**Solution:** Implement transparent background app icons that leverage
iOS system defaults:
- Light mode: System automatically applies white background
- Dark mode: System automatically applies gradient black background
This matches our brand color schemes perfectly and simplifies our icon
management.

**Additional Changes:**
- Removed legacy `CFBundleIcons` dictionary from Info.plist
- Kept only the modern `CFBundleIconName` entry
- Simplified asset catalog configuration to use transparent icons

**Risk Assessment:**
- Primary risk is potential App Store rejection due to transparent app
icons
- However, many apps successfully use this approach
- Fallback backgrounds are consistent with our brand guidelines
- Simplifies our icon management and build process

### Testing:
- Verified icons display correctly in development
- Confirmed proper light/dark mode behavior locally

### Next Steps:
- Monitor App Store review process
- Have backup solution with explicit backgrounds if needed
- Document this approach for future reference

## **Related issues**

Fixes:
[#4226](https://github.com/MetaMask/MetaMask-planning/issues/4226)

## **Manual testing steps**

1. Install a fresh app
2. Hold down on the home screen until the apps jiggle, indicating that
the icons can be moved/deleted/edited
3. Click on the "Edit" button at the top right or left depending on the
device, and click "Customize"
4. A bottom sheet should appear allowing you to toggle light, dark, and
tint
5. Confirm that those still work

## **Screenshots/Recordings**

### Release Build



https://github.com/user-attachments/assets/bf3365b6-ac27-4592-a48b-56ae9a28bd18

### **Before**

![Screenshot 2025-02-17 at 09 51

36](https://github.com/user-attachments/assets/cada73ae-4b0b-46ab-b8d8-b319bdfbe1ee)

### **After**



![after](https://github.com/user-attachments/assets/dee4e5c3-9d17-4ea7-a025-4851949d4fea)

## **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: metamaskbot <[email protected]>
[3d1e941](3d1e941)

Co-authored-by: Vince Howard <[email protected]>
Co-authored-by: metamaskbot <[email protected]>
…ting tags in pre-init (#13694)

- fix: cp-7.41.0 Handle better errors by getting tags in pre-init
(#13598)

## **Description**

Handle errors in a more scalable way by adding a try catch to get tags
function. Also added test coverage

## **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.
[257c3ac](257c3ac)

Co-authored-by: tommasini <[email protected]>
metamaskbot and others added 19 commits April 25, 2025 20:56
## **Description**

Adds patch for Account Tracker parallelization. This is added in
`@metamask/[email protected]`.

This change is already in main - introduced in this PR
#14768

## **Related issues**

Fixes: #14856

## **Manual testing steps**

Test asset flows.

## **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.
This PR cherry-picks #14920

Co-authored-by: Prithpal Sooriya <[email protected]>
This PR cherry-picks #14925

Co-authored-by: Prithpal Sooriya <[email protected]>
Co-authored-by: sethkfman <[email protected]>
# 🚀 v7.45.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
- [x] Accounts  
- [x] Assets  
- [x] Confirmations  
- [x] Design System  
- [x] Identity  
- [x] Mobile Platform  
- [x] Network Enablement  
- [x] Product Safety  
- [x] Ramp  
- [x] SDK  
- [x] Snaps Platform  
- [x] Solana
- [x] Stake/Earn
- [x] Swaps and Bridge  
- [x] Wallet Framework  
- [x] Wallet UX  

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
- Testing plan sheet -
https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit?usp=sharing

---------

Signed-off-by: augmentedmode <[email protected]>
Co-authored-by: metamaskbot <[email protected]>
Co-authored-by: sethkfman <[email protected]>
Co-authored-by: George Marshall <[email protected]>
Co-authored-by: Vince Howard <[email protected]>
Co-authored-by: runway-github[bot] <73448015+runway-github[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: sahar-fehri <[email protected]>
Co-authored-by: Aslau Mario-Daniel <[email protected]>
Co-authored-by: Eric Bishard <[email protected]>
Co-authored-by: Owen Craston <[email protected]>
Co-authored-by: tommasini <[email protected]>
Co-authored-by: Curtis David <[email protected]>
Co-authored-by: Davide Brocchetto <[email protected]>
Co-authored-by: Matthew Grainger <[email protected]>
Co-authored-by: OGPoyraz <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: Jyoti Puri <[email protected]>
Co-authored-by: Prithpal Sooriya <[email protected]>
Co-authored-by: Xiaoming Wang <[email protected]>
Co-authored-by: Nick Gambino <[email protected]>
Co-authored-by: Brian August Nguyen <[email protected]>
Co-authored-by: Nico MASSART <[email protected]>
Co-authored-by: Salim TOUBAL <[email protected]>
Co-authored-by: CW <[email protected]>
Co-authored-by: Pedro Figueiredo <[email protected]>
Co-authored-by: digiwand <[email protected]>
Co-authored-by: Gustavo Antunes <[email protected]>
Co-authored-by: Vinicius Stevam <[email protected]>
Co-authored-by: EtherWizard33 <[email protected]>
Co-authored-by: Bryan Fullam <[email protected]>
Co-authored-by: Devin Stewart <[email protected]>
Co-authored-by: Ziad Saab <[email protected]>
Co-authored-by: Nicholas Smith <[email protected]>
Co-authored-by: George Weiler <[email protected]>
Co-authored-by: Cal Leung <[email protected]>
Co-authored-by: Amitabh Aggarwal <[email protected]>
Co-authored-by: Gauthier Petetin <[email protected]>
Co-authored-by: Frederik Bolding <[email protected]>
Co-authored-by: infiniteflower <[email protected]>
Co-authored-by: Iván <[email protected]>
Co-authored-by: Daniel Cross <[email protected]>
Co-authored-by: Owen Craston <[email protected]>
Co-authored-by: Kylan Hurt <[email protected]>
Co-authored-by: jake-perkins <[email protected]>
Co-authored-by: David Drazic <[email protected]>
Co-authored-by: Pedro Pablo Aste Kompen <[email protected]>
Co-authored-by: AxelGes <[email protected]>
Co-authored-by: Michele Esposito <[email protected]>
Co-authored-by: AugmentedMode <[email protected]>
Co-authored-by: António Regadas <[email protected]>
Co-authored-by: Monte Lai <[email protected]>
Co-authored-by: yande <[email protected]>
Co-authored-by: Mathieu Artu <[email protected]>
Co-authored-by: mar <[email protected]>
Co-authored-by: David Walsh <[email protected]>
Co-authored-by: Elliot Winkler <[email protected]>
Co-authored-by: AxelGes <[email protected]>
Co-authored-by: George Weiler <[email protected]>
Co-authored-by: Charly Chevalier <[email protected]>
Co-authored-by: Alejandro Garcia Anglada <[email protected]>
Co-authored-by: Stanley Yuen <[email protected]>
Co-authored-by: wantedsystem <[email protected]>
Co-authored-by: cmd-ob <[email protected]>
Co-authored-by: Yande <[email protected]>
Co-authored-by: Maarten Zuidhoorn <[email protected]>
Co-authored-by: Hassan Malik <[email protected]>
Co-authored-by: Bernardo Garces Chapero <[email protected]>
Co-authored-by: cryptodev-2s <[email protected]>
Co-authored-by: ffmcgee <[email protected]>
Co-authored-by: tommasini <[email protected]>
Co-authored-by: João Loureiro <[email protected]>
Co-authored-by: abretonc7s <[email protected]>
Co-authored-by: Tamas <[email protected]>
Co-authored-by: Edward Penta <[email protected]>
Co-authored-by: Christopher Ferreira <[email protected]>
Co-authored-by: Eddie Penta <[email protected]>
Co-authored-by: Desi McAdam <[email protected]>
Co-authored-by: Shane T <[email protected]>
Co-authored-by: Frank von Hoven <[email protected]>
Runway bumped your version to 7.45.1
- chore: cp-7.25.0 bump `@metamask/keyring-controller` to `^21.0.4`
(#14702)
…#15037)

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

**Context:**

We added a patch that was introduced on a previous asset controller
upgrade (found
[here](https://github.com/MetaMask/metamask-mobile/pull/14723/files#diff-eeddf1747b9c2f9185279ccf2a15740597c0fd46fbee126c20a95971adf623c0R172)).

This patch added parallelisation which helped improve mobile
performance.
So we took this patch and added it to 7.45.0
([here](#14928)).

**Issue:**

This patch performance update also came bundled with a controller
upgrade.
Looking through the
[changelog](https://github.com/MetaMask/core/blob/main/packages/assets-controllers/CHANGELOG.md#5600),
it indicated some changed internal data structures in the
AccountsTrackerController. This caused this issue
#14991 , as the
accountTracker was updating datastructures that were not used.

**Fix:**
Carefully modified the patch so that it would work with the previous
assets controllers, and [prevented changing/removing any existing data
structures](https://github.com/MetaMask/core/pull/5310/files#diff-917e371461a96a1d0cd3b06add0191b8a6b3d505e961a82d86ca4483c67a6a30L336-L370).

## **Related issues**

Fixes: #14991

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

Hot fix for 7.45.1

## **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.
@sethkfman sethkfman added No QA Needed Apply this label when your PR does not need any QA effort. team-mobile-platform Mobile Platform team No E2E Smoke Needed If the PR does not need E2E smoke test run no-changelog Indicates no external facing user changes, therefore no changelog documentation needed labels May 1, 2025
@sethkfman sethkfman requested a review from a team as a code owner May 1, 2025 20:44
Copy link
Contributor

github-actions bot commented May 1, 2025

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

Copy link

sonarqubecloud bot commented May 1, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
No E2E Smoke Needed If the PR does not need E2E smoke test run No QA Needed Apply this label when your PR does not need any QA effort. no-changelog Indicates no external facing user changes, therefore no changelog documentation needed team-mobile-platform Mobile Platform team
Projects
None yet
Development

Successfully merging this pull request may close these issues.