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
test: token detection import #9600
Conversation
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
Bitrise❌❌❌ Commit hash: e048225 Note
|
<!-- 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 pull request focuses on refactoring the browser and testDapp page objects to improve code readability and facilitate debugging. A recent update in Detox enables webview support on iOS, which was previously only available on Android. This upgrade was integrated into this pull request and greatly simplifies the browser-related tests. Additionally, we will have the ability to consistently inject code into the web view for testing (This is especially important for any sort of Dapp-API tests that we intend on writing in the future). But why upgrade Detox specifically in this PR? As part of the browser refactor, we want to interact with elements consistently, which reduces the possibility of test flakiness. For instance, we used xy coordinates to interact with elements in the web view, which posed challenges. However, these tests would break if the device screen size changed, necessitating the acquisition of new xy coordinates. By upgrading Detox to version 20.20, we eliminate this issue and reduce the likelihood of encountering unreliable tests when running them on various devices. You can read up more on the different web view strategies and web actions here: https://wix.github.io/Detox/docs/api/webviews Things to be aware of: - The matchers class has been updated with new web view locator strategies. These strategies now include: byID, ByCssSelector, ByClassName, and ByxPath, providing more flexibility and options for locating elements in the web view. - jsDocs was added for the new strategies - All of the confirmation tests except: send-eth.spec.js and advanced-gas-fees.spec.js were updated. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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? --> This PR adds to NFT names to `useDisplayName` hook. ## **Related issues** Fixes: MetaMask/mobile-planning#1714 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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.
…9305) <!-- 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? --> Update Signature Controller to version 6.1.3 Issue: MetaMask/mobile-planning#1626 e2e: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/22a741a5-2753-4cba-92ef-919a9e8cb5f9 To avoid a TS error for the SignatureController in the Engine file, I had to upgrade of LoggingController to v2. MetaMask/mobile-planning#1707 was included in this PR ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** https://github.com/MetaMask/metamask-mobile/assets/15312578/66197ff3-e4a6-4b04-9b7e-66ad835d77ab <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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 aims to add `useTokenListName` hook which will be used by Name component. ## **Related issues** Fixes: MetaMask/mobile-planning#1706 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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 `context` property of `Engine` was typed as `any`, effectively disabling type checking for most controller interactions. The `any` has been removed, restoring controller type checking. ## **Related issues** This problem was introduced in #6749 ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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: Brian Nguyen <brianacnguyen@gmail.com> Co-authored-by: Desi McAdam <desi.mcadam@gmail.com>
…er-passworder (#9203) Align `Encryptor` methods to match `@metamask/browser-passworder` as much as possible. Co-authored-by: Gustavo Antunes <17601467+gantunesr@users.noreply.github.com>
## **Description** This PR adds patches to mobile to enable Open Sea (OS) migration. ## **Related issues** [MMASSETS-156.](https://consensyssoftware.atlassian.net/jira/software/projects/MMASSETS/boards/640/backlog?selectedIssue=MMASSETS-156) (Restricted access Jira issue) Main core PR: MetaMask/core#4030 Core Compare link used to create the assets patch: https://github.com/MetaMask/core/compare/patch/mobile-assets-controllers-v-18-0-0...patch/mobile-assets-controllers-v-18-0-0-os-migration-v2?expand=1 ## **Context** Problem: We want to roll out Reservoir to Extension and Mobile similar to how we have done in Portfolio. Requirements: Define a way to compare OpenSea’s spam filtering and Reservoir’s spam filtering. Ideally the spam filtering is similar. Create Core PR to migrate calls from OS to Reservoir. Create PR on mobile to migrate from OS to Reservoir. Create Extension PR to migrate from OS to Reservoir Define roll out plan for Extension and Mobile Roll out Reservoir to Extension and Mobile Today, to get the NFTs core is calling opensea V2 api to fetch user nfts and to add new nfts (get NFT metadata) In this ticket we wanted to call Reservoir API instead of calling openseaV2. We are not changing any of the functional behaviors of the app, we are just swapping third party providers. So the app should behave the exact same regarding any NFT related functionality: Like showing NFT details when clicking on the NFT And being able to remove/add the NFT Mark it as favorite Sending NFts ## **Manual testing steps** 1. Go to the NFT tab 2. You should see your NFTs 3. Adding/removing NFTs should still work as expected 4. clicking on the NFT and seeing the NFT details should work as expected. ## **Screenshots/Recordings** The NFT tab should behave the same. You should be able to see the same NFTs you had. Only thing noticed while testing is for some collections you might see either a different image or the mobile default image (if the new third party provider was not able to return the image) ### **Before** https://github.com/MetaMask/metamask-mobile/assets/10994169/27d6e580-adb3-47f3-8bfe-5d2b9238a3f1 https://github.com/MetaMask/metamask-mobile/assets/10994169/f3eee367-1dcf-4e78-b738-d6e29f1bef86 ### **After** https://github.com/MetaMask/metamask-mobile/assets/10994169/920747e7-ab27-41ab-961a-88004f087c9a https://github.com/MetaMask/metamask-mobile/assets/10994169/17fa6860-a7b5-4897-a543-d58bb0cdbd5e ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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** - [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** <!-- 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 one line fix adds the missing `wallet_addEthereumChain` to the unrestricted rpc methods list. The change was initially missing from the permission middleware PR here - #9521 ## **Related issues** Fixes: MetaMask/mobile-planning#1723 ## **Manual testing steps** 1. Connect to `chainlist.org` 2. Add BNB chain 3. Notice prompt for adding BNB chain in app ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-mobile/assets/10508597/a650ec8c-f0ff-47a2-8241-17c92e6f547b ### **After** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-mobile/assets/10508597/3cbe57f6-4bd5-4137-92ef-149f4dcb97ef ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** * Added fatal error to new ensureValidState function * Removed an unnecessary catchExcepection of migration 37 ## **Related issues** Fixes: [[Sentry] Error: Migration 37: Invalid NetworkController networkId not found: 'null'](#9462) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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 pull request eliminates the URL top bar from the tab thumbnails screen, which previously displayed the network and URL of the selected tab thumbnail. The rationale behind this removal is to introduce a new footer for the tab thumbnails, which will display their network information. This addition is facilitated through [this PR here](#9321), which also includes screenshots illustrating the new footer on each tab thumbnail. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: https://github.com/orgs/MetaMask/projects/66/views/1?pane=issue&itemId=57737399 ## **Manual testing steps** Please follow these improved steps, which are also included in this pull request: 1. Navigate to the in-app browser and tap on the square icon that contains a number to view the list of open tabs. 2. On this tab thumbnails list page, the URL top bar should no longer be visible. 3. Upon clicking on a thumbnail, the tab will expand to full screen, at which point the URL top bar is expected to reappear. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> | Before | After | |--------------|--------------| | <img width="350" alt="Screenshot 2024-04-18 at 3 56 43 PM" src="https://github.com/MetaMask/metamask-mobile/assets/165834542/56b5cbcf-30e2-482c-82b4-bc160ec9f329"> |<img width="350" alt="Screenshot 2024-04-18 at 3 56 43 PM" src="https://github.com/MetaMask/metamask-mobile/assets/165834542/54e42fd7-fb9d-4db4-8c6b-9c38080bfe29"> | ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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. --------- Co-authored-by: Cal Leung <cleun007@gmail.com>
…about the connected account and network (#9321) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** - Add a footer to the in-app browser tab, containing information about the connected account and network. - The requirements [are in this issue](MetaMask/mobile-planning#1634). - The localizations originated from this PR #9474 I'm told another team picks it up and adds other languages [in this PR](#9428) <!-- 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: It's a new feature not a fix ## **Manual testing steps** 1. Go to the browser tab 2. In the broswer's tab view, click on + to add a new tab 3. Again in the browser's tab view, click on the button on the right of the + sign to see the list of tabs 4. The tab should be displayed with the expected footer at the bottom like in the 'After' screenshot below. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> | Before | After | |--------------|--------------| | <img width="350" alt="Screenshot 2024-04-18 at 3 56 43 PM" src="https://github.com/MetaMask/metamask-mobile/assets/165834542/b35617ff-2afa-4dec-8a33-79984da04e6d"> |<img width="350" alt="Screenshot 2024-04-18 at 3 56 43 PM" src="https://github.com/MetaMask/metamask-mobile/assets/165834542/10e13fa9-99cb-44af-b073-9d2da1fff617"> | ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [ ] 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 enables Base for swaps. Related to this, it also upgrades `@metamask/swaps-controller` to `v8.0.0`. See `package.json` and `yarn.lock` changes ## **Related issues** Depends on `@metamask/swaps-controller` to `v8.0.0` ## **Manual testing steps** 1. Enable swaps on base feature flag 2. Change network to base 3. Get a quote for a Swap ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** - [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: legobt <6wbvkn0j@anonaddy.me> Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
## **Description** Fix documentation link in storybook.md ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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** A fix for this issue: #9517 <!-- 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 Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR removes a condition in the `Authentication` service where the vault would be recreated upon first time log in (excluding password creation during wallet creation). This logic existed for backwards compatibility but was never needed since the app was always using the "original" encryption lib. Since vault recreation isn't needed, this omits the need to pass selectedAddress, which appears in most of the changes in this PR. The change in https://github.com/MetaMask/metamask-mobile/pull/9508/files#diff-75ad251e628bf4ac096dc3ad4e46d4942f61d1576784c71c6150920588b89e1eR45 already prevents this code from running. This PR further removes remaining traces. ## **Related issues** Fixes: [#1742](MetaMask/mobile-planning#1742) ## **Manual testing steps** App behavior remains the same as before throughout the listed scenarios: - Create a wallet from scratch - Immediate lock option should be respected and user is still able to log in after backgrounding/foregrounding app - Remember me option should be respected + continues to override immediate lock timer - Log in after killing app + reopening should work without issues - Upgrading from before (main) -> (changes in this PR) should still allow users to log in successfully - Vault recovery flow recovers wallet successfully ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> - Create a wallet from scratch https://github.com/MetaMask/metamask-mobile/assets/10508597/12a881d2-8016-4180-a4d1-b87362cda9d0 - Immediate lock option should be respected and user is still able to log in after backgrounding/foregrounding app https://github.com/MetaMask/metamask-mobile/assets/10508597/1c68d13a-89b2-491b-8d4f-ac77b5ceff8b - Remember me option should be respected + continues to override immediate lock timer https://github.com/MetaMask/metamask-mobile/assets/10508597/08c64684-b152-42df-a46c-4b187827193e - Log in after killing app + reopening should work without issues https://github.com/MetaMask/metamask-mobile/assets/10508597/aee455a5-34ac-4fda-85a8-6f43cf1afd67 - Upgrading from before (main) -> (changes in this PR) should still allow users to log in successfully https://github.com/MetaMask/metamask-mobile/assets/10508597/72129fa6-8c19-4f7e-a4f3-6ca781776846 - Vault recovery flow recovers wallet successfully https://github.com/MetaMask/metamask-mobile/assets/10508597/72f9925b-f442-4aa7-9d45-c681d46bbeaa ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** - Full sdk protocol async communication and wallet connect sdk update. - Allow for much faster and stable connection with both sdk and wc. - Simplify the AccountConnect modal since wc now requests via hostname (vs id before). ## **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 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. --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Gustavo Antunes <17601467+gantunesr@users.noreply.github.com> Co-authored-by: Pedro Figueiredo <ganseki.figueiredo@gmail.com> Co-authored-by: Jonathan Ferreira <44679989+Jonathansoufer@users.noreply.github.com> Co-authored-by: SamuelSalas <samuel.salas.reyes@gmail.com> Co-authored-by: Cal Leung <cleun007@gmail.com> Co-authored-by: CW <chris.wilcox@consensys.net> Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com> Co-authored-by: infiniteflower <139582705+infiniteflower@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com> Co-authored-by: sethkfman <seth.kaufman@consensys.net> Co-authored-by: sahar-fehri <sahar.fehri@consensys.net> Co-authored-by: Brian Bergeron <brian.e.bergeron@gmail.com> Co-authored-by: Owen Craston <owen.craston@consensys.net> Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com> Co-authored-by: Kylan Hurt <kylanhurt@users.noreply.github.com> Co-authored-by: Xiaoming Wang <dawnseeker8@gmail.com> Co-authored-by: sethkfman <10342624+sethkfman@users.noreply.github.com> Co-authored-by: yande <110056475+Andepande@users.noreply.github.com> Co-authored-by: Curtis David <Curtis.David7@gmail.com> Co-authored-by: Sébastien Van Eyck <sebastien.vaneyck@consensys.net> Co-authored-by: Omridan159 <omridan159@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> Co-authored-by: salimtb <salim.toubal@outlook.com> Co-authored-by: João Loureiro <1649425+jpcloureiro@users.noreply.github.com> Co-authored-by: Aslau Mario-Daniel <marioaslau@gmail.com> Co-authored-by: Pedro Pablo Aste Kompen <wachunei@gmail.com> Co-authored-by: Amélie <amelie.chan@gmail.com> Co-authored-by: Omri Dan <61094771+omridan159@users.noreply.github.com> Co-authored-by: Jyoti Puri <jyotipuri@gmail.com> Co-authored-by: tommasini <tommasini15@gmail.com> Co-authored-by: Kylan Hurt <kylan.hurt@gmail.com> Co-authored-by: Nicholas Ellul <nicholas.ellul1@gmail.com> Co-authored-by: Olusegun Akintayo <akintayo.segun@gmail.com> Co-authored-by: Mpendulo Ndlovu <mpendulo@elefantel.com> Co-authored-by: MetaMask Bot <37885440+metamaskbot@users.noreply.github.com> Co-authored-by: Priya <priya.narayanaswamy@consensys.net> Co-authored-by: Frederik Bolding <frederik.bolding@gmail.com> Co-authored-by: witmicko <witmicko@users.noreply.github.com> Co-authored-by: EtherWizard33 <165834542+EtherWizard33@users.noreply.github.com> Co-authored-by: Gauthier Petetin <gauthierpetetin@hotmail.com> Co-authored-by: Desi McAdam <desi.mcadam@gmail.com> Co-authored-by: Elliot Winkler <elliot.winkler@gmail.com> Co-authored-by: gantunesr <gantunesr@users.noreply.github.com> Co-authored-by: Sylva Elendu <iamsylvaelendu@gmail.com> Co-authored-by: Frank von Hoven <141057783+frankvonhoven@users.noreply.github.com> Co-authored-by: Brian August Nguyen <brianacnguyen@gmail.com> Co-authored-by: Derek Brans <dbrans@gmail.com> Co-authored-by: LeoTM <1881059+leotm@users.noreply.github.com> Co-authored-by: gantunesr <gustavoantunesrod@gmail.com> Co-authored-by: Daniel Cross <dan.s.cross@icloud.com> Co-authored-by: OGPoyraz <omergoktugpoyraz@gmail.com> Co-authored-by: Vinicius Stevam <vinicius.stevam@consensys.net> Co-authored-by: Vinicius Stevam <45455812+vinistevam@users.noreply.github.com> Co-authored-by: legobt <6wbvkn0j@anonaddy.me>
## **Description** Upgrades the `permission-controller` from 7.1.0 --> 8.0.0 ## **Related issues** Fixes: [1695](MetaMask/mobile-planning#1695) ## **Manual testing steps** * Connect to app * Single account * Multiple accounts * With multiple connected accounts * Disconnect Account * Next connected account should be selected * Open a new tab * Connect to test app * https://metamask.github.io/test-dapp * Connect accounts * Disconnect account ## **Recordings** ### Connect Dapp Single Account https://github.com/MetaMask/metamask-mobile/assets/141057783/9ca0afd9-5b61-4f2d-ba12-e7b1bd12e3b4 ### Connect Dapp Multiple Accounts https://github.com/MetaMask/metamask-mobile/assets/141057783/49b1d67c-6b2e-4203-b172-53420a8753d4 ### TestDapp Connect Account https://github.com/MetaMask/metamask-mobile/assets/141057783/fa896121-34b7-4c2f-8680-6e85640e60cf ### TestDapp Connect/Disconnnect/GET Account https://github.com/MetaMask/metamask-mobile/assets/141057783/ded58259-4679-4790-85f7-0a34a3b51ca3 ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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 to include minor version updates in the permission-controller. Should have been included in [#9527](#9527) ## **Related issues** Related: [9527](#9527) ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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: tommasini <tommasini15@gmail.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** <!-- 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: #9594 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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: tommasini <tommasini15@gmail.com>
## **Description** Release 7.22.0 PR [Release Tracker Sheet](https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit#gid=300906497&range=A2) --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Frank von Hoven <141057783+frankvonhoven@users.noreply.github.com> Co-authored-by: Cal Leung <cleun007@gmail.com> Co-authored-by: Jonathan Ferreira <44679989+Jonathansoufer@users.noreply.github.com> Co-authored-by: Aslau Mario-Daniel <marioaslau@gmail.com> Co-authored-by: João Loureiro <1649425+jpcloureiro@users.noreply.github.com> Co-authored-by: salimtb <salim.toubal@outlook.com> Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com> Co-authored-by: Curtis David <Curtis.David7@gmail.com> Co-authored-by: Pedro Pablo Aste Kompen <wachunei@gmail.com> Co-authored-by: Jyoti Puri <jyotipuri@gmail.com> Co-authored-by: Brian August Nguyen <brianacnguyen@gmail.com> Co-authored-by: Derek Brans <dbrans@gmail.com> Co-authored-by: LeoTM <1881059+leotm@users.noreply.github.com> Co-authored-by: EtherWizard33 <165834542+EtherWizard33@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: sahar-fehri <sahar.fehri@consensys.net> Co-authored-by: Desi McAdam <desi.mcadam@gmail.com> Co-authored-by: Mark Stacey <markjstacey@gmail.com> Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com> Co-authored-by: yande <110056475+Andepande@users.noreply.github.com> Co-authored-by: gantunesr <gustavoantunesrod@gmail.com> Co-authored-by: Gustavo Antunes <17601467+gantunesr@users.noreply.github.com> Co-authored-by: gantunesr <gantunesr@users.noreply.github.com> Co-authored-by: Daniel Cross <dan.s.cross@icloud.com> Co-authored-by: tommasini <tommasini15@gmail.com> Co-authored-by: OGPoyraz <omergoktugpoyraz@gmail.com> Co-authored-by: Kylan Hurt <kylanhurt@users.noreply.github.com> Co-authored-by: Vinicius Stevam <vinicius.stevam@consensys.net> Co-authored-by: Vinicius Stevam <45455812+vinistevam@users.noreply.github.com> Co-authored-by: legobt <6wbvkn0j@anonaddy.me> Co-authored-by: CW <chris.wilcox@consensys.net> Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com> Co-authored-by: Frederik Bolding <frederik.bolding@gmail.com> Co-authored-by: Charly Chevalier <charlyy.chevalier@gmail.com> Co-authored-by: Nicolas Ferro <nicolaspatricioferro@gmail.com> Co-authored-by: Omri Dan <61094771+omridan159@users.noreply.github.com>
…h caused confirmation test flakiness (#9610) <!-- 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 address sporadic test flakiness within the confirmations workflow. The test, at times, would timeout because it was unable to log into the app. Sometimes, this would result in long-running confirmation e2e workflows in Bitrise. ### What caused the failure? The approve-custom-erc20.spec.js and approve-default-erc20.spec.js tests assert that the submitted the txn is confirmed before making the test as passed. The notification dialog appears whenever a successful transaction is made. See below ![image](https://github.com/MetaMask/metamask-mobile/assets/12821081/4ef9a49f-6b3b-4585-89b6-09af440c16b8) Unfortunately, the system dialog lingers on the simulator. Whenever new tests run on the simulator, the system dialog prevents the tests from moving forward. See the below screenshot: ![image](https://github.com/MetaMask/metamask-mobile/assets/12821081/77b0ec94-f42e-4169-a280-137ecac364cf) ### Solution The solution is to set the notifications permission to true. This will prevent the notification dialog from appearing within the tests. Detox's api allows us to set this permission whenever we launch the app for testing. For the curious minds, please read up more [here](https://wix.github.io/Detox/docs/next/api/device/#2-permissionsset-runtime-permissions-ios-only). ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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? --> As suggested by the Bitrise team, the changes in the PR replaces both the `save` and `restore` step with `deploy` and `pull`, which shares intermediate files within pipelines instead of caching on a global level. An extra step added post `pull` step was to copy the pulled files into the directories that Detox uses to find the builds. Lastly, a small update was made to the `brew install ccache` command to include the flag `HOMEBREW_NO_DEPENDENTS_CHECK=1`, which should skip updating packages that depend on`ccache`, therefore speeding up the step. ## **Related issues** Fixes: #9345 ## **Manual testing steps** - Run `pr_smoke_e2e_pipeline` and ensure that both iOS and Android are building and testing successfully - Smoke test will be run on this PR ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> N/A ### **Before** <!-- [screenshots/recordings] --> N/A ### **After** <!-- [screenshots/recordings] --> N/A ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** This PR only adds a JSDoc to add a deprecated tag to the WebsiteIcon component. This eslint rule could also begin to be use on the future to help to show the deprecated components on the lint 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 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 reverts commit 302d3a4. <!-- 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** Reverts: #9286 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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 implements a new step on the onboarding wizard to teach users about notifications feature. ## **Related issues** Fixes: ## **Manual testing steps** Install a fresh app and accept the tour at beginning. ## **Screenshots/Recordings** ### **Before** ### **After** ![Screenshot 2024-05-07 at 12 58 11](https://github.com/MetaMask/metamask-mobile/assets/44679989/aed859d6-a37b-4902-8136-eeb881684a7e) ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** Fix key number on migrations index file. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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.
Update `Encryptor` directory CODEOWNER to the Accounts Team. Co-authored-by: gantunesr <gantunesr@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** <!-- 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 only covers the strings from #9565. ## **Related issues** Split off from: #9565 ## **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] --> n/a ### **After** <!-- [screenshots/recordings] --> n/a ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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.
<!-- 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** Changes: Adds a new privacy policy banner that will show up after May 6, 2024. [EDIT HB - date set for June 4, 2023] If the user closes it manually, the privacy policy banner will not show up again. If the user does not close the toast manually, the privacy policy banner will cease to show up after a day of being shown for the first time. Changes the Survey banner so that we can display multiple banners at the same time without overlapping each other. Considerations: - Make sure this doesn't show up during onboarding - This toast will show up even after years of the privacy policy being changed. We should set up a deadline for that or eventually revert this PR. - Check if copy is correct. ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to the home page 2. Check if there's a new privacy banner there (date should be edited in the code so that the privacy policy shows up earlier than May 6, 2024) 3. When clicking the link, it should take you to the Privacy Policy website 4. When closing it, it shouldn't show up again 5. If not closing it manually, the toast should not show up again after 1 day of being shown for the first time. This data is saved in localStorage so editing the timestamp there should be enough to test this feature out. ## **Screenshots/Recordings** https://github.com/MetaMask/metamask-mobile/assets/11148144/ae6e74fc-0a7f-47ce-8744-4a292875f7b3 ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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: EtherWizard33 <eric.lamontagne@consensys.net>
Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com> Co-authored-by: sethkfman <seth.kaufman@consensys.net>
<!-- 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 only covers a smaller subset of the files from #9565 for ease of reviewing. Please refer to that issue for videos. This PR is mostly for the core logical parts of Smart Transactions (STX). This PR can be merged as it won't change any existing behavior in the application without a follow up PR to actually use these utility functions. It covers the following areas 1. `/app/util` - except `app/util/test/initial-background-state.json`, `app/util/transactions/index.js`, `app/util/transactions/index.test.ts` since it causes tests to fail 3. `/app/images` 4. `/e2e/selectors` 5. `app/core/RPCMethods/RPCMethodMiddleware.ts` (to fix tests) 6. `package.json` (Added `smart-transactions-controller` to this PR to fix failing tests) 7. `app/components/Nav/Main/RootRPCMethodsUI.js` to fix failing tests 8. `@metamask+transaction-controller+13.0.0.patch` (https://github.com/MetaMask/core/compare/patch/mobile-transaction-controller-13-0-0-smart-transactions) 9. `yarn.lock` 10. `jest.config.js` ## **Related issues** - Broken out from #9565 - Functionality in this PR enabled in follow-up #9448 ## **Manual testing steps** Refer to #9565 ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> Refer to #9565 ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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: 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** Fixes regression that was introduced while fixing unit tests. Problem comes from the following: ``` /** * TODO: Update this condition once we change E2E builds to use release instead of debug */ export const isTest = process.env.METAMASK_ENVIRONMENT !== 'production'; ``` it should normally detect via checking env IS_TEST='true': "test:e2e:ios:debug:build": "IS_TEST='true' detox build -c ios.sim.debug", ## **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 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** - Update Signature Controller to v^13 - Changelog [here](https://github.com/MetaMask/core/blob/%40metamask/signature-controller%4013.0.0/packages/signature-controller/CHANGELOG.md) <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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: legobeat <109787230+legobeat@users.noreply.github.com> Co-authored-by: tommasini <tommasini15@gmail.com>
…tter user `remove wallets` (#9616) This PR will fix the issue #9560 which all QR code accounts have been reappeared after user decide to `remove wallets` in metamask mobile. The fix has been done in `Engine.ts` to make `qrKeyringBuilder` to reset the qr keyring properties to default value once created a new `QRHardwareKeyring`. <!-- 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: #9560 ## **Manual testing steps** 1. Setup wallet with QR hardware accounts and using biometric auth 2. Go to Settings>Security & Privacy 3. Scroll all the way to the bottom and select `Delete Wallet` 4. Tap `I understand, continue` 5. input `delete` 6. Tap `Delete my wallet` 7. Tap `Create new wallet` 8. Complete setup flow 9. Tap accounts menu and all QR code accounts have been removed. 10. re-open and authenticate again. 11. Tap accounts menu in home page and confirm that those QR code accounts haven't been reappeared again. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** https://www.loom.com/share/c5c3d92db6da419eabf8aabbcb63afab?sid=d597eead-d642-4de1-bbbe-3476f1311728 <!-- [screenshots/recordings] --> ### **After** TODO <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** * Network Controller updated to v^17.2.0 * Gas Fee Controller updated to v^13.0.0 * Controller utils v^8 * Assets Controllers v^26 * Updated the patch of Network Controller, now it adds an export a type * Gas Fee Controller now uses `NetworkController:networkDidChange` event instead of `NetworkController:stateChange` event. * Removed resolution for transaction controller and replaced it with a small change via patch * Assets Controllers already with Reservoir changes of this [PR](#9547 (comment)) * Assets Controllers patch cleaner and smaller * Token Detection Controller and Token Balances Controller updated on Engine and Engine Service since now they extend BaseController v2 * Added to the patch of assets controllers work around for TokenBalancesController and TokenRatesController listening the TokensController events wrongly since TokensController is not extending BaseControllerV2 * Added migration to reset contractBalances property of TokenBalancesController * Changed on Amount and Confirm screen where contractBalances were used as BN to be converted to BN since now contractBalances property is now saving balances on hexadecimal string Created a new core branch to follow up the assets-controllers version: patch/mobile-assets-controllers-26 ## **Related issues** Fixes: * MetaMask/mobile-planning#1691 * MetaMask/mobile-planning#1692 * MetaMask/mobile-planning#1694 * MetaMask/mobile-planning#1690 * ## **Manual testing steps** 1. Sendflow Transaction On linea sepolia 2. Test dapp transaction On sepolia 3. Switch networks in general 4. Add custom network 5. add networks from popular list 6. Remove network 7. Add network throught dapp 8. Add tokens with auto detect feature, with token list, custom token fields and via dapp 9. Added nfts with auto detect NFTS, play around with display nft media and ipfs gateway toggles to check privacy is still working as expected. Also added nft with custom fields 10. Switched accounts when on dapp and check if permission systems is working (it should be able to switch accounts when switching dapp that have different accounts connected) ## **Screenshots/Recordings** Adding a custom network: https://github.com/MetaMask/metamask-mobile/assets/46944231/8ac6a11f-c93e-46e6-8b62-188f7df89a02 Playing around with tokens & multiple networks (auto detect, add from dapp, custom add and add from token list): https://github.com/MetaMask/metamask-mobile/assets/46944231/4e5d12e6-6ba7-4fba-a1ca-51d2b3c2d61c https://github.com/MetaMask/metamask-mobile/assets/46944231/160eb191-d952-4cd4-a6a0-0687fd76095e Dapp sepolia transaction: https://github.com/MetaMask/metamask-mobile/assets/46944231/0acc6c90-326b-4fcf-bbaf-170873741439 Linea sepolia transcation: https://github.com/MetaMask/metamask-mobile/assets/46944231/3fdd3e47-85d9-46d9-8fa6-9b62ce5028fd NFT & privacy playground: https://github.com/MetaMask/metamask-mobile/assets/46944231/9ed68b4f-06d3-41ef-93dc-ced2a1ee2c7e * Go to the test dapp and try deploying an ERC20 contract (tap create token) , deploy a collectible contract * use a dapp to switch networks. Chainlist would work. * edit gas before submitting a txn check this slack thread: https://consensys.slack.com/archives/C04GLB755TK/p1715772583995679?thread_ts=1715341470.231619&cid=C04GLB755TK ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** <!-- 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? --> Just a chore to bump `boost` checksum when running `yarn setup`. This shouldn't affect 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** - [x] I’ve followed [MetaMask 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.
) Previously used React version 18 is not officially supported until react-redux v8. Also brings in updates for other redux packages, but holds off on breaking changes for @reduxjs/toolkit v2. - Upgrade `react-redux` from `4.1.1` to `4.2.1` - `4.2.1` was already used transitively so this is effectively a dedupe - Replace unmaintained `rn-fetch-blob` with `react-native-blob-util`
<!-- 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 PR that introduced permission controller middleware #9521, broke verifying personal sign on the test dapp. This PR resolves a few areas in the app that needed to use lowercased account addresses. Another note: Since permission middleware now handles `eth_accounts`, we migrated a condition to use the correct origin based on SDK, WC, or dapp in the `BackgroundBridge`. This code is a temporary fix and should be refactored in the future. To keep this PR smaller, we can follow up with removing `eth_accounts` from RPCMethodMiddleware in another PR. ## **Related issues** Fixes: [#1723](MetaMask/mobile-planning#1723), https://app.zenhub.com/workspaces/mobile-release-testing-6249e5242464b70013315a98/issues/gh/metamask/metamask-mobile/9628 ## **Manual testing steps** Before fix: 1. Connect to the MM test dapp 2. Trigger personal sign 3. Trigger verify 4. Results will not appear After fix: 1. Connect to the MM test dapp 2. Trigger personal sign 3. Trigger verify 4. Results should show address used to sign 5. Switch/connect another account 6. Trigger personal sign 4. Results should show address used to sign ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> https://github.com/MetaMask/metamask-mobile/assets/10508597/e38a71b5-6ac0-40ea-b3de-36b38830e7c9 ### **After** <!-- [screenshots/recordings] --> Signing verification works even after switching accounts https://github.com/MetaMask/metamask-mobile/assets/10508597/5c43af3b-7c9f-456b-a870-a5345027642b WC connects and is able to trigger a transaction https://github.com/MetaMask/metamask-mobile/assets/10508597/7009ac14-fa87-4ebd-88e0-022f2f30264e ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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** <!-- 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 only covers a smaller subset of the files from #9565 for ease of reviewing. Please refer to that issue for videos. This PR is mostly for Engine and the views for Smart Transactions (STX). Merging this PR will cause changes to the functionality and behavior of the app, effectively making the feature "live". It covers the following areas: 1. `app/components` 2. `app/core` 3. `app/reducers` 4. `app/selectors` 5. `app/util/test` 6. `patches` - `PreferencesController` ([PR here](MetaMask/core#3815) to apply update to `main`) - `SwapsController` ([PR here](MetaMask/swaps-controller#229) to apply updates to `main`) Also fixed an issue for network onboarding where it would never set onboarded to `true`. This needed to be fixed so we could properly show the STX Opt In Modal. We only show the Opt In modal if the user has onboarded onto the network, to prevent multiple modals from showing up at the same time. See discussion #9448 (comment) ## **Related issues** Fixes: n/a - Targeting: #9442 - Broken out from: #9565 ## **Manual testing steps** Refer to #9565 ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> Refer to #9565 ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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: tommasini <46944231+tommasini@users.noreply.github.com> Co-authored-by: Vinicius Stevam <45455812+vinistevam@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** <!-- 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 adds some small changes to the STX Opt In Modal: - Updates the copy - Makes it not possible to close by accident ## **Related issues** n/a ## **Manual testing steps** 1. Install the extension from scratch 1. Check the updated Opt In modal ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ![Screenshot 2024-05-15 at 5 15 13 PM](https://github.com/MetaMask/metamask-mobile/assets/139582705/966ff8fc-c9f0-4b49-ae1b-0c962f3d5d44) ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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.
<!-- 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 updates the TransactionController patch message to accurately reflect the correct branch the patch was generated from: `patch/mobile-transaction-controller-13-0-0-smart-transactions`. ## **Related issues** n/a ## **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 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.
## **Description** This PR aims to increase the waiting time for swaps to be confirmed and wait more time for the toast disappear when connecting a new account to a dapp Regression: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/3582e885-d17c-4ef1-ab5c-d9f13b5222ae ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've 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>
## **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: https://github.com/orgs/MetaMask/projects/60/views/6?pane=issue&itemId=61547905 ## **Manual testing steps** 1. Go to https://app.poolside.party with the in-app browser and connect the wallet 2. Once you connect, you would see an `Root Error: Text strings must be rendered within a <Text> component.` error message, but **now** you should not see that error message... the wallet should connect just fine. ## **Screenshots/Recordings** ### **Before** https://github.com/MetaMask/metamask-mobile/assets/6249205/6a58eca9-e9a0-4240-acdd-f7fb3b52f033 ### **After** https://github.com/MetaMask/metamask-mobile/assets/6249205/d9e68e1f-6aff-42bb-9b3f-80eae8ef2e2d ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests 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** - [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** This PR implements a List screen for Notifications following designs from [Figma](https://www.figma.com/file/XcAVSI5z4myb1DtlbIHw7U/ProfileID-(UUID)-mobile?type=design&node-id=906-14213&mode=design&t=QXtJD7nofUBR9M7b-0) This screen as all notification related code will be behind feature flag until ALL the code being merged. This PR is part of a series aiming to make the review process easier. ## **Related issues** Fixes: ## **Manual testing steps** 1. Enable Notifications from NavBar Bell icon or Settings --> Notifications -> Enable 2. Click on the NavBar Bell icon again 3. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** https://github.com/MetaMask/metamask-mobile/assets/44679989/75873986-66bf-4f2e-bed4-980a911c7eb9 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've 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: tommasini <46944231+tommasini@users.noreply.github.com> Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com> Co-authored-by: Cal Leung <cleun007@gmail.com>
Quality Gate passedIssues Measures |
Closing this for #9714 |
Description
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist