-
-
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
Fix typos in multiple files #13169
Fix typos in multiple files #13169
Conversation
## **Description** Removes an unnecessary event prop smart_transaction_duplicated, as we did in the extension: MetaMask/metamask-extension#28546 ## **Related issues** Fixes: ## **Manual testing steps** 1. This event prop won't be available anymore in some events after submitting a smart transaction. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** - the current active network should also be available from the checkbox list. - also added logging that was missing. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to main screen and switch to a network that is not permitted for that connected dapp, in the example below pancake swap. 2. Go to the dapp, ignore the first opportunity to grant permission for the current network and go to the checkbox list, then grant permission to the current active network. 3. Now that permission is granted pick that network, the bottom sheet closes. ## **Screenshots/Recordings** > | Before | After | |--------------|--------------| | <img width="330" alt="Screenshot 2024-04-18 at 3 56 43 PM" src="https://github.com/user-attachments/assets/df851f4f-128e-4bbe-8d79-16447a472de7"> |<img width="330" alt="Screenshot 2024-04-18s at 3 56 43 PM" src="https://github.com/user-attachments/assets/3c790c3e-8d5b-4fa6-becb-6466d56bf42e"> | ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
) ## **Description** This PR refactors the staking-related state management by introducing a staking redux slice. This change improves state management consistency, reduces duplicate state, and makes the data flow more predictable across the staking feature. - Created new `PooledStaking` slice to manage staking-related state - Refactored hooks to use Redux store instead of local state: - `usePooledStakes` - `useStakingEligibility` - `useVaultData` - `useStakingEarnings` - Moved `hasStakedPositions` from `usePooledStakes` to `useStakingEarnings` to avoid prop drilling - Updated tests to reflect new state management pattern ## **Related issues** Fixes: [STAKE-870](https://consensyssoftware.atlassian.net/browse/STAKE-870) ## **Manual testing steps** 1. Perform an unstake transaction 2. Navigate to Eth details page while the transaction is still processing 3. You will now see the unstaking banner pop up when transaction is completed without navigating away and coming back to the details page ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/cbdfad52-58ae-4396-a214-0c793eb49f7c ### **After** https://github.com/user-attachments/assets/d064012f-32c3-41a3-8537-4593b6e409af ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. + [STAKE-870]: https://consensyssoftware.atlassian.net/browse/STAKE-870?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
…12337) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR updates the events added in MetaMask#12144 to use the `withMetaMetrics` helper function. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Jira Ticket: [STAKE-876: Wrap existing Staking events with withMetaMetrics hook](https://consensyssoftware.atlassian.net/browse/STAKE-876) ## **Manual testing steps** Prerequisite: Add `export MM_POOLED_STAKING_UI_ENABLED=true` to your local `.js.env` file. All events can be tested by running through the stake and unstake flows. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> N/A ### **After** <!-- [screenshots/recordings] --> N/A ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…er (MetaMask#12446) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** * fixes breaking e2e test anter updating analytics <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/mobile-planning#2044 Breaking change: MetaMask#12180 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Prevent crash when editing gas fee during swap. ## **Related issues** Fixes: MetaMask#12387 MetaMask#12457 ## **Manual testing steps** See issue. ## **Screenshots/Recordings** ### **Before** ### **After** https://github.com/user-attachments/assets/6dd625b2-f18f-496d-9843-118575ed9166 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…ask#11409) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ### The problem With the current used version of `KeyringController`, the `addNewAccountWithoutUpdate` method is not doing what its name claims - the state is updated everytime the function is called. This is because `KeyringController` has no control over its messenger's listeners, and so `PreferencesController` and `AccountsController` (and so on downstream) will react to keyrings state updates everytime `addNewAccountWithoutUpdate` is called. The result is that the `importAdditionalAccounts` helper present on mobile is incredibly inefficient, as accounts will be added one by one, executing _all_ side effects at every single iteration. ### The solution This PR leverages the new `withKeyring` method from KeyringController to batch these iterations into one single atomic state update - take a look at the code for more info about how it is done ## **Related issues** Related: MetaMask/core#3848 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…etaMask#12442) Once we remove the feature flags, we can delete the old tests, until then this ensure both side of the code is tested. <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** - Modifying the env variable corresponding to the feature flag didnt take effect in the test, had to find another way, mocking the getter of the feture flag - Mocking the getter worked, but modifying the mock inside the same test file didnt take effect in the component, re-importing the component caused all other mocks to fail, setting all mocks a second time didn't work. - Finally something did work, which is having each test in their own test file is the only way i could get the mocks initialized with expected values. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/MetaMask-planning#3664 ## **Manual testing steps** 1. run `npx jest app/components/Views/AccountPermissions/**` and all tests should pass ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Brings the swaps page to parity with extension by increasing the umber of quote refreshes from 2 to 3. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to the swaps 2. Enter arbitrary swap amounts/tokens 3. Get quotes 4. Wait for quotes to refresh 3 times ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** This PR upgrades Ramp SDK to v1.28.7. Changes include a fix that brings back a file containing the required arguments for services methods. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go Ramp flows 2. Flows are not impacted ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…8.0.0 (MetaMask#12339) ## **Description** This PR updates the accounts controller to the latest version of 19. This updates requires a peer dependancy bump of the keyring controller to version 18.0.0 - See accounts controller [changelog](https://github.com/MetaMask/core/blob/main/packages/accounts-controller/CHANGELOG.md#1900). - See keyring controller [changelog](https://github.com/MetaMask/core/blob/main/packages/keyring-controller/CHANGELOG.md#1800). - version 18 of the keyring controller removes the [addNewAccountWithoutUpdate](MetaMask/core#4845) which is used once in the mobile repo. In order to merge this PR we will need to wait for @mikesposito's [PR to merge](MetaMask#11409). This PR removes the need for `addNewAccountWithoutUpdate` and improves performance/reliability. ## **Related issues** Fixes: MetaMask#12302 Fixes: MetaMask#12304 Unblocked by: MetaMask#11409 ## **Manual testing steps** #### Account creation 1. open app 2. press create wallet 3. go through the onboarding flow 4. once onboarding is complete, you should be on the wallet view and see a single account 5. open the account selector list and add a new account' 6. this should work without issues 7. change the name of your new account 8. force close the app and reopen, the previously selected account should be the same and the custom name should be preserved. #### Account importing 1. assuming you have created a wallet wth the above steps.... 2. open the account selector list and click add account or hardware wallet and then click import account 3. paste a private key in this text field and then import 4. the account should be imported, selected and have the label "imported" 5. force closing the app and re opening it should preserve the same state of accounts #### Hardware wallets 1. assuming you have created a wallet wth the above steps.... 2. open the account selector list and click add account or hardware wallet and then click Add hardware wallet 3. select your hardware wallet of choice (ledger or qr based) 4. follow the instructions to add a hardware wallet 5. the steps should work and you should have successfully added a hardware account 6. the hardware account should have the correct labels (either Qr hardware or ledger) 7. force closing the app and reopening should preserve the same accounts state. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/ab8ca48e-dc48-4601-a56c-5c6d7fabab3e ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…#12472) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR bumps `@metamask/preferences-controller` to `^14.0.0` <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask#12305 ## **Manual testing steps** ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…2474) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR bumps `@metamask/signature-controller` to `^22.0.0` <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask#12307 ## **Manual testing steps** ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Added icon link to WalletConnect metadata. It's useful for dapps that shows the connected wallet info. Using the image uploaded in this repository -> https://github.com/MetaMask/metamask-mobile/blob/main/logo.png ## **Related issues** - none ## **Manual testing steps** - none ## **Screenshots/Recordings** The images show a dapp that uses the metadata to show connected wallet's name and icon ### **Before** <img width="525" alt="before" src="https://github.com/user-attachments/assets/e56022d6-0164-4ef3-8a01-32cf39fd121b"> ### **After** <!-- [screenshots/recordings] --> <img width="525" alt="after" src="https://github.com/user-attachments/assets/8accbbb8-521c-40eb-bc9d-d1921ac8a62f"> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. Co-authored-by: Andrea Salvatore <andrea.salvatore@consensys.net> Co-authored-by: Christopher Ferreira <104831203+christopherferreira9@users.noreply.github.com>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Bumps all Snaps packages to their latest versions and deletes some unnecessary fetch polyfilling code. This fixes an issue where local Snaps would fail to install in the Flask flavor of mobile.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Update to latest walletconnect dependencies. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Christopher Ferreira <104831203+christopherferreira9@users.noreply.github.com>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR addresses the new flows introduced with the updated network chain permissions functionality. The goal is to ensure comprehensive automated test coverage for these changes, reducing the risk of bugs found later in the development process. Key things to note here: breakdown of the CI workflows: - Smoke Pipeline: This pipeline runs all E2E tests with an enabled multichain flag. This ensures that engineers actively validate the new MC flows as part of their workflow. By default, the smoke pipeline runs on pull requests, allowing us to catch any issues with the MC flow before changes are merged into the main branch. We plan to make the smoke E2E pipeline a required step before merging PRs soon. - Regression Pipeline: This pipeline runs E2E tests with the multichain flag disabled. It ensures that existing functionality remains stable without the MC changes. The regression pipeline is scheduled to run every four hours against the main branch, providing frequent and consistent validation of the baseline functionality. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: NidhiKJha <menidhikjha@gmail.com> Co-authored-by: EtherWizard33 <eric.lamontagne@consensys.net> Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net> Co-authored-by: EtherWizard33 <165834542+EtherWizard33@users.noreply.github.com>
…elled smart transaction (MetaMask#12465) ## **Description** This PR does a few things to support returning a txHash asap after a smart transaction is submitted: - Shows a notification for a cancelled smart transaction - Requires to send these params when calling the Smart Transactions controller: `clientId`, `getFeatureFlags` and `updateTransaction` ## **Related issues** Resolves this JIRA ticket: https://consensyssoftware.atlassian.net/browse/TXL-517 ## **Manual testing steps** 1. A feature flag for returning a txHash asap has to be set to true. 2. It can be tested e.g. via a dapp transaction. A dapp should receive a txHash asap right after submitting a smart transaction 3. We show a Toast notification for cancelled smart transaction (e.g. when very low gas fees are used) if a user closed the Smart Transaction status page ## **Screenshots/Recordings** Success Toast: ![image](https://github.com/user-attachments/assets/93f702aa-bb14-4458-b7c3-9590abef8c7f) Pending smart transaction: ![image](https://github.com/user-attachments/assets/d3f160a3-0f30-4a83-8e9c-78e72890b704) Cancelled smart transaction notification: ![image](https://github.com/user-attachments/assets/655cfc45-73ca-48e0-bb05-5a3bab1ac5e4) ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Some events in our analytics system were incorrectly identifying their source, particularly for different connection types (SDK, WalletConnect, and In-App Browser connections). This PR introduces a centralized approach to determine event sources through a new `useOriginSource` hook and improves the source tracking implementation across components. ## Key Changes - Created new `useOriginSource` hook to standardize source determination logic - Extracted UUID validation into a separate utility function - Updated analytics tracking in PermissionApproval and AccountConnect components - Enhanced logging capabilities for better debugging - Added comprehensive test coverage for new utilities ## **Related issues** Fixes: ## **Manual testing steps** 1. Test SDK connection flow - Connect via SDK integration - Verify correct source tracking in analytics 2. Test WalletConnect flow - Connect via WalletConnect - Verify source is properly tracked 3. Test In-App Browser flow - Connect via browser - Confirm analytics show correct source ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ![image](https://github.com/user-attachments/assets/4cd5614b-d1f4-4347-adbf-67a84372c98d) ### **After** ![image](https://github.com/user-attachments/assets/85b6c485-e470-4840-b5b3-6feb130421a2) ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR introduces a message size filter to the ReactNativeWebView created for dapps. Please see attached ticket for more info. ## **Related issues** See: MetaMask/MetaMask-planning#2836 ## **Manual testing steps** See ticket ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://github.com/user-attachments/assets/97001330-8c72-4275-a70e-6dda59f499da See that upon clicking the button, the app is unresponsive for many seconds. It doesn't completely crash, but it might crash on a slower device. It's certainly extremely slow until the message is fully resolved. ### **After** https://github.com/user-attachments/assets/e1797c1a-ebe0-4e8d-bf5a-9dc8ee705508 Note that it is still a bit sluggish, but it prints the error message fairly quickly and then is responsive again. ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - ~[ ] I’ve included tests if applicable~ - Tests are certainly applicable, but I don't know how to test this. The `BrowserTab` component is very complex and has no pre-existing unit test (no real ones at least, the snapshot test currently present doesn't even execute any part of `BrowserTab`). We cannot even render that in a test without a great deal of mocks, I am unsure how to accomplish that. We could e2e test this, but this is a niche case that maybe doesn't warrant inclusion there either. - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Mark Stacey <markjstacey@gmail.com>
## **Description** Replace navigation init and UIStartup Span * It seems that the span was ending in the finally of appTriggeredAuth, which means that it was ending after Byometrics of the user which was causing this issue (5 minutes long span) * Moving it to an useEffect that will only trigger the end of the span when the navigator is defined and there is no prevNavigator ref will means that the traces will end when the biometrics are actually triggered instead of when it is completed ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Use the mock server to create E2E tests for transactions and signatures to test the Security Alert API responses. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/mobile-planning#1813 ## **Manual testing steps** 1. Bitrise ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR fixes an issue where the source property was not being set correctly when an error occurred during local PPOM validation. Previously, if the local PPOM failed, the error handling mechanism would add an error message but omit the source property, making it unclear whether the error originated from the API or the local PPOM. **Changes introduced:** - Modified error handling for the local PPOM validation to ensure that the source property is correctly set to "local" when an error occurs during local validation. - Ensured that the source property is properly set to "api" in case of an API failure. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/mobile-planning#2058 ## **Manual testing steps** 1. Go to the live test dapp 2. Trigger a send transaction with suggested gas values (ie Send Legacy or send EIP1559) 3. Check Segment Obs: We need to block the network calls for `https://security-alerts.api.cx.metamask.io/` and `https://static.cx.metamask.io/api/v1/confirmations/ppom/ppom_version.json` in the Chrome dev tools > network tab. ## **Screenshots/Recordings** [security-alerts-local.webm](https://github.com/user-attachments/assets/f1fbfe8c-b7ca-4056-99ff-06ab5a9cba6a) <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…tions,Events}` (MetaMask#12407) ## **Description** The `GlobalActions` and `GlobalEvents` types have not been updated to keep up with the controller V2 upgrades. This commit adds missing entries and fixes redundant, outdated, or erroneous entries. All changes in this commit are purely at the type-level with no impact on runtime behavior. ## **Related issues** - Follow-up to controller V2 upgrades: MetaMask/MetaMask-planning#3234 - Blocks MetaMask#10441 ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…etaMask#12348) ## **Description** The engine context and background state currently include three "non-controllers" with empty/non-existent state: `AssetsContractController`, `NftDetectionController`, `TokenDetectionController`. These should be included in the engine context, but excluded from any representations of background state. This is not a disruptive change, as there are no downstream references to the state objects or state properties of these non-controllers. For more information on non-controllers, see: - https://github.com/MetaMask/decisions/blob/main/decisions/core/0001-messaging-non-controllers.md - https://github.com/MetaMask/decisions/blob/messaging-components-abstraction/decisions/core/0004-messaging-components-abstraction.md#background ## **Related issues** - Blocks MetaMask#10441 - This ticket will remove non-controller entries from the engine datamodel and state getter method. ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…al prop (MetaMask#12405) ## **Description** The active network icon in the header has too much margin and is misaligned with the network title. I have also added an optional prop of `networkName` that allows developers to pass in the network name of their choice. This is in preparation of [multichain](MetaMask#12256) support, currently we are showing the selected network name, in multichain we want to be able to pass in a network name and not the selected chain. ## **Related issues** Fixes: ## **Manual testing steps** 1. Goto asset details, swaps, or buy. Basically any screen that has the header with network name 2. 3. ## **Screenshots/Recordings** (green icon at the very top) | Before | After | |:---:|:---:| |![asset_details_ios_before](https://github.com/user-attachments/assets/26de61bb-a217-456f-9d40-8bc552f4b1ec)|![asset_details_ios_after](https://github.com/user-attachments/assets/a4d4667b-4b1f-485c-a9f9-ef78872da772)| ### **Before** NA ### **After** NA ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> Introduction of `@metamask/remote-feature-flag-controller` library. Remote feature flag controller manages data flow, retry policy, and cache expiry. The controller consumer manages default values, data persistency, and data distribution. See [ADR](https://github.com/MetaMask/decisions/blob/b3094d47a568ac1e076a44fa704c2d29d1b59f35/decisions/wallet-platform/0001-remote-rollout-feature-flags.md) for a in-depth description ## Technical decisions ### Controller init on `Engine.ts` with feature flags fetching only on cold app starts. `@metamask/remote-feature-flag-controller` is only asked to fetch feature flags after its init in `Engine.ts`. Ensures feature flags are only fetched on cold app starts. ### Fallback values Default values are used when remote feature flags are undefined. The fallback mechanism is implemented by each feature flag selector `app/selectors/featureFlagsController/<featureFlagName>` In this PR we include `minimumAppVersion` selector, which manages the LD feature flag `mobile-minimum-versions` ### One selector per each feature flag [LD feature flags can be boolean, number, strings on JSON objects](https://docs.launchdarkly.com/sdk/concepts/flag-types#understanding-flag-types). We've decided to have each feature flag with its own selector A feature flag selector contains: - state selectors for each feature flag value. - business logic - defaults for when feature flags values are undefined. - TS types. - unit tests and mocked data. This architecture offers a clear separation between each feature flag and the logic behind it, allowing easier manipulation. Code owners are assigned to each feature flag. ### ## **Related issues** Fixes: MetaMask/mobile-planning#2054 Fixes: MetaMask/mobile-planning#1975 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com> Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This PR does enables the creation of Bitcoin (Mainnet and Testnet) accounts on MetaMask mobile. This is done via the [snap-bitcoin-wallet](https://github.com/MetaMask/snap-bitcoin-wallet) which is included as a preinstalled snap. The added UI buttons to the account actions communicate with the snap, then the snap is routed through our SnapKeyring handlers to enable custom account names. This is just the first step and does not include all of the necessary logic/UI to launch this feature. This PR simply enables Bitcoin account creation and renders the proper BTC address and network in the wallet view. ### How - adds the [Snap Bitcoin Wallet](https://github.com/MetaMask/snap-bitcoin-wallet) as a pre installed snap - added the `BitcoinWalletSnapSender` which allows us to communicate with the bitcoin snap - added the Bitcoin Logo to the assets and conditionally render them on the wallet view if the selected account is BTC. This is just visual and is a disabled button. This also does not change any other network related logic elsewhere in the app. - renamed `selectSelectedInternalAccountChecksummedAddress` to `selectSelectedInternalAccountFormattedAddress` since bitcoin addresses are not checksummed. - instead of eagerly checksumming addresses, I conditionally checksum them based on wether the address is EVM or not. this is done with the `toFormattedAddress` in `app/util/address/index.ts` and `getFormattedAddressFromInternalAccount` in `app/core/MultiChain/utils.ts` - added selector `hasCreatedBtcMainnetAccount` and `hasCreatedBtcTestnetAccount` - added new call to actions in the account actions menu for adding Bitcoin accounts. - added MultichainSettings to the root state to create a feature flag for Bitcoin. This state can easily be expanded to support other chains in the future. For now we have no way to setting this state to true as this is feature is not production ready. Right now this state is is used to hide the bitcoin feature in the wallet. ## **Related issues** Fixes: MetaMask/accounts-planning#698 ## **Manual testing steps** ### Testing the multichain feature flag By default all the bitcoin related features should be hidden behind the `bitcoinSupportEnabled` and `bitcoinTestnetSupportEnabled` which are set to false by default and have no way of modifying them inside the UI. To verify that these feature flags are working.... 1. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask` 2. run the app on this branch 3. complete onboarding 4. click on your account 5. the account list menu should open with a CTA to add a new account 6. click `Add account or hardware wallet` 7. VERIFY that there are no new account actions (there should be no option to add a bitcoin account) ### Turn on the bitcoin feature 1. navigate to `app/reducers/multichain/index.ts` 2. change the values in the `initialState` to be true 3. force close and reload the app 4. click on your account 5. the account list menu should open with a CTA to add a new account 6. click `Add account or hardware wallet` 7. You should now see the options to add a Bitcoin account and a bitcoin testnet account. ### Adding a Bitcoin Testnet account 1. `ENSURE THAT YOU HAVE TURNED ON THE BTC FEATURE FLAGS` described in the steps above. 2. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask` 6. run the app on this branch 7. complete onboarding 8. click on your account 9. the account list menu should open with a CTA to add a new account 10. click `Add account or hardware wallet` 11. then click `Add a new Bitcoin Account (Testnet)` 12. a bottom sheet should open with a text field pre filled with `Bitcoin Testnet Account` 13. click `Add account` 14. the account should be added and selected on the wallet view. 15. if you go through the same steps (steps 4-6) the option to add a Bitcoin testnet account should be disabled since you can only have one BTC Test account. 16. Now that you are on the wallet view, verify that the address is rendered in short form i.e `tb1qcv...4av3` 17. you will not see a balance rendered for this account since BTC balances are not yet supported. 18. verify that the network that is displayed on the wallet view shows the Bitcoin logo and that when you click it nothing happens. 19. verify that when clicking on the actions button in the bottom tab bar opens a list of actions that are disabled (send, swap, bridge etc). All of these features should be disabled for BTC 20. click on your account, when the account list opens up select one of your ethereum accounts. 21. the Balance should render and the network should display the ethereum network. 22. clicking on the network picker DOES open the network selector list ### Adding a Bitcoin Mainnet account 1. open `.js.env` and ensure that METAMASK_BUILD_TYPE is set to `flask` 3. run the app on this branch 4. complete onboarding 5. click on your account 6. the account list menu should open with a CTA to add a new account 7. click `Add account or hardware wallet` 9. then click `Add a new Bitcoin Account (Beta)` 10. a bottom sheet should open with a text field pre filled with `Bitcoin Account` 11. click `Add account` 12. the account should be added and selected on the wallet view. 13. if you go through the same steps (steps 4-6) the option to add a Bitcoin Account should be disabled since you can only have one BTC mainnet account. 14. Now that you are on the wallet view, verify that the address is rendered in short form i.e `bc1qrw...atay` 15. you will not see a balance rendered for this account since BTC balances are not yet supported. 16. verify that the network that is displayed on the wallet view shows the Bitcoin logo and that when you click it nothing happens. 17. 15. verify that when clicking on the actions button in the bottom tab bar opens a list of actions that are disabled (send, swap, bridge etc). All of these features should be disabled for BTC 18. click on your account, when the account list opens up select one of your ethereum accounts. 19. the Balance should render and the network should display the ethereum network. 20. clicking on the network picker DOES open the network selector list ### Verify ETH account address formats 1. assuming you completed the above testing steps... 2. select your ethereum account from the account list 3. verify that when selected, the address is rendered in checksummed format WITH a 0z prefix. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** N/A ### **After** https://github.com/user-attachments/assets/96836574-7b12-4566-b70f-ea85efa3b663 <img src="https://github.com/user-attachments/assets/c249775a-e8be-4d72-8c8f-8909d37ef876" width="300" height="600" /> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The purpose of this PR is to temporarily disable the e2e tests added [here](MetaMask#12288) as it introduces instability within the smoke pipeline. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…MetaMask#12199) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR fix MetaMask#10967 User able to add Ledger account with existing account name. Now the ledger Select accounts screen will display `Account Ledger 1 already exists` ## **Related issues** Fixes: MetaMask#10967 MetaMask#10188 ## **Manual testing steps** 1. Install MM 2. Recover from SRP 3. Rename 'Account 1' to 'Ledger 1' 4. Connect Ledger device 5. Add 1 Ledger account 6. `Account Ledger 1 already exists` error should be displayed ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** ![image](https://github.com/user-attachments/assets/21a8ee86-63e0-4db0-b784-a8490ceba80f) <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Simulation section should not be displayed on typed sign V1 page. ## **Related issues** Fixes: MetaMask/MetaMask-planning#4012 ## **Manual testing steps** 1. Go to test dapp 2. Submit type sign request 3. Ensure that simulation section is not present ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="398" alt="Screenshot 2025-01-23 at 7 02 52 PM" src="https://github.com/user-attachments/assets/50d93b57-f3aa-44ef-bcc4-05a31e433436" /> <!-- [screenshots/recordings] --> ### **After** <img width="400" alt="Screenshot 2025-01-23 at 7 08 27 PM" src="https://github.com/user-attachments/assets/1a697fae-4f28-418f-8675-0c063f56eea6" /> <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Refactor of browser tab to typescript Please visit this issue that includes a bigger description: MetaMask/mobile-planning#2087 ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: Cal-L <cleun007@gmail.com> Co-authored-by: João Loureiro <175489935+joaoloureirop@users.noreply.github.com> Co-authored-by: Cal Leung <cal.leung@consensys.net> Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
MetaMask#13057) ## **Description** ETH balance on Holesky (testnet) is included in the total balance when selecting ‘Popular networks’ ## **Related issues** Fixes: ## **Manual testing steps** 1. Acquire some balance on Holesky 2. Add Holesky network using chainlist. 3. Click on popular networks. Aggregated balance you see should not include the holesky balance you own. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ![image](https://github.com/user-attachments/assets/d95f5f32-9a40-48e4-82fc-85c8d9b5a910) ![image](https://github.com/user-attachments/assets/995a5b39-9ba4-4e25-9c4d-1128cab0f771) ![image](https://github.com/user-attachments/assets/46c01498-338b-4e61-a2f9-525ff3171c53) ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/7d3f44d1-6dcf-4a7e-9d31-8fcbcaa584ea ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** The helpers.js file was a bit of a dumping ground for all test actions: Selecting elements, asserting elements, and using utility methods like delays, deep linking, launching the app, and interacting with elements. We did some work last year to separate the various types of logic. Locating elements - `Matchers.js` Interacting with elements - `Guestures.js` Asserting elements - `Assertions.js` They all live in the e2e/utils folder. This PR aims to remove and deprecate all test actions within the helper's file. Once this PR is merged, we can avoid engineers using anti-patterns within the e2e framework. The next step is to extract all logic from the testHelpers and place them in the appropriate utility class. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** - Adding e2e for re-designed signature pages. - Adding new pipeline for re-designed confirmations. ## **Related issues** Fixes: MetaMask#13052 Fixes: MetaMask#13054 Fixes: MetaMask#13055 Fixes: MetaMask#13055 ## **Manual testing steps** NA ## **Screenshots/Recordings** NA ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…aMask#12627) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Remote Feature Flag Controller v1.3.0 requires `metaMetricsId` string value for its initialization. `metaMetricsId` is used to generate a threshold value for Scope based feature flags. On Mobile, `metaMetricsId` is managed by the MetaMetrics class, using its method `getMetaMetricsId`. Because this method returns a promise, we need to handle it outside Engine constructor. The route we opted is to await for the Promise to resolve on `EngineService.start` function, then send it to `Engine.init` as a parameter, which will pass it the into Engine constructor. ## **Related issues** Fixes: MetaMask/mobile-planning#2065 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…e request pages (MetaMask#13075) ## **Description** Add e2e tests for blockaid validations on re-designed signature request pages ## **Related issues** Fixes: MetaMask#13073 ## **Manual testing steps** NA ## **Screenshots/Recordings** NA ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** PR to fix toast msg when a network is deleted ## **Related issues** Fixes: ## **Manual testing steps** 1. Click on network selector 2. Delete any network 3. toast msg should day '... successfully deleted' instead of 'successfully added' ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** PR to fix network name displayed on token details component ## **Related issues** Fixes: MetaMask#13051 ## **Manual testing steps** 1. Click on popular networks 2. Choose an ERC20 token on different network than the selected network and click on token 3. Click on more options button top right 4. Click on token details 5. You should see network name of the token ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/7bdc41b8-e788-4b39-948b-9dd3a35d1412 ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…kbox list on initial connect to a dapp. (MetaMask#13099) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Issue: When the user had connected dapps and switched the global network, when he went back to the dapp he was asked to grant permission to that network for that dapp. Solution: On initial connection, preselect all enabled networks, reducing the chances the user finds himself on a network he has not granted permission for yet. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask/MetaMask-planning#3902 ## **Manual testing steps** 1. Go to the in-app browser and navigate to a dapp, then click connect 2. Go to the network permissions by clicking the Edit link button 3. All of the user's enabled networks should be preselected (also see animated gif below for an example of these manual testing steps) ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** User was prompted often to grant permission. ### **After** User can more easily grant permission to all enabled networks on initial connection: <img width="350" alt="Screenshot 2024-04-18 at 3 56 43 PM" src="https://github.com/user-attachments/assets/2b081ecb-5408-49a1-8228-755ac4ae5875"> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
…#12843) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: MetaMask#12724 ## **Manual testing steps** 1. Build android project locally 2. Add your account or create new one 3. switch btw network ( the perfs should be good ) 4. switch btw popular network and current network on the token list and check the perfs 5. the list of assets should be displayed quickly ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/cdd70d65-820b-40fc-ba7f-85a6dceb66c1 ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
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. 44 out of 45 committers have signed the CLA. |
Report too large to display inline |
Report is too large to display inline. Next stepsMark a package as acceptable riskTo ignore an alert, reply with a comment starting with
|
I have read the CLA Document and I hereby sign the CLA |
Hey @Marcofann, thanks for your contribution! I appreciate you taking the time to fix typos. However, this PR includes a lot of unrelated changes and seems to have some conflicting git history, which makes it difficult to review and merge. To keep things clean, I’m going to close this PR. If you'd like to resubmit, please limit the changes to just the typo fixes and make sure your branch is up to date with the latest from main. |
This pull request addresses several minor typos in comments and variable names across various files, ensuring better clarity and consistency in the codebase.
Notes to reviewers:
How has it been tested?
The changes have been reviewed manually to ensure no other errors or formatting issues are present.