Skip to content

Conversation

@ccharly
Copy link
Contributor

@ccharly ccharly commented Feb 6, 2026

Explanation

Bumping all accounts deps.

AND:

Use of the new createAccounts method (from the keyring V2 ADR).

This will allow to slowly integrate new account creation constructors (such as the new bip44:derive-index-range to batch account creations).

References

N/A

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
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Medium Risk
Touches core account creation/alignment paths and upgrades several keyring/account dependency majors, so runtime compatibility issues or mis-specified CreateAccountOptions.type could break account provisioning across providers.

Overview
Updates @metamask/* account/keyring dependencies across controllers (notably @metamask/account-api to ^1.0.0, @metamask/keyring-api to ^21.5.0, @metamask/keyring-internal-api to ^10.0.0, @metamask/eth-snap-keyring to ^19.0.0, and @metamask/keyring-snap-client to ^8.2.0), with corresponding CHANGELOG entries and yarn.lock refresh.

Refactors multichain-account-service providers to the new AccountProvider.createAccounts(options: CreateAccountOptions) signature by threading an explicit type (currently AccountCreationType.Bip44DeriveIndex) through wallet/group alignment and creation flows, adding per-provider capabilities metadata, and validating supported creation types via assertCreateAccountOptionIsSupported (with new negative tests). AccountProviderWrapper now forwards capabilities and accepts the new CreateAccountOptions shape.

Minor tooling cleanup includes removing an obsolete ESLint suppression entry for src/tests/providers.ts.

Written by Cursor Bugbot for commit 3e0dd00. This will update automatically on new commits. Configure here.

@socket-security
Copy link

socket-security bot commented Feb 6, 2026

@ccharly ccharly force-pushed the cc/feat/account-provider-createAccounts branch from d367787 to a425eca Compare February 9, 2026 13:01
- **BREAKING:** Use new `AccountProvider.createAccounts` method with `CreateAccountOptions` ([#7857](https://github.com/MetaMask/core/pull/7857))
- All account providers now accept `CreateAccountOptions` with `type` field.
- Added `capabilities` property to all account providers defining supported account creation types.
- **BREAKING:** Bump `@metamask/eth-snap-keyring` from `^18.0.0` to `^19.0.0` ([#7857](https://github.com/MetaMask/core/pull/7857))
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While not being used right now, I plan to use it right in a follow-up PR, and this would really become breaking at this point.

So, I just prefer to mark it as breaking right now, it feels more appropriate.

@ccharly ccharly marked this pull request as ready for review February 9, 2026 15:22
@ccharly ccharly requested review from a team as code owners February 9, 2026 15:22
@ccharly
Copy link
Contributor Author

ccharly commented Feb 9, 2026

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

github-actions bot commented Feb 9, 2026

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": "4.1.0-preview-7aeef9dd1",
  "@metamask-previews/accounts-controller": "35.0.2-preview-7aeef9dd1",
  "@metamask-previews/address-book-controller": "7.0.1-preview-7aeef9dd1",
  "@metamask-previews/ai-controllers": "0.0.0-preview-7aeef9dd1",
  "@metamask-previews/analytics-controller": "1.0.0-preview-7aeef9dd1",
  "@metamask-previews/analytics-data-regulation-controller": "0.0.0-preview-7aeef9dd1",
  "@metamask-previews/announcement-controller": "8.0.0-preview-7aeef9dd1",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-7aeef9dd1",
  "@metamask-previews/approval-controller": "8.0.0-preview-7aeef9dd1",
  "@metamask-previews/assets-controller": "1.0.0-preview-7aeef9dd1",
  "@metamask-previews/assets-controllers": "99.3.1-preview-7aeef9dd1",
  "@metamask-previews/base-controller": "9.0.0-preview-7aeef9dd1",
  "@metamask-previews/bridge-controller": "66.0.0-preview-7aeef9dd1",
  "@metamask-previews/bridge-status-controller": "66.0.0-preview-7aeef9dd1",
  "@metamask-previews/build-utils": "3.0.4-preview-7aeef9dd1",
  "@metamask-previews/chain-agnostic-permission": "1.4.0-preview-7aeef9dd1",
  "@metamask-previews/claims-controller": "0.4.2-preview-7aeef9dd1",
  "@metamask-previews/composable-controller": "12.0.0-preview-7aeef9dd1",
  "@metamask-previews/connectivity-controller": "0.1.0-preview-7aeef9dd1",
  "@metamask-previews/controller-utils": "11.18.0-preview-7aeef9dd1",
  "@metamask-previews/core-backend": "5.1.0-preview-7aeef9dd1",
  "@metamask-previews/delegation-controller": "2.0.0-preview-7aeef9dd1",
  "@metamask-previews/earn-controller": "11.1.0-preview-7aeef9dd1",
  "@metamask-previews/eip-5792-middleware": "2.1.0-preview-7aeef9dd1",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-7aeef9dd1",
  "@metamask-previews/eip1193-permission-middleware": "1.0.3-preview-7aeef9dd1",
  "@metamask-previews/ens-controller": "19.0.2-preview-7aeef9dd1",
  "@metamask-previews/error-reporting-service": "3.0.1-preview-7aeef9dd1",
  "@metamask-previews/eth-block-tracker": "15.0.1-preview-7aeef9dd1",
  "@metamask-previews/eth-json-rpc-middleware": "23.1.0-preview-7aeef9dd1",
  "@metamask-previews/eth-json-rpc-provider": "6.0.0-preview-7aeef9dd1",
  "@metamask-previews/foundryup": "1.0.1-preview-7aeef9dd1",
  "@metamask-previews/gas-fee-controller": "26.0.2-preview-7aeef9dd1",
  "@metamask-previews/gator-permissions-controller": "1.1.2-preview-7aeef9dd1",
  "@metamask-previews/json-rpc-engine": "10.2.2-preview-7aeef9dd1",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-7aeef9dd1",
  "@metamask-previews/keyring-controller": "25.1.0-preview-7aeef9dd1",
  "@metamask-previews/logging-controller": "7.0.1-preview-7aeef9dd1",
  "@metamask-previews/message-manager": "14.1.0-preview-7aeef9dd1",
  "@metamask-previews/messenger": "0.3.0-preview-7aeef9dd1",
  "@metamask-previews/multichain-account-service": "6.0.0-preview-7aeef9dd1",
  "@metamask-previews/multichain-api-middleware": "1.2.6-preview-7aeef9dd1",
  "@metamask-previews/multichain-network-controller": "3.0.2-preview-7aeef9dd1",
  "@metamask-previews/multichain-transactions-controller": "7.0.0-preview-7aeef9dd1",
  "@metamask-previews/name-controller": "9.0.0-preview-7aeef9dd1",
  "@metamask-previews/network-controller": "29.0.0-preview-7aeef9dd1",
  "@metamask-previews/network-enablement-controller": "4.1.0-preview-7aeef9dd1",
  "@metamask-previews/notification-services-controller": "21.0.0-preview-7aeef9dd1",
  "@metamask-previews/permission-controller": "12.2.0-preview-7aeef9dd1",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-7aeef9dd1",
  "@metamask-previews/perps-controller": "0.0.0-preview-7aeef9dd1",
  "@metamask-previews/phishing-controller": "16.1.0-preview-7aeef9dd1",
  "@metamask-previews/polling-controller": "16.0.2-preview-7aeef9dd1",
  "@metamask-previews/preferences-controller": "22.1.0-preview-7aeef9dd1",
  "@metamask-previews/profile-metrics-controller": "3.0.0-preview-7aeef9dd1",
  "@metamask-previews/profile-sync-controller": "27.1.0-preview-7aeef9dd1",
  "@metamask-previews/ramps-controller": "7.0.0-preview-7aeef9dd1",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-7aeef9dd1",
  "@metamask-previews/remote-feature-flag-controller": "4.0.0-preview-7aeef9dd1",
  "@metamask-previews/sample-controllers": "4.0.2-preview-7aeef9dd1",
  "@metamask-previews/seedless-onboarding-controller": "7.1.0-preview-7aeef9dd1",
  "@metamask-previews/selected-network-controller": "26.0.2-preview-7aeef9dd1",
  "@metamask-previews/shield-controller": "5.0.1-preview-7aeef9dd1",
  "@metamask-previews/signature-controller": "39.0.1-preview-7aeef9dd1",
  "@metamask-previews/storage-service": "1.0.0-preview-7aeef9dd1",
  "@metamask-previews/subscription-controller": "5.4.2-preview-7aeef9dd1",
  "@metamask-previews/transaction-controller": "62.16.0-preview-7aeef9dd1",
  "@metamask-previews/transaction-pay-controller": "12.2.0-preview-7aeef9dd1",
  "@metamask-previews/user-operation-controller": "41.0.2-preview-7aeef9dd1"
}

hmalik88
hmalik88 previously approved these changes Feb 9, 2026
@ccharly ccharly changed the title feat: bump accounts deps + use new AccountProvider.createAccounts feat: bump accounts deps + use new AccountProvider.createAccounts Feb 10, 2026
Copy link
Contributor

@cryptodev-2s cryptodev-2s left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor suggestions otherwise looks good to me

ccharly and others added 2 commits February 10, 2026 11:47
Co-authored-by: cryptodev-2s <109512101+cryptodev-2s@users.noreply.github.com>
Co-authored-by: cryptodev-2s <109512101+cryptodev-2s@users.noreply.github.com>
@ccharly ccharly enabled auto-merge February 10, 2026 11:34
@ccharly ccharly added this pull request to the merge queue Feb 10, 2026
Merged via the queue into main with commit 61fb0fe Feb 10, 2026
302 checks passed
@ccharly ccharly deleted the cc/feat/account-provider-createAccounts branch February 10, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants