-
-
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
chore: update 'eth-{simple,hd,snap}-keyring' + 'keyring-api' #4713
Conversation
56326ab
to
067f2f0
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.
|
067f2f0
to
bff78ca
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.
|
1bea6e0
to
40bcceb
Compare
40bcceb
to
4968a25
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.
|
Preview builds have been tested against the extension on
Some snapshots had to be updated too, which seems to be related to: |
d09e6f9
to
2e2cf11
Compare
## **Description** Updating packages to use versions coming from the new [accounts monorepo](https://github.com/MetaMask/accounts). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27284?quickstart=1) ## **Related issues** Related to: - MetaMask/accounts#39 - MetaMask/accounts#50 - MetaMask/accounts#54 - MetaMask/core#4713 - MetaMask/core#4734 - MetaMask/snap-simple-keyring#156 - MetaMask/snap-watch-only#52 - MetaMask/snap-bitcoin-wallet#255 - MetaMask/snap-account-abstraction-keyring#142 ## **Manual testing steps** Test parts of the extension that closely related to accounts management + HW wallets support. ## **Screenshots/Recordings** ### **Before** ### **After** ## **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.
## **Description** All accounts-related packages have been moved to our new [monorepo](https://github.com/MetaMask/accounts). A new patch version has been released for each of them. Those new versions have been used and released in all core controllers: MetaMask/core#4734 This repository contains the following packages [1](https://github.com/MetaMask/accounts#user-content-fn-fn1-2bb23fc02fdc197b87e0d6543909d37e): - [@metamask/eth-hd-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-hd): ✅ we are already using the latest version 9.0.0 - [@metamask/eth-ledger-bridge-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-ledger-bridge): We are using [version 6.0.0](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-ledger-bridge/CHANGELOG.md#600) which is already pointing to the mono repo. - [@metamask/eth-simple-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-simple): ✅ Not used on mobile. [@metamask/eth-snap-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-snap):⚠️ Needs updating. Changes described below. - [@metamask/eth-trezor-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-trezor): ✅ Not used on mobile. [@metamask/keyring-api](https://github.com/MetaMask/accounts/blob/main/packages/keyring-api):⚠️ Needs updating. Changes described below. ### Summary of the updates #### @metamask/accounts-controller 19.0.0 -> 20.0.1 - Breaking Changes: - Changed - BREAKING: Bump peer dependency @metamask/keyring-controller from ^18.0.0 to ^19.0.0 (MetaMask/core#4956). - BREAKING: Bump @metamask/keyring-api from ^8.1.3 to ^10.1.0 (MetaMask/core#4948) - If you are depending on @metamask/providers directly, you will need to upgrade to 18.1.0. - [changelog](https://github.com/MetaMask/core/blob/main/packages/accounts-controller/CHANGELOG.md#2001) #### @metamask/keyring-controller 18.0.0 -> 19.0.1 Updated to support the latest version of the accounts controller. - Breaking changes: - BREAKING: Bump @metamask/keyring-api from ^8.1.3 to ^10.1.0 (MetaMask/core#4948) If you are depending on @metamask/providers directly, you will need to upgrade to 18.1.0. #### @metamask/providers 16.1.0-> 18.1.0 This was changed largely to support the newest version of the accounts controller and keyring controller. - Breaking Changes: - Fixed - BREAKING: Change webextension-polyfill from dependency to peerDependency (MetaMask/providers#319) - Users are now expected to have the polyfill in their environment - BREAKING: Bump @metamask/json-rpc-engine from ^9.0.1 to ^10.0.0 (MetaMask/providers#378) - BREAKING: Bump @metamask/rpc-errors from ^6.4.0 to ^7.0.0 (MetaMask/providers#373) - [Changelog](https://github.com/MetaMask/providers/blob/main/CHANGELOG.md#1810) #### @metamask/keyring-api 8.1.0 -> 10.1.0 [Version 8.1.1](https://github.com/MetaMask/accounts/blob/main/packages/keyring-api/CHANGELOG.md#811) onward is using the new mono repo. I updated to version 10.1.0 to support the breaking changes in the accounts controller bump from v19.0.0 to v20.0.1 - Breaking Changes: - BREAKING: Rename btc_sendmany method to sendBitcoin (MetaMask/accounts#73) - BREAKING: Bump peer dependency @metamask/providers from ^17.2.0 to ^18.1.0 (MetaMask/accounts#76) #### @metamask/eth-snap-keyring 4.3.3 -> 5.0.1 - [Version 4.3.4](https://github.com/MetaMask/accounts/blob/main/packages/keyring-snap-bridge/CHANGELOG.md#434) an onward is using the new accounts mono repo. - Breaking Changes: - 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). - [changelog](https://github.com/MetaMask/accounts/blob/main/packages/keyring-snap-bridge/CHANGELOG.md#440) #### @metamask/eth-sig-util 7.0.2 -> 8.0.0 Updated to support version 5 of the eth-snap-keyring. These breaking changes do not effect the application. - Breaking changes: - BREAKING: Values of type number are not accepted as address parameter anymore. Valid values are string and Uint8Array. (MetaMask/eth-sig-util#391) BREAKING: Drop support for Node.js versions 16, 21. (MetaMask/eth-sig-util#390) #### Added webextension-polyfill [webextension-polyfill](https://github.com/mozilla/webextension-polyfill) is required as a peer dependancy in newest updated of the `@metamask/providers` package. The changelog states that `"Users are now expected to have the polyfill in their environment"`. [Extension is using version 0.8.0](https://github.com/MetaMask/metamask-extension/blob/95301f48f819080a7c5124601815cbee7dfdddce/package.json#L677) of this package. ## **Related issues** Fixes: MetaMask/accounts-planning#614 Related issues Related to: MetaMask/accounts#39 MetaMask/accounts#50 MetaMask/accounts#54 MetaMask/core#4713 MetaMask/core#4734 ## **Manual testing steps** 1. Importing an account should work as expected 2. Snap accounts should work as expected 3. Hardware wallets should work as expected ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** Importing an account ✅ : https://github.com/user-attachments/assets/77625167-8b05-4cd8-89fe-6903b8f414a1 Snap accounts ✅ : https://github.com/user-attachments/assets/4ae1d7f7-f91a-4294-b0e6-6efeac3cea8a Importing private key ✅ : https://github.com/user-attachments/assets/891ba01e-b516-47f9-9fb7-e07d0e31ee24 ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] 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.
All accounts-related packages have been moved to our new [monorepo](https://github.com/MetaMask/accounts). A new patch version has been released for each of them. Those new versions have been used and released in all core controllers: MetaMask/core#4734 This repository contains the following packages [1](https://github.com/MetaMask/accounts#user-content-fn-fn1-2bb23fc02fdc197b87e0d6543909d37e): - [@metamask/eth-hd-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-hd): ✅ we are already using the latest version 9.0.0 - [@metamask/eth-ledger-bridge-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-ledger-bridge): We are using [version 6.0.0](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-ledger-bridge/CHANGELOG.md#600) which is already pointing to the mono repo. - [@metamask/eth-simple-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-simple): ✅ Not used on mobile. [@metamask/eth-snap-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-snap):⚠️ Needs updating. Changes described below. - [@metamask/eth-trezor-keyring](https://github.com/MetaMask/accounts/blob/main/packages/keyring-eth-trezor): ✅ Not used on mobile. [@metamask/keyring-api](https://github.com/MetaMask/accounts/blob/main/packages/keyring-api):⚠️ Needs updating. Changes described below. - Breaking Changes: - Changed - BREAKING: Bump peer dependency @metamask/keyring-controller from ^18.0.0 to ^19.0.0 (MetaMask/core#4956). - BREAKING: Bump @metamask/keyring-api from ^8.1.3 to ^10.1.0 (MetaMask/core#4948) - If you are depending on @metamask/providers directly, you will need to upgrade to 18.1.0. - [changelog](https://github.com/MetaMask/core/blob/main/packages/accounts-controller/CHANGELOG.md#2001) Updated to support the latest version of the accounts controller. - Breaking changes: - BREAKING: Bump @metamask/keyring-api from ^8.1.3 to ^10.1.0 (MetaMask/core#4948) If you are depending on @metamask/providers directly, you will need to upgrade to 18.1.0. This was changed largely to support the newest version of the accounts controller and keyring controller. - Breaking Changes: - Fixed - BREAKING: Change webextension-polyfill from dependency to peerDependency (MetaMask/providers#319) - Users are now expected to have the polyfill in their environment - BREAKING: Bump @metamask/json-rpc-engine from ^9.0.1 to ^10.0.0 (MetaMask/providers#378) - BREAKING: Bump @metamask/rpc-errors from ^6.4.0 to ^7.0.0 (MetaMask/providers#373) - [Changelog](https://github.com/MetaMask/providers/blob/main/CHANGELOG.md#1810) [Version 8.1.1](https://github.com/MetaMask/accounts/blob/main/packages/keyring-api/CHANGELOG.md#811) onward is using the new mono repo. I updated to version 10.1.0 to support the breaking changes in the accounts controller bump from v19.0.0 to v20.0.1 - Breaking Changes: - BREAKING: Rename btc_sendmany method to sendBitcoin (MetaMask/accounts#73) - BREAKING: Bump peer dependency @metamask/providers from ^17.2.0 to ^18.1.0 (MetaMask/accounts#76) - [Version 4.3.4](https://github.com/MetaMask/accounts/blob/main/packages/keyring-snap-bridge/CHANGELOG.md#434) an onward is using the new accounts mono repo. - Breaking Changes: - 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). - [changelog](https://github.com/MetaMask/accounts/blob/main/packages/keyring-snap-bridge/CHANGELOG.md#440) Updated to support version 5 of the eth-snap-keyring. These breaking changes do not effect the application. - Breaking changes: - BREAKING: Values of type number are not accepted as address parameter anymore. Valid values are string and Uint8Array. (MetaMask/eth-sig-util#391) BREAKING: Drop support for Node.js versions 16, 21. (MetaMask/eth-sig-util#390) [webextension-polyfill](https://github.com/mozilla/webextension-polyfill) is required as a peer dependancy in newest updated of the `@metamask/providers` package. The changelog states that `"Users are now expected to have the polyfill in their environment"`. [Extension is using version 0.8.0](https://github.com/MetaMask/metamask-extension/blob/95301f48f819080a7c5124601815cbee7dfdddce/package.json#L677) of this package. Fixes: MetaMask/accounts-planning#614 Related issues Related to: MetaMask/accounts#39 MetaMask/accounts#50 MetaMask/accounts#54 MetaMask/core#4713 MetaMask/core#4734 1. Importing an account should work as expected 2. Snap accounts should work as expected 3. Hardware wallets should work as expected <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> <!-- [screenshots/recordings] --> Importing an account ✅ : https://github.com/user-attachments/assets/77625167-8b05-4cd8-89fe-6903b8f414a1 Snap accounts ✅ : https://github.com/user-attachments/assets/4ae1d7f7-f91a-4294-b0e6-6efeac3cea8a Importing private key ✅ : https://github.com/user-attachments/assets/891ba01e-b516-47f9-9fb7-e07d0e31ee24 - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
Explanation
Those new versions have been created using the new
accounts
monorepo.We are updating them to make sure this new way of building those packages has no unintended side-effects.
References
Related to:
Changelog
@metamask/keyring-controller
@metamask/eth-hd-keyring
to ^7.0.3@metamask/eth-simple-keyring
to ^6.0.4@metamask/keyring-api
to ^8.1.2@metamask/accounts-controller
@metamask/eth-snap-keyring
to ^4.3.5@metamask/keyring-api
to ^8.1.2@metamask/assets-controller
@metamask/keyring-api
to ^8.1.2@metamask/chain-controller
@metamask/keyring-api
to ^8.1.2@metamask/transaction-controller
@metamask/keyring-api
to ^8.1.2@metamask/profile-sync-controller
@metamask/keyring-api
to ^8.1.2Checklist