-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Test: disable multi-SRP #14857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
shane-t
wants to merge
169
commits into
stable
Choose a base branch
from
sto/7.45-cherry-pick/multi-srp-x
base: stable
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Test: disable multi-SRP #14857
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: metamaskbot <[email protected]> Co-authored-by: sethkfman <[email protected]>
## **Description** This PR adjust a minor formatting issue causing problems on the `bitrise.yml` script. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: metamaskbot <[email protected]>
## **Description** This PR updates the `@metamask/design-tokens` package from `v5.0` to `v5.1.0` to align with MetaMask's [brand evolution color updates](https://consensys.slack.com/archives/C1L7H42BT/p1742922214475199). The most notable change is the transition from our traditional blue to the new "blurple" color scheme. It touches a lot of snapshots but there are no functional changes other than upgrading the design tokens library. ## **Related issues** Fixes: MetaMask/MetaMask-planning#4405 ## **Manual testing steps** 1. Run the application and verify the updated colors across various components 2. Check light mode and dark mode ## **Screenshots/Recordings** ### **Before** Navigating around the app with current colors using primary (blue) https://github.com/user-attachments/assets/358af5a6-bee3-4a56-a41d-17b4e6deb66e ### **After** Navigating around the app with brand evolution colors using primary (blurple) https://github.com/user-attachments/assets/087b7036-68ac-475b-bff0-7e0f0a7b1521 ## **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 ## **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** Issue: The network controller may return data that is missing or malformed Solution: Add a guard clause when building the block explorer URL. When `undefined` is thrown, The "View on Etherscan" option will not be shown in the edit account bottom sheet Also fixed an issue where the fixture builder was return malformed network configurations object which would crash on tests ## **Related issues** Fixes: #[14255](#14255) ## **Manual testing steps** ### Normal Flow 1. Goto wallet home screen 2. Switch to any network 3. Click on the account switch button up top 4. Click on the kebab icon next to an account 5. The bottom sheet should appear as normal 6. If the network controller returns any malformed object that relates to building a block explorer url, the "View on Etherscan" should not be shown ### E2E Flow #### To test the guard clause 1. Comment out the guard clause ```typescript if (!explorer) { return undefined; } ``` 2. Undo all the changes from `e2e/fixtures/fixture-builder.js` in this PR 3. Run `yarn test:e2e:ios:debug:build` this will give you a build with a malformed network which is Localhost in this case 4. Run `yarn test:e2e:ios:debug:run e2e/specs/accounts/change-account-name.spec.js` and observe the invalid url error 5. Comment back the guard clause and re-run the e2e test and it should pass without the changes from `e2e/fixtures/fixture-builder.js` #### To test the fixture fix 1. Comment out the guard clause ```typescript if (!explorer) { return undefined; } ``` 2. Run `yarn test:e2e:ios:debug:run e2e/specs/accounts/change-account-name.spec.js` and it will pass ## **Screenshots/Recordings** | Before | After | |:---:|:---:| ||| ### **Before** NA ### **After** NA ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR sync stable and main with the 7.43.0 release. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: metamaskbot <[email protected]> Co-authored-by: MetaMask Bot <[email protected]> Co-authored-by: runway-github[bot] <73448015+runway-github[bot]@users.noreply.github.com> Co-authored-by: Vince Howard <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: sahar-fehri <[email protected]> Co-authored-by: Aslau Mario-Daniel <[email protected]> Co-authored-by: Eric Bishard <[email protected]> Co-authored-by: Owen Craston <[email protected]> Co-authored-by: tommasini <[email protected]> Co-authored-by: Curtis David <[email protected]> Co-authored-by: Davide Brocchetto <[email protected]> Co-authored-by: Matthew Grainger <[email protected]> Co-authored-by: OGPoyraz <[email protected]> Co-authored-by: Daniel <[email protected]> Co-authored-by: Jyoti Puri <[email protected]> Co-authored-by: Prithpal Sooriya <[email protected]> Co-authored-by: Xiaoming Wang <[email protected]> Co-authored-by: Nick Gambino <[email protected]> Co-authored-by: Brian August Nguyen <[email protected]> Co-authored-by: Nico MASSART <[email protected]> Co-authored-by: Salim TOUBAL <[email protected]> Co-authored-by: CW <[email protected]> Co-authored-by: Pedro Figueiredo <[email protected]> Co-authored-by: digiwand <[email protected]> Co-authored-by: Gustavo Antunes <[email protected]> Co-authored-by: Vinicius Stevam <[email protected]> Co-authored-by: EtherWizard33 <[email protected]> Co-authored-by: Bryan Fullam <[email protected]> Co-authored-by: Devin Stewart <[email protected]> Co-authored-by: Ziad Saab <[email protected]> Co-authored-by: Nicholas Smith <[email protected]> Co-authored-by: George Weiler <[email protected]> Co-authored-by: Cal Leung <[email protected]> Co-authored-by: Amitabh Aggarwal <[email protected]> Co-authored-by: Gauthier Petetin <[email protected]> Co-authored-by: Frederik Bolding <[email protected]> Co-authored-by: infiniteflower <[email protected]> Co-authored-by: Iván <[email protected]> Co-authored-by: Daniel Cross <[email protected]> Co-authored-by: Owen Craston <[email protected]> Co-authored-by: Kylan Hurt <[email protected]> Co-authored-by: jake-perkins <[email protected]> Co-authored-by: David Drazic <[email protected]> Co-authored-by: Pedro Pablo Aste Kompen <[email protected]> Co-authored-by: AxelGes <[email protected]> Co-authored-by: Michele Esposito <[email protected]>
<!-- 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? --> We recently added `TransactionController` event handlers by having flexibility of "modular initialisation". This means that we can get rid of existing `Transaction Finalized` events living in the Engine file. All STX metric properties will be added as expected as before. ## **Related issues** Fixes: MetaMask/MetaMask-planning#4520 ## **Manual testing steps** No manual testing required - user flows are not affected. ## **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** <!-- 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 pull request introduces enhancements to the handling and tracking of phishing-related events in the `PhishingModal` component. The key changes include the addition of event tracking when the phishing modal is displayed and when users choose to proceed to a phishing site despite warnings. ## **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** We escape RTL override unicode from signTypedData requests. This PR escapes LTR override unicode since we also support RTL languages ## **Related issues** Fixes: MetaMask/MetaMask-planning#4421 ## **Manual testing steps** 1. Go to a url that can load windows.ethereum (e.g. test-dapp) 2. Send request with unicode characters. You may paste the unicode characters directly https://unicode-explorer.com/c/202D e.g. ``` const rawMessageV4 = { types: { EIP712Domain: [ { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'chainId', type: 'uint256' }, { name: 'verifyingContract', type: 'address' }, ], Person: [ { name: 'name', type: 'string' }, { name: 'wallet', type: 'address' }, ], Mail: [ { name: 'from', type: 'Person' }, { name: 'to', type: 'Person' }, { name: 'contents', type: 'string' }, ], }, primaryType: 'Mail', domain: { name: 'Ether Mail', version: '1 ', chainId: 11155111, verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { from: { name: 'Cow', wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826' }, to: { name: 'Bob', wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD123' }, contents: 'helloworld hi∞', // Hidden characters in string }, }; // Send the request await window.ethereum.request({ method: "eth_signTypedData_v4", params: ["0xYourWalletAddress", JSON.stringify(rawMessageV4)] }); ``` ## **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** As a part of Portfolio View v1, we want to support filtering by chain for the Activity View. This means that when “All Networks” is selected, it also shows the activity for all networks when Activity tab is selected. When “Curren Network” is selected, it shows the activity only for the current network. Smart transaction PR: MetaMask/smart-transactions-controller#498 <!-- 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 activity page 2. You should have a drop down menu to filter on networks 3. when you choose current network , you should see only transaction for current network ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/a5c0095d-d811-4954-bda1-9ef92e84e687 ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/5a8c6258-2a9c-427a-9d06-ec4baef7578c ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> Two changes are made in this PR to fix the issue where an invalid password message is missing - Remove redundant `lockApp` call from `Authentication`. This is not needed since the user is already locked out and is on the login screen. The disappearance of the invalid password message was a result of the `lockApp` action re-navigating to the login screen - We also consolidating the invalid password logic so that the catch block handles both the password requirement and invalid password scenario ## **Related issues** Fixes: #13558 ## **Manual testing steps** 1. Create a wallet 2. Kill and re-open app to land on the login screen 3. Try entering 2 characters and login, which will result in an invalid password message as a result of failed password requirements 4. Try entering 10 characters, which will result in an invalid password message as a result of a failed vault decryption (wrong password) ## **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/90b908d7-fa80-48e9-a730-d4d398eafc37 ## **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.
…14314) <!-- 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 missing translations in Swap tx. ## **Related issues** Fixes: #14285 ## **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** In new designs app was hanged after any error in ledger signing. The PR fixes this issue. ## **Related issues** Fixes: MetaMask/MetaMask-planning#4482 ## **Manual testing steps** 1. Connect to ledger 2. On test dapp submit signatures 3. Ensure they works as expected ## **Screenshots/Recordings** TODO ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- 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** Support input types on the `SnapUIInput` component. For mobile, this means changing the keyboard type and potentially hiding characters in a password input. This PR does not implement `min`, `max` or `step` as there doesn't seem to be any direct equivalents on mobile at this time. This PR also fixes a number of small issues like the sheets not having a max height and the banner sometimes showing an empty title. ## **Related issues** Fixes: MetaMask/snaps#3181
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Bump Snaps packages to latest and handle required changes. Summary of changes: - Prevent concurrent decryption of Snap state - Increase Snap interface context size limit - Add underlying support for `AssetSelector` and `AddressInput` (UI/UX to follow)
<!-- 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 the ability for a user to add an account to a specific SRP. <!-- 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? --> - Added SelectSRP, SRPList and SRPListItem components - Changed the AddAccountAction to show SRP list if there are multiple srps, otherwise the behavior is the same - Added e2e selectors that are not currently used in tests. - Changed Nav/App's `RootModalFlow` to accept a new optional prop to pass the route information. ## **Related issues** Fixes: ## **Manual testing steps** 1. Import a new SRP 2. Open account actions 3. Click add account 4. See that you can select the srp to add the account to. 5. Add Account 6. Go back to the add account srp list, and see that the account as been added to the specified srp. ## **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/507d84b7-6a00-4a55-80ed-aed2faed1068 <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> As result of [Confirmations code folder structure proposal](https://www.notion.so/metamask-consensys/Confirmations-code-folder-structure-improvements-1c0f86d67d6880dfa74acc25f2f27832), this PR relocates old confirmation code into `legacy` folder. It has no functional change - just relocation. ## **Related issues** Fixes: MetaMask/MetaMask-planning#4550 ## **Manual testing steps** No user flow changes. ## **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** Enable e2e testing on flask builds in ci to allow engineers and QA to run automated tests early in development, ensuring faster feedback and improved stability <!-- 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: NA ## **Manual testing steps** 1. Ensure the spec files are placed in the directory e2e/specs/flask, similar to the extension repo structure. 2. Navigate to Bitrise dashboard. 3. Start a new build for your project. 4. Select the branch you want to run the tests on. 5. In the build workflow, add or select the run_e2e_flask_pipeline step to trigger the E2E tests. 6. Wait for the build to complete and review the E2E test results. 7. If necessary, fix any issues identified during testing and rerun the pipeline. ## **Screenshots/Recordings** <img width="409" alt="image" src="https://github.com/user-attachments/assets/492b0771-5600-45ba-b86b-dc2d0ab486dc" /> <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [z] 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 loading banner flickers and was delayed because we have 2 loading states from 2 different controllers. We now combine them into a contiguous loading state, and ensure we check both controllers are loading to show the loading banner. ## **Related issues** Fixes: ## **Manual testing steps** Test notification enable flow 1. Onboard 2. Click Bell 3. Enable Notifications ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://www.loom.com/share/8a7f4dc67c1b46f0b3fd3be8b3766108?sid=e45d1f5f-ecb0-4ede-8608-ac1376be51cd <!-- [screenshots/recordings] --> ### **After** https://www.loom.com/share/84dc07aa17524cf19baee592006b5099?sid=dbbb9340-a02b-46eb-8015-cf21d61caa09 <!-- [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's purpose is to temporarily skip a flaking onramp e2e test to unblock e2e on main. There will be a follow-up PR to address the flakiness. Test run: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/16a92e22-a60e-4102-abaa-2dc6fe5de80f ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR introduces a new QuoteDetailsCard component to enhance the Bridge UI by displaying detailed quote information along with features such as expandable content for price impact and slippage settings, as well as adding relevant tests and updating redux state management. ### Key Components Added #### 1. QuoteDetailsCard - Displays essential quote information including: - Network fee and estimated processing time - Source and destination network details - Exchange rate and price impact - Slippage settings - Features an expandable accordion view for additional details #### 2. SlippageModal (Updated) - Refactored to use Redux for state management ## **Related issues** Fixes: [MMS-1985](https://consensyssoftware.atlassian.net/browse/MMS-1985) ## **Manual testing steps** 1. Navigate to the Bridge screen 2. Verify the QuoteDetailsCard displays: 3. Source and destination network badges 4. Network fee amount 5. Estimated transaction time 6. Quote rate 7. Price impact (when expanded) 8. Test the expand/collapse functionality 9. Verify the slippage edit button opens the SlippageModal 10. Check that the quote info button opens the QuoteInfoModal ## **Screenshots/Recordings** https://github.com/user-attachments/assets/9b964521-5886-461b-abf5-466f1b609e96 ## **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. [MMS-1985]: https://consensyssoftware.atlassian.net/browse/MMS-1985?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
…14237) ## **Description** This PR refactors the Stake Input component to make it compatible with evm tokens that are not ETH. We approach this task by starting a fresh Earn directory where we will slowly convert components, utils, hooks etc. to be compatible with all evm tokens. The first flow to tackle is the Stake Input flow. This was moved to the Earn directory and is now Earn Input flow. Several other files have been moved to the Earn folder and possibly renamed if appropriate. If a file or directory has been moved the counterpart has been removed from the Stake directory and it is now the source of truth. The Earn directory files handle logic whether the `isStableCoinLendingFeatureEnabled` feature flag is true or false. The first commit moves some directories over with no logical changes, only path changes if any The second commit moves some other components, hooks and views and updates logic generally, fixing existing unit tests The third commit adds unit tests **This PR does not fully complete the Earn Deposit flow**, but aims to make the component compatible with all evm tokens to prepare for completion in another ticket. While making this component compatible, there was a considerable amount of headway made for the Earn Withdraw flow as well as they use the same input hook. The Earn Withdraw flow is also not fully complete but is prepared for completion in another ticket. ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/STAKE-949 ## **Manual testing steps** - With stable coin lending flag off, everything should work as it was working before - With stable coin lending flag off, user should be able to deposit, withdraw and claim - With stable coin lending flag off, user should get appropriate errors for not enough eth for gas or not enough for balance - With stable coin lending flag off, there should be no leaking of stable coin features - With stable coin lending flag on, user should be able to begin a deposit with any of the tokens in the earn selection list - With stable coin lending flag on, user should get appropriate errors for not enough token for balance or not enough ETH for gas - Note that currently gas estimation for stablecoin lending is not implemented, however, a user should not be able to deposit more than they have. There is also a check for gas that is implemented that allows user to spend max balance of a token that is not ETH as long of they have enough ETH in gas. We will plug in the proper gas estimation in another ticket. - With stable coin lending flag on, user should be able to begin a withdrawal like normal for ETH as there is no Earn ui yet. Note that if there was evm tokens are now supported ## **Screenshots/Recordings** https://github.com/user-attachments/assets/d4c3d008-9ada-420d-bd4a-849ed45a547b ### **After** https://github.com/user-attachments/assets/ef1a5d62-41fe-457c-bc34-ef14c6ee9bf3 ## **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** Add a legacy compatible process in the addProperties function to handle the object props that contains a `anonymous: true` and move them to sensitiveProperties instead. It was planned that code would use addSensistive properties, but sometimes, we get some mixed props from places like a getAnalyticsParams function that returns a lot props and passes them along far before the event is built. It would require a too big refactoring to split these props at the source. I decided to add a new processing in the addProperties directly to filter anonymous props passed as normal props and redirect them. Even if this new additional processing is executed for all the addProperties calls, it is not adding enough processing time to negatively impact performances. ## **Related issues** Fixes #12728 >[!NOTE] > This fixes props for when events are not properly polulated, but ideally they are, and some effort to fix how eventsa re populated have been made in #12532 ## **Manual testing steps** 1. View the tx approval screen 2. check `Approval Started` event props 3. generates both a non-anonymous and an anonymous event. 4. Only anonymous event contains `number_tokens_requested` ## **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 bumps assets-controllers to v55.0.1 and introduces the network filter to the NFT tab. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to NFT tab and notice the network filter bar. 2. You should be able to see your NFTs detected on Ethereum and linea. Make sure you see the correct NFTs and the right network icon. 3. Switch to polygon and import the NFTs you have on polygon, make sure they are imported properly. 4. Click on the NFTs and see the NFT details page ## **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** This PR bumps `@metamask/controller-utils` to `^11.6.0` ## **Related issues** Fixes: ## **Manual testing steps** 1. No 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 - [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). - [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: Mathieu Artu <[email protected]>
## **Description** A function to search a token was expecting a fixed value, and if it wasn't present the test was failing. I updated the function to search for the token by it's name and then selecting it. ## **Related issues** Fixes: Flaky test was failing the pipeline ## **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** Resolve a couple of issues with Snaps UI in dark mode. ## **Related issues** Fixes: #14286 ## **Screenshots/Recordings** ### **After** 
<!-- 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 aims to address the issue where the apk path was incorrect in `build_android_devbuild`. The default string generated for an expo apk is `app-prod-debug.apk` and the folder where it lives is in `/debug` Here is an example of the passing builds: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/2aed60c0-237a-48b0-af72-c712e4d7c1c6 Here is the specific problematic build on main: https://app.bitrise.io/build/1644e3e9-4a02-4be7-851e-5b0a6300c4ff Now here on my branch: https://app.bitrise.io/build/79ba7b27-716b-43b1-8546-032c9f5e48ac?tab=log I update the `_android_build_template` to account for android expo builds. ``` # Set base paths for release builds if [ "$IS_DEV_BUILD" = "true" ]; then APK_DIR="$PROJECT_LOCATION/app/build/outputs/apk/$APP_NAME/debug" else APK_DIR="$PROJECT_LOCATION/app/build/outputs/apk/$APP_NAME/release" BUNDLE_DIR="$PROJECT_LOCATION/app/build/outputs/bundle/$OUTPUT_PATH" fi # Generate new names based on build type and version NEW_BASE_NAME="metamask-${METAMASK_ENVIRONMENT}-${METAMASK_BUILD_TYPE}-${NAME}-${NUMBER}" # Rename APK if [ "$IS_DEV_BUILD" = "true" ]; then OLD_APK="$APK_DIR/app-$APP_NAME-debug.apk" OLD_AAB="$BUNDLE_DIR/app-$APP_NAME-debug.aab" else OLD_APK="$APK_DIR/app-$APP_NAME-release.apk" OLD_AAB="$BUNDLE_DIR/app-$APP_NAME-release.aab" fi ``` ## **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.
…ps (#12… (#14362) <!-- 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 PR introduced an onboarding blocker which is making the apps unusable. To unblock engineers, #12931 was reverted. ## **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** Problem: `TOKEN_ADDED` events are being sent to Mixpanel. Many of these events are set with the `source` as `(not set)`: https://mixpanel.com/project/1979229/view/132079/app/boards#id=6919493&edited-bookmark=NBBXi19rnuQX This is because we are building the metrics like this: ``` this.props.metrics.trackEvent( this.props.metrics .createEventBuilder(MetaMetricsEvents.TOKEN_ADDED) .addProperties(this.getAnalyticsParams()) .build(), ); ``` Then, `getAnalyticsParams` is set in a try/catch: ``` getAnalyticsParams = () => { try { const { chainId } = this.props; const { address, symbol } = this.state; return { token_address: address, token_symbol: symbol, chain_id: getDecimalChainId(chainId), source: 'Custom token', }; } catch (error) { return {}; } }; ``` This means, that we there’s an error, we send an empty event. This PR refactors to return `undefined`, not send the empty event to Mixpanel when there's an error, and then logging the error being emitted for further troubleshooting. The root cause of the error is still unknown. We anticipate that it's because for the `AddCustomToken` event, we are passing an array of params, when this could not be supported for very large data sets. The rest of these changes should at minimum ensure that the data being sent to Mixpanel for tracking is meaningful. ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-657 ## **Manual testing steps** ## **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** We have been seeing random failures on main branch related to lockfile sync due to latency or infrastructure issues. These are not test failures. <!-- 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.bitrise.io/build/3d0f5e39-2c0b-447a-a715-90a7f40b5a0e ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/c205bda9-70d0-424a-839d-e434b79ac55b ## **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.
…stablecoin pairs (#14760) - fix: not setting default slippage for non stablecoin pairs (#14730) <!-- 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 fixes an issue where if you were on a stablecoin pair then selected a pair of tokens which were both not stablecoins, we would be keeping the default slippage as 0.5%. This will set the default slippage to 2% for non stablecoin pairs. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to Swaps 2. Select USDC and USDT as the pair 3. See slippage be set to 0.5% 4. Change USDC to ETH 5. See slippage be set to 2% ## **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/f0a67e3d-acbf-4ab9-a0a7-2860e175027f ## **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. [14fd5f2](14fd5f2) Co-authored-by: infiniteflower <[email protected]>
- fix: cp-7.45.0 padding for android (#14725)
## **Description** <!-- 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. --> This pr fixes the input text color to show the alternative text color in dark mode and moves validation logic into a validation file. Changes: 1. ImportNewSecretRecoveryPhrase dark mode text color. 2. Moved logic into a new validation file <!-- 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? 3. What is the improvement/solution? --> Fixes: https://consensyssoftware.atlassian.net/browse/MMMULTISRP-172?atlOrigin=eyJpIjoiODc2NzY1Y2RjMGExNDBiMzlkODY2OWFkOWNkYjIxMTUiLCJwIjoiaiJ9 1. Go to account actions 2. Click on `Secret Recovery Phrase` 4. Enter a word 5. Switch to dark mode and see that the text color is visible. <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <!-- [screenshots/recordings] -->  <!-- [screenshots/recordings] --> - [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. - [ ] 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.
- fix: re-enable basic functionality onPersistComplete (#14761) <!-- 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 [4709](https://github.com/MetaMask/MetaMask-planning/issues/4709) ## **Manual testing steps** 1. Follow steps in issue ## **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: Ziad Saab <[email protected]> [bd2259d](bd2259d) --------- Co-authored-by: Frank von Hoven <[email protected]> Co-authored-by: Ziad Saab <[email protected]> Co-authored-by: Cal Leung <[email protected]>
vpintorico
previously approved these changes
Apr 24, 2025
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist