core
core copied to clipboard
refactor!: drop uncached encryption support
Explanation
In preparation for #5940, this PR drops support for uncached encryption. Previously, KeyringController accepted a cacheEncryptionKey option that allowed the encryption key to be stored in memory and used during encryption/decryption directly as opposed to using a password. The cacheEncryptionKey option is being removed, and the encryption key is now always derived and cached when the password is provided.
This change allows to simplify #unlockKeyrings and #updateVault methods, and remove all the logic and tests related to cacheEncryptionKey. This also allows to remove this.#password, that has been replaced by this.#encryptionKey.
The this.#encryptionKey assignment logic has been moved to two new internal methods with these specific responsibilities:
#deriveEncryptionKey(string): Derives the encryption key from the password, to be used during password login and password change.#useEncryptionKey(string, string): Uses an existing encryption key to be used directly, to be used bysubmitEncryptionKeymainly.
With the upcoming changes in #5940, this allows to change the encryption key to use (i.e. by calling the aformentioned new internal methods) without having to deal with logic related to vault unlock/update, and code branches related to password-based encryption and key caching.
This PR can be tested on extension with the following: https://github.com/MetaMask/metamask-extension/pull/33613
References
- Fixes #6010
Changelog
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 communicated my changes to consumers by updating changelogs for packages I've changed, highlighting breaking changes as necessary
- [ ] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
@matthiasgeihs this PR doesn't allow encryption key injection, but rather removes this.#password and this.#cacheEncryptionKey from the controller and it splits some of the controller encryption logic (separating key derivation and encryption/decryption). This is not a replacement for your PR (which is implementing option 3), but rather a prerequisite for it to be more maintainlable and readable.
@metamaskbot publish-previews
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/account-tree-controller": "0.1.1-preview-cf465cec",
"@metamask-previews/accounts-controller": "30.0.0-preview-cf465cec",
"@metamask-previews/address-book-controller": "6.1.0-preview-cf465cec",
"@metamask-previews/announcement-controller": "7.0.3-preview-cf465cec",
"@metamask-previews/app-metadata-controller": "1.0.0-preview-cf465cec",
"@metamask-previews/approval-controller": "7.1.3-preview-cf465cec",
"@metamask-previews/assets-controllers": "68.1.0-preview-cf465cec",
"@metamask-previews/base-controller": "8.0.1-preview-cf465cec",
"@metamask-previews/bridge-controller": "32.1.1-preview-cf465cec",
"@metamask-previews/bridge-status-controller": "29.1.0-preview-cf465cec",
"@metamask-previews/build-utils": "3.0.3-preview-cf465cec",
"@metamask-previews/chain-agnostic-permission": "0.7.0-preview-cf465cec",
"@metamask-previews/composable-controller": "11.0.0-preview-cf465cec",
"@metamask-previews/controller-utils": "11.10.0-preview-cf465cec",
"@metamask-previews/delegation-controller": "0.4.0-preview-cf465cec",
"@metamask-previews/earn-controller": "1.1.0-preview-cf465cec",
"@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-cf465cec",
"@metamask-previews/ens-controller": "16.0.0-preview-cf465cec",
"@metamask-previews/error-reporting-service": "1.0.0-preview-cf465cec",
"@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-cf465cec",
"@metamask-previews/foundryup": "1.0.0-preview-cf465cec",
"@metamask-previews/gas-fee-controller": "23.0.0-preview-cf465cec",
"@metamask-previews/json-rpc-engine": "10.0.3-preview-cf465cec",
"@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-cf465cec",
"@metamask-previews/keyring-controller": "22.0.2-preview-cf465cec",
"@metamask-previews/logging-controller": "6.0.4-preview-cf465cec",
"@metamask-previews/message-manager": "12.0.1-preview-cf465cec",
"@metamask-previews/multichain": "4.1.0-preview-cf465cec",
"@metamask-previews/multichain-api-middleware": "0.4.0-preview-cf465cec",
"@metamask-previews/multichain-network-controller": "0.8.0-preview-cf465cec",
"@metamask-previews/multichain-transactions-controller": "2.0.0-preview-cf465cec",
"@metamask-previews/name-controller": "8.0.3-preview-cf465cec",
"@metamask-previews/network-controller": "23.6.0-preview-cf465cec",
"@metamask-previews/notification-services-controller": "10.0.0-preview-cf465cec",
"@metamask-previews/permission-controller": "11.0.6-preview-cf465cec",
"@metamask-previews/permission-log-controller": "3.0.3-preview-cf465cec",
"@metamask-previews/phishing-controller": "12.5.0-preview-cf465cec",
"@metamask-previews/polling-controller": "13.0.0-preview-cf465cec",
"@metamask-previews/preferences-controller": "18.1.0-preview-cf465cec",
"@metamask-previews/profile-sync-controller": "17.1.0-preview-cf465cec",
"@metamask-previews/queued-request-controller": "10.0.0-preview-cf465cec",
"@metamask-previews/rate-limit-controller": "6.0.3-preview-cf465cec",
"@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-cf465cec",
"@metamask-previews/sample-controllers": "0.1.0-preview-cf465cec",
"@metamask-previews/seedless-onboarding-controller": "1.0.0-preview-cf465cec",
"@metamask-previews/selected-network-controller": "22.1.0-preview-cf465cec",
"@metamask-previews/signature-controller": "30.0.0-preview-cf465cec",
"@metamask-previews/token-search-discovery-controller": "3.3.0-preview-cf465cec",
"@metamask-previews/transaction-controller": "57.3.0-preview-cf465cec",
"@metamask-previews/user-operation-controller": "36.0.0-preview-cf465cec"
}
@metamaskbot publish-previews
The main problem I see here is that it risks delaying the seedless onboarding feature. I think we should apply these optimizations after the changes needed for seedless onboarding.
Otherwise, I think these changes are worthwile looking into further.
(btw: a refactor is a code change that doesn't change functionality. so technically, this is not a refactor.)
@metamaskbot publish-previews
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/account-tree-controller": "0.1.1-preview-13f36eb8",
"@metamask-previews/accounts-controller": "30.0.0-preview-13f36eb8",
"@metamask-previews/address-book-controller": "6.1.0-preview-13f36eb8",
"@metamask-previews/announcement-controller": "7.0.3-preview-13f36eb8",
"@metamask-previews/app-metadata-controller": "1.0.0-preview-13f36eb8",
"@metamask-previews/approval-controller": "7.1.3-preview-13f36eb8",
"@metamask-previews/assets-controllers": "68.1.0-preview-13f36eb8",
"@metamask-previews/base-controller": "8.0.1-preview-13f36eb8",
"@metamask-previews/bridge-controller": "32.1.1-preview-13f36eb8",
"@metamask-previews/bridge-status-controller": "29.1.0-preview-13f36eb8",
"@metamask-previews/build-utils": "3.0.3-preview-13f36eb8",
"@metamask-previews/chain-agnostic-permission": "0.7.0-preview-13f36eb8",
"@metamask-previews/composable-controller": "11.0.0-preview-13f36eb8",
"@metamask-previews/controller-utils": "11.10.0-preview-13f36eb8",
"@metamask-previews/delegation-controller": "0.4.0-preview-13f36eb8",
"@metamask-previews/earn-controller": "1.1.0-preview-13f36eb8",
"@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-13f36eb8",
"@metamask-previews/ens-controller": "16.0.0-preview-13f36eb8",
"@metamask-previews/error-reporting-service": "1.0.0-preview-13f36eb8",
"@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-13f36eb8",
"@metamask-previews/foundryup": "1.0.0-preview-13f36eb8",
"@metamask-previews/gas-fee-controller": "23.0.0-preview-13f36eb8",
"@metamask-previews/json-rpc-engine": "10.0.3-preview-13f36eb8",
"@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-13f36eb8",
"@metamask-previews/keyring-controller": "22.0.2-preview-13f36eb8",
"@metamask-previews/logging-controller": "6.0.4-preview-13f36eb8",
"@metamask-previews/message-manager": "12.0.1-preview-13f36eb8",
"@metamask-previews/multichain": "4.1.0-preview-13f36eb8",
"@metamask-previews/multichain-api-middleware": "0.4.0-preview-13f36eb8",
"@metamask-previews/multichain-network-controller": "0.8.0-preview-13f36eb8",
"@metamask-previews/multichain-transactions-controller": "2.0.0-preview-13f36eb8",
"@metamask-previews/name-controller": "8.0.3-preview-13f36eb8",
"@metamask-previews/network-controller": "23.6.0-preview-13f36eb8",
"@metamask-previews/notification-services-controller": "10.0.0-preview-13f36eb8",
"@metamask-previews/permission-controller": "11.0.6-preview-13f36eb8",
"@metamask-previews/permission-log-controller": "3.0.3-preview-13f36eb8",
"@metamask-previews/phishing-controller": "12.5.0-preview-13f36eb8",
"@metamask-previews/polling-controller": "13.0.0-preview-13f36eb8",
"@metamask-previews/preferences-controller": "18.1.0-preview-13f36eb8",
"@metamask-previews/profile-sync-controller": "17.1.0-preview-13f36eb8",
"@metamask-previews/queued-request-controller": "10.0.0-preview-13f36eb8",
"@metamask-previews/rate-limit-controller": "6.0.3-preview-13f36eb8",
"@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-13f36eb8",
"@metamask-previews/sample-controllers": "0.1.0-preview-13f36eb8",
"@metamask-previews/seedless-onboarding-controller": "1.0.0-preview-13f36eb8",
"@metamask-previews/selected-network-controller": "22.1.0-preview-13f36eb8",
"@metamask-previews/signature-controller": "30.0.0-preview-13f36eb8",
"@metamask-previews/token-search-discovery-controller": "3.3.0-preview-13f36eb8",
"@metamask-previews/transaction-controller": "57.3.0-preview-13f36eb8",
"@metamask-previews/user-operation-controller": "36.0.0-preview-13f36eb8"
}
This can now be tested on extension using https://github.com/MetaMask/metamask-extension/pull/33613
@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.
{
"@metamask-previews/account-tree-controller": "0.5.0-preview-7b919d75",
"@metamask-previews/accounts-controller": "31.0.0-preview-7b919d75",
"@metamask-previews/address-book-controller": "6.1.1-preview-7b919d75",
"@metamask-previews/announcement-controller": "7.0.3-preview-7b919d75",
"@metamask-previews/app-metadata-controller": "1.0.0-preview-7b919d75",
"@metamask-previews/approval-controller": "7.1.3-preview-7b919d75",
"@metamask-previews/assets-controllers": "72.0.0-preview-7b919d75",
"@metamask-previews/base-controller": "8.0.1-preview-7b919d75",
"@metamask-previews/bridge-controller": "36.1.0-preview-7b919d75",
"@metamask-previews/bridge-status-controller": "36.0.0-preview-7b919d75",
"@metamask-previews/build-utils": "3.0.3-preview-7b919d75",
"@metamask-previews/chain-agnostic-permission": "1.0.0-preview-7b919d75",
"@metamask-previews/composable-controller": "11.0.0-preview-7b919d75",
"@metamask-previews/controller-utils": "11.11.0-preview-7b919d75",
"@metamask-previews/delegation-controller": "0.5.0-preview-7b919d75",
"@metamask-previews/earn-controller": "3.0.0-preview-7b919d75",
"@metamask-previews/eip1193-permission-middleware": "1.0.0-preview-7b919d75",
"@metamask-previews/ens-controller": "17.0.1-preview-7b919d75",
"@metamask-previews/error-reporting-service": "2.0.0-preview-7b919d75",
"@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-7b919d75",
"@metamask-previews/foundryup": "1.0.0-preview-7b919d75",
"@metamask-previews/gas-fee-controller": "24.0.0-preview-7b919d75",
"@metamask-previews/json-rpc-engine": "10.0.3-preview-7b919d75",
"@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-7b919d75",
"@metamask-previews/keyring-controller": "22.1.0-preview-7b919d75",
"@metamask-previews/logging-controller": "6.0.4-preview-7b919d75",
"@metamask-previews/message-manager": "12.0.2-preview-7b919d75",
"@metamask-previews/messenger": "0.0.0-preview-7b919d75",
"@metamask-previews/multichain-account-service": "0.0.0-preview-7b919d75",
"@metamask-previews/multichain-api-middleware": "1.0.0-preview-7b919d75",
"@metamask-previews/multichain-network-controller": "0.10.0-preview-7b919d75",
"@metamask-previews/multichain-transactions-controller": "3.0.0-preview-7b919d75",
"@metamask-previews/name-controller": "8.0.3-preview-7b919d75",
"@metamask-previews/network-controller": "24.0.1-preview-7b919d75",
"@metamask-previews/notification-services-controller": "14.0.0-preview-7b919d75",
"@metamask-previews/permission-controller": "11.0.6-preview-7b919d75",
"@metamask-previews/permission-log-controller": "4.0.0-preview-7b919d75",
"@metamask-previews/phishing-controller": "13.1.0-preview-7b919d75",
"@metamask-previews/polling-controller": "14.0.0-preview-7b919d75",
"@metamask-previews/preferences-controller": "18.4.1-preview-7b919d75",
"@metamask-previews/profile-sync-controller": "21.0.0-preview-7b919d75",
"@metamask-previews/rate-limit-controller": "6.0.3-preview-7b919d75",
"@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-7b919d75",
"@metamask-previews/sample-controllers": "1.0.0-preview-7b919d75",
"@metamask-previews/seedless-onboarding-controller": "2.4.0-preview-7b919d75",
"@metamask-previews/selected-network-controller": "23.0.0-preview-7b919d75",
"@metamask-previews/signature-controller": "31.0.1-preview-7b919d75",
"@metamask-previews/token-search-discovery-controller": "3.3.0-preview-7b919d75",
"@metamask-previews/transaction-controller": "58.1.1-preview-7b919d75",
"@metamask-previews/user-operation-controller": "37.0.0-preview-7b919d75"
}
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
| Diff | Package | Supply Chain Security |
Vulnerability | Quality | Maintenance | License |
|---|---|---|---|---|---|---|
| @metamask/browser-passworder@4.3.0 ⏵ 6.0.0 |
@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.
{
"@metamask-previews/account-tree-controller": "2.0.0-preview-b289ac1c",
"@metamask-previews/accounts-controller": "34.0.0-preview-b289ac1c",
"@metamask-previews/address-book-controller": "7.0.0-preview-b289ac1c",
"@metamask-previews/announcement-controller": "8.0.0-preview-b289ac1c",
"@metamask-previews/app-metadata-controller": "2.0.0-preview-b289ac1c",
"@metamask-previews/approval-controller": "8.0.0-preview-b289ac1c",
"@metamask-previews/assets-controllers": "87.1.0-preview-b289ac1c",
"@metamask-previews/base-controller": "9.0.0-preview-b289ac1c",
"@metamask-previews/bridge-controller": "59.0.0-preview-b289ac1c",
"@metamask-previews/bridge-status-controller": "59.0.0-preview-b289ac1c",
"@metamask-previews/build-utils": "3.0.4-preview-b289ac1c",
"@metamask-previews/chain-agnostic-permission": "1.2.2-preview-b289ac1c",
"@metamask-previews/composable-controller": "12.0.0-preview-b289ac1c",
"@metamask-previews/controller-utils": "11.15.0-preview-b289ac1c",
"@metamask-previews/core-backend": "4.0.0-preview-b289ac1c",
"@metamask-previews/delegation-controller": "1.0.0-preview-b289ac1c",
"@metamask-previews/earn-controller": "9.0.0-preview-b289ac1c",
"@metamask-previews/eip-5792-middleware": "2.0.0-preview-b289ac1c",
"@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-b289ac1c",
"@metamask-previews/eip1193-permission-middleware": "1.0.2-preview-b289ac1c",
"@metamask-previews/ens-controller": "18.0.0-preview-b289ac1c",
"@metamask-previews/error-reporting-service": "3.0.0-preview-b289ac1c",
"@metamask-previews/eth-block-tracker": "14.0.0-preview-b289ac1c",
"@metamask-previews/eth-json-rpc-middleware": "21.0.0-preview-b289ac1c",
"@metamask-previews/eth-json-rpc-provider": "5.0.1-preview-b289ac1c",
"@metamask-previews/foundryup": "1.0.1-preview-b289ac1c",
"@metamask-previews/gas-fee-controller": "25.0.0-preview-b289ac1c",
"@metamask-previews/gator-permissions-controller": "0.4.0-preview-b289ac1c",
"@metamask-previews/json-rpc-engine": "10.1.1-preview-b289ac1c",
"@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-b289ac1c",
"@metamask-previews/keyring-controller": "24.0.0-preview-b289ac1c",
"@metamask-previews/logging-controller": "7.0.0-preview-b289ac1c",
"@metamask-previews/message-manager": "14.0.0-preview-b289ac1c",
"@metamask-previews/messenger": "0.3.0-preview-b289ac1c",
"@metamask-previews/multichain-account-service": "2.1.0-preview-b289ac1c",
"@metamask-previews/multichain-api-middleware": "1.2.4-preview-b289ac1c",
"@metamask-previews/multichain-network-controller": "2.0.0-preview-b289ac1c",
"@metamask-previews/multichain-transactions-controller": "6.0.0-preview-b289ac1c",
"@metamask-previews/name-controller": "9.0.0-preview-b289ac1c",
"@metamask-previews/network-controller": "25.0.0-preview-b289ac1c",
"@metamask-previews/network-enablement-controller": "3.1.0-preview-b289ac1c",
"@metamask-previews/notification-services-controller": "19.0.0-preview-b289ac1c",
"@metamask-previews/permission-controller": "12.1.0-preview-b289ac1c",
"@metamask-previews/permission-log-controller": "5.0.0-preview-b289ac1c",
"@metamask-previews/phishing-controller": "15.0.0-preview-b289ac1c",
"@metamask-previews/polling-controller": "15.0.0-preview-b289ac1c",
"@metamask-previews/preferences-controller": "21.0.0-preview-b289ac1c",
"@metamask-previews/profile-sync-controller": "26.0.0-preview-b289ac1c",
"@metamask-previews/rate-limit-controller": "7.0.0-preview-b289ac1c",
"@metamask-previews/remote-feature-flag-controller": "2.0.0-preview-b289ac1c",
"@metamask-previews/sample-controllers": "3.0.0-preview-b289ac1c",
"@metamask-previews/seedless-onboarding-controller": "6.1.0-preview-b289ac1c",
"@metamask-previews/selected-network-controller": "25.0.0-preview-b289ac1c",
"@metamask-previews/shield-controller": "2.0.0-preview-b289ac1c",
"@metamask-previews/signature-controller": "36.0.0-preview-b289ac1c",
"@metamask-previews/subscription-controller": "3.2.0-preview-b289ac1c",
"@metamask-previews/token-search-discovery-controller": "4.0.0-preview-b289ac1c",
"@metamask-previews/transaction-controller": "61.1.0-preview-b289ac1c",
"@metamask-previews/transaction-pay-controller": "3.0.0-preview-b289ac1c",
"@metamask-previews/user-operation-controller": "40.0.0-preview-b289ac1c"
}
@metamaskbot publish-preview
@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.
{
"@metamask-previews/account-tree-controller": "2.0.0-preview-70abd50a",
"@metamask-previews/accounts-controller": "34.0.0-preview-70abd50a",
"@metamask-previews/address-book-controller": "7.0.0-preview-70abd50a",
"@metamask-previews/analytics-controller": "0.0.0-preview-70abd50a",
"@metamask-previews/announcement-controller": "8.0.0-preview-70abd50a",
"@metamask-previews/app-metadata-controller": "2.0.0-preview-70abd50a",
"@metamask-previews/approval-controller": "8.0.0-preview-70abd50a",
"@metamask-previews/assets-controllers": "87.1.0-preview-70abd50a",
"@metamask-previews/base-controller": "9.0.0-preview-70abd50a",
"@metamask-previews/bridge-controller": "59.0.0-preview-70abd50a",
"@metamask-previews/bridge-status-controller": "59.0.0-preview-70abd50a",
"@metamask-previews/build-utils": "3.0.4-preview-70abd50a",
"@metamask-previews/chain-agnostic-permission": "1.2.2-preview-70abd50a",
"@metamask-previews/composable-controller": "12.0.0-preview-70abd50a",
"@metamask-previews/controller-utils": "11.15.0-preview-70abd50a",
"@metamask-previews/core-backend": "4.0.0-preview-70abd50a",
"@metamask-previews/delegation-controller": "1.0.0-preview-70abd50a",
"@metamask-previews/earn-controller": "9.0.0-preview-70abd50a",
"@metamask-previews/eip-5792-middleware": "2.0.0-preview-70abd50a",
"@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-70abd50a",
"@metamask-previews/eip1193-permission-middleware": "1.0.2-preview-70abd50a",
"@metamask-previews/ens-controller": "18.0.0-preview-70abd50a",
"@metamask-previews/error-reporting-service": "3.0.0-preview-70abd50a",
"@metamask-previews/eth-block-tracker": "14.0.0-preview-70abd50a",
"@metamask-previews/eth-json-rpc-middleware": "21.0.0-preview-70abd50a",
"@metamask-previews/eth-json-rpc-provider": "5.0.1-preview-70abd50a",
"@metamask-previews/foundryup": "1.0.1-preview-70abd50a",
"@metamask-previews/gas-fee-controller": "25.0.0-preview-70abd50a",
"@metamask-previews/gator-permissions-controller": "0.4.0-preview-70abd50a",
"@metamask-previews/json-rpc-engine": "10.1.1-preview-70abd50a",
"@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-70abd50a",
"@metamask-previews/keyring-controller": "24.0.0-preview-70abd50a",
"@metamask-previews/logging-controller": "7.0.0-preview-70abd50a",
"@metamask-previews/message-manager": "14.0.0-preview-70abd50a",
"@metamask-previews/messenger": "0.3.0-preview-70abd50a",
"@metamask-previews/multichain-account-service": "2.1.0-preview-70abd50a",
"@metamask-previews/multichain-api-middleware": "1.2.4-preview-70abd50a",
"@metamask-previews/multichain-network-controller": "2.0.0-preview-70abd50a",
"@metamask-previews/multichain-transactions-controller": "6.0.0-preview-70abd50a",
"@metamask-previews/name-controller": "9.0.0-preview-70abd50a",
"@metamask-previews/network-controller": "25.0.0-preview-70abd50a",
"@metamask-previews/network-enablement-controller": "3.1.0-preview-70abd50a",
"@metamask-previews/notification-services-controller": "19.0.0-preview-70abd50a",
"@metamask-previews/permission-controller": "12.1.0-preview-70abd50a",
"@metamask-previews/permission-log-controller": "5.0.0-preview-70abd50a",
"@metamask-previews/phishing-controller": "15.0.0-preview-70abd50a",
"@metamask-previews/polling-controller": "15.0.0-preview-70abd50a",
"@metamask-previews/preferences-controller": "21.0.0-preview-70abd50a",
"@metamask-previews/profile-sync-controller": "26.0.0-preview-70abd50a",
"@metamask-previews/rate-limit-controller": "7.0.0-preview-70abd50a",
"@metamask-previews/remote-feature-flag-controller": "2.0.0-preview-70abd50a",
"@metamask-previews/sample-controllers": "3.0.0-preview-70abd50a",
"@metamask-previews/seedless-onboarding-controller": "6.1.0-preview-70abd50a",
"@metamask-previews/selected-network-controller": "25.0.0-preview-70abd50a",
"@metamask-previews/shield-controller": "2.0.0-preview-70abd50a",
"@metamask-previews/signature-controller": "36.0.0-preview-70abd50a",
"@metamask-previews/subscription-controller": "3.3.0-preview-70abd50a",
"@metamask-previews/token-search-discovery-controller": "4.0.0-preview-70abd50a",
"@metamask-previews/transaction-controller": "61.1.0-preview-70abd50a",
"@metamask-previews/transaction-pay-controller": "3.0.0-preview-70abd50a",
"@metamask-previews/user-operation-controller": "40.0.0-preview-70abd50a"
}
Closed in favor of https://github.com/MetaMask/core/pull/7128