Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Fix typos in multiple files #13169

Closed
wants to merge 1,418 commits into from
Closed

Conversation

Marcofann
Copy link

This pull request addresses several minor typos in comments and variable names across various files, ensuring better clarity and consistency in the codebase.

Notes to reviewers:

  • All typos were located in documentation and variable names.
  • Please verify if there are any other typos that might need correction.

How has it been tested?
The changes have been reviewed manually to ensure no other errors or formatting issues are present.

dan437 and others added 30 commits November 26, 2024 17:39
## **Description**

Removes an unnecessary event prop smart_transaction_duplicated, as we
did in the extension:
MetaMask/metamask-extension#28546

## **Related issues**

Fixes:

## **Manual testing steps**

1. This event prop won't be available anymore in some events after
submitting a smart transaction.

## **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**
- the current active network should also be available from the checkbox
list.
- also added logging that was missing.
<!--
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 main screen and switch to a network that is not permitted for
that connected dapp, in the example below pancake swap.
2. Go to the dapp, ignore the first opportunity to grant permission for
the current network and go to the checkbox list, then grant permission
to the current active network.
3. Now that permission is granted pick that network, the bottom sheet
closes.

## **Screenshots/Recordings**

>
| Before      | After    |
|--------------|--------------|
| <img width="330" alt="Screenshot 2024-04-18 at 3 56 43 PM"
src="https://github.com/user-attachments/assets/df851f4f-128e-4bbe-8d79-16447a472de7">
|<img width="330" alt="Screenshot 2024-04-18s at 3 56 43 PM"
src="https://github.com/user-attachments/assets/3c790c3e-8d5b-4fa6-becb-6466d56bf42e">
|








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

This PR refactors the staking-related state management by introducing a
staking redux slice. This change improves state management consistency,
reduces duplicate state, and makes the data flow more predictable across
the staking feature.

- Created new `PooledStaking` slice to manage staking-related state
- Refactored hooks to use Redux store instead of local state:
  - `usePooledStakes`
  - `useStakingEligibility`
  - `useVaultData`
  - `useStakingEarnings`
- Moved `hasStakedPositions` from `usePooledStakes` to
`useStakingEarnings` to avoid prop drilling
- Updated tests to reflect new state management pattern

## **Related issues**

Fixes:
[STAKE-870](https://consensyssoftware.atlassian.net/browse/STAKE-870)

## **Manual testing steps**

1. Perform an unstake transaction 
2. Navigate to Eth details page while the transaction is still
processing
3. You will now see the unstaking banner pop up when transaction is
completed without navigating away and coming back to the details page

## **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/cbdfad52-58ae-4396-a214-0c793eb49f7c


### **After**


https://github.com/user-attachments/assets/d064012f-32c3-41a3-8537-4593b6e409af


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

+

[STAKE-870]:
https://consensyssoftware.atlassian.net/browse/STAKE-870?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
…12337)

<!--
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 events added in MetaMask#12144 to use the `withMetaMetrics`
helper function.
<!--
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**

Jira Ticket: [STAKE-876: Wrap existing Staking events with
withMetaMetrics
hook](https://consensyssoftware.atlassian.net/browse/STAKE-876)

## **Manual testing steps**

Prerequisite: Add `export MM_POOLED_STAKING_UI_ENABLED=true` to your
local `.js.env` file.

All events can be tested by running through the stake and unstake flows.

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

### **Before**

<!-- [screenshots/recordings] -->
N/A
### **After**

<!-- [screenshots/recordings] -->
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
- [ ] 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.
…er (MetaMask#12446)

<!--
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 breaking e2e test anter updating analytics
<!--
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: MetaMask/mobile-planning#2044
Breaking change: MetaMask#12180

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

Prevent crash when editing gas fee during swap.

## **Related issues**

Fixes: MetaMask#12387  MetaMask#12457

## **Manual testing steps**

See issue.

## **Screenshots/Recordings**

### **Before**

### **After**


https://github.com/user-attachments/assets/6dd625b2-f18f-496d-9843-118575ed9166

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

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

### The problem

With the current used version of `KeyringController`, the
`addNewAccountWithoutUpdate` method is not doing what its name claims -
the state is updated everytime the function is called.

This is because `KeyringController` has no control over its messenger's
listeners, and so `PreferencesController` and `AccountsController` (and
so on downstream) will react to keyrings state updates everytime
`addNewAccountWithoutUpdate` is called.

The result is that the `importAdditionalAccounts` helper present on
mobile is incredibly inefficient, as accounts will be added one by one,
executing _all_ side effects at every single iteration.

### The solution

This PR leverages the new `withKeyring` method from KeyringController to
batch these iterations into one single atomic state update - take a look
at the code for more info about how it is done

## **Related issues**

Related: MetaMask/core#3848

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

Once we remove the feature flags, we can delete the old tests, until
then this ensure both side of the code is tested.

<!--
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**
- Modifying the env variable corresponding to the feature flag didnt
take effect in the test, had to find another way, mocking the getter of
the feture flag
- Mocking the getter worked, but modifying the mock inside the same test
file didnt take effect in the component, re-importing the component
caused all other mocks to fail, setting all mocks a second time didn't
work.
- Finally something did work, which is having each test in their own
test file is the only way i could get the mocks initialized with
expected values.
<!--
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: MetaMask/MetaMask-planning#3664

## **Manual testing steps**

1. run `npx jest app/components/Views/AccountPermissions/**` and all
tests should pass


## **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**
Brings the swaps page to parity with extension by increasing the umber
of quote refreshes from 2 to 3.
<!--
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 the swaps
2. Enter arbitrary swap amounts/tokens
3. Get quotes
4. Wait for quotes to refresh 3 times

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

This PR upgrades Ramp SDK to v1.28.7. Changes include a fix that brings
back a file containing the required arguments for services methods.

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go Ramp flows
2. Flows are not impacted

## **Screenshots/Recordings**



### **Before**



### **After**



## **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.
…8.0.0 (MetaMask#12339)

## **Description**
This PR updates the accounts controller to the latest version of 19.
This updates requires a peer dependancy bump of the keyring controller
to version 18.0.0

- See accounts controller
[changelog](https://github.com/MetaMask/core/blob/main/packages/accounts-controller/CHANGELOG.md#1900).
- See keyring controller
[changelog](https://github.com/MetaMask/core/blob/main/packages/keyring-controller/CHANGELOG.md#1800).
- version 18 of the keyring controller removes the
[addNewAccountWithoutUpdate](MetaMask/core#4845)
which is used once in the mobile repo. In order to merge this PR we will
need to wait for @mikesposito's [PR to
merge](MetaMask#11409). This PR
removes the need for `addNewAccountWithoutUpdate` and improves
performance/reliability.

## **Related issues**

Fixes: MetaMask#12302
Fixes: MetaMask#12304

Unblocked by: MetaMask#11409

## **Manual testing steps**

#### Account creation

1. open app
2. press create wallet 
3. go through the onboarding flow
4. once onboarding is complete, you should be on the wallet view and see
a single account
5. open the account selector list and add a new account'
6. this should work without issues
7. change the name of your new account
8. force close the app and reopen, the previously selected account
should be the same and the custom name should be preserved.

#### Account importing

1. assuming you have created a wallet wth the above steps....
2. open the account selector list and click add account or hardware
wallet and then click import account
3. paste a private key in this text field and then import
4. the account should be imported, selected and have the label
"imported"
5. force closing the app and re opening it should preserve the same
state of accounts

#### Hardware wallets

1. assuming you have created a wallet wth the above steps....
2. open the account selector list and click add account or hardware
wallet and then click Add hardware wallet
3. select your hardware wallet of choice (ledger or qr based)
4. follow the instructions to add a hardware wallet
5. the steps should work and you should have successfully added a
hardware account
6. the hardware account should have the correct labels (either Qr
hardware or ledger)
7. force closing the app and reopening should preserve the same accounts
state.


## **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/ab8ca48e-dc48-4601-a56c-5c6d7fabab3e


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

<!--
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 bumps `@metamask/preferences-controller` to `^14.0.0`

<!--
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: MetaMask#12305

## **Manual testing steps**

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

<!--
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 bumps `@metamask/signature-controller` to `^22.0.0`

<!--
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: MetaMask#12307

## **Manual testing steps**

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

Added icon link to WalletConnect metadata. It's useful for dapps that
shows the connected wallet info.
Using the image uploaded in this repository ->
https://github.com/MetaMask/metamask-mobile/blob/main/logo.png

## **Related issues**

- none

## **Manual testing steps**

- none

## **Screenshots/Recordings**

The images show a dapp that uses the metadata to show connected wallet's
name and icon

### **Before**


<img width="525" alt="before"
src="https://github.com/user-attachments/assets/e56022d6-0164-4ef3-8a01-32cf39fd121b">


### **After**

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

<img width="525" alt="after"
src="https://github.com/user-attachments/assets/8accbbb8-521c-40eb-bc9d-d1921ac8a62f">


## **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
- [ ] 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: Andrea Salvatore <andrea.salvatore@consensys.net>
Co-authored-by: Christopher Ferreira <104831203+christopherferreira9@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**

Bumps all Snaps packages to their latest versions and deletes some
unnecessary fetch polyfilling code. This fixes an issue where local
Snaps would fail to install in the Flask flavor of mobile.
<!--
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**

Update to latest walletconnect dependencies.

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

---------

Co-authored-by: Christopher Ferreira <104831203+christopherferreira9@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**

This PR addresses the new flows introduced with the updated network
chain permissions functionality. The goal is to ensure comprehensive
automated test coverage for these changes, reducing the risk of bugs
found later in the development process.

Key things to note here:
breakdown of the CI workflows:

- Smoke Pipeline: This pipeline runs all E2E tests with an enabled
multichain flag. This ensures that engineers actively validate the new
MC flows as part of their workflow. By default, the smoke pipeline runs
on pull requests, allowing us to catch any issues with the MC flow
before changes are merged into the main branch. We plan to make the
smoke E2E pipeline a required step before merging PRs soon.

- Regression Pipeline: This pipeline runs E2E tests with the multichain
flag disabled. It ensures that existing functionality remains stable
without the MC changes. The regression pipeline is scheduled to run
every four hours against the main branch, providing frequent and
consistent validation of the baseline functionality.


## **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: NidhiKJha <menidhikjha@gmail.com>
Co-authored-by: EtherWizard33 <eric.lamontagne@consensys.net>
Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net>
Co-authored-by: EtherWizard33 <165834542+EtherWizard33@users.noreply.github.com>
…elled smart transaction (MetaMask#12465)

## **Description**
This PR does a few things to support returning a txHash asap after a
smart transaction is submitted:
- Shows a notification for a cancelled smart transaction
- Requires to send these params when calling the Smart Transactions
controller: `clientId`, `getFeatureFlags` and `updateTransaction`

## **Related issues**

Resolves this JIRA ticket:
https://consensyssoftware.atlassian.net/browse/TXL-517

## **Manual testing steps**

1. A feature flag for returning a txHash asap has to be set to true.
2. It can be tested e.g. via a dapp transaction. A dapp should receive a
txHash asap right after submitting a smart transaction
3. We show a Toast notification for cancelled smart transaction (e.g.
when very low gas fees are used) if a user closed the Smart Transaction
status page

## **Screenshots/Recordings**
Success Toast:

![image](https://github.com/user-attachments/assets/93f702aa-bb14-4458-b7c3-9590abef8c7f)

Pending smart transaction:

![image](https://github.com/user-attachments/assets/d3f160a3-0f30-4a83-8e9c-78e72890b704)

Cancelled smart transaction notification:

![image](https://github.com/user-attachments/assets/655cfc45-73ca-48e0-bb05-5a3bab1ac5e4)


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

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

Some events in our analytics system were incorrectly identifying their
source, particularly for different connection types (SDK, WalletConnect,
and In-App Browser connections). This PR introduces a centralized
approach to determine event sources through a new `useOriginSource` hook
and improves the source tracking implementation across components.

## Key Changes
- Created new `useOriginSource` hook to standardize source determination
logic
- Extracted UUID validation into a separate utility function
- Updated analytics tracking in PermissionApproval and AccountConnect
components
- Enhanced logging capabilities for better debugging
- Added comprehensive test coverage for new utilities

## **Related issues**

Fixes:

## **Manual testing steps**

1. Test SDK connection flow
   - Connect via SDK integration
   - Verify correct source tracking in analytics
2. Test WalletConnect flow
   - Connect via WalletConnect
   - Verify source is properly tracked
3. Test In-App Browser flow
   - Connect via browser
   - Confirm analytics show correct source

## **Screenshots/Recordings**

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

### **Before**

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

![image](https://github.com/user-attachments/assets/4cd5614b-d1f4-4347-adbf-67a84372c98d)

### **After**


![image](https://github.com/user-attachments/assets/85b6c485-e470-4840-b5b3-6feb130421a2)

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

This PR introduces a message size filter to the ReactNativeWebView
created for dapps. Please see attached ticket for more info.


## **Related issues**

See: MetaMask/MetaMask-planning#2836

## **Manual testing steps**

See ticket

## **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/97001330-8c72-4275-a70e-6dda59f499da

See that upon clicking the button, the app is unresponsive for many
seconds. It doesn't completely crash, but it might crash on a slower
device. It's certainly extremely slow until the message is fully
resolved.

### **After**


https://github.com/user-attachments/assets/e1797c1a-ebe0-4e8d-bf5a-9dc8ee705508

Note that it is still a bit sluggish, but it prints the error message
fairly quickly and then is responsive again.

## **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~
- Tests are certainly applicable, but I don't know how to test this. The
`BrowserTab` component is very complex and has no pre-existing unit test
(no real ones at least, the snapshot test currently present doesn't even
execute any part of `BrowserTab`). We cannot even render that in a test
without a great deal of mocks, I am unsure how to accomplish that. We
could e2e test this, but this is a niche case that maybe doesn't warrant
inclusion there either.
- [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: Mark Stacey <markjstacey@gmail.com>
## **Description**

Replace navigation init and UIStartup Span

* It seems that the span was ending in the finally of appTriggeredAuth,
which means that it was ending after Byometrics of the user which was
causing this issue (5 minutes long span)

* Moving it to an useEffect that will only trigger the end of the span
when the navigator is defined and there is no prevNavigator ref will
means that the traces will end when the biometrics are actually
triggered instead of when it is completed

## **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**
Use the mock server to create E2E tests for transactions and signatures
to test the Security Alert API responses.
<!--
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: MetaMask/mobile-planning#1813

## **Manual testing steps**

1. Bitrise

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

This PR fixes an issue where the source property was not being set
correctly when an error occurred during local PPOM validation.
Previously, if the local PPOM failed, the error handling mechanism would
add an error message but omit the source property, making it unclear
whether the error originated from the API or the local PPOM.

**Changes introduced:**
- Modified error handling for the local PPOM validation to ensure that
the source property is correctly set to "local" when an error occurs
during local validation.
- Ensured that the source property is properly set to "api" in case of
an API failure.

<!--
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: MetaMask/mobile-planning#2058

## **Manual testing steps**

1. Go to the live test dapp
2. Trigger a send transaction with suggested gas values (ie Send Legacy
or send EIP1559)
3. Check Segment

Obs: We need to block the network calls for
`https://security-alerts.api.cx.metamask.io/` and
`https://static.cx.metamask.io/api/v1/confirmations/ppom/ppom_version.json`
in the Chrome dev tools > network tab.

## **Screenshots/Recordings**


[security-alerts-local.webm](https://github.com/user-attachments/assets/f1fbfe8c-b7ca-4056-99ff-06ab5a9cba6a)

<!-- 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.
…tions,Events}` (MetaMask#12407)

## **Description**

The `GlobalActions` and `GlobalEvents` types have not been updated to
keep up with the controller V2 upgrades. This commit adds missing
entries and fixes redundant, outdated, or erroneous entries.

All changes in this commit are purely at the type-level with no impact
on runtime behavior.

## **Related issues**

- Follow-up to controller V2 upgrades:
MetaMask/MetaMask-planning#3234
- Blocks MetaMask#10441

## **Manual testing steps**

## **Screenshots/Recordings**

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

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

## **Description**

The engine context and background state currently include three
"non-controllers" with empty/non-existent state:
`AssetsContractController`, `NftDetectionController`,
`TokenDetectionController`.

These should be included in the engine context, but excluded from any
representations of background state. This is not a disruptive change, as
there are no downstream references to the state objects or state
properties of these non-controllers.

For more information on non-controllers, see:
-
https://github.com/MetaMask/decisions/blob/main/decisions/core/0001-messaging-non-controllers.md
-
https://github.com/MetaMask/decisions/blob/messaging-components-abstraction/decisions/core/0004-messaging-components-abstraction.md#background

## **Related issues**

- Blocks MetaMask#10441
- This ticket will remove non-controller entries from the engine
datamodel and state getter method.

## **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.
…al prop (MetaMask#12405)

## **Description**

The active network icon in the header has too much margin and is
misaligned with the network title.

I have also added an optional prop of `networkName` that allows
developers to pass in the network name of their choice. This is in
preparation of
[multichain](MetaMask#12256)
support, currently we are showing the selected network name, in
multichain we want to be able to pass in a network name and not the
selected chain.

## **Related issues**
Fixes: 

## **Manual testing steps**
1. Goto asset details, swaps, or buy. Basically any screen that has the
header with network name
2.
3.

## **Screenshots/Recordings**
(green icon at the very top)
| Before  | After  |
|:---:|:---:|

|![asset_details_ios_before](https://github.com/user-attachments/assets/26de61bb-a217-456f-9d40-8bc552f4b1ec)|![asset_details_ios_after](https://github.com/user-attachments/assets/a4d4667b-4b1f-485c-a9f9-ef78872da772)|

### **Before**

NA

### **After**

NA

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

Introduction of `@metamask/remote-feature-flag-controller` library.

Remote feature flag controller manages data flow, retry policy, and
cache expiry.
The controller consumer manages default values, data persistency, and
data distribution.

See
[ADR](https://github.com/MetaMask/decisions/blob/b3094d47a568ac1e076a44fa704c2d29d1b59f35/decisions/wallet-platform/0001-remote-rollout-feature-flags.md)
for a in-depth description

## Technical decisions

### Controller init on `Engine.ts` with feature flags fetching only on
cold app starts.

`@metamask/remote-feature-flag-controller` is only asked to fetch
feature flags after its init in `Engine.ts`. Ensures feature flags are
only fetched on cold app starts.

### Fallback values

Default values are used when remote feature flags are undefined.
The fallback mechanism is implemented by each feature flag selector
`app/selectors/featureFlagsController/<featureFlagName>`

In this PR we include `minimumAppVersion` selector, which manages the LD
feature flag `mobile-minimum-versions`

### One selector per each feature flag

[LD feature flags can be boolean, number, strings on JSON
objects](https://docs.launchdarkly.com/sdk/concepts/flag-types#understanding-flag-types).
We've decided to have each feature flag with its own selector

A feature flag selector contains:
- state selectors for each feature flag value.
- business logic
- defaults for when feature flags values are undefined.
- TS types.
- unit tests and mocked data.

This architecture offers a clear separation between each feature flag
and the logic behind it, allowing easier manipulation.
Code owners are assigned to each feature flag.

### 

## **Related issues**

Fixes: MetaMask/mobile-planning#2054
Fixes: MetaMask/mobile-planning#1975

## **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: Nico MASSART <NicolasMassart@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**
This PR does enables the creation of Bitcoin (Mainnet and Testnet)
accounts on MetaMask mobile. This is done via the
[snap-bitcoin-wallet](https://github.com/MetaMask/snap-bitcoin-wallet)
which is included as a preinstalled snap. The added UI buttons to the
account actions communicate with the snap, then the snap is routed
through our SnapKeyring handlers to enable custom account names.

This is just the first step and does not include all of the necessary
logic/UI to launch this feature. This PR simply enables Bitcoin account
creation and renders the proper BTC address and network in the wallet
view.

### How
- adds the [Snap Bitcoin
Wallet](https://github.com/MetaMask/snap-bitcoin-wallet) as a pre
installed snap
- added the `BitcoinWalletSnapSender` which allows us to communicate
with the bitcoin snap
- added the Bitcoin Logo to the assets and conditionally render them on
the wallet view if the selected account is BTC. This is just visual and
is a disabled button. This also does not change any other network
related logic elsewhere in the app.
- renamed `selectSelectedInternalAccountChecksummedAddress` to
`selectSelectedInternalAccountFormattedAddress` since bitcoin addresses
are not checksummed.
- instead of eagerly checksumming addresses, I conditionally checksum
them based on wether the address is EVM or not. this is done with the
`toFormattedAddress` in `app/util/address/index.ts` and
`getFormattedAddressFromInternalAccount` in
`app/core/MultiChain/utils.ts`
- added selector `hasCreatedBtcMainnetAccount` and
`hasCreatedBtcTestnetAccount`
- added new call to actions in the account actions menu for adding
Bitcoin accounts.
- added MultichainSettings to the root state to create a feature flag
for Bitcoin. This state can easily be expanded to support other chains
in the future. For now we have no way to setting this state to true as
this is feature is not production ready. Right now this state is is used
to hide the bitcoin feature in the wallet.

## **Related issues**

Fixes: MetaMask/accounts-planning#698

## **Manual testing steps**

### Testing the multichain feature flag
By default all the bitcoin related features should be hidden behind the
`bitcoinSupportEnabled` and `bitcoinTestnetSupportEnabled` which are set
to false by default and have no way of modifying them inside the UI.

To verify that these feature flags are working....

1. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask`
2. run the app on this branch
3. complete onboarding 
4. click on your account
5. the account list menu should open with a CTA to add a new account
6. click `Add account or hardware wallet`
7. VERIFY that there are no new account actions (there should be no
option to add a bitcoin account)

### Turn on the bitcoin feature
1. navigate to `app/reducers/multichain/index.ts`
2. change the values in the `initialState` to be true
3. force close and reload the app
4. click on your account
5. the account list menu should open with a CTA to add a new account
6. click `Add account or hardware wallet`
7. You should now see the options to add a Bitcoin account and a bitcoin
testnet account.

### Adding a Bitcoin Testnet account
1. `ENSURE THAT YOU HAVE TURNED ON THE BTC FEATURE FLAGS` described in
the steps above.
2. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask`
6. run the app on this branch
7. complete onboarding 
8. click on your account
9. the account list menu should open with a CTA to add a new account
10. click `Add account or hardware wallet`
11. then click `Add a new Bitcoin Account (Testnet)`
12. a bottom sheet should open with a text field pre filled with
`Bitcoin Testnet Account`
13. click `Add account`
14. the account should be added and selected on the wallet view.
15. if you go through the same steps (steps 4-6) the option to add a
Bitcoin testnet account should be disabled since you can only have one
BTC Test account.
16. Now that you are on the wallet view, verify that the address is
rendered in short form i.e `tb1qcv...4av3`
17. you will not see a balance rendered for this account since BTC
balances are not yet supported.
18. verify that the network that is displayed on the wallet view shows
the Bitcoin logo and that when you click it nothing happens.
19. verify that when clicking on the actions button in the bottom tab
bar opens a list of actions that are disabled (send, swap, bridge etc).
All of these features should be disabled for BTC
20. click on your account, when the account list opens up select one of
your ethereum accounts.
21. the Balance should render and the network should display the
ethereum network.
22. clicking on the network picker DOES open the network selector list

### Adding a Bitcoin Mainnet account
1. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask`
3. run the app on this branch
4. complete onboarding 
5. click on your account
6. the account list menu should open with a CTA to add a new account
7. click `Add account or hardware wallet`
9. then click `Add a new Bitcoin Account (Beta)`
10. a bottom sheet should open with a text field pre filled with
`Bitcoin Account`
11. click `Add account`
12. the account should be added and selected on the wallet view.
13. if you go through the same steps (steps 4-6) the option to add a
Bitcoin Account should be disabled since you can only have one BTC
mainnet account.
14. Now that you are on the wallet view, verify that the address is
rendered in short form i.e `bc1qrw...atay`
15. you will not see a balance rendered for this account since BTC
balances are not yet supported.
16. verify that the network that is displayed on the wallet view shows
the Bitcoin logo and that when you click it nothing happens.
17. 15. verify that when clicking on the actions button in the bottom
tab bar opens a list of actions that are disabled (send, swap, bridge
etc). All of these features should be disabled for BTC
18. click on your account, when the account list opens up select one of
your ethereum accounts.
19. the Balance should render and the network should display the
ethereum network.
20. clicking on the network picker DOES open the network selector list

### Verify ETH account address formats
1. assuming you completed the above testing steps...
2. select your ethereum account from the account list
3. verify that when selected, the address is rendered in checksummed
format WITH a 0z prefix.

## **Screenshots/Recordings**

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

### **Before**

N/A

### **After**


https://github.com/user-attachments/assets/96836574-7b12-4566-b70f-ea85efa3b663

<img
src="https://github.com/user-attachments/assets/c249775a-e8be-4d72-8c8f-8909d37ef876"
width="300" height="600" />


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

The purpose of this PR is to temporarily disable the e2e tests added
[here](MetaMask#12288) as it
introduces instability within the smoke 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**

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

<!--
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 fix MetaMask#10967 User able to add Ledger account with existing account
name.
Now the ledger Select accounts screen will display `Account Ledger 1
already exists`

## **Related issues**

Fixes: MetaMask#10967 
MetaMask#10188 


## **Manual testing steps**

1. Install MM
2. Recover from SRP
3. Rename 'Account 1' to 'Ledger 1'
4. Connect Ledger device
5. Add 1 Ledger account
6. `Account Ledger 1 already exists` error should be displayed


## **Screenshots/Recordings**

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

### **Before**

![image](https://github.com/user-attachments/assets/21a8ee86-63e0-4db0-b784-a8490ceba80f)

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

- [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.
jpuri and others added 17 commits January 23, 2025 15:20
## **Description**

Simulation section should not be displayed on typed sign V1 page.

## **Related issues**

Fixes: MetaMask/MetaMask-planning#4012

## **Manual testing steps**

1. Go to test dapp
2. Submit type sign request
3. Ensure that simulation section is not present

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

### **Before**
<img width="398" alt="Screenshot 2025-01-23 at 7 02 52 PM"
src="https://github.com/user-attachments/assets/50d93b57-f3aa-44ef-bcc4-05a31e433436"
/>

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

### **After**
<img width="400" alt="Screenshot 2025-01-23 at 7 08 27 PM"
src="https://github.com/user-attachments/assets/1a697fae-4f28-418f-8675-0c063f56eea6"
/>

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

Refactor of browser tab to typescript 

Please visit this issue that includes a bigger description:
MetaMask/mobile-planning#2087


## **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: Cal-L <cleun007@gmail.com>
Co-authored-by: João Loureiro <175489935+joaoloureirop@users.noreply.github.com>
Co-authored-by: Cal Leung <cal.leung@consensys.net>
Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
MetaMask#13057)

## **Description**

ETH balance on Holesky (testnet) is included in the total balance when
selecting ‘Popular networks’

## **Related issues**

Fixes:

## **Manual testing steps**

1. Acquire some balance on Holesky
2. Add Holesky network using chainlist.
3. Click on popular networks. Aggregated balance you see should not
include the holesky balance you own.

## **Screenshots/Recordings**

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

### **Before**

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

![image](https://github.com/user-attachments/assets/d95f5f32-9a40-48e4-82fc-85c8d9b5a910)

![image](https://github.com/user-attachments/assets/995a5b39-9ba4-4e25-9c4d-1128cab0f771)

![image](https://github.com/user-attachments/assets/46c01498-338b-4e61-a2f9-525ff3171c53)


### **After**

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


https://github.com/user-attachments/assets/7d3f44d1-6dcf-4a7e-9d31-8fcbcaa584ea


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

The helpers.js file was a bit of a dumping ground for all test actions:
Selecting elements, asserting elements, and using utility methods like
delays, deep linking, launching the app, and interacting with elements.
We did some work last year to separate the various types of logic.

Locating elements - `Matchers.js`
Interacting with elements - `Guestures.js`
Asserting elements - `Assertions.js`

They all live in the e2e/utils folder. 

This PR aims to remove and deprecate all test actions within the
helper's file. Once this PR is merged, we can avoid engineers using
anti-patterns within the e2e framework. The next step is to extract all
logic from the testHelpers and place them in the appropriate utility
class.


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

- Adding e2e for re-designed signature pages.
- Adding new pipeline for re-designed confirmations.

## **Related issues**

Fixes: MetaMask#13052
Fixes: MetaMask#13054
Fixes: MetaMask#13055
Fixes: MetaMask#13055

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

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

Remote Feature Flag Controller v1.3.0 requires `metaMetricsId` string
value for its initialization.
`metaMetricsId` is used to generate a threshold value for Scope based
feature flags.

On Mobile, `metaMetricsId` is managed by the MetaMetrics class, using
its method `getMetaMetricsId`.
Because this method returns a promise, we need to handle it outside
Engine constructor.

The route we opted is to await for the Promise to resolve on
`EngineService.start` function, then send it to `Engine.init` as a
parameter, which will pass it the into Engine constructor.

## **Related issues**

Fixes: MetaMask/mobile-planning#2065

## **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.
…e request pages (MetaMask#13075)

## **Description**

Add e2e tests for blockaid validations on re-designed signature request
pages

## **Related issues**

Fixes: MetaMask#13073

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

PR to fix toast msg when a network is deleted

## **Related issues**

Fixes:

## **Manual testing steps**

1. Click on network selector
2. Delete any network
3. toast msg should day '... successfully deleted' instead of
'successfully added'


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

PR to fix network name displayed on token details component

## **Related issues**

Fixes: MetaMask#13051

## **Manual testing steps**

1. Click on popular networks
2. Choose an ERC20 token on different network than the selected network
and click on token
3. Click on more options button top right
4. Click on token details
5. You should see network name of the token

## **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/7bdc41b8-e788-4b39-948b-9dd3a35d1412


## **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.
…kbox list on initial connect to a dapp. (MetaMask#13099)

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

Issue: When the user had connected dapps and switched the global
network, when he went back to the dapp he was asked to grant permission
to that network for that dapp.

Solution: On initial connection, preselect all enabled networks,
reducing the chances the user finds himself on a network he has not
granted permission for yet.

<!--
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: MetaMask/MetaMask-planning#3902

## **Manual testing steps**

1. Go to the in-app browser and navigate to a dapp, then click connect
2. Go to the network permissions by clicking the Edit link button
3. All of the user's enabled networks should be preselected

(also see animated gif below for an example of these manual testing
steps)

## **Screenshots/Recordings**

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

### **Before**

User was prompted often to grant permission.

### **After**

User can more easily grant permission to all enabled networks on initial
connection:

<img width="350" alt="Screenshot 2024-04-18 at 3 56 43 PM"
src="https://github.com/user-attachments/assets/2b081ecb-5408-49a1-8228-755ac4ae5875">

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

<!--
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:  MetaMask#12724

## **Manual testing steps**

1. Build android project locally
2. Add your account or create new one
3. switch btw network ( the perfs should be good )
4. switch btw popular network and current network on the token list and
check the perfs
5. the list of assets should be displayed quickly

## **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/cdd70d65-820b-40fc-ba7f-85a6dceb66c1


## **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.
@Marcofann Marcofann requested review from a team as code owners January 24, 2025 13:39
Copy link
Contributor

github-actions bot commented Jan 24, 2025

CLA Signature Action:

Thank you for your submission, we really appreciate it. We ask that you all read and sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just by adding a comment to this pull request with this exact sentence:

I have read the CLA Document and I hereby sign the CLA

By commenting with the above message you are agreeing to the terms of the CLA. Your account will be recorded as agreeing to our CLA so you don't need to sign it again for future contributions to this repository.

44 out of 45 committers have signed the CLA.
@dan437
@EtherWizard33
@amitabh94
@Matt561
@frankvonhoven
@bfullam
@owencraston
@cryptodev-2s
@ignaciosantise
@abretonc7s
@jiexi
@tommasini
@vinistevam
@MajorLift
@vinnyhoward
@joaoloureirop
@dawnseeker8
@Prithpal-Sooriya
@salimtb
@jake-perkins
@mathieuartu
@sethkfman
@gambinish
@nickewansmith
@sahar-fehri
@NicolasMassart
@chrisleewilcox
@Cal-L
@jvbriones
@jpuri
@legobeat
@coreyjanssen
@C-Ivan
@brianacnguyen
@adonesky1
@mcmire
@ziad-saab
@digiwand
@davibroc
@itsyoboieltr
@jonybur
@infiniteflower
@bergeron
@Marcofann
@SamuelSalas

@metamaskbot metamaskbot added external-contributor INVALID-PR-TEMPLATE PR's body doesn't match template labels Jan 24, 2025
Copy link

Report too large to display inline

View full report↗︎

Copy link

Report is too large to display inline.
View full report↗︎

Next steps

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/foo@1.0.0 or ignore all packages with @SocketSecurity ignore-all

  • @SocketSecurity ignore npm/validate-npm-package-name@3.0.0
  • @SocketSecurity ignore npm/@protobufjs/fetch@1.1.0
  • @SocketSecurity ignore npm/@protobufjs/inquire@1.1.0
  • @SocketSecurity ignore npm/is-async-function@2.0.0
  • @SocketSecurity ignore npm/better-opn@3.0.2
  • @SocketSecurity ignore npm/@babel/plugin-proposal-export-namespace-from@7.18.9
  • @SocketSecurity ignore npm/@babel/plugin-proposal-numeric-separator@7.18.6
  • @SocketSecurity ignore npm/@expo/bunyan@4.0.0
  • @SocketSecurity ignore npm/fetch-retry@4.1.1
  • @SocketSecurity ignore npm/@expo/spawn-async@1.5.0
  • @SocketSecurity ignore npm/@segment/loosely-validate-event@2.0.0
  • @SocketSecurity ignore npm/@urql/core@2.3.6
  • @SocketSecurity ignore npm/@urql/exchange-retry@0.3.0
  • @SocketSecurity ignore npm/exec-async@2.2.0
  • @SocketSecurity ignore npm/fbemitter@3.0.0
  • @SocketSecurity ignore npm/freeport-async@2.0.0
  • @SocketSecurity ignore npm/jimp-compact@0.16.1
  • @SocketSecurity ignore npm/hosted-git-info@3.0.8
  • @SocketSecurity ignore npm/react-dom@18.2.0
  • @SocketSecurity ignore npm/requireg@0.2.2
  • @SocketSecurity ignore npm/sudo-prompt@8.2.5
  • @SocketSecurity ignore npm/faye-websocket@0.11.4
  • @SocketSecurity ignore npm/websocket-driver@0.7.4
  • @SocketSecurity ignore npm/bufferutil@4.0.7
  • @SocketSecurity ignore npm/json-schema-ref-parser@6.1.0
  • @SocketSecurity ignore npm/verror@1.10.1
  • @SocketSecurity ignore npm/abbrev@2.0.0
  • @SocketSecurity ignore npm/spdy@4.0.2
  • @SocketSecurity ignore npm/clone-deep@2.0.2
  • @SocketSecurity ignore npm/create-jest@29.7.0
  • @SocketSecurity ignore npm/@react-native/js-polyfills@0.72.1
  • @SocketSecurity ignore npm/babel-plugin-transform-flow-enums@0.0.2
  • @SocketSecurity ignore npm/babel-plugin-inline-import@3.0.0
  • @SocketSecurity ignore npm/@expo/dev-server@0.5.5
  • @SocketSecurity ignore npm/@expo/package-manager@1.1.2
  • @SocketSecurity ignore npm/string.prototype.repeat@1.0.0
  • @SocketSecurity ignore npm/react-native-render-html@6.3.4
  • @SocketSecurity ignore npm/@trufflesuite/uws-js-unofficial@20.30.0-unofficial.0
  • @SocketSecurity ignore npm/expo-dev-client@3.1.0
  • @SocketSecurity ignore npm/expo-dev-launcher@3.1.0
  • @SocketSecurity ignore npm/expo-dev-menu@4.1.0
  • @SocketSecurity ignore npm/expo-dev-menu-interface@1.4.0
  • @SocketSecurity ignore npm/expo-manifests@0.9.0
  • @SocketSecurity ignore npm/expo-updates-interface@0.12.0
  • @SocketSecurity ignore npm/expo-json-utils@0.9.0
  • @SocketSecurity ignore npm/component-type@1.2.2
  • @SocketSecurity ignore npm/@httptoolkit/httpolyglot@2.2.1
  • @SocketSecurity ignore npm/moment@2.30.1
  • @SocketSecurity ignore npm/@expo/cli@0.10.17
  • @SocketSecurity ignore npm/expo@49.0.23

@Marcofann
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

@georgewrmarshall
Copy link
Contributor

Hey @Marcofann, thanks for your contribution! I appreciate you taking the time to fix typos. However, this PR includes a lot of unrelated changes and seems to have some conflicting git history, which makes it difficult to review and merge. To keep things clean, I’m going to close this PR.

If you'd like to resubmit, please limit the changes to just the typo fixes and make sure your branch is up to date with the latest from main.

@github-actions github-actions bot locked and limited conversation to collaborators Jan 29, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
external-contributor INVALID-PR-TEMPLATE PR's body doesn't match template
Projects
None yet
Development

Successfully merging this pull request may close these issues.