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

chore: Fix more merge conflicts with main #8686

Merged
merged 80 commits into from
Feb 22, 2024

Conversation

Cal-L
Copy link
Contributor

@Cal-L Cal-L commented Feb 22, 2024

Description

Fix more merge conflicts with main on 7.16.0

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

  • I’ve followed MetaMask Coding Standards.
  • I've clearly explained what problem this PR is solving and how it is solved.
  • I've linked related issues
  • I've included manual testing steps
  • I've included screenshots/recordings if applicable
  • I’ve included tests if applicable
  • I’ve documented my code using JSDoc format if applicable
  • I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
  • I’ve properly set the pull request status:
    • In case it's not yet "ready for review", I've set it to "draft".
    • In case it's "ready for review", I've changed it from "draft" to "non-draft".

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.

leotm and others added 30 commits January 30, 2024 11:54
## **Description**

Update SES lockdown options to improve error stacks

Set error taming to unsafe
- make error stacks also available by the error instance stack
- preserve error stack filtered content
- like we
[do](https://github.com/MetaMask/metamask-extension/blob/develop/app/scripts/lockdown-run.js#L6)
in metamask-extension

Set stack filtering to verbose
- show full raw error info for each deep stack level
- preserve _noise_ that the (default) `concise` option was removing

Follow-up to
- #8033

Ref:
https://github.com/endojs/endo/blob/master/packages/ses/docs/reference.md#options-quick-reference

Nb: we're looking into a lockdown/repairIntrinsics option to disable
touching errors entirely (for cases like ours involving React Native
surfacing JS/Android/iOS errors, then later newer engine Hermes)

## **Related issues**

- note: #8352

## **Manual testing steps**

Local testing in debug-mode:
- Update
[InitializeCore](https://github.com/MetaMask/metamask-mobile/blob/main/patches/react-native%2B0.71.15.patch#L13)
to enable SES in debug/dev mode
- Trigger an error somewhere in the app
  - `new Error('test')`
  - `Sentry.captureException(new Error('test'))`
- Check simulator
  - ensure original error preserved in call stack
  - ensure tapping error redirects to source code
- Check Sentry event
  - ensure original error preserved in call stack

But note above we're looking into a better lockdown option for React
Native debug-mode,
since we disabled SES in debug-mode
[earlier](#7924) from
React Devtools interfering

Production testing:
After we merge #8373,
we'll be able to ft toggle lockdown via our in-app settings menu, which
will persist the choice and apply after the app has been rebooted

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

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

A feature toggle for SES, within our settings menu under experiments,
enabled by default

TODO
- [x] add `react-native-mmkv`
- [x] MVP
- [x] ensure only visible on iOS not Android
  - show only on iOS
  - or show if storage key exists
- [x] check next to Blockaid experiment enabled
- [x] fix test, update snapshot
- [x] add descriptive content
- [x] translate text
- [x] update styling
- [x] <s>replace `react-native-mmkv` with
`react-native-default-preference`</s>
- attempted in
ea5674c
but only [partially
working](#8373 (comment))
- [x] fix Android debug bundling on Hermes
- [x] <s>consider content revision to include _Hardened JS_ and _SES
(Secure EcmaScript)_ terms</s>
- [x] update to newly discussed text with link
- [x] fix styling, move switch above next to title
- [x] display both SES and Blockaid under same _Security_ heading
- [x] preserve Android UI
- [x] update SES to be enabled by default

## **Related issues**

Fixes: partially mitigates rollout risk

Follow-up to
- #8033

## **Manual testing steps**

iOS
- boot app
- login / create wallet
- go to bottom tab Settings menu
- open Experimental menu
- _SES enabled by default, like currently in (main) branch_
- disable SES ft toggle
- reboot app
- _SES now disabled_
- verify in Experimental menu
- repeat steps above to re-enable

Android
- boot app
- login / create wallet
- go to bottom tab Settings menu
- open Experimental menu
- UI remains the same
  - Blockaid shown if feature is enabled

## **Screenshots/Recordings**

Previous MVP video (old UI)
[demo](https://consensys.slack.com/archives/C02U025CVU4/p1706035121992709?thread_ts=1705527596.738189&cid=C02U025CVU4)
showing the behaviour, a simple settings menu ft toggle that persists,
enabling/disabling lockdown upon app reboot, on iOS only

Android remains unchanged ([Blockaid
disabled](https://github.com/MetaMask/metamask-mobile/assets/1881059/d74a30be-e65e-4832-a21e-8aa1812df608),
[Blockaid
enabled](https://github.com/MetaMask/metamask-mobile/assets/1881059/77b9a24b-486b-4e6b-aa10-51eede8c2951))

### **Before**

Blockaid ft disabled

<img width="403" alt="Screenshot 2024-01-26 at 7 20 46 pm"
src="https://github.com/MetaMask/metamask-mobile/assets/1881059/ec120e0a-9ba5-454c-b4c8-21307ced7ea5">

Blockaid ft enabled

<img width="402" alt="Screenshot 2024-01-26 at 7 25 05 pm"
src="https://github.com/MetaMask/metamask-mobile/assets/1881059/4be5fda0-edfe-427f-8206-df6df100a6fc">

### **After**

Blockaid ft disabled

<img width="403" alt="Screenshot 2024-01-30 at 1 07 07 pm"
src="https://github.com/MetaMask/metamask-mobile/assets/1881059/bca71f83-ab01-4d70-bbc1-fac00dd76e23">

Blockaid ft enabled

<img width="401" alt="Screenshot 2024-01-30 at 1 07 48 pm"
src="https://github.com/MetaMask/metamask-mobile/assets/1881059/7d12aa9a-51e9-44d8-a6d0-6d9ca8aa9375">

Navigating to [Learn
more](https://github.com/endojs/endo/blob/master/packages/ses/README.md)

<img width="401" alt="Screenshot 2024-01-26 at 6 52 17 pm"
src="https://github.com/MetaMask/metamask-mobile/assets/1881059/a32d47b3-e95e-4a15-b745-3cbc7c444250">

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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: sethkfman <10342624+sethkfman@users.noreply.github.com>
Co-authored-by: sethkfman <seth.kaufman@consensys.net>
## **Description**
- Through the [replacement work
PR](#8037) where I
updated the UI of the settings drawer, I mistakenly updated the type of
the title color from `PropTypes.string` to `TextColor`, which causes a
warning. This PR reverts the type back from `TextColor` to
`PropTypes.string`
- 
<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

## **Related issues**

Fixes:
https://github.com/MetaMask/metamask-mobile/pull/8037/files#r1471909876

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 bumps code coverage thresholds to increase minimum. 

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 fixes nft metadata refresh when the user refreshes the page

## **Related issues**

Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-105

## **Manual testing steps**

1. Mint an NFT. (I used REMIX)
2. Go to NFT tab and import the NFT
3. You should be able to see the NFT image
4. Update the NFT image
5. Pull down the page to refresh and notice that the image is updated

## **Screenshots/Recordings**

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

### **Before**


https://github.com/MetaMask/metamask-mobile/assets/10994169/c067c15a-1525-4cfc-98d6-492ec2cca4c8

### **After**


https://github.com/MetaMask/metamask-mobile/assets/10994169/78ca98b2-f071-4a7e-a73a-f9db390cf0ad




https://github.com/MetaMask/metamask-mobile/assets/10994169/7872d505-cb81-4f95-b99f-297f56b27f32



## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **Pre-merge reviewer checklist**

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

---------

Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
Co-authored-by: Cal Leung <cleun007@gmail.com>
## **Description**
- Updated theme tokens in General and Advanced Settings from
`this.context.theme` to `this.context`. This correctly exposes the
`colors` and `brandColors` needed.

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

## **Related issues**

Fixes:
https://app.zenhub.com/workspaces/mobile-release-testing-6249e5242464b70013315a98/issues/gh/metamask/mobile-planning/1527

## **Manual testing steps**

0. Turn on Dark mode
1. Go to Settings
2. Go to General 

## **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/MetaMask/metamask-mobile/assets/14355083/bded49c2-f68b-4f49-ab8f-b6c1da6dca93


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

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

## **Description**
Updated theme tokens in QR-related tokens from this.context.theme to
this.context. This correctly exposes the colors and brandColors needed.
<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

## **Related issues**

Fixes:
https://app.zenhub.com/workspaces/mobile-release-testing-6249e5242464b70013315a98/issues/gh/metamask/mobile-planning/1529

## **Manual testing steps**

1. Go to Wallet
2. Click on Actions
3. Click on Receive

## **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/MetaMask/metamask-mobile/assets/14355083/215790d9-a758-45bc-82cc-711a767b92f2

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

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 addresses a deeplink navigation issue found in MetaMask Mobile
v7.10.0 and above ([LINK TO THE
BUG](#7766)). The
update introduces key improvements for handling deeplinks:

**Issue Overview:**
Previously, deeplinks failed to function correctly when the MetaMask app
was not running in the background. This was caused by premature route
navigation attempts before the app completed its loading process.

**Implemented Solutions:**

**Conditional Deeplink Queueing**:
A queue system for deeplinks has been implemented. Deeplinks that are
triggered by [branch.io](http://branch.io/) events are queued if the app
is not fully initialized. This queued processing ensures that deeplinks
are handled correctly only once the app loads completely.

**Immediate Handling When the App Loaded:**
For instances where the app is already loaded, deeplinks from
[branch.io](http://branch.io/) events are processed immediately and
normally, without queuing. This ensures direct and standard handling of
deeplinks in an active app state.

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


https://github.com/MetaMask/metamask-mobile/assets/61094771/629803d3-0dea-4dd8-95b0-c509d248b07a


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

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

<!--
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 just cleans and updates a few files in the codebase. They're all
non functional changes

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

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

These changes fixes incorrect stack traces for errors on Sentry. Changes
include:
- Bundle JS and upload files to Sentry using native scripts on iOS and
gradle on Android
- In addition to uploading source maps, upload missing debug symbols for
both iOS and Android
- Disable automatic Sentry file upload by default on both platforms
- Enable automatic Sentry file upload via environment variable
`SENTRY_DISABLE_AUTO_UPLOAD = false`

Future improvements
- Replace `Logger` class with `beforeSend` and `beforeBreadcrumbs` in
Sentry configuration
- Enable configuration for multiple environments in build script
- Documentation for Sentry implementation and usage
- Upload source maps and debug files to Bitrise for future reference
(Deploy Source Map will fail for now on Bitrise but will not block)

## **Related issues**

Fixes:

## **Manual testing steps**

Note: Reference your own Sentry instance to see results. These tests
focuses on having correct source maps as well as debug files uploaded to
Sentry.
- By default, Sentry auto file upload is disabled for all but release
builds (app store builds)
- To enable it for other build variants, you would need to set
`SENTRY_DISABLE_AUTO_UPLOAD` env var to "false"
- If auto upload is enabled, both source maps and debug files should be
uploaded to the Sentry instance that ties the release and dist to the
associated release
- The end result, errors appearing on Sentry should contain the correct
stack trace both for iOS and Android

## **Screenshots/Recordings**

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

### **Before**

<!-- [screenshots/recordings] -->
Broken stack traces
<img width="653" alt="image"
src="https://github.com/MetaMask/metamask-mobile/assets/10508597/7087bf52-dd59-4853-bea0-363065bd7de5">


### **After**

<!-- [screenshots/recordings] -->
Accurate stack traces
<img width="674" alt="image"
src="https://github.com/MetaMask/metamask-mobile/assets/10508597/ec80cc9f-4e5b-4965-a087-910f6f77a482">

Caveat: Some errors may show with `ses` as the top level stack trace. We
are working towards eliminating that layer so the error is more
explicit. Drilling into the error still shows the correct trace so this
is a non-blocker
<img width="332" alt="image"
src="https://github.com/MetaMask/metamask-mobile/assets/10508597/d1eb8204-0b06-4745-aaf0-3f95e8a229c0">


## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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: LeoTM <1881059+leotm@users.noreply.github.com>
## **Description**
- BottomSheetDialog's current fullscreen behavior attaches the Dialog to
the top of the screen instead of letting the height be dictated by the
maxScreenHeight, which factors in the safe area inset. This PR removes
the absolute `top:0` position of isFullscreen behavior

## **Related issues**

Fixes: 

## **Manual testing steps**

1. Go to Metamask Portfolio
2. Connect an account
3.

## **Screenshots/Recordings**

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

### **Before**

https://github.com/MetaMask/metamask-mobile/assets/14355083/f8dcc940-ea6e-4532-b76d-9dabf03b42a9

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

### **After**

https://github.com/MetaMask/metamask-mobile/assets/14355083/c366f833-7efc-4d2e-b480-8fe0b67fc778

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

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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.
…ChainApproval (#8504)

## **Description**
- Remove `isFullscreen` from AddAccount, AccountPermissions, and
AddChainApproval so the view can dynamically grow to maxHeight instead
of setting it to maxHeight

<!--
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 MM Portfolio
2. Connect to an account
3.

## **Screenshots/Recordings**

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

### **Before**

https://github.com/MetaMask/metamask-mobile/assets/14355083/c4989789-9a4d-439d-8e21-a247601ed74d

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

### **After**

https://github.com/MetaMask/metamask-mobile/assets/14355083/eb37c70b-e6c9-4aa9-b4d8-48aadcb9fed1

https://github.com/MetaMask/metamask-mobile/assets/14355083/1133ad7f-d098-40ab-b05c-219be50cad3b

https://github.com/MetaMask/metamask-mobile/assets/14355083/5c91f31d-bca3-4c56-aa5c-f835df3bca03


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

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [ ] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 Leung <cleun007@gmail.com>
This reverts commit 583ce06.

This change breaks e2e smoke on Bitrise. Will fix before merging again

## **Description**

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

## **Related issues**

Fixes:

## **Manual testing steps**

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

## **Screenshots/Recordings**

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

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

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

These changes fixes incorrect stack traces for errors on Sentry. Changes
include:
- Bundle JS and upload files to Sentry using native scripts on iOS and
gradle on Android
- In addition to uploading source maps, upload missing debug symbols for
both iOS and Android
- Disable automatic Sentry file upload by default on both platforms
- Enable automatic Sentry file upload via environment variable
`SENTRY_DISABLE_AUTO_UPLOAD = false`

Future improvements
- Replace `Logger` class with `beforeSend` and `beforeBreadcrumbs` in
Sentry configuration
- Enable configuration for multiple environments in build script
- Documentation for Sentry implementation and usage
- Upload source maps and debug files to Bitrise for future reference
(Deploy Source Map will fail for now on Bitrise but will not block)

## **Related issues**

Fixes:

## **Manual testing steps**

Note: Reference your own Sentry instance to see results. These tests
focuses on having correct source maps as well as debug files uploaded to
Sentry.
- By default, Sentry auto file upload is disabled for all but release
builds (app store builds)
- To enable it for other build variants, you would need to set
`SENTRY_DISABLE_AUTO_UPLOAD` env var to "false"
- If auto upload is enabled, both source maps and debug files should be
uploaded to the Sentry instance that ties the release and dist to the
associated release
- The end result, errors appearing on Sentry should contain the correct
stack trace both for iOS and Android

## **Screenshots/Recordings**

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

### **Before**

<!-- [screenshots/recordings] -->
Broken stack traces
<img width="653" alt="image"
src="https://github.com/MetaMask/metamask-mobile/assets/10508597/7087bf52-dd59-4853-bea0-363065bd7de5">


### **After**

<!-- [screenshots/recordings] -->
Accurate stack traces
<img width="674" alt="image"
src="https://github.com/MetaMask/metamask-mobile/assets/10508597/ec80cc9f-4e5b-4965-a087-910f6f77a482">

Caveat: Some errors may show with `ses` as the top level stack trace. We
are working towards eliminating that layer so the error is more
explicit. Drilling into the error still shows the correct trace so this
is a non-blocker
<img width="332" alt="image"
src="https://github.com/MetaMask/metamask-mobile/assets/10508597/d1eb8204-0b06-4745-aaf0-3f95e8a229c0">


## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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: LeoTM <1881059+leotm@users.noreply.github.com>
## **Description**

We need to change the yellow loading blockaid banner to *gray*. But
right now we don't have a gray color in our design systems, so pending
when this is clarified with DS team (ahem @SayaGT) we don't want this to
block release, so we will use the info (blue) banner for now.

## **Related issues**

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

## **Manual testing steps**

1. Launch MM
2. Perform a PPOM flaggable transaction from testdapp
3. See the yellow banner saying `This request is still being
simulated......`
4. Checkout this branch
5. Repeat 2-4
6. Now see that the same banner is blue

## **Screenshots/Recordings**


### **Before**


https://github.com/MetaMask/metamask-mobile/assets/44811/d6e1643d-fb8d-4d7c-8d62-e34c9b181584

### **After**


https://github.com/MetaMask/metamask-mobile/assets/44811/cbef0ba8-54f1-424c-8d3b-446209197b5e


## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

## **Description**

Enables token detection on arbitrum, optimism, base, and zksync.

Patching these from core:
- MetaMask/core#2035
- MetaMask/core#3584

## **Related issues**

## **Manual testing steps**

1. Restore an account with tokens on arbitrum, optimism, base, and
zksync.
2. enable token detection in settings
3. Switch to each of those chains
4. It should suggest <n> new token(s) found in this account
5. When manually importing a token, there should be a "search" tab

## **Screenshots/Recordings**

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

### **Before**


https://github.com/MetaMask/metamask-mobile/assets/3500406/a75f0412-31df-48ff-9832-262ecac84361

### **After**


https://github.com/MetaMask/metamask-mobile/assets/3500406/c6dc7170-1544-4d48-9709-c1952ba9d830

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 Leung <cleun007@gmail.com>
## **Description**
This PR aims to change the navigation bar to update when the loading
starts and remove it from updating it when the loading ends.

Keeping
[onLoad](https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#onload)
because it seems some users still need a work
[around](react-native-webview/react-native-webview#2970)
to get it work, and I have unknown data that shows me that this bug is
not currently happening, and doing the patch does not seem the best
option at the moment. We should check if this is still a bug on the
newest versions of react native webview code.
## **Related issues**
More details
[here](MetaMask/mobile-planning#1410)

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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 aims to solve a bug on the backup alert, when navigating to the
protect your wallet screen the alert kept being visible.

This PR contains BackupAlert converted to typescript and functional
component.

## **Manual testing steps**

_1. Step1: Create a new wallet
_2. Step2: Do not protect your wallet pressing (remember later)
_3. Step3: Press protect your wallet on the backup alert
_4. Step4: The protect your wallet should not be there

## **Screenshots/Recordings**
https://recordit.co/skV2sxdzil

new Bell Icon:

![image](https://github.com/MetaMask/metamask-mobile/assets/46944231/71b95e66-8d71-4951-a02e-4beca3e07af5)

![image](https://github.com/MetaMask/metamask-mobile/assets/46944231/7a9afc84-4138-4d91-9f8e-4f564b757125)

### **Before**

_[screenshot]_

### **After**

_[screenshot]_

## **Related issues**

_Fixes #4400 

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained:
  - [ ] What problem this PR is solving.
  - [ ] How this problem was solved.
  - [ ] How reviewers can test my changes.
- [ ] I’ve indicated what issue this PR is linked to: Fixes #???
- [ ] I’ve included tests if applicable.
- [ ] I’ve documented any added code.
- [ ] 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)).
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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: Mike B <32695229+plasmacorral@users.noreply.github.com>
Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
)

## **Description**
This PR upgrades the design-tokens package to `v2.0`. The major version
update was required due to the node version upgrade from 16 to 18, a
requirement discovered during the attempted update of the design tokens
package to `1.13` (see [PR
#8402](#8402)).

In addition to the major version upgrade, this PR includes accessibility
enhancements to various color categories from `1.13`. It also updates
several TypeScript conventions, notably the preference for types over
interfaces, and import paths aligning with the module template standards
from shared libraries.

For a comprehensive overview of the color updates, please refer to [this
PR in the design-tokens
repository](MetaMask/design-tokens#586).

The accessibility improvements ensure that:

- Text using the `warning/default` color now meets WCAG AA color
contrast requirements.
- Text using the `success/default` color now meets WCAG AA color
contrast requirements.
- Text using the `primary/inverse`, `error/inverse`, `success/inverse`,
and `info/inverse` colors in dark mode now meets WCAG AA color contrast
requirements.

These updates enhance the accessibility and user experience for vision
impaired folks in mobile.

## **Related issues**

Related:
https://github.com/MetaMask/metamask-extension#workspaces/design-system-61e8a2ae77c3a60012e5003c/issues/zh/329

## **Manual testing steps**
The easiest way to review these accessibility updates is to check
storybook

1. Go to the root `index.js`
2. Uncomment storybook 
3. Run storybook 

## **Screenshots/Recordings**

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

### **Before**

TBC

### **After**

https://github.com/MetaMask/metamask-mobile/assets/14355083/66127055-6194-4632-bcc6-3968c38df5db

https://github.com/MetaMask/metamask-mobile/assets/14355083/e8544dd8-980b-486e-aeba-b7f6286657d1


## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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**
Updated backupalert snapshot from ds tokens update. This is currently
failing CI
<!--
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: N/A

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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**
- The BottomSheetDialog currently does not use KeyboardAvoidView as it
should've. This fix enables to bottomsheet to be visible while the
keyboard is visible in a bottomsheet form

## **Related issues**

Fixes: N/A

## **Manual testing steps**

1. Go to Settings
2. Go to Advanced Settings
3. Toggle eth sign requests 
4. Check the checkbox and continue
5. Try to enter a text in the form

## **Screenshots/Recordings**

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

### **Before**

https://github.com/MetaMask/metamask-mobile/assets/14355083/6e4c959d-fd6f-4d5b-bbb6-5c3b14f421b5


### **After**

https://github.com/MetaMask/metamask-mobile/assets/14355083/bab2b9b3-c48a-4446-b341-c0deeb3a5a1f

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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.
…tally different number (#8468)

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

Observed that inputed nonce value isn't stored as number and this messes
the nonce counter.

## **Related issues**

Fixes: #6482 

## **Manual testing steps**

1. Enable Nonce Edit in Advanced Settings
2. Go to test-dapp
3. Initiate a transaction
4. Click to edit nonce
5. Adjust the nonce by manually
6. Save and submit transaction
7. See nonce value submitted

## **Screenshots/Recordings**

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

### **Before**
http://recordit.co/fh6KDG0R9g

### **After**

http://recordit.co/xwxPU8NjeZ

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
## **Description**
- Remove height behavior on android to fix issue with
keyboardingavoidingview

<!--
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: N/A

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

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

There is an
[issue](#8199) that
shows that really large dapp proposed value is rounded off for approve
transaction. Noticed that this happens when hexToBN value is wrapped
using the Number function. This PR specifies add a boolean to prevent
this for approve transactions while other use cases should act as it is.

## **Related issues**

Fixes: #8199 

## **Manual testing steps**

1. Enable input customisation for erc20 token.
[See](#8199 (comment))
2. Enter a really large value
3. See it doesn't round off the dapp proposed value

## **Screenshots/Recordings**

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

### **Before**
https://recordit.co/l0DWAilLla

### **After**
https://recordit.co/gEKmKf9Yq7

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **Pre-merge reviewer checklist**

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

---------

Co-authored-by: Olusegun Akintayo <akintayo.segun@gmail.com>
sethkfman and others added 17 commits February 16, 2024 19:36
## **Description**

This PR merges 7.16.0 into 7.17.0 the major conflict that occurred was
in the migration files. The PR creates a migration file 29 that applies
the changes which were in `main`.

- Migration 28 address bug #8578 
- Migration 29 represent the work done here #7999 

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 Leung <cleun007@gmail.com>
## **Description**

Currently, the tabs Popular and Custom Network in the Add Network screen
are creating issues for the detox tests. Detox is not capable to Match
the element with the current implementation. Also, we have found that
using the byLabel Matcher also do not work as well. This issue affects
both ios and android.

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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.
…atch (#8608)

## **Description**
Update Signature controller to verison 5.3.0
Removed unnecessary patch

## **Related issues**

Fixes: 

## **Manual testing steps**

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

## **Screenshots/Recordings**

http://recordit.co/sjLxpGp2Of

eth_sign
https://recordit.co/f3SS2lzGLL 

### **Before**

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

### **After**

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

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

Prior to merging this pull request, please ensure the following has been
completed:
- [x] The lines specifying `branches` correctly specifies this
repository's default branch (usually `main`).
- [x] Any paths you would like to ignore have been added to the
`paths_ignored` configuration option (see
[setup](https://github.com/MetaMask/Security-Code-Scanner/blob/main/README.md#setup))
- [x] Any existing CodeQL configuration has been disabled.

## What is the Security Code Scanner?
This pull request enables the [MetaMask Security Code
Scanner](https://github.com/metamask/Security-Code-Scanner/) GitHub
Action. This action runs on each pull request, and will flag potential
vulnerabilities as a review comment. It will also scan this repository's
default branch, and log any findings in this repository's [Code Scanning
Alerts
Tab](https://github.com/metamask/metamask-mobile/security/code-scanning).

<img width="500" alt="Screenshot 2024-02-12 at 9 19 05 PM"
src="https://github.com/MetaMask/temp-poc-templates-repo/assets/15018469/327691d5-84e6-4603-859d-ad84c82a8b05">

The action itself runs various static analysis engines behind the
scenes. Currently, it is only running GitHub's CodeQL engine. For this
reason, we recommend disabling any existing CodeQL configuration your
repository may have.

## How do I interact with the tool?

Every finding raised by the Security Code Scanner will present context
behind the potential vulnerability identified, and allow the developer
to fix, or dismiss it.

The finding will automatically be dismissed by pushing a commit that
fixes the identified issue, or by manually dismissing the alert using
the button in GitHub's UI. If dismissing an alert manually, please add
any additional context surrounding the reason for dismissal, as this
informs our decision to disable, or improve any poor performing rules.

<img width="983" alt="Screenshot 2024-02-12 at 8 41 46 PM"
src="https://github.com/MetaMask/temp-poc-templates-repo/assets/15018469/ca1c7083-966b-4025-8722-65900dbd1b1b">

For more configuration options, please review the tool's
[README](https://github.com/MetaMask/Security-Code-Scanner/blob/main/README.md).
For any additional questions, please reach out to
`@mm-application-security` slack.
## **Description**
* Remove caching around `yarn install` to reduce bitrise build times by
approximately **1m46s**.
It is a "quick win" until a decision is made on a caching strategy. 
* Add caching of node_modules specifically to e2e tests: The end-to-end
(e2e) tests on Bitrise leverage caching to ensure that artifacts
generated during the build stage are available during the test stage for
runtime. Without this caching mechanism, we would arrive at the test
stage without the necessary components for a fully functional runtime.
[Passing
`pr_smoke_e2e_pipeline`](https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/b9833ccb-c05e-4fdc-b490-d48f60435f09)
[Passing
`pr_regression_e2e_pipeline`](https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/fe0ea6ff-e669-475f-8fc0-a8dc50f1e6a1)

Background and discussion in [this internal
document](https://www.notion.so/metamask-consensys/Cache-Dependencies-across-Mobile-Builds-190352fdda3c4b09b4089084f4711288?pvs=4),
but the gist is:
* @Gudahtt highlighted that a restored node_modules directory does not
guarantee a fully functional environment due to potential modifications
by dependencies' lifecycle scripts outside of `node_modules`.
* Furthermore, the current approach to yarn cache management results in
a net-negative impact, as loading and saving the cache takes longer than
the time saved by `yarn install`.
* By eliminating caching, the `code_setup` workflow duration decreases
from approximately 5m29s to 3m53m.

## **Related issues**

Fixes: MetaMask/mobile-planning#1512

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [x] In case it's not yet "ready for review", I've set it to "draft".
- [x] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

Translate PR

## **Related issues**

Fixes: [#1354](MetaMask/mobile-planning#1354)

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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 removes an inexistent style property.

## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

The purpose of this PR is to continue on with our work to refactor page
objects in our e2e test code.

## **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**
Smoke on main:
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/53f88ce9-0360-494e-84aa-4c9798983ad7
Regression on main:
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/27b6e69b-1f15-40be-b5a4-2d4f07f6ac82

### **After**
Smoke:
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/39c38a2b-cdfd-4993-bdf3-14b3de741386
Regression:
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d3903f4e-7f87-48d1-97cd-5eba0fb404d1

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

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

The purpose of this PR is to reduce the cognitive load on devs when
setting up detox e2e tests.


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

 

Regression pipeline:
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d987fd8b-065b-4b22-b3cd-f13d14df7850

Smoke pipeline:
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d987fd8b-065b-4b22-b3cd-f13d14df7850

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

<!--
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?
- running yarn setup on main results in these changes
- they need to be committed in order to avoid adding unnecessary changes
to other peoples PRs.
3. What is the improvement/solution?
- no improvement, just committing the version updates for segment. 
-->

## **Related issues**

this change is not tracked by an issue since it is so small and benign.
Fixes:

## **Manual testing steps**

1. checkout this branch
2. run yarn setup
5. there should be git changes
6. run the app using xcode or yarn start:ios
7. the app should run without issues

## **Screenshots/Recordings**

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

### **Before**

### **After**

![Simulator Screenshot - iPhone 13 Pro - 2024-02-21 at 14 46
15](https://github.com/MetaMask/metamask-mobile/assets/22918444/fd598678-5056-48b4-bbb2-a43a994611cf)


## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

Adds a warning when the user switches to either Arbitrum goerli or OP
goerli testnet.

This also fixes the fact that once you switch to goerli network and you
close the warning. Then switch to Ethereum. Then switch back to goerli,
you wont be able to see the deprecation warning again.

## **Related issues**

Fixes:
Related ticket :
https://consensyssoftware.atlassian.net/browse/MMASSETS-155

## **Manual testing steps**

1. Go to home page
2. Either use chainlist to add OP goerli network/Arbitrum Goerli. Or you
can click on Add network manually and fill the input boxes
3. Click switch network
4. You should see the network deprecation warning.

## **Screenshots/Recordings**

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

### **Before**


https://github.com/MetaMask/metamask-mobile/assets/10994169/d1279946-6cbe-42dc-bc8c-53fabec434dd


### **After**



https://github.com/MetaMask/metamask-mobile/assets/10994169/1828b594-0507-41ac-85cc-e41f72703770



## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
This PR aims to add single function wrappers for each
TransactionController method such as `addTransaction` and `estimateGas`.

## **Related issues**

For more detail :
MetaMask/mobile-planning#1488

## **Manual testing steps**

No QA needed since there is no functional change

## **Pre-merge author checklist**

- [X] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [X] I've clearly explained what problem this PR is solving and how it
is solved.
- [X] I've linked related issues
- [] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [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.
- [X] I’ve properly set the pull request status:
  - [X] In case it's not yet "ready for review", I've set it to "draft".
- [X] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

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

## **CI Related Section: DO NOT EDIT**

Flag used by Bitrise to either run or skip E2E smoke tests

- Bitrise Flag:[skip ci]
## **Description**
This PR create the new `trackErrorAsAnalytics` for segment migration
## **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 Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've clearly explained what problem this PR is solving and how it
is solved.
- [ ] I've linked related issues
- [ ] I've included manual testing steps
- [ ] I've included screenshots/recordings if applicable
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [ ] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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**
- Added TagColored to component temp folder, based on
https://www.figma.com/file/PsKqriAOpJDQpaHt373D45/Off-Ramp?type=design&node-id=1%3A2&mode=design&t=pPqrfRmG4eNsCDPZ-1

## **Related issues**

Fixes: #8676 

## **Manual testing steps**

1. Change pointer in `index.js` to Storybook to open Storybook
2. Click on Components Temp
3. Click on TagColored

## **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/MetaMask/metamask-mobile/assets/14355083/12c727d0-474c-4638-aae5-ac551b4f81d6

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

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've clearly explained what problem this PR is solving and how it
is solved.
- [x] I've linked related issues
- [x] I've included manual testing steps
- [x] I've included screenshots/recordings if applicable
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
- [x] I’ve properly set the pull request status:
  - [ ] In case it's not yet "ready for review", I've set it to "draft".
- [ ] In case it's "ready for review", I've changed it from "draft" to
"non-draft".

## **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.
@Cal-L Cal-L requested a review from a team as a code owner February 22, 2024 20:12
Copy link
Contributor

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

@Cal-L Cal-L changed the base branch from main to release/7.16.0 February 22, 2024 20:13
@Cal-L Cal-L added team-mobile-platform ready-for-dev No QA Needed Apply this label when your PR does not need any QA effort. labels Feb 22, 2024
@Cal-L Cal-L merged commit ec51f71 into release/7.16.0 Feb 22, 2024
30 checks passed
@Cal-L Cal-L deleted the chore/7.16.0-fix-conflicts-2 branch February 22, 2024 20:14
@github-actions github-actions bot locked and limited conversation to collaborators Feb 22, 2024
@metamaskbot metamaskbot added the release-7.16.0 Issue or pull request that will be included in release 7.16.0 label Feb 28, 2024
@metamaskbot
Copy link
Collaborator

No release label on PR. Adding release label release-7.16.0 on PR, as PR was added to branch 7.16.0 when release was cut.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
No QA Needed Apply this label when your PR does not need any QA effort. release-7.16.0 Issue or pull request that will be included in release 7.16.0 team-mobile-platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.