-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
feat: 7.38.0 #12671
base: stable
Are you sure you want to change the base?
feat: 7.38.0 #12671
Conversation
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Use the mock server to create E2E tests for transactions and signatures to test the Security Alert API responses. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/mobile-planning#1813 ## **Manual testing steps** 1. Bitrise ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes an issue where the source property was not being set correctly when an error occurred during local PPOM validation. Previously, if the local PPOM failed, the error handling mechanism would add an error message but omit the source property, making it unclear whether the error originated from the API or the local PPOM. **Changes introduced:** - Modified error handling for the local PPOM validation to ensure that the source property is correctly set to "local" when an error occurs during local validation. - Ensured that the source property is properly set to "api" in case of an API failure. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/mobile-planning#2058 ## **Manual testing steps** 1. Go to the live test dapp 2. Trigger a send transaction with suggested gas values (ie Send Legacy or send EIP1559) 3. Check Segment Obs: We need to block the network calls for `https://security-alerts.api.cx.metamask.io/` and `https://static.cx.metamask.io/api/v1/confirmations/ppom/ppom_version.json` in the Chrome dev tools > network tab. ## **Screenshots/Recordings** [security-alerts-local.webm](https://github.com/user-attachments/assets/f1fbfe8c-b7ca-4056-99ff-06ab5a9cba6a) <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…tions,Events}` (#12407) ## **Description** The `GlobalActions` and `GlobalEvents` types have not been updated to keep up with the controller V2 upgrades. This commit adds missing entries and fixes redundant, outdated, or erroneous entries. All changes in this commit are purely at the type-level with no impact on runtime behavior. ## **Related issues** - Follow-up to controller V2 upgrades: MetaMask/MetaMask-planning#3234 - Blocks #10441 ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…12348) ## **Description** The engine context and background state currently include three "non-controllers" with empty/non-existent state: `AssetsContractController`, `NftDetectionController`, `TokenDetectionController`. These should be included in the engine context, but excluded from any representations of background state. This is not a disruptive change, as there are no downstream references to the state objects or state properties of these non-controllers. For more information on non-controllers, see: - https://github.com/MetaMask/decisions/blob/main/decisions/core/0001-messaging-non-controllers.md - https://github.com/MetaMask/decisions/blob/messaging-components-abstraction/decisions/core/0004-messaging-components-abstraction.md#background ## **Related issues** - Blocks #10441 - This ticket will remove non-controller entries from the engine datamodel and state getter method. ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…al prop (#12405) ## **Description** The active network icon in the header has too much margin and is misaligned with the network title. I have also added an optional prop of `networkName` that allows developers to pass in the network name of their choice. This is in preparation of [multichain](#12256) support, currently we are showing the selected network name, in multichain we want to be able to pass in a network name and not the selected chain. ## **Related issues** Fixes: ## **Manual testing steps** 1. Goto asset details, swaps, or buy. Basically any screen that has the header with network name 2. 3. ## **Screenshots/Recordings** (green icon at the very top) | Before | After | |:---:|:---:| |![asset_details_ios_before](https://github.com/user-attachments/assets/26de61bb-a217-456f-9d40-8bc552f4b1ec)|![asset_details_ios_after](https://github.com/user-attachments/assets/a4d4667b-4b1f-485c-a9f9-ef78872da772)| ### **Before** NA ### **After** NA ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> Introduction of `@metamask/remote-feature-flag-controller` library. Remote feature flag controller manages data flow, retry policy, and cache expiry. The controller consumer manages default values, data persistency, and data distribution. See [ADR](https://github.com/MetaMask/decisions/blob/b3094d47a568ac1e076a44fa704c2d29d1b59f35/decisions/wallet-platform/0001-remote-rollout-feature-flags.md) for a in-depth description ## Technical decisions ### Controller init on `Engine.ts` with feature flags fetching only on cold app starts. `@metamask/remote-feature-flag-controller` is only asked to fetch feature flags after its init in `Engine.ts`. Ensures feature flags are only fetched on cold app starts. ### Fallback values Default values are used when remote feature flags are undefined. The fallback mechanism is implemented by each feature flag selector `app/selectors/featureFlagsController/<featureFlagName>` In this PR we include `minimumAppVersion` selector, which manages the LD feature flag `mobile-minimum-versions` ### One selector per each feature flag [LD feature flags can be boolean, number, strings on JSON objects](https://docs.launchdarkly.com/sdk/concepts/flag-types#understanding-flag-types). We've decided to have each feature flag with its own selector A feature flag selector contains: - state selectors for each feature flag value. - business logic - defaults for when feature flags values are undefined. - TS types. - unit tests and mocked data. This architecture offers a clear separation between each feature flag and the logic behind it, allowing easier manipulation. Code owners are assigned to each feature flag. ### ## **Related issues** Fixes: MetaMask/mobile-planning#2054 Fixes: MetaMask/mobile-planning#1975 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Nico MASSART <[email protected]> Co-authored-by: tommasini <[email protected]>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR does enables the creation of Bitcoin (Mainnet and Testnet) accounts on MetaMask mobile. This is done via the [snap-bitcoin-wallet](https://github.com/MetaMask/snap-bitcoin-wallet) which is included as a preinstalled snap. The added UI buttons to the account actions communicate with the snap, then the snap is routed through our SnapKeyring handlers to enable custom account names. This is just the first step and does not include all of the necessary logic/UI to launch this feature. This PR simply enables Bitcoin account creation and renders the proper BTC address and network in the wallet view. ### How - adds the [Snap Bitcoin Wallet](https://github.com/MetaMask/snap-bitcoin-wallet) as a pre installed snap - added the `BitcoinWalletSnapSender` which allows us to communicate with the bitcoin snap - added the Bitcoin Logo to the assets and conditionally render them on the wallet view if the selected account is BTC. This is just visual and is a disabled button. This also does not change any other network related logic elsewhere in the app. - renamed `selectSelectedInternalAccountChecksummedAddress` to `selectSelectedInternalAccountFormattedAddress` since bitcoin addresses are not checksummed. - instead of eagerly checksumming addresses, I conditionally checksum them based on wether the address is EVM or not. this is done with the `toFormattedAddress` in `app/util/address/index.ts` and `getFormattedAddressFromInternalAccount` in `app/core/MultiChain/utils.ts` - added selector `hasCreatedBtcMainnetAccount` and `hasCreatedBtcTestnetAccount` - added new call to actions in the account actions menu for adding Bitcoin accounts. - added MultichainSettings to the root state to create a feature flag for Bitcoin. This state can easily be expanded to support other chains in the future. For now we have no way to setting this state to true as this is feature is not production ready. Right now this state is is used to hide the bitcoin feature in the wallet. ## **Related issues** Fixes: MetaMask/accounts-planning#698 ## **Manual testing steps** ### Testing the multichain feature flag By default all the bitcoin related features should be hidden behind the `bitcoinSupportEnabled` and `bitcoinTestnetSupportEnabled` which are set to false by default and have no way of modifying them inside the UI. To verify that these feature flags are working.... 1. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask` 2. run the app on this branch 3. complete onboarding 4. click on your account 5. the account list menu should open with a CTA to add a new account 6. click `Add account or hardware wallet` 7. VERIFY that there are no new account actions (there should be no option to add a bitcoin account) ### Turn on the bitcoin feature 1. navigate to `app/reducers/multichain/index.ts` 2. change the values in the `initialState` to be true 3. force close and reload the app 4. click on your account 5. the account list menu should open with a CTA to add a new account 6. click `Add account or hardware wallet` 7. You should now see the options to add a Bitcoin account and a bitcoin testnet account. ### Adding a Bitcoin Testnet account 1. `ENSURE THAT YOU HAVE TURNED ON THE BTC FEATURE FLAGS` described in the steps above. 2. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask` 6. run the app on this branch 7. complete onboarding 8. click on your account 9. the account list menu should open with a CTA to add a new account 10. click `Add account or hardware wallet` 11. then click `Add a new Bitcoin Account (Testnet)` 12. a bottom sheet should open with a text field pre filled with `Bitcoin Testnet Account` 13. click `Add account` 14. the account should be added and selected on the wallet view. 15. if you go through the same steps (steps 4-6) the option to add a Bitcoin testnet account should be disabled since you can only have one BTC Test account. 16. Now that you are on the wallet view, verify that the address is rendered in short form i.e `tb1qcv...4av3` 17. you will not see a balance rendered for this account since BTC balances are not yet supported. 18. verify that the network that is displayed on the wallet view shows the Bitcoin logo and that when you click it nothing happens. 19. verify that when clicking on the actions button in the bottom tab bar opens a list of actions that are disabled (send, swap, bridge etc). All of these features should be disabled for BTC 20. click on your account, when the account list opens up select one of your ethereum accounts. 21. the Balance should render and the network should display the ethereum network. 22. clicking on the network picker DOES open the network selector list ### Adding a Bitcoin Mainnet account 1. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask` 3. run the app on this branch 4. complete onboarding 5. click on your account 6. the account list menu should open with a CTA to add a new account 7. click `Add account or hardware wallet` 9. then click `Add a new Bitcoin Account (Beta)` 10. a bottom sheet should open with a text field pre filled with `Bitcoin Account` 11. click `Add account` 12. the account should be added and selected on the wallet view. 13. if you go through the same steps (steps 4-6) the option to add a Bitcoin Account should be disabled since you can only have one BTC mainnet account. 14. Now that you are on the wallet view, verify that the address is rendered in short form i.e `bc1qrw...atay` 15. you will not see a balance rendered for this account since BTC balances are not yet supported. 16. verify that the network that is displayed on the wallet view shows the Bitcoin logo and that when you click it nothing happens. 17. 15. verify that when clicking on the actions button in the bottom tab bar opens a list of actions that are disabled (send, swap, bridge etc). All of these features should be disabled for BTC 18. click on your account, when the account list opens up select one of your ethereum accounts. 19. the Balance should render and the network should display the ethereum network. 20. clicking on the network picker DOES open the network selector list ### Verify ETH account address formats 1. assuming you completed the above testing steps... 2. select your ethereum account from the account list 3. verify that when selected, the address is rendered in checksummed format WITH a 0z prefix. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** N/A ### **After** https://github.com/user-attachments/assets/96836574-7b12-4566-b70f-ea85efa3b663 <img src="https://github.com/user-attachments/assets/c249775a-e8be-4d72-8c8f-8909d37ef876" width="300" height="600" /> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The purpose of this PR is to temporarily disable the e2e tests added [here](#12288) as it introduces instability within the smoke pipeline. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…#12199) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR fix #10967 User able to add Ledger account with existing account name. Now the ledger Select accounts screen will display `Account Ledger 1 already exists` ## **Related issues** Fixes: #10967 #10188 ## **Manual testing steps** 1. Install MM 2. Recover from SRP 3. Rename 'Account 1' to 'Ledger 1' 4. Connect Ledger device 5. Add 1 Ledger account 6. `Account Ledger 1 already exists` error should be displayed ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** ![image](https://github.com/user-attachments/assets/21a8ee86-63e0-4db0-b784-a8490ceba80f) <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The purpose of this PR is to: 1. Add some critical flow accounts e2e tests to the smoke pipeline 2. Fix glob for tests tagged SmokeCore 3. Fix Portfolio dapp connect test. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 4. 5. ## **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** Upgrades `@metamask/profile-sync-controller` to `^1.0.0` This should be a smooth upgrade since the controller is currently unused in mobile (disabled behind a flag) ## **Related issues** Fixes: #12306 ## **Manual testing steps** N/A - this is purely a package upgrade with no additional changes. Just ensure that we can start up the application without any issues. ## **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** PR to add the multichain autodetection to mobile under a feature flag <!-- 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. run `PORTFOLIO_VIEW=true yarn watch` 2. run `yarn start:ios` 3. check if the tokens autodetection is multichained ## **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/c4428c82-5fb7-4701-8625-cf7bb36ee4be ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: sahar-fehri <[email protected]>
## **Description** Added an assertion that the selected address would be the same as the one derived from the SRP ## **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 currently have a few of our page object files lingering outside of a specific folder. As part of our ongoing efforts to improve the organization and maintainability of our test automation codebase, we need to move Page Object files into their respective folders. This will help streamline the project structure, making it easier for team members to locate and manage the files. The folder where each of the remaining files should be moved have to reflect the functionality or feature on the app. This same structure should be reflected on the selectors folder. Files to relocate to the Onboarding folder: - e2e/pages/EnableDeviceNotificationsAlert.js - e2e/pages/modals/EnableAutomaticSecurityChecksView.js - e2e/pages/modals/ExperienceEnhancerModal.js - e2e/pages/modals/OnboardingWizardModal.js - e2e/pages/modals/ProtectYourWalletModal.js - e2e/pages/modals/SkipAccountSecurityModal.js - e2e/pages/modals/TermsOfUseModal.js - e2e/pages/modals/WhatsNewModal.js ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/c8ecb663-d2d1-4522-a6e0-7145ba7bc1e7?tab=workflows ### **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 does a few things 1. Automatically set new PRs targeting main to "draft" state. 2. Enforce the E2E Bitrise Status Check on lifecycle on incoming PRs which will essentially enforce that the PR has 1 of the two labels 'Run Smoke E2E' or 'No E2E Smoke 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? 4. What is the improvement/solution? --> With this change we're looking to improve the posture on our PR lifecycle with auto drafts and enforce a higher standard for incoming changes towards or E2E testing posture. ## **Related issues** [Fixes:] #11747 ## **Manual testing steps** UC1 : Nether E2E Label is set -> https://github.com/MetaMask/metamask-mobile/actions/runs/11826040868/job/32951145968?pr=12243 Expected : Not Mergeable UC2 : docs PR Should run: false, Reason: The pull request is documentation related. Skipping Bitrise status check. due to the following reason: The pull request is documentation related. Created 'Bitrise E2E Status' check with skipped status for commit dea08a9 https://github.com/MetaMask/metamask-mobile/actions/runs/11826187817/job/32951608300?pr=12243 Expected: Mergeable UC3 : No E2E Smoke Needed Label is set Anti label: true Should run: false, Reason: The pull request has the anti-label. Skipping Bitrise status check. due to the following reason: The pull request has the anti-label. Created 'Bitrise E2E Status' check with skipped status for commit dea08a9[22] https://github.com/MetaMask/metamask-mobile/actions/runs/11826234735/job/32951749305?pr=12243 Expected Mergeable UC4: Smoke E2E Label is set Should run: true, Reason: The smoke test label is present. Starting Bitrise build for commit dea08a9 ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> N/A CICD Changes only ### **After** <!-- [screenshots/recordings] --> N/A CICD Changes only ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Cal Leung <[email protected]>
## **Description** This PR is a draft and it still needs to * ~Remove key-tree patch and update to the new release (still pending)~ * ~Remove eth-hd-keyring patch and install the latest release that includes this [PR](MetaMask/accounts#102 * Updated patch version of Keyring Controller to 17.2.2 (Added a patch to the Keyring Controller awaiting for the generation of random mnemonic, that will be removed once this work is done, in this PR or worst scenario, following up work) App launch times pipeline: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/5b450f2a-91a3-4a94-8479-729655a2cf0b?tab=workflows Follow up work: * Remove patch of keyring controller added * Decrease baseline of performance e2e pipeline (`app_launch_times`) for android and ios (Android less than 2.9 seconds cold app start for wallet view) ## **Related issues** Fixes: ## **Manual testing steps** Build used for testing: https://app.bitrise.io/build/6ed111dd-6bbb-4492-a73e-a11347335e8e?tab=log 1. create new acount generating an SRP, ✅ 2. create a new account when the SRP account is created ✅ https://github.com/user-attachments/assets/71a45633-6b2a-446f-ac7a-6aed99c97b54 3. import with SRP, ✅ 4. add with private key,✅ https://github.com/user-attachments/assets/5ed51268-7b2a-47c1-abb7-1f1da19bda05 6. update the app (from v4) with 1 account imported via SRP ,✅ https://github.com/user-attachments/assets/2364461d-869f-40c5-85a4-ef2db3433ceb 7. update the app with 3 accounts (imported via SRP and private key and added) ,✅ https://github.com/user-attachments/assets/fa452f36-48d8-4573-8c1f-d97a1938baf5 ## **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** - [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: Charly Chevalier <[email protected]> Co-authored-by: Nico MASSART <[email protected]>
…til (#12372) ## **Description** * Added dpdm to measure circular dependencies: https://github.com/acrazing/dpdm * Fixed circular dependencies between engine -> network/utils * Add script using dpdm to package json `circular:deps` This still have circular deps between the new engineNetworkUtils and Engine, they will be a follow up discussion, since the code in Engine might not be needed anymore PR - https://www.notion.so/metamask-consensys/Remove-all-circular-dependencies-in-the-codebase-30-in-total-to-enable-HMR-and-React-Refresh-Mo-02737ed3b49c4702b8cb55fdb67020e8 ## **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: Aslau Mario-Daniel <[email protected]>
## **Description** Cold app start to wallet view decreased quality gate for 4 seconds Warm app start to wallet view decreased quality gate for 3 seconds Cold app start 1: 3430 2: 2987 3: 2769 4: 3693 5: 3386 6: 2898 7: 3509 Warm app start 1: 1950 2: 2564 3: 2011 4: 2791 5: 2198 6: 2173 7: 2524 Bitrise build: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/6cfecc21-427d-418a-a484-4852adde9921?tab=workflows ## **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.
#12534) ## **Description** This PR takes care of all the necessary changes in order to decouple "Profile Sync" from the notifications feature. This also underlines the ownership change from @MetaMask/notifications to @MetaMask/identity. The changes made here will help transitioning to cleaner separation of concerns when features leveraging profile sync will be released (i.e Notifications, Account syncing...).⚠️ This PR does not add missing tests nor introduces any changes. This is only moving files around and separating concerns. ## **Related issues** Fixes #12535 ## **Manual testing steps** No testing steps since this PR does not change the implementation of existing features. ## **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** - [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 aims to adapt `estimateGasFee` from `TransactionController` for swaps `trade` and `approval` transactions. For more information please see the extension PR applies same functionality: MetaMask/metamask-extension#27612 Also adding basic unit tests for `QuoteView` screen. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/mobile-planning#2026 ## **Manual testing steps** - Regression testing of internal swaps. - Smart swaps and standard. - Specific tests on Linea chains. ## **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** Addresses a scenario where a commit has been evaluated already with label existence but we want to re-evaluate the status check if the labels change. Fail the E2E Status Check when there's no label present. <!-- 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: Some edge-cases where labels may be retro-actively changed or removed after a status check has been evaluated already ## **Manual testing steps** CI/CD Testing PR scenario ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** N/A CICD Only ### **After** N/A CICD Only ## **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.
## **Description** We currently have a few of our page object files lingering outside of a specific folder. As part of our ongoing efforts to improve the organization and maintainability of our test automation codebase, we need to move Page Object files into their respective folders. This will help streamline the project structure, making it easier for team members to locate and manage the files. The folder where each of the remaining files should be moved have to reflect the functionality or feature on the app. This same structure should be reflected on the selectors folder. Files to relocate to the Wallet folder: - e2e/pages/AccountListView.js (this is not a complete view) - e2e/pages/EditAccountNameView.js - e2e/pages/LoginView.js - e2e/pages/TabBarComponent.js - e2e/pages/TokenOverview.js - e2e/pages/modals/AddAccountModal.js - e2e/pages/modals/ToastModal.js - e2e/pages/modals/AccountActionsModal.js - e2e/pages/modals/NftDetectionModal.js - e2e/pages/modals/WalletActionsModal.js ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** Regression https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/c590e21e-b802-496e-96a7-19f927a20acd?tab=workflows ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The purpose of this PR is to create a specific tag for the MC tests. Here is the passing smoke tests: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/9d16606d-8a12-4f34-a3b8-1fec42140df3?tab=workflows ## **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** This is the release candidate for version 7.36.0. # Team sign-off checklist - [ ] team-accounts - [ ] team-assets - [ ] team-confirmations - [x] team-design-system - [x] team-notifications - [ ] team-platform - [ ] team-security - [x] team-snaps-platform - [ ] team-sdk - [x] team-stake - [x] team-tiger - [ ] team-wallet-framework - [x] team-swaps # Reference - Testing plan sheet - https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit?gid=404070372#gid=404070372 ## **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: runway-github[bot] <73448015+runway-github[bot]@users.noreply.github.com> Co-authored-by: tommasini <[email protected]> Co-authored-by: Nicholas Smith <[email protected]> Co-authored-by: sahar-fehri <[email protected]> Co-authored-by: Prithpal Sooriya <[email protected]> Co-authored-by: Kylan Hurt <[email protected]> Co-authored-by: Nico MASSART <[email protected]> Co-authored-by: Frank von Hoven <[email protected]> Co-authored-by: Frank von Hoven <[email protected]> Co-authored-by: Matthew Grainger <[email protected]> Co-authored-by: Matthew Walsh <[email protected]>
## **Description** Picks `AssetPollingProvider` diff from https://github.com/MetaMask/metamask-mobile/pull/12538/files bug fix to isolate 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** - [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 aims to remove redundant e2e tests, specifically those in the quarantine folder. The two tests that will be removed in this PR is: - `import-nft.failing.js`: - We already have test steps to import an NFT: https://github.com/MetaMask/metamask-mobile/blob/main/e2e/specs/assets/nft-details.spec.js#L49#L52 - `send-to-contact.failing.js` - We have multiple e2e tests that send funds to an address. ## **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.
…low (#12295) ## **Description** 1. What is the reason for the change? There was a quick fix for there being a share left in the vault after a user attempts to unstake all shares. This PR adds the long-term fix and upgrades the stake-sdk which added a new getShares method on the contract. 3. What is the improvement/solution? We are now using the stake-sdk to access the getShares contract method instead of creating the interface on the fly. ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/STAKE-871 ## **Manual testing steps** 1. Attempt to unstake all shares and all of them should unstake, leaving no option to unstake anymore. 2. There should be no change from before, as we only change the source we get the contract method from ## **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/b9e7af8b-c421-482c-b3e2-d15982681520 <!-- [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** Bumps all Snaps packages to their latest versions and wires up logic to use native PBKDF2 for key derivation in Snaps. This makes key derivation using the BIP-44 and BIP-32 entropy test Snaps pretty much instant (with the exception of Snap boot), it also improves the speed of using `snap_manageState`.
## **Description** * Fix circular dependencies between engine-> network -> handleNetworkSwitch ## **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: Aslau Mario-Daniel <[email protected]>
## **Description** PR to fix NFTs disappearing after the user closes the app ## **Related issues** Fixes: #12523 ## **Manual testing steps** 1. Go to to a network that is not (Ethereum/Linea) where you have NFTs 2. Import your NFT 3. Kill app 4. Open app again 5. Go to NFT tab 6. You should see your NFT ## **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/11ef5fe1-5a14-4f10-9e76-b65db4c519be ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/64cccd43-3ae7-4c27-989d-f842a68127a4 ## **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.
CLA Signature Action: Thank you for your submission, we really appreciate it. We ask that you all read and sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just by adding a comment to this pull request with this exact sentence:
By commenting with the above message you are agreeing to the terms of the CLA. Your account will be recorded as agreeing to our CLA so you don't need to sign it again for future contributions to this repository. 26 out of 27 committers have signed the CLA. |
Quality Gate passedIssues Measures |
- chore: bump nanoid package to 3.3.8 (#12725) ## **Description** Resolution created to bump nanoid to version 3.3.8! It can be removed once this controllers are bumped: MetaMask/core#5073 ## **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. [17f138e](17f138e) Co-authored-by: tommasini <[email protected]>
…ilder (#12818) - fix: use correct import for MetricsEventBuilder (#12798) <!-- 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? --> Fixes correct import for MetricsEventBuilder ## **Related issues** Fixes: [12530](#12530) [Related Slack message](https://consensys.slack.com/archives/C8RSKCNCD/p1734622035414719?thread_ts=1734535680.397999&cid=C8RSKCNCD) ## **Manual testing steps** 1. Go to this [dapp ](https://metamask.github.io/metamask-sdk/chore-update-vuejs-build/packages/examples/react-demo/build/index.html)in the inapp browser with a debug build 2. Check the console logs for the dapp 3. Switch chains -> See console ## **Screenshots/Recordings** [Link to zoom recording](https://consensys.zoom.us/rec/share/AJr-gv8tqRuEZx0PorROKgux41aYESIZ3k_PHRMoYTwh6EHIcZU40oliXHa28bYU.wYfZYWsUupmI5hQo) <!-- 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. [3b17cd3](3b17cd3) Co-authored-by: Frank von Hoven <[email protected]>
#12820) …ctions (#12664) Resolves an issue with stuck transactions for some users who used smart transactions, which was caused by having [this PR](#12274) in the 7.36.0 release even when it was marked for 7.37.0 by metamaskbot. Fixes: 1. Cancelled transaction stuck thanks to super low gas settings 2. All other submitted transactions afterwards as well with the invalid_nonce error. 3. Upgrade to 7.37.1 and see all cancelled tx 4. Try a new tx <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> https://consensys.slack.com/archives/C084S32G337/p1734034013370979 https://consensys.slack.com/archives/C084S32G337/p1734039388196979 - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: Daniel <[email protected]>
- fix: optimize display swap button (#12693) <!-- 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** Optimize the display of swap button to fix flaky test <!-- 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. Select BNB token to swap 2. Check the swap button display ## **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/13a6b674-d97c-484c-a914-ec43ad2cd713 ### **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. [491dc45](491dc45) Co-authored-by: Salim TOUBAL <[email protected]>
## **Description** Cherry picks #12859 ## **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.
#12928) ## **Description** Cherry-pick of d35a2a0 (#12923) ## **Related issues** Fixes: https://infura.atlassian.net/issues/MDD-117 / https://consensys.slack.com/archives/C027M10HGEA/p1736428038068929 ## **Manual testing steps** 1. Visit this preview in the MM browser: https://metamask-docs-git-snap-debugging-branch-consensys-ddffed67.vercel.app/developer-tools/faucet/ 2. (optional) Press the "Debug Test" button, it should complete 3. Press the "Connect MetaMask" button, it should complete ## **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.
…et multichain (#12930) - fix: add nativeAsset key to staked ETH asset multichain (#12851) ## **Description** 1. What is the reason for the change? There was a crash when clicking on the Staked Ethereum asset due to it missing a key `nativeAsset` which is required in some component. This was a regression from code refactoring. Separately, there was a currency switching bug that was introduced with the use of a different fiat conversion method. I have switched to a method that does not throw error for currency switching and this has been tested with Vince Separately, there were some issues with the Token list asset balances being slightly off. This was noticed when the balance we use for the Asset Detail staked Ethereum asset showed up differently than in the Token List. Some of this has been addressed, but there are still issues that I've noticed where we lose precision when getting the fiat total of a token asset or native asset. I left a comment in the code about this, and maybe it could be revisited it later. 2. What is the improvement/solution? We added the `nativeAsset` key back to the staked ethereum asset We added the weiToFiat method to replace the Intl.NumberFormat method We removed precision loss from multichain.ts asset fiatBalance calculations, however there is another place(s) where fiat balances are recalculated again i.e. [deriveBalanceFromAssetMarketDetails.ts](https://github.com/MetaMask/metamask-mobile/pull/12851/files#diff-283c109c8093bbb5d8e06be79bcbeac928b8353633e55dc7944594a0e6888b49) ## **Related issues** Fixes: #12680 Fixes: #12856 Closes: https://consensyssoftware.atlassian.net/browse/STAKE-912 ## **Manual testing steps** - Import the staking test wallet in MM - Click on the staked ethereum asset - The link should not crash the application more info here on testing this #12680 - Currency switching should not crash the application more info here on testing this #12856 ## **Screenshots/Recordings** ### **Before** ### **After** https://github.com/user-attachments/assets/c2525b70-8d04-4606-861b-3206ebd557f4 https://github.com/user-attachments/assets/a8c4010e-3589-4171-803a-4d07a962e6a6 ## **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. [40a999c](40a999c) Co-authored-by: Nicholas Smith <[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? --> This PR cherry picks #12958 into `release/7.38.0` ## **Related issues** Fixes: #12612 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> N/A ### **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.
… Popular Network (#12982) - fix: Only aggregate PortfolioBalance if on Popular Network (#12961) ## **Description** Similar to extension, we only want to show the cross chain aggregated balance if the selected network is a popular network, and the "Popular networks" filter is enabled. If we are on a custom network, we only want to show the aggregated balance for that chain, similar to how we handle testnets. ## **Related issues** Fixes: #12922 ## **Manual testing steps** 1. Go to app, and add a custom network 2. Ensure the following: - When a popular network is selected in global network selector and "Popular networks" filter is enabled, show aggregate balance across popular networks. When "Current network" filter is enabled, show aggregated balance for that chain. - When a non-popular network (aka custom network) is selected in global network selector, only show aggregated balance for that chain. 3. When testnet is selected in global network selector, show aggregated balance for the testnet only. For this case, make sure "Show conversion on test networks" is toggled on. ## **Screenshots/Recordings** ### **Before** ![File (1)](https://github.com/user-attachments/assets/98e4f75e-eb47-483b-b26e-3f5ada8590bc) ### **After** <img width="470" alt="Screenshot 2025-01-13 at 10 40 40 AM" src="https://github.com/user-attachments/assets/9c27b8ae-a663-4d05-b0c1-301994cb528d" /> https://github.com/user-attachments/assets/170debc8-0a6f-4f98-a759-b98f375abe34 ## **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. [a4650ba](a4650ba) Co-authored-by: Nick Gambino <[email protected]>
…opriately per asset… (#13011) …… (#12987) 1. What is the reason for the change? There are 2 separate issues that are both related to the StakedBalance component. One is Asset Detail StakingBalance shows for ETH assets on unsupported chains with popular networks filter. The other is Asset Detail StakingBalance does not show for mainnet ETH asset when on unsupported chain with popular networks filter. 2. What is the improvement/solution? The user will not see staked ethereum info for assets that are not mainnet Ethereum asset when on mainnet The user will see staked ethereum info when on unsupported chain with popular networks filter and viewing the mainnet Ethereum asset detail. We show the details but hide any staking actions for the time being while we re-evaluate how to keep the actions and switch the network on the fly. Fixes: https://consensyssoftware.atlassian.net/browse/STAKE-921 **Asset Detail StakingBalance shows for ETH assets on unsupported chains with popular networks filter** - Switch to mainnet network - Switch to popular networks filter - Select the native asset of a popular network that is not mainnet, such as Base or Optimism - In the asset detail page you should not see staked ethereum info **Asset Detail StakingBalance does not show for mainnet ETH asset when on unsupported chain with popular networks filter** Switch to Base network Switch to popular networks filter Select the mainnet Ethereum asset In the asset detail page you should see staked ethereum info and earnings info but no action buttons or claim link banners <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> https://github.com/user-attachments/assets/83132195-8bd8-452f-a25f-37a9b1d276d9 https://github.com/user-attachments/assets/6e0bde2f-1dd2-4cd8-ad2c-e78cbe962ff1 - [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. - [ ] 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** Cherry pick stake 721 ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/STAKE-921 ## **Manual testing steps** **Asset Detail StakingBalance shows for ETH assets on unsupported chains with popular networks filter** - Switch to mainnet network - Switch to popular networks filter - Select the native asset of a popular network that is not mainnet, such as Base or Optimism - In the asset detail page you should not see staked ethereum info **Asset Detail StakingBalance does not show for mainnet ETH asset when on unsupported chain with popular networks filter** Switch to Base network Switch to popular networks filter Select the mainnet Ethereum asset In the asset detail page you should see staked ethereum info and earnings info but no action buttons or claim link banners ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…networks (#12988) (#13012) <!-- 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 Earn CTA navigation behavior when clicked on unsupported networks. Previously, the button was unresponsive or navigated to Portfolio screen when clicked on networks that don't support staking. Now, it properly switches to mainnet and navigates to the staking UI. - Jira ticket: [STAKE-916](https://consensyssoftware.atlassian.net/browse/STAKE-916) 1. Open the app and navigate to home page and select Portfolio View 2. Change the Network to Linea 3. Click on Earn button next to Ethereum in Portfolio View 4. It should change the network to mainnet and then navigate to staking UI <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> https://github.com/user-attachments/assets/8421278f-43c1-48c3-9d4b-1c48d2dc9669 https://github.com/user-attachments/assets/a14f2b86-5701-4c91-b566-ddefa563f4ee - [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. [STAKE-916]: https://consensyssoftware.atlassian.net/browse/STAKE-916?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [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** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. [STAKE-916]: https://consensyssoftware.atlassian.net/browse/STAKE-916?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [STAKE-916]: https://consensyssoftware.atlassian.net/browse/STAKE-916?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
- fix: Fix `send` flow deeplinks (#12965) <!-- 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 aims to fix deeplinks using `Send` flow. ## **Related issues** Fixes: #12689 ## **Manual testing steps** 1. Open safari/chrome in the testing device - navigate https://metamask.github.io/metamask-deeplinks/ 2. Click "Payment Request" then "Eth Payment" 3. Fill the form - you dont need to put chain id 4. Click "Generate url" 5. Click generated url 6. See that it opens send flow page ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> https://github.com/user-attachments/assets/ec6324b0-188f-4079-90ee-3d30b7e6056d ### **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. [249e035](249e035) Co-authored-by: OGPoyraz <[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? --> This PR cherry picks #12965 into `release/7.38.0` ## **Related issues** Fixes: #12689 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> N/A ### **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.
…nse (#13034) - fix: Fix disappearing security alert response (#13027) <!-- 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 aims to retain `securityAlertResponses` on `SET_TRANSACTION_OBJECT` action. ## **Related issues** Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3903 ## **Manual testing steps** 1. Open up our [[MetaMask E2E test dapp](https://metamask.github.io/test-dapp/)](https://metamask.github.io/test-dapp/) and attempt to prompt a malicious approval for BUSD in our PPOM section. 2. Notice that the malicious warning might popup and stay on screen. ## **Screenshots/Recordings** https://github.com/user-attachments/assets/60eb5398-c914-4498-8592-4acea5caa163 ### **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. [435c9e6](435c9e6) Co-authored-by: OGPoyraz <[email protected]>
…sion to 4 (#13035) - fix: Bump artifact upload and download version to 4 (#12918) <!-- 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? --> These changes bumps the github action `upload-artifact` and `download-artifact` to v4 based on these docs - https://github.com/actions/upload-artifact?tab=readme-ov-file#v4---whats-new. Migration info can be found here as well. https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md. Aside from bumping the version, the main breaking change is ensuring unique names, which in our case, only applies to the unit test shards (names are already unique) ## **Related issues** Fixes: ## **Manual testing steps** Check that unit test actions in Github CI works ## **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** - [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. [5a38279](5a38279) Co-authored-by: Cal Leung <[email protected]>
… iOS devices only (#13040) - chore: Scope PortfolioView feature flag to iOS devices only (#13039) ## **Description** Scopes the PortfolioView feature flag to only be true for iOS devices, while we do more troubleshooting on the performance bottleneck on Android devices. ## **Related issues** Performance related bug ticket: #12679 ## **Manual testing steps** 1. Run app with feature flag: `PORTFOLIO_VIEW='true' yarn watch:clean` 2. On iOS device, PortfolioView should be enabled 3. On Android device, PortfolioView should not be enabled ## **Screenshots/Recordings** <img width="474" alt="Screenshot 2025-01-16 at 11 31 49 AM" src="https://github.com/user-attachments/assets/645d7f95-db1c-4b40-a3a5-aa6f8bf5fcbb" /> <img width="484" alt="Screenshot 2025-01-16 at 11 35 57 AM" src="https://github.com/user-attachments/assets/8bf5d3cf-aed7-419a-9e4d-72829c37e7cf" /> ## **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. [7f8d095](7f8d095) Co-authored-by: Nick Gambino <[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** Updated link for running upgrade test from 7.38.0 to 7.39.0. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: ## **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.
This is the release candidate for version 7.38.0. The changelog will be found in another PR chore/7.38.0-Changelog.
Team sign-off checklist
Reference