Skip to content

chore: bump accounts deps#8464

Merged
ccharly merged 15 commits intomainfrom
cc/chore/bump-accounts-deps
Apr 16, 2026
Merged

chore: bump accounts deps#8464
ccharly merged 15 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
Touches account/keyring-adjacent packages and upgrades multiple keyring dependencies, including switching some types/imports to @metamask/keyring-api/v2, which could cause subtle type/runtime integration issues if consumers or downstream deps assume old exports.

Overview
Updates multiple controllers/services to newer keyring/account package versions (notably @metamask/keyring-api@^23.0.1, @metamask/keyring-internal-api@^10.1.1, @metamask/keyring-snap-client@^9.0.1, @metamask/eth-snap-keyring@^21.0.1, and eth-* keyrings), with corresponding changelog and lockfile updates.

Adopts new /v2 exports in key places: keyring-controller now imports V2 keyring classes/types from @metamask/eth-hd-keyring/v2, @metamask/eth-simple-keyring/v2, and @metamask/keyring-api/v2, and multichain-account-service updates KeyringCapabilities typing to come from @metamask/keyring-api/v2.

Adds Stellar account-type ordering in account-tree-controller by including XlmAccountType.Account in ACCOUNT_TYPE_TO_SORT_ORDER, and tightens chain-agnostic-permission typing by explicitly enumerating supported non-wallet CAIP namespaces rather than using Exclude.

Reviewed by Cursor Bugbot for commit dc56540. 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 Outdated
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..)

Copy link
Copy Markdown
Contributor

@mcmire mcmire Apr 16, 2026

Choose a reason for hiding this comment

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

@ccharly I know you posted a comment about this, but given that Stellar is present in KnownCaipNamespace and we are removing it from this type, this does seem like a breaking change we should note in the changelog. What do you think?

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.

I guess you could make the argument that since chain-agnostic-permission still depends on @metamask/utils ^11.9.0, this is not a breaking change since there's no requirement that consumers must use 11.11.0 (which includes the addition of Stellar to KnownCaipNamespace. So maybe this is fine.

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.

Yep I know that's a bit tricky 😅 but this change should prevent us from treating new update of this enum as a breaking change in the future.

For now, Stellar is not supported yet on any clients. So we'll have to enable it once we're ready.

jiexi
jiexi previously approved these changes Apr 15, 2026
Copy link
Copy Markdown
Member

@jiexi jiexi left a comment

Choose a reason for hiding this comment

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

packages/chain-agnostic-permission/src/scope/types.ts LGTM

@ccharly ccharly enabled auto-merge April 16, 2026 15:32
@mcmire
Copy link
Copy Markdown
Contributor

mcmire commented Apr 16, 2026

@ccharly Given that we are switching to a /v2 import for keyring-api and advancing a bunch of packages by a couple of major versions I just want to verify that this is correct and that these bumps won't cause any type incompatibilities? There don't seem to be any breaking changes noted here so I wanted to be extra sure.

@ccharly
Copy link
Copy Markdown
Contributor Author

ccharly commented Apr 16, 2026

Yep, that's correct @mcmire. No breaking changes with this bump. We're keeping the retro-compatibility with the previous version for now.

The idea is to migrate v1 to v2 while keeping both alive for a short-period of time.

Once everything gets migrated, we might remove the /v2 part and merge it in the main "exports".

For now, we're just "enabling" the /v2 everywhere so we can do this integration!

Copy link
Copy Markdown
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

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

LGTM!

@ccharly ccharly added this pull request to the merge queue Apr 16, 2026
Merged via the queue into main with commit 23dd139 Apr 16, 2026
345 checks passed
@ccharly ccharly deleted the cc/chore/bump-accounts-deps branch April 16, 2026 16:04
geositta added a commit that referenced this pull request Apr 16, 2026
…sition-live-price-sync

* origin/main:
  fix(transaction-pay-controller): resolve correct networkClientId for source chain in relay execute (#8492)
  Release/920.0.0 (#8494)
  chore: bump `accounts` deps (#8464)
  feat: adds auth to social controllers (#8485)
  Release/919.0.0 (#8482)
  feat(seedless-onboarding-controller): generic encryptor result type aligned with KeyringController TO-686 (#8411)
  Release/918.0.0 (#8478)
  chore: add periodic check for spl tokens (#8400)
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.

9 participants