-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: bump @metamask/{keyring, profile-sync}-controller
#30637
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
New and updated dependencies detected. Learn more about Socket for GitHub ↗︎
|
👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎ This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
Policies updated. 🧠 Learn how: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff |
4c87f28
to
c4a8c9d
Compare
@metamaskbot update-policies |
Policies updated. 🧠 Learn how: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff |
@metamask/keyring-controller
@metamask/{keyring, profile-sync}-controller
|
## Explanation <!-- Thanks for your contribution! Take a moment to answer these questions so that reviewers have the information they need to properly understand your changes: * What is the current state of things and why does it need to change? * What is the solution your changes offer and how does it work? * Are there any changes whose purpose might not obvious to those unfamiliar with the domain? * If your primary goal was to update one package but you found you had to update another one along the way, why did you do so? * If you had to upgrade a dependency, why did you do so? --> This PR bumps these packages across the core controllers: - `@metamask/eth-simple-keyring` - `@metamask/eth-hd-keyring` - `@metamask/keyring-internal-api` The package is being updated on Extension by this PR: MetaMask/metamask-extension#30637 ## References <!-- Are there any issues that this pull request is tied to? Are there other links that reviewers should consult to understand these changes better? Are there client or consumer pull requests to adopt any breaking changes? For example: * Fixes #12345 * Related to #67890 --> ## Changelog <!-- If you're making any consumer-facing changes, list those changes here as if you were updating a changelog, using the template below as a guide. (CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or FIXED. For security-related issues, follow the Security Advisory process.) Please take care to name the exact pieces of the API you've added or changed (e.g. types, interfaces, functions, or methods). If there are any breaking changes, make sure to offer a solution for consumers to follow once they upgrade to the changes. Finally, if you're only making changes to development scripts or tests, you may replace the template below with "None". --> ### `@metamask/keyring-controller` - **CHANGED**: Bump `@metamask/eth-simple-keyring` from `^8.1.0` to `^9.0.0` ([#5405](#5405)) - **CHANGED**: Bump `@metamask/eth-hd-keyring` from `^10.0.0` to `^11.0.0` ([#5405](#5405)) - **CHANGED**: Bump `@metamask/keyring-internal-api` from `^4.0.3` to `^5.0.0` ([#5405](#5405)) ### `@metamask/accounts-controller` - **CHANGED**: Bump `@metamask/keyring-internal-api` from `^4.0.3` to `^5.0.0` ([#5405](#5405)) ### `@metamask/profile-sync-controller` - **CHANGED**: Bump `@metamask/keyring-internal-api` from `^4.0.3` to `^5.0.0` ([#5405](#5405)) ### `@metamask/assets-controller` - **CHANGED**: Bump `@metamask/keyring-internal-api` from `^4.0.3` to `^5.0.0` ([#5405](#5405)) ### `@metamask/multichain-transaction-controller` - **CHANGED**: Bump `@metamask/keyring-internal-api` from `^4.0.3` to `^5.0.0` ([#5405](#5405)) ## 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
@metamaskbot update-policies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Thanks for doing that, was following closely this PR as you know 😛
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM (not manually tested).
Builds ready [3aad368]
Page Load Metrics (1543 ± 44 ms)
Bundle size diffs [🚀 Bundle size reduced!]
|
## Explanation This PR makes the necessary changes so that `UserStorageController` and `AuthenticationController` consumes the profile sync SDK. That means that there's no longer controller specific logic nor services related to authentication and user storage. Test coverages has also been increased to almost 100% for all things related to authentication and user storage, for controller & SDK. ## References Related to: https://consensyssoftware.atlassian.net/browse/IDENTITY-48 Extension test drive PR: MetaMask/metamask-extension#30681 Note that when bumping the version on the extension and mobile, some changes will be mandatory: - Updating the mock storage key for both identity and notifications E2E tests constants - Updating `sessionData` shapes everywhere - Add a migration to manage `sessionData` shape changes so that it is reset for users still using the previous shape - Bumping `KeyringController` to `^19.2.1` if not done already, and take care of the breaking changes this version adds on extension - This will most likely be fixed with MetaMask/metamask-extension#30637 ## Changelog <!-- If you're making any consumer-facing changes, list those changes here as if you were updating a changelog, using the template below as a guide. (CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or FIXED. For security-related issues, follow the Security Advisory process.) Please take care to name the exact pieces of the API you've added or changed (e.g. types, interfaces, functions, or methods). If there are any breaking changes, make sure to offer a solution for consumers to follow once they upgrade to the changes. Finally, if you're only making changes to development scripts or tests, you may replace the template below with "None". --> ### `@metamask/profile-sync-controller` - **CHANGED**: `UserStorageController` and `AuthenticationController` now use the SDK under the hood. - **CHANGED**(**BREAKING**): `AuthenticationController` state entry `sessionData` has changed shape to fully reflect the `LoginResponse` SDK type. - **CHANGED**(**BREAKING**): `UserStorageController` cannot use the `'AuthenticationController:performSignOut'` action anymore. ### `@metamask/notification-services-controller` - **CHANGED**: Change import for mock access token (only related to tests) ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [x] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
LGTM! |
Builds ready [ea84681]
Page Load Metrics (1718 ± 56 ms)
Bundle size diffs [🚀 Bundle size reduced!]
|
Description
These packages are being bumped to their latest version:
@metamask/keyring-controller
addNewKeyring
method now returnsPromise<KeyringMetadata>
instead ofPromise<unknown>
(#5372)KeyringMetadata.id
to access the created keyring instance viawithKeyring
.withKeyring
method now requires a callback argument of type({ keyring: SelectedKeyring; metadata: KeyringMetadata }) => Promise<CallbackResult>
(#5372)@metamask/keyring-internal-api
from^4.0.3
to^5.0.0
(#5405)@metamask/eth-hd-keyring
from^10.0.0
to^11.0.0
(#5405)@metamask/eth-simple-keyring
from^8.1.0
to^9.0.0
(#5405)@metamask/profile-sync-controller
@metamask/keyring-internal-api
from^4.0.3
to^5.0.0
(#5405)@metamask/eth-ledger-bridge-keyring
LedgerKeyring
now implements theKeyring
type (#194)EventEmitter
anymore.LedgerKeyring.accounts
class variable is now areadonly Hex[]
array.addAccounts
method signature has been changed:amount
number parameter is now required to specify the number of accounts to add.Hex
addresses.unlock
method now returnsPromise<Hex>
.getAccounts
method now returnsPromise<Hex[]>
.deserialize
method now requires aLedgerKeyringSerializedState
typed parameter.signTransaction
method now accepts anHex
typed value as theaddress
parameter.signMessage
method now accepts anHex
typed value as thewithAccount
parameter.signPersonalMessage
method now accepts anHex
typed value as thewithAccount
parameter.signTypedData
method now accepts anHex
typed value as thewithAccount
parameter.unlockAccountByAddress
method now accepts anHex
typed value as theaddress
parameter.Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist