-
-
Notifications
You must be signed in to change notification settings - Fork 201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: add scopes
field to KeyringAccount
#5066
Conversation
@metamaskbot publish-preview |
scopes
field to KeyringAccount
0a46981
to
28a9753
Compare
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
2a41698
to
808b388
Compare
3fcac04
to
21d7074
Compare
21d7074
to
fd50073
Compare
fd50073
to
865cff8
Compare
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
scopes
field to KeyringAccount
scopes
field to KeyringAccount
4c331dd
to
6c3ef88
Compare
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
## Explanation Testing the new `scopes` field for `KeyringAccount` ## References - MetaMask/accounts#101 - MetaMask/metamask-extension#29195 ## Changelog ### `@metamask/accounts-controller` - **CHANGED**: Bump `keyring-api` to `^13.0.0` - **CHANGED**: Bump `keyring-internal-api` to `^1.1.0` - **CHANGED**: **BREAKING:** Add new `scopes` field to `InternalAccount` - This new field wil automatically defaults to `eip155` (CAIP-2 chain ID namespace for EVM) for newly created EOA accounts (both Snap and "normal" accounts). ### `@metamask/assets-controllers` - **CHANGED**: Bump `keyring-internal-api` to `^1.1.0` ### `@metamask/chain-controller` - **CHANGED**: Bump `keyring-internal-api` to `^1.1.0` ### `@metamask/keyring-controller` - **CHANGED**: Bump `keyring-api` to `^13.0.0` - **CHANGED**: Bump `keyring-internal-api` to `^1.1.0` - **CHANGED**: Await for `generateRandomMnemonic` keyring calls - Not all keyrings uses an `async` implementation for this method, but `await`ing should cover both (synchronous and asynchronous) cases. - This change is required since the bump of `@metamask/utils@^11.0.1` that changed the `generateRandomMnemonic` function signature for the `EthKeyring` interface (coming from `@metamask/keyring-internal-api`. ### `@metamask/profile-sync-controller` - **CHANGED**: Bump `keyring-api` to `^13.0.0` - **CHANGED**: Bump `keyring-internal-api` to `^1.1.0` ## Checklist - [ ] I've updated the test suite for new or updated code as appropriate - [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [ ] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
…eature (#5136) ## Explanation Some accounts packages were not properly versioned when introducing the new `scopes` feature. This has now been fixed and this PR bumps each accounts packages accordingly. ## References - #5066 - MetaMask/accounts#137 - MetaMask/accounts#133 ## Changelog ### `@metamask/accounts-controller` - **CHANGED**: **BREAKING:** Bump `keyring-internal-api` to `^2.0.0` - **CHANGED**: **BREAKING:** Bump `eth-snap-keyring` to `^8.0.0` ### `@metamask/chain-controller` - **CHANGED**: **BREAKING:** Bump `keyring-internal-api` to `^2.0.0` ### `@metamask/keyring-controller` - **CHANGED**: **BREAKING:** Bump `keyring-internal-api` to `^2.0.0` ## Checklist - [ ] I've updated the test suite for new or updated code as appropriate - [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [ ] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
# **Description** The primary purpose of this PR is to update the accounts controller and the assets-controller to the latest version. In doing that, there were several other package updates that were needed. Here is a summary of the updates... # 🔴 Major updates 🔴 ### "@metamask/accounts-controller": "^20.0.1" -> ^21.0.0 - [changelog](https://github.com/MetaMask/core/blob/main/packages/accounts-controller/CHANGELOG.md#2100) - Breaking changes - BREAKING: Add scopes field to KeyringAccount (MetaMask/core#5066), (MetaMask/core#5136) This field is now required and will be used to identify the supported chains (using CAIP-2 chain IDs) for every accounts. - Changes - Bump @metamask/base-controller from ^7.0.0 to ^7.1.1 (MetaMask/core#5079), (MetaMask/core#5135) - Bump @metamask/utils to ^11.0.1 (MetaMask/core#5080) - Bump @metamask/rpc-errors to ^7.0.2 (MetaMask/core#5080) - Use new @metamask/keyring-internal-api@^1.0.0 (MetaMask/core#4695) This package has been split out from the Keyring API. - Bump @metamask/keyring-api from ^10.1.0 to ^12.0.0 (MetaMask/core#4695) - Bump @metamask/eth-snap-keyring from ^5.0.1 to ^7.0.0 (MetaMask/core#4695) ESM/CommonJS support. ### "@metamask/assets-controllers": "^45.1.1", -> ^46.0.0", - [changelog](https://github.com/MetaMask/core/blob/main/packages/assets-controllers/CHANGELOG.md#4600) - Breaking changes - BREAKING: Bump @metamask/accounts-controller peer dependency from ^20.0.0 to ^21.0.0 (MetaMask/core#5140) - Changes - Remove use of @metamask/keyring-api (MetaMask/core#4695) @metamask/providers and webextension-polyfill peer dependencies are no longer required. - Use new @metamask/keyring-internal-api@^1.0.0 (MetaMask/core#4695) This package has been split out from the Keyring API. Its types are compatible with the @metamask/keyring-api package used previously. - Bump @metamask/base-controller from ^7.0.0 to ^7.1.1 (MetaMask/core#5079), (MetaMask/core#5135) - Bump @metamask/keyring-api from ^12.0.0 to ^13.0.0 (MetaMask/core#5066) - Bump @metamask/utils to ^11.0.1 (MetaMask/core#5080) - Bump @metamask/rpc-errors to ^7.0.2 (MetaMask/core#5080) - Added - Add new MultichainBalancesController (MetaMask/core#4965) This controller has been migrated from the MetaMask extension codebase. ### "@metamask/utils": "^10.0.1" -> ^11.0.1" - [changelog](https://github.com/MetaMask/utils/blob/main/CHANGELOG.md#1101) - breaking changes - BREAKING: generateRandomMnemonic now returns Promise<void> instead of void (MetaMask/utils#222) ### Added "@metamask/keyring-internal-api": "^2.0.0", - [changelog](https://github.com/MetaMask/accounts/blob/main/packages/keyring-internal-api/CHANGELOG.md#200) - This package was a peer dep on the latest accounts controller and assets controller. Given this I figured we should add it now anyway. - Changes needed - update imports from `@metamask/keyring-api` to `@metamask/keyring-internal-api` - add support for scopes in the InternalAccount object - added migration (066.ts) to backfill the scopes to existing accounts. - This change is based off a [similar change made in the extension](MetaMask/metamask-extension#29195) made by @ccharly ### Added @metamask/keyring-snap-client: "^2.0.0" - [changelog](https://github.com/MetaMask/accounts/blob/main/packages/keyring-snap-client/CHANGELOG.md#200) - Added because KeyringClient is now exported from `@metamask/keyring-snap-client` instead of `@metamask/keyring-api'`. See `app/components/Views/AddAccountActions/AddAccountActions.tsx` for changes. ### "@metamask/keyring-api": "^10.1.0", -> ^13.0.0" - [changelog](https://github.com/MetaMask/accounts/blob/main/packages/keyring-api/CHANGELOG.md#1300) - Breaking changes - BREAKING: Add scopes field to KeyringAccount (MetaMask/accounts#101) - BREAKING: Split into several smaller packages (MetaMask/accounts#24) - This should improve dependencies management. - Internal related types (internal to both clients) have been moved to keyring-internal-* packages. - Keyring API clients (mainly used by dapps) have been moved to keyring-snap-client package. - Common utils have been moevd to keyring-utils package. ### "@metamask/eth-snap-keyring": "^5.0.1" -> ^7.0.0" - [changelog](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-simple/CHANGELOG.md#700) - breaking changes - BREAKING: Increase minimum Node.js version to 16 (MetaMask/eth-simple-keyring#152) - BREAKING: Bump @metamask/eth-sig-util from ^6.0.1 to ^7.0.0 (MetaMask/eth-simple-keyring#156) - Bump @metamask/utils from ^5.0.0 to ^8.1.0 (MetaMask/eth-simple-keyring#153) - Bump ethereum-cryptography from ^1.2.0 to ^2.1.2 (MetaMask/eth-simple-keyring#153) - BREAKING: Bump @metamask/eth-sig-util dependency from ^7.0.3 to ^8.0.0 (MetaMask/accounts#79) - signTypedData no longer support number for addresses, see [here](https://github.com/MetaMask/eth-sig-util/blob/main/CHANGELOG.md#800). ## 🟡 Minor updates 🟡 ### "@metamask/base-controller": "^7.0.1", -> ^7.1.1 - [changelog](https://github.com/MetaMask/core/blob/main/packages/base-controller/CHANGELOG.md#711) - Changes - Bump @metamask/utils from ^10.0.0 to ^11.0.1 - Rename ControllerMessenger to Messenger (MetaMask/core#5050) - ControllerMessenger has been renamed to Messenger - RestrictedControllerMessengerConstraint has been renamed to RestrictedMessengerConstraint - RestrictedControllerMessenger has been renamed to RestrictedMessenger - The RestrictedMessenger constructor parameter controllerMessenger has been renamed to messenger, though the old name is still accepted - The old names remain exported as deprecated aliases of the new names, so this is not a breaking change. ### "@metamask/providers": "^18.1.0" -> ^18.3.1" - [changelog](https://github.com/MetaMask/providers/blob/main/CHANGELOG.md#1831) - Changes - Bump @metamask/json-rpc-engine from ^10.0.1 to ^10.0.2 (MetaMask/providers#397) - Bump @metamask/json-rpc-middleware-stream from ^8.0.5 to ^8.0.6 (MetaMask/providers#397) - Bump @metamask/rpc-errors from ^7.0.1 to ^7.0.2 (MetaMask/providers#397) - Bump @metamask/utils from ^10.0.0 to ^11.0.1 (MetaMask/providers#397) ## 🟢 Patch updates 🟢 ### "@metamask/json-rpc-engine": "^10.0.0" -> ^10.0.2", - [changelog](https://github.com/MetaMask/core/blob/main/packages/json-rpc-engine/CHANGELOG.md#1002) ### "@metamask/json-rpc-middleware-stream": "^8.0.2" -> 8.0.6" - [changelog](https://github.com/MetaMask/core/blob/main/packages/json-rpc-middleware-stream/CHANGELOG.md#806) - changed - Bump @metamask/json-rpc-engine from ^10.0.1 to ^10.0.2 (MetaMask/core#5082) - Bump @metamask/utils from ^10.0.0 to ^11.0.1 (MetaMask/core#5080) ### "@metamask/rpc-errors": "^7.0.1" -> ^7.0.2" - [changelog](https://github.com/MetaMask/rpc-errors/blob/main/CHANGELOG.md#702) - changes - Bump @metamask/utils from ^10.0.0 to ^11.0.1 (MetaMask/rpc-errors#166) ## **Related issues** Fixes: #12967 Fixes: #12966 Fixes: MetaMask/accounts-planning#758 Unblocks: #12599 ## **Manual testing steps** #### Basic import account flow with tokens https://github.com/user-attachments/assets/1a8d3e59-34e4-413e-a3e8-7dbdc5f7424a ## **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** Testing the new `scopes` added on the `KeyringAccount`. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29195?quickstart=1) ## **Related issues** Requires this PR to be merged first: - [x] #28861 Related to: - MetaMask/accounts#101 - MetaMask/core#5066 - MetaMask/snap-bitcoin-wallet#364 ## **Manual testing steps** - Use a previous stable version ```console git checkout Version-v12.10.0 # Or use a release build ``` - Run it: ```console yarn yarn start:flask ``` - Create a bunch of accounts (EVM, non-EVM (Solana/Bitcoin), hardware-wallet, Snap EVM accounts like the SSK) ![Screenshot 2025-01-16 at 17 11 55](https://github.com/user-attachments/assets/815303e6-2682-4c6b-9969-8f4a8c11e0d7) - Save your extension logs (Settings > Advanced) - Now disable your extension (chrome://extensions) - Stops your `yarn start:flask` - Now, update your extension by going back to this PR (or by using the latest RC if you're validating an RC version) ```console git checkout feat/keyring-account-scopes ``` - Re-run it: ```console yarn yarn start:flask ``` - Re-enable your extension (chrome://extensions) - Open up your console logs (looking at the `service worker`) - You should now see some migrations running like: ![Screenshot 2025-01-16 at 17 14 03](https://github.com/user-attachments/assets/35c08ba9-83f4-4827-aac5-97b9ee055732) - You should also see some other migrations from the Snap keyring this like so: ![Screenshot 2025-01-16 at 18 52 48](https://github.com/user-attachments/assets/5c74700c-18a4-4452-8a47-77d1434c96ad) - Save your extension logs again (Settings > Advanced, and use a different filename) - Now, compare your 2 `.json` files ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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: Howard Braham <[email protected]> Co-authored-by: MetaMask Bot <[email protected]>
commit 01c9fbd76ca73d1012f30376cc6cfff8b4769b03 Author: Bryan Fullam <[email protected]> Date: Wed Jan 22 19:37:11 2025 +0100 feat: solana swap and bridge navigation (#29705) <!-- 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** Enables swap and bridge buttons for non-evm networks and makes both of those buttons navigate to the bridge interface. Also fences the feature behind a code fence at the build level. <!-- 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? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29705?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Run repo with "yarn start:flask" command 2. Enable "Add a new Solana account (Beta)" toggle in experimental settings 3. Add a Solana account through the account dropdown 4. Go to home page while having Solana account selected 5. Click swap or bridge 6. See bridge interface ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit ed2fb49150e97c2db2582fe12fc1bc6f5cc1e3cc Author: Hassan Malik <[email protected]> Date: Wed Jan 22 12:04:22 2025 -0500 fix: centering on Snap radio buttons (#29850) ## **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? Radio buttons were not aligned with their labels in the snap component. 2. What is the improvement/solution? Strip radio button of margin. ## **Related issues** Fixes: #29725 ## **Manual testing steps** 1. Build this branch 2. Go to https://metamask.github.io/snaps/test-snaps/2.18.0/ 3. Trigger the custom ui interactive snap dialog 4. Observe the changes below. ## **Screenshots/Recordings** ### **Before** [See issue](https://github.com/MetaMask/metamask-extension/issues/29725) ### **After** <img width="380" alt="Screenshot 2025-01-22 at 9 47 19 AM" src="https://github.com/user-attachments/assets/411479ea-b027-4581-9df1-64edf4e75a9c" /> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 82db3eea1108ae0417ab2b6cfd5c6405d491a8b1 Author: Pedro Figueiredo <[email protected]> Date: Wed Jan 22 16:59:21 2025 +0000 feat: Remove 'Improved signature requests' setting toggle (#29819) <!-- 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** Removes the settings toggle for redesigned signatures. Removes e2e tests used for old flows no longer supported. For `test/e2e/tests/metrics/signature-approved.spec.js`, the tests were migrated to the redesigned confirmation screen. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29819?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3029 ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 50246152bd4fc9d4a2dada96e9a89ee65a1d30e2 Author: Norbert Elter <[email protected]> Date: Wed Jan 22 17:01:26 2025 +0100 feat: build beta (#29712) <!-- 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? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29712?quickstart=1) This PR migrates the beta build from CircleCI to GitHub Actions. ## **Related issues** Fixes: https://github.com/MetaMask/metamask-extension/issues/28572, https://github.com/MetaMask/metamask-extension/issues/29446 ## **Manual testing steps** For commit messages matching the pattern: `Version v0.0.0-beta.0` on any branch other than `master,` the following should happen: 1. Build should run on GH Actions 2. Build should be uploaded on S3 3. Build should appear in the metamaskbot comment ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 615c469c2e562faa15f3a98849432a8095ce2153 Author: Micaela Estabillo <[email protected]> Date: Wed Jan 22 07:37:47 2025 -0800 fix: handle undefined token address in useBridging hook (#29832) <!-- 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? --> Changes - gracefully handle tokens for which there is no `address` field in useBridging - fallback to src token in swaps fetchParams when reopening extension and linking to the Bridge page [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29832?quickstart=1) ## **Related issues** Fixes: https://metamask.sentry.io/issues/6223741673/?environment=production&project=273505&query=is%3Aunresolved%20issue.priority%3A%5Bhigh%2C%20medium%5D%20firstRelease%3Alatest&referrer=issue-stream&sort=date&statsPeriod=7d&stream_index=12 ## **Manual testing steps** 1. Request a swap quote 2. Close extension 3. Reopen extensionm, which should redirect to Swaps page 5. Click "Swap across networks with Bridge" link 6. Bridge page should load with native asset as src token ## **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/0251bf1b-4621-49fa-ab6a-e547f977df22 <!-- [screenshots/recordings] --> ### **After** https://github.com/user-attachments/assets/549de95c-d325-469a-944d-049455b9e25b <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [X] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 2da82c9e2570d944fd8bdc8b4af357f61f979f8a Author: Gustavo Antunes <[email protected]> Date: Wed Jan 22 09:29:41 2025 -0300 chore: upgrade `@metamask/user-operation-controller` (#29839) <!-- 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? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29839?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/metamask-extension/issues/29681 ## **Manual testing steps** E2E is enough to test the changes. ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> No UI/UX changes ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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: MetaMask Bot <[email protected]> commit feb89fad247b1cb45a05c498ed7f0691590ed8d3 Author: Hassan Malik <[email protected]> Date: Wed Jan 22 04:35:45 2025 -0500 fix: overflow of title/description in Snap `Card` component (#29838) ## **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? Text overflow was not properly working for the title & description section of the `Card` snap component. 2. What is the improvement/solution? Add a constraint to the parent container. ## **Related issues** Fixes: https://github.com/MetaMask/snaps/issues/2815 ## **Manual testing steps** 1. Build the extension 2. Trigger a snap dialog with the example code in the issue 3. Observe the below changes. ## **Screenshots/Recordings** ### **Before** [See issue link](https://github.com/MetaMask/snaps/issues/2815) ### **After** <img width="380" alt="Screenshot 2025-01-21 at 6 49 00 PM" src="https://github.com/user-attachments/assets/e3486c52-803d-4936-87b1-9117a788c854" /> <img width="380" alt="Screenshot 2025-01-21 at 6 48 00 PM" src="https://github.com/user-attachments/assets/2371cd8c-be2d-49e2-9214-66302eff1c13" /> ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 27c1231e11604603b3747388958dd7152953d3b3 Author: Priya <[email protected]> Date: Wed Jan 22 10:35:25 2025 +0100 chore: update test dapp version to 9.0.0 (#29827) <!-- 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? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29827?quickstart=1) ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit d097924275d44d4d10fa1689e193fd9ef02479a6 Author: infiniteflower <[email protected]> Date: Wed Jan 22 06:53:47 2025 +0900 fix: not routing to home page after bridge tx submitted (#29809) <!-- 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? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29809?quickstart=1) This PR fixes an issue where you would not be routed back to the Home Activity tab after submitting a bridge transaction. ## **Related issues** Fixes: https://github.com/MetaMask/metamask-extension/issues/29793 ## **Manual testing steps** 1. Go to Bridge 2. Submit a bridge tx 3. Observe that you are sent to the Activity screen right after ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit f856a3b423a4316f14d2e5d7cd0297f76566f70a Author: Charly Chevalier <[email protected]> Date: Tue Jan 21 18:18:52 2025 +0100 feat: add `scopes` field to `KeyringAccount` (#29195) ## **Description** Testing the new `scopes` added on the `KeyringAccount`. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29195?quickstart=1) ## **Related issues** Requires this PR to be merged first: - [x] https://github.com/MetaMask/metamask-extension/pull/28861 Related to: - https://github.com/MetaMask/accounts/pull/101 - https://github.com/MetaMask/core/pull/5066 - https://github.com/MetaMask/snap-bitcoin-wallet/pull/364 ## **Manual testing steps** - Use a previous stable version ```console git checkout Version-v12.10.0 # Or use a release build ``` - Run it: ```console yarn yarn start:flask ``` - Create a bunch of accounts (EVM, non-EVM (Solana/Bitcoin), hardware-wallet, Snap EVM accounts like the SSK) ![Screenshot 2025-01-16 at 17 11 55](https://github.com/user-attachments/assets/815303e6-2682-4c6b-9969-8f4a8c11e0d7) - Save your extension logs (Settings > Advanced) - Now disable your extension (chrome://extensions) - Stops your `yarn start:flask` - Now, update your extension by going back to this PR (or by using the latest RC if you're validating an RC version) ```console git checkout feat/keyring-account-scopes ``` - Re-run it: ```console yarn yarn start:flask ``` - Re-enable your extension (chrome://extensions) - Open up your console logs (looking at the `service worker`) - You should now see some migrations running like: ![Screenshot 2025-01-16 at 17 14 03](https://github.com/user-attachments/assets/35c08ba9-83f4-4827-aac5-97b9ee055732) - You should also see some other migrations from the Snap keyring this like so: ![Screenshot 2025-01-16 at 18 52 48](https://github.com/user-attachments/assets/5c74700c-18a4-4452-8a47-77d1434c96ad) - Save your extension logs again (Settings > Advanced, and use a different filename) - Now, compare your 2 `.json` files ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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: Howard Braham <[email protected]> Co-authored-by: MetaMask Bot <[email protected]> commit fcb30d7034f9fed385d874897a445330b5b47473 Author: Elliot Winkler <[email protected]> Date: Tue Jan 21 08:50:04 2025 -0700 fix: Remove old properties from state (#29792) <!-- 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? --> There are several kinds of errors in Sentry which indicate that there are properties in controller state we are attempting to persist that do not have corresponding metadata. This indicates that these properties were removed at some point from the controller's state but no migration was added that removed them from the persisted wallet state. In many cases, at the time of removal, such a migration was not needed because the controller in question inherited from BaseController v1. We have made a targeted effort over the past few years to migrate all controllers to BaseController v2, however, and so it matters now that every property have corresponding metadata or else are removed from state. We don't want these errors to show up in Sentry because they create noise, so this commit removes these properties from state. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29792?quickstart=1) ## **Related issues** Fixes #28289. Fixes #28290. Fixes #28300. Fixes #28302. Fixes #28344. Fixes #28608. Fixes #29746. ## **Manual testing steps** These changes should not affect users in any way since the errors we are trying to avoid occur out of band and should not crash anything. ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 212b5c946a4a27d8a21c856f2b3e958a88f7ac7b Author: João Tavares <[email protected]> Date: Tue Jan 21 15:35:01 2025 +0000 test: address integration tests warnings (#29007) <!-- 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** General improvements/fixes for integration tests. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29007?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/metamask-extension/issues/29002 ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 64e2c3fb041ae9457da1a0ab333613f95bd22eaf Author: Priya <[email protected]> Date: Tue Jan 21 12:02:10 2025 +0100 fix: Remove scroll to bottom requirement for signatures (#29817) Reverts MetaMask/metamask-extension#29808 Removes scroll to bottom requirement on signatures Improves the clickElementSafe function commit bb9250d5b5f3a366e279b53cc45ddb100696ddeb Author: weizman <[email protected]> Date: Tue Jan 21 09:18:24 2025 +0200 feat(lavamoat/lavadome): update integration to improve security (#25653) Address concerns under [Safe Usage](https://github.com/LavaMoat/LavaDome/blob/main/README.md#safe-usage): * [#csp](https://github.com/LavaMoat/LavaDome/blob/main/README.md#csp) - do not allow font to be fetched from just about anywhere * [#execution-order](https://github.com/LavaMoat/LavaDome/blob/main/README.md#execution-order) - make sure LavaDome is imported right away This should go with #27756 commit ecc29079d7e32882b06b805d35849447afc181d7 Author: Prithpal Sooriya <[email protected]> Date: Mon Jan 20 20:24:07 2025 +0000 build: update the patches applied in the package.json (#29807) <!-- 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** I think there was a small syntax error when adding multiple patches <!-- 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? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29807?quickstart=1) ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit c99eae23cf40507e5a6e1996b4af190efc205aef Author: Pedro Figueiredo <[email protected]> Date: Mon Jan 20 21:27:31 2025 +0100 fix: Revert "fix: Remove scroll to bottom requirement for signatures" (#29808) Reverts MetaMask/metamask-extension#29784 to address CI failures on `main` caused by that PR commit 210c794a372e29bc953a5c28f824422fe4db6743 Author: Maarten Zuidhoorn <[email protected]> Date: Mon Jan 20 18:08:24 2025 +0100 chore: Bump `@metamask/snaps-rpc-methods` from `^11.9.0` to `^11.9.1` (#29805) ## **Description** This bumps `@metamask/snaps-rpc-methods` from `^11.9.0` to `^11.9.1`, which fixes some bugs and improves error messages related to state management. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29805?quickstart=1) ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 5e95217ded0c7ab19b0aa6a676b6acb2f924f942 Author: Jony Bursztyn <[email protected]> Date: Mon Jan 20 15:00:56 2025 +0000 feat: add Portfolio button to BTC accounts (#28184) <!-- 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** Readds the "Portfolio" button for non-EVM accounts [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/28184?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/metamask-extension/pull/26148 https://github.com/MetaMask/metamask-extension/issues/28185 ## **Manual testing steps** 1. Go to the Wallet page 2. Switch to a BTC account 3. The Portfolio button should be there ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="142" alt="before" src="https://github.com/user-attachments/assets/2ff13df2-7db1-44e3-a36c-b9a85248b3c1" /> ### **After** <img width="142" alt="Screenshot 2025-01-17 at 14 50 46" src="https://github.com/user-attachments/assets/6c65ad87-1822-4fb1-a07b-31dde9066f52" /> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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-extension/blob/develop/.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. commit d5cd7fd3ad3421952a1222d5115756fac134b95b Author: jiexi <[email protected]> Date: Mon Jan 20 06:26:10 2025 -0800 feat: Migrate eth_accounts and permittedChains to CAIP-25 endowment (#27847) <!-- 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 replaces the replaces the internal `eth_accounts` and `endowment:permittedChains` permission structure with a [CAIP-25](https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-25.md) endowment. It adds adapter logic to translate to and from the new internal CAIP-25 permissions. This change should be transparent to wallet users and to dapps except for ~one~ two cases, see below. This change is required in order to support CAIP-25 and CAIP-27 requests in a follow-up PR that enables the Multichain API. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27847?quickstart=1) ## **Related issues** Related: https://github.com/MetaMask/core/pull/4784 ## **Manual testing steps** There should be no user or dapp facing difference in behavior except: * When calling `wallet_revokePermissions` and specifying either `eth_accounts` or `endowment:permitted-chains`, the entire CAIP-25 permission will be revoked. It will appear to the dapp as if both `eth_accounts` and `endowment:permitted-chains` were revoked. * When calling `wallet_getPermissions` for a permitted dapp when the wallet is **locked**, `eth_accounts` should be returned in addition to `endowment:permitted-chains`. Currently there is a regression on `main` where only `endowment:permitted-chains` gets returned when the wallet is locked. ``` await window.ethereum.request({ "method": "wallet_revokePermissions", "params": [ { eth_accounts: {} } ], }); await window.ethereum.request({ "method": "wallet_revokePermissions", "params": [ { 'endowment:permitted-chains': {} } ], }); await window.ethereum.request({ "method": "wallet_getPermissions", "params": [], }); ``` ### Locked Wallet Behavior with dapp connected Other than the two noted items below, this behavior matches that in `main` - `eth_accounts` returns [] - `wallet_getPermissions` returns permissions incl eth_accounts - `wallet_revokePermissions` works as usual and revokes eth_accounts and revoke permitted-chains together - * Note this fixes a regression in `main` where eth_accounts and permitted-chains aren't revoked as a pair if either is revoked - `eth_requestAccounts` prompts for unlock, after unlock returns accounts if any are permitted, otherwise shows connection prompt - `wallet_requestPermissions` prompts for unlock - signature methods fails with method or accounts not authorized - non-signature methods work as usual - `accountsChanged` empty array on lock. no event after revokePermissions which makes sense since the dapp was told empty array on lock and now it's actually empty array so no changes have occurred as far as the dapp should be concerned. - **CHANGED**: for dapps that were granted chain permissions via the `wallet_addEthereum` or `wallet_switchEthereumChain` flows without account permissions, these permissions will be removed with this migration. We think this ok because: - This is a very uncommon scenario for dapps to request chain switches without account permissions. - These permissions can be regained very trivially with subsequent chain switch requests. ### Testing the migration * Create a dev build from `main` * Install the dev build from the `dist/chrome` directory and proceed through onboarding * Run this command in the background console: ``` chrome.storage.local.get( null, (state) => { state.data.PermissionController = {}; // Replace this line based on instructions below chrome.storage.local.set(state, () => chrome.runtime.reload()); } ); ``` * Disable the extension * Switch to `main` and create a dev build * Enable and reload the extension * You should see in the console that migration 139 has failed Repeat the above steps but with the line above replaced with the following for example: * `state.data.NetworkController = {}; ` * `state.data.NetworkController = 'foobar'; ` * `state.data.NetworkController.selectedNetworkClientId = null;` * `state.data.NetworkController.networkConfigurationsByChainId = 'foobar';` ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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-extension/blob/develop/.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: MetaMask Bot <[email protected]> Co-authored-by: Alex <[email protected]> Co-authored-by: Elliot Winkler <[email protected]> Co-authored-by: Mark Stacey <[email protected]> Co-authored-by: Erik Marks <[email protected]> Co-authored-by: Frederik Bolding <[email protected]> commit 5ae45abf4d88d5643cf21d11b7d89c4e4607ffd9 Author: chloeYue <[email protected]> Date: Mon Jan 20 14:53:03 2025 +0100 test: [POM] Migrate bitcoin send e2e tests to POM (#29515) ## **Description** - Migrate send transaction e2e tests with bitcoin account to POM - Create related Bitcoin transaction page class and methods. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27155?quickstart=1) ## **Related issues** ## **Manual testing steps** Check code readability, make sure tests 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** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.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-extension/blob/develop/.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. commit 2d335c6509e27ac32731dcef0a3c338cf3584ca2 Author: Priya <[email protected]> Date: Mon Jan 20 13:13:07 2025 +0100 fix: Remove scroll to bottom requirement for signatures (#29784) <!-- 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** Removes scroll to bottom requirement on signatures Improves the clickElementSafe function [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29784?quickstart=1) ## **Related issues** Fixes: [#29779](https://github.com/MetaMask/metamask-extension/issues/29779) ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 27d2706008652602d7d950e701460569a1390ed9 Author: sahar-fehri <[email protected]> Date: Mon Jan 20 12:06:50 2025 +0100 fix: patch mantle price fix (#29790) ## **Description** PR to patch Mantle price core [fix](https://github.com/MetaMask/core/pull/5099) current Mantle price: https://www.cryptocompare.com/coins/mantle/overview/USDC [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29790?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Add Mantle network from chainList (chainId 5000) 2. Go to MM and you should see correct fiat balance ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> <img width="1800" alt="Screenshot 2025-01-17 at 21 18 51" src="https://github.com/user-attachments/assets/1100b7a1-d143-46fd-98b4-4a064f700aa2" /> ### **After** <!-- [screenshots/recordings] --> <img width="1797" alt="Screenshot 2025-01-17 at 21 17 08" src="https://github.com/user-attachments/assets/e166c121-b484-4da4-935e-cb43ad1b7fa5" /> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 5887e05bdd1db65710d58dcac4512858b042ba06 Author: OGPoyraz <[email protected]> Date: Mon Jan 20 12:01:12 2025 +0100 feat: Use `gasLimitNoBuffer` on network fee estimation (#29502) <!-- 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? --> While estimating gas for the transaction we add `50%` gas limit buffer. With this PR we want to show network fee without gas limit buffer using `gasLimitNoBuffer` property on `transactionMeta`. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29502?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3773 ## **Manual testing steps** N/A ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> In the recording you will see that `gasLimitNoBuffer` used over `txParams.gas`. Please see that `txParams.gas` is greater than `gasLimitNoBuffer`. This calculation leads lower value in the UI. https://github.com/user-attachments/assets/b5726828-7c13-4eb4-83fa-eea21562e6a9 ### **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 2751a0d0b6f723718296b1b3ea5f6aef2dc38955 Author: Micaela Estabillo <[email protected]> Date: Fri Jan 17 11:28:25 2025 -0800 chore: retain src input amount after switching tokens (#29709) <!-- 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? --> [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29709?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMS-1798 ## **Manual testing steps** 1. Load bridge page 2. Select amount, src token and dest token 3. Click token switch button to swap src and dest selections 4. Verify that src amount is preserved ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** Amount is cleared ### **After** Amount is preserved <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [X] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 582ec932f3c4b4a7002f439095c98a7e76b8ab20 Author: Mark Stacey <[email protected]> Date: Fri Jan 17 13:02:15 2025 -0330 test: Fix invalid fixture builder (#29783) ## **Description** Two of the permission fixture builders were adding permissions for accounts that do not exist. They have been updated to only grant permissions for the selected account, which is the only account guaranteed to exist in the default fixture. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29783?quickstart=1) ## **Related issues** This was extracted from https://github.com/MetaMask/metamask-extension/pull/27847 ## **Manual testing steps** See that E2E tests still pass ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 3b856331b6e26b8d879206850be2e327220de38e Author: Brian Bergeron <[email protected]> Date: Fri Jan 17 07:56:53 2025 -0800 fix: stop polling on environment close (#29707) ## **Description** When the asset controllers start polling, they add their polling tokens to app state, keyed by the particular environment (popup vs fullscreen). But these polling tokens in app state were not being used during cleanup. This PR updates `onEnvironmentTypeClosed` to stop polling by those tokens. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29707?quickstart=1) ## **Related issues** ## **Manual testing steps** 1. Open MM in fullscreen 2. Open MM popup 3. Close the popup 4. `onEnvironmentTypeClosed` should fire for the popup environment 5. Each polling token should be found and removed by one of the controllers ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 8038f4de18ada13fbd3f29f78a315a981839dad7 Author: Daniel <[email protected]> Date: Fri Jan 17 16:43:20 2025 +0100 feat: Enable BSC for smart transactions (#29747) ## **Description** Enables BSC for smart transactions and reduces status check time to 1s. We can turn off BSC support for smart transactions remotely if needed. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29747?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Make sure smart transactions are enabled in Advanced Settings 2. Be on the BNB Chain 3. Submit a tx. It will be submitted as a smart transaction Happy paths tested for Swaps, Send and dapp transactions, but this will require extensive testing before it goes to production. ## **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 Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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. commit 8f82ac4f13cb1a67463bec35ca3c977cce4e8a3d Author: Michele Esposito <[email protected]> Date: Fri Jan 17 13:34:02 2025 +0100 refactor: use `withKeyring` method (#25435) (#27025) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR cherry-picks def6b15 into `develop`, after being reverted at 821c3bd. The reason the original commit was re…
## **Description** Testing the new `scopes` added on the `KeyringAccount`. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29195?quickstart=1) ## **Related issues** Requires this PR to be merged first: - [x] #28861 Related to: - MetaMask/accounts#101 - MetaMask/core#5066 - MetaMask/snap-bitcoin-wallet#364 ## **Manual testing steps** - Use a previous stable version ```console git checkout Version-v12.10.0 # Or use a release build ``` - Run it: ```console yarn yarn start:flask ``` - Create a bunch of accounts (EVM, non-EVM (Solana/Bitcoin), hardware-wallet, Snap EVM accounts like the SSK) ![Screenshot 2025-01-16 at 17 11 55](https://github.com/user-attachments/assets/815303e6-2682-4c6b-9969-8f4a8c11e0d7) - Save your extension logs (Settings > Advanced) - Now disable your extension (chrome://extensions) - Stops your `yarn start:flask` - Now, update your extension by going back to this PR (or by using the latest RC if you're validating an RC version) ```console git checkout feat/keyring-account-scopes ``` - Re-run it: ```console yarn yarn start:flask ``` - Re-enable your extension (chrome://extensions) - Open up your console logs (looking at the `service worker`) - You should now see some migrations running like: ![Screenshot 2025-01-16 at 17 14 03](https://github.com/user-attachments/assets/35c08ba9-83f4-4827-aac5-97b9ee055732) - You should also see some other migrations from the Snap keyring this like so: ![Screenshot 2025-01-16 at 18 52 48](https://github.com/user-attachments/assets/5c74700c-18a4-4452-8a47-77d1434c96ad) - Save your extension logs again (Settings > Advanced, and use a different filename) - Now, compare your 2 `.json` files ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/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-extension/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: Howard Braham <[email protected]> Co-authored-by: MetaMask Bot <[email protected]>
Explanation
Testing the new
scopes
field forKeyringAccount
References
scopes
field toKeyringAccount
accounts#101scopes
field toKeyringAccount
metamask-extension#29195Changelog
@metamask/accounts-controller
keyring-api
to^13.0.0
keyring-internal-api
to^1.1.0
scopes
field toInternalAccount
eip155
(CAIP-2 chain ID namespace for EVM) for newly created EOA accounts (both Snap and "normal" accounts).@metamask/assets-controllers
keyring-internal-api
to^1.1.0
@metamask/chain-controller
keyring-internal-api
to^1.1.0
@metamask/keyring-controller
keyring-api
to^13.0.0
keyring-internal-api
to^1.1.0
generateRandomMnemonic
keyring callsasync
implementation for this method, butawait
ing should cover both (synchronous and asynchronous) cases.@metamask/utils@^11.0.1
that changed thegenerateRandomMnemonic
function signature for theEthKeyring
interface (coming from@metamask/keyring-internal-api
.@metamask/profile-sync-controller
keyring-api
to^13.0.0
keyring-internal-api
to^1.1.0
Checklist