Skip to content

chore: stable main 7.46.2 sync #15938

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

Merged
merged 325 commits into from
Jun 2, 2025
Merged

chore: stable main 7.46.2 sync #15938

merged 325 commits into from
Jun 2, 2025

Conversation

sethkfman
Copy link
Contributor

Description

This PR sync stable & main for 7.46.2 release.

Related issues

Fixes: NA

Manual testing steps

  1. NA

Screenshots/Recordings

NA

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 March 27, 2025 14:06
<!--
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 sync stable and main with the 7.43.0 release.

## **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 <[email protected]>
Co-authored-by: MetaMask Bot <[email protected]>
Co-authored-by: runway-github[bot] <73448015+runway-github[bot]@users.noreply.github.com>
Co-authored-by: Vince Howard <[email protected]>
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]>
## **Description**

This PR adjust a minor formatting issue causing problems on the
`bitrise.yml` script.

## **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 <[email protected]>
This PR updates the change log for 7.44.0 and generates the test plan
here
[commit.csv](https://github.com/MetaMask/metamask-mobile/blob/chore/7.44.0-Changelog/commits.csv)

---------

Co-authored-by: metamaskbot <[email protected]>
Co-authored-by: sethkfman <[email protected]>
This PR cherry-picks #14379

Co-authored-by: Owen Craston <[email protected]>
This PR cherry-picks #cherry-pick-7.44.0-import-srp

Co-authored-by: Monte Lai <[email protected]>
MetaMask is in the process of releasing Solana in version 7.44.0. This
build is currently using the beta features set. The problem is that
Bitcoin was also included in the `keyring-snaps` feature set but this
feature is not ready yet. In order to remove Bitcoin from the latest
release, I have created a new code fence feature flag called `bitcoin`
(same as extension) and moved the Bitcoin features inside of this code
fence. The result is that user will not see any Bitcoin related actions
in their wallet. I also removed the multichainSettings since they were
defaulted to true anyway and were not used at all.

Fixes: #14360

1. edit your `.js.env` file and change the `METAMASK_BUILD_TYPE` to
`beta`
2. source .js.env
3. yarn setup && yarn start:ios
4. create / import a wallet
5. Once you have created the wallet, click on the account selector list
6. click "add account or hardware wallet"
7. you should NOT see Bitcoin or Bitcoin testnet as an option anymore
8. you SHOULD see Solana as an option
9. Pressing Solana creates a valid solana account for you.

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

<image

src="https://github.com/user-attachments/assets/b4395c9f-d594-4543-a4b7-df842201774b"
height="600" width="300" />

<image

src="https://github.com/user-attachments/assets/bfdfaaf5-d6b5-43a2-962a-c23f62cb85ea"
height="600" width="300" />

<image

src="https://github.com/user-attachments/assets/4117cda6-968c-4afa-9f75-2319f7e2823e"
height="600" width="300" />

This feature is still available on flask.

<image

src="https://github.com/user-attachments/assets/5f421c40-fa4d-4977-8ee0-8cf11c087167"
height="600" width="300" />

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

- [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.
-->
…nfirmations (#14401) (#14409)

This PR cherry-picks fix: cp-7.44.0 Add new feature flag for staking
confirmations (#14401)

Co-authored-by: OGPoyraz <[email protected]>
## **Description**

Issue: The network controller may return data that is missing or
malformed

Solution: Add a guard clause when building the block explorer URL. When
`undefined` is thrown, The "View on Etherscan" option will not be shown
in the edit account bottom sheet

Also fixed an issue where the fixture builder was return malformed
network configurations object which would crash on tests

## **Related issues**

Fixes:
#[14255](#14255)

## **Manual testing steps**

### Normal Flow
1. Goto wallet home screen
2. Switch to any network 
3. Click on the account switch button up top
4. Click on the kebab icon next to an account 
5. The bottom sheet should appear as normal
6. If the network controller returns any malformed object that relates
to building a block explorer url, the "View on Etherscan" should not be
shown

### E2E Flow
#### To test the guard clause
1. Comment out the guard clause
```typescript
      if (!explorer) {
        return undefined;
      }
 ```
2. Undo all the changes from `e2e/fixtures/fixture-builder.js` in this PR
3. Run `yarn test:e2e:ios:debug:build` this will give you a build with a malformed network which is Localhost in this case
4. Run `yarn test:e2e:ios:debug:run e2e/specs/accounts/change-account-name.spec.js` and observe the invalid url error
5. Comment back the guard clause and re-run the e2e test and it should pass without the changes from `e2e/fixtures/fixture-builder.js`

#### To test the fixture fix
1. Comment out the guard clause
```typescript
      if (!explorer) {
        return undefined;
      }
 ```
2. Run `yarn test:e2e:ios:debug:run
e2e/specs/accounts/change-account-name.spec.js` and it will pass


## **Screenshots/Recordings**

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


|![before](https://github.com/user-attachments/assets/d6e939bc-c439-432e-8bb0-c5abd5335ac0)|![after](https://github.com/user-attachments/assets/a7aa3a6f-2eca-4c5a-a004-2cb72121ceeb)|

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

## **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: Vince Howard <[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**

This fixes the Swap smoke tests failing in the pipeline

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

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

## **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: Davide Brocchetto <[email protected]>
…14462)

## Description

When this [PR was
merged](#14406), it
broke the beta builds when creating a solana account. A user would press
the create solana account button and nothing would happen. This was due
to an issue with the code fences. This PR addresses this issue by moving
the appropriate type imports inside the appropriate code fence.

Fixes: #14459

1. ensure that you are building metamask-beta by changing the value of
METAMASK_BUILD_TYPE in the .js.env file to "beta"
2. yarn setup && yarn start:ios
3. import a wallet
4. click on the selected account at the top of the screen
5. click on "add new account or hardware wallet"
6. click solana
7. A solana account should be created and the network should be
switched.


https://github.com/user-attachments/assets/c6186d79-2335-45e3-948c-39e9182f3873


https://github.com/user-attachments/assets/e3b0c6ac-8dcd-494d-9cb1-f91fc9f1863e

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

- [ ] 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.
-->
metamaskbot and others added 7 commits May 27, 2025 07:36
update RC version to 7.46.2
## **Description**

PR for the hotfix release 7.46.2

## **Related issues**

Adds fixes for the following issues:

- #15496

## **Manual testing steps**

See each issue and their cherry picked fix

## **Screenshots/Recordings**

N/A

### **Before**

N/A

### **After**

N/A

## **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.
@sethkfman sethkfman added the team-mobile-platform Mobile Platform team label May 30, 2025
Copy link
Contributor

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

socket-security bot commented May 30, 2025

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

@sethkfman sethkfman added No QA Needed Apply this label when your PR does not need any QA effort. No E2E Smoke Needed If the PR does not need E2E smoke test run labels May 30, 2025
@sethkfman sethkfman marked this pull request as ready for review May 30, 2025 19:55
@sethkfman sethkfman requested a review from a team as a code owner May 30, 2025 19:55
@github-project-automation github-project-automation bot moved this to Needs dev review in PR review queue May 30, 2025
Copy link

Copy link
Contributor

@Cal-L Cal-L left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-project-automation github-project-automation bot moved this from Needs dev review to Review finalised - Ready to be merged in PR review queue Jun 2, 2025
@sethkfman sethkfman added this pull request to the merge queue Jun 2, 2025
Merged via the queue into main with commit d8d985d Jun 2, 2025
47 of 49 checks passed
@sethkfman sethkfman deleted the chore/stable-main-7.46.2-sync branch June 2, 2025 17:03
@github-project-automation github-project-automation bot moved this from Review finalised - Ready to be merged to Merged, Closed or Archived in PR review queue Jun 2, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Jun 2, 2025
@metamaskbot metamaskbot added the release-7.48.0 Issue or pull request that will be included in release 7.48.0 label Jun 2, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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. release-7.48.0 Issue or pull request that will be included in release 7.48.0 team-mobile-platform Mobile Platform team
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.