Skip to content

chore: bump accounts deps#8464

Open
ccharly wants to merge 10 commits intomainfrom
cc/chore/bump-accounts-deps
Open

chore: bump accounts deps#8464
ccharly wants to merge 10 commits intomainfrom
cc/chore/bump-accounts-deps

Conversation

@ccharly
Copy link
Copy Markdown
Contributor

@ccharly ccharly commented Apr 15, 2026

Explanation

Bumping all accounts deps to the latest. Mostly including the new /v2 exports for the on-going work with the keyring API v2.

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
Primarily dependency bumps, but it also changes keyring-related imports to use new /v2 entrypoints and updates account type ordering, which could affect runtime behavior and tests if any API contracts changed.

Overview
Updates the accounts/keyring dependency set across multiple packages, notably bumping @metamask/keyring-api to ^23.0.0 (plus related bumps like eth-hd-keyring, eth-simple-keyring, eth-snap-keyring, keyring-internal-api, and keyring-snap-client) and aligning changelogs/lockfile accordingly.

Adapts code to the Keyring API v2 transition by switching several type/value imports to @metamask/*/v2 (e.g., KeyringController’s v2 keyring builders and tests, and KeyringCapabilities usage in multichain-account-service), and adds temporary Jest moduleNameMapper overrides so /v2 subpath imports resolve to published builds.

Adds Stellar account-type sort ordering (XlmAccountType) in account-tree-controller, and hardens NonWalletKnownCaipNamespace to an explicit allowlist to avoid unintended type expansion when new CAIP namespaces are introduced.

Reviewed by Cursor Bugbot for commit 531556e. Bugbot is set up for automated code reviews on this repo. Configure here.

@ccharly ccharly force-pushed the cc/chore/bump-accounts-deps branch from c2f9e74 to 376fd49 Compare April 15, 2026 09:40
@ccharly ccharly marked this pull request as ready for review April 15, 2026 09:40
@ccharly ccharly requested review from a team as code owners April 15, 2026 09:40
@ccharly
Copy link
Copy Markdown
Contributor Author

ccharly commented Apr 15, 2026

@metamaskbot publish-preview

@ccharly
Copy link
Copy Markdown
Contributor Author

ccharly commented Apr 15, 2026

@metamaskbot publish-preview

@github-actions
Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.0.0-preview-548bdd1d9
@metamask-previews/accounts-controller@37.2.0-preview-548bdd1d9
@metamask-previews/address-book-controller@7.1.1-preview-548bdd1d9
@metamask-previews/ai-controllers@0.6.3-preview-548bdd1d9
@metamask-previews/analytics-controller@1.0.1-preview-548bdd1d9
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-548bdd1d9
@metamask-previews/announcement-controller@8.1.0-preview-548bdd1d9
@metamask-previews/app-metadata-controller@2.0.1-preview-548bdd1d9
@metamask-previews/approval-controller@9.0.1-preview-548bdd1d9
@metamask-previews/assets-controller@5.0.1-preview-548bdd1d9
@metamask-previews/assets-controllers@104.0.0-preview-548bdd1d9
@metamask-previews/base-controller@9.1.0-preview-548bdd1d9
@metamask-previews/base-data-service@0.1.1-preview-548bdd1d9
@metamask-previews/bridge-controller@70.1.0-preview-548bdd1d9
@metamask-previews/bridge-status-controller@70.0.5-preview-548bdd1d9
@metamask-previews/build-utils@3.0.4-preview-548bdd1d9
@metamask-previews/chain-agnostic-permission@1.5.0-preview-548bdd1d9
@metamask-previews/claims-controller@0.5.0-preview-548bdd1d9
@metamask-previews/client-controller@1.0.1-preview-548bdd1d9
@metamask-previews/compliance-controller@2.0.0-preview-548bdd1d9
@metamask-previews/composable-controller@12.0.1-preview-548bdd1d9
@metamask-previews/config-registry-controller@0.2.0-preview-548bdd1d9
@metamask-previews/connectivity-controller@0.2.0-preview-548bdd1d9
@metamask-previews/controller-utils@11.20.0-preview-548bdd1d9
@metamask-previews/core-backend@6.2.1-preview-548bdd1d9
@metamask-previews/delegation-controller@3.0.0-preview-548bdd1d9
@metamask-previews/earn-controller@12.0.0-preview-548bdd1d9
@metamask-previews/eip-5792-middleware@3.0.3-preview-548bdd1d9
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.0-preview-548bdd1d9
@metamask-previews/eip1193-permission-middleware@1.0.3-preview-548bdd1d9
@metamask-previews/ens-controller@19.1.1-preview-548bdd1d9
@metamask-previews/eth-block-tracker@15.0.1-preview-548bdd1d9
@metamask-previews/eth-json-rpc-middleware@23.1.1-preview-548bdd1d9
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-548bdd1d9
@metamask-previews/foundryup@1.0.1-preview-548bdd1d9
@metamask-previews/gas-fee-controller@26.1.1-preview-548bdd1d9
@metamask-previews/gator-permissions-controller@3.0.1-preview-548bdd1d9
@metamask-previews/geolocation-controller@0.1.2-preview-548bdd1d9
@metamask-previews/json-rpc-engine@10.2.4-preview-548bdd1d9
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-548bdd1d9
@metamask-previews/keyring-controller@25.2.0-preview-548bdd1d9
@metamask-previews/logging-controller@8.0.1-preview-548bdd1d9
@metamask-previews/message-manager@14.1.1-preview-548bdd1d9
@metamask-previews/messenger@1.1.1-preview-548bdd1d9
@metamask-previews/messenger-cli@0.1.0-preview-548bdd1d9
@metamask-previews/money-account-balance-service@0.0.0-preview-548bdd1d9
@metamask-previews/money-account-controller@0.1.0-preview-548bdd1d9
@metamask-previews/multichain-account-service@8.0.1-preview-548bdd1d9
@metamask-previews/multichain-api-middleware@2.0.0-preview-548bdd1d9
@metamask-previews/multichain-network-controller@3.0.6-preview-548bdd1d9
@metamask-previews/multichain-transactions-controller@7.0.4-preview-548bdd1d9
@metamask-previews/name-controller@9.1.1-preview-548bdd1d9
@metamask-previews/network-controller@30.0.1-preview-548bdd1d9
@metamask-previews/network-enablement-controller@5.0.2-preview-548bdd1d9
@metamask-previews/notification-services-controller@23.1.0-preview-548bdd1d9
@metamask-previews/permission-controller@12.3.0-preview-548bdd1d9
@metamask-previews/permission-log-controller@5.1.0-preview-548bdd1d9
@metamask-previews/perps-controller@3.1.0-preview-548bdd1d9
@metamask-previews/phishing-controller@17.1.1-preview-548bdd1d9
@metamask-previews/polling-controller@16.0.4-preview-548bdd1d9
@metamask-previews/preferences-controller@23.1.0-preview-548bdd1d9
@metamask-previews/profile-metrics-controller@3.1.3-preview-548bdd1d9
@metamask-previews/profile-sync-controller@28.0.2-preview-548bdd1d9
@metamask-previews/ramps-controller@13.1.0-preview-548bdd1d9
@metamask-previews/rate-limit-controller@7.0.1-preview-548bdd1d9
@metamask-previews/react-data-query@0.2.0-preview-548bdd1d9
@metamask-previews/remote-feature-flag-controller@4.2.0-preview-548bdd1d9
@metamask-previews/sample-controllers@4.0.4-preview-548bdd1d9
@metamask-previews/seedless-onboarding-controller@9.1.0-preview-548bdd1d9
@metamask-previews/selected-network-controller@26.1.0-preview-548bdd1d9
@metamask-previews/shield-controller@5.1.1-preview-548bdd1d9
@metamask-previews/signature-controller@39.1.2-preview-548bdd1d9
@metamask-previews/social-controllers@0.1.0-preview-548bdd1d9
@metamask-previews/storage-service@1.0.1-preview-548bdd1d9
@metamask-previews/subscription-controller@6.1.2-preview-548bdd1d9
@metamask-previews/transaction-controller@64.2.0-preview-548bdd1d9
@metamask-previews/transaction-pay-controller@19.1.2-preview-548bdd1d9
@metamask-previews/user-operation-controller@41.2.0-preview-548bdd1d9

@ccharly
Copy link
Copy Markdown
Contributor Author

ccharly commented Apr 15, 2026

Added no-changelog since I made an internal change in the chain-agnostic-permission package (impacted by the metamask/utils dedupe, one of the enum got changed, and that can be seen as breaking change if you use this enum in your types directly...)

Not sure if there's a better way to handle this for changelogs?

@ccharly ccharly changed the title chore: bump accounts deps chore: bump accounts deps Apr 15, 2026
Comment thread jest.config.packages.js
Comment on lines +87 to +94
'^@metamask/eth-hd-keyring/v2$':
'<rootDir>/../../node_modules/@metamask/eth-hd-keyring/dist/v2/index.cjs',
'^@metamask/eth-simple-keyring/v2$':
'<rootDir>/../../node_modules/@metamask/eth-simple-keyring/dist/v2/index.cjs',
'^@metamask/keyring-api/v2$':
'<rootDir>/../../node_modules/@metamask/keyring-api/dist/v2/index.cjs',
'^@metamask/keyring-sdk/v2$':
'<rootDir>/../../node_modules/@metamask/keyring-sdk/dist/v2/index.cjs',
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Somehow, jest is not able to resolve that without doing it explicitly 😅

KnownCaipNamespace,
KnownCaipNamespace.Wallet
>;
export type NonWalletKnownCaipNamespace =
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we need one for stellar?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Well, I wasn't sure if there was some more logic needed in the package (not my domain here 😅)

So I preferred to just use an explicit enumeration instead (to avoid having other breaking change in the future). But I'll let the wallet API team to guide me on this one.

But indeed, given the name, we could re-use the Exclude and declare the missing field for the type that relies on it (but that could be seen as a breaking change though..)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants