Skip to content

Conversation

@mikesposito
Copy link
Member

@mikesposito mikesposito commented Sep 1, 2025

Explanation

This PR migrates AccountsController to the new @metamask/messenger message bus, as opposed to the one exported from @metamask/base-controller.

References

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

Note

Migrates AccountsController to the new @metamask/messenger API, updating code, tests, metadata, and project references.

  • Accounts Controller:
    • Switch to @metamask/messenger and @metamask/base-controller/next; replace RestrictedMessenger and messagingSystem.* with Messenger and messenger.* APIs.
    • Update event publishing/subscription and action registration; adjust type imports (Messenger, ExtractEventPayload).
    • Tweak state metadata (includeInDebugSnapshot: false).
  • Tests:
    • Refactor to build a root Messenger and a namespaced AccountsController messenger; spy on controller messenger publishes.
    • Update expectations for event call order/counts; use deriveStateFromMetadata from base-controller/next.
  • Config/Docs:
    • Add dependency @metamask/messenger and TS project references; update tsconfig*.json and yarn.lock.
    • Update README package list/dependency graph to include @metamask/messenger and accounts_controller --> messenger.
    • CHANGELOG: mark BREAKING change to use the new Messenger.

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

@Gudahtt Gudahtt force-pushed the add-disable-namespace-feature branch from c91dd1c to ba39ec4 Compare September 2, 2025 13:41
Base automatically changed from add-disable-namespace-feature to main September 2, 2025 15:17
@mikesposito mikesposito force-pushed the mikesposito/messenger/accounts-controller branch from 8f8b7a0 to 3453a8d Compare September 3, 2025 09:41
@mikesposito mikesposito mentioned this pull request Sep 3, 2025
43 tasks
@mikesposito mikesposito marked this pull request as ready for review September 3, 2025 15:02
@mikesposito mikesposito requested review from a team as code owners September 3, 2025 15:02
mcmire
mcmire previously approved these changes Sep 10, 2025
@mikesposito mikesposito enabled auto-merge (squash) September 23, 2025 09:59
mcmire
mcmire previously approved these changes Oct 7, 2025
Copy link
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!

@mikesposito
Copy link
Member Author

@metamaskbot publish-previews

@github-actions
Copy link
Contributor

github-actions bot commented Oct 9, 2025

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": "1.0.0-preview-6c94ae59",
  "@metamask-previews/accounts-controller": "33.1.0-preview-6c94ae59",
  "@metamask-previews/address-book-controller": "6.1.1-preview-6c94ae59",
  "@metamask-previews/announcement-controller": "7.0.3-preview-6c94ae59",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-6c94ae59",
  "@metamask-previews/approval-controller": "7.1.3-preview-6c94ae59",
  "@metamask-previews/assets-controllers": "76.0.0-preview-6c94ae59",
  "@metamask-previews/base-controller": "8.4.0-preview-6c94ae59",
  "@metamask-previews/bridge-controller": "45.0.0-preview-6c94ae59",
  "@metamask-previews/bridge-status-controller": "45.0.0-preview-6c94ae59",
  "@metamask-previews/build-utils": "3.0.3-preview-6c94ae59",
  "@metamask-previews/chain-agnostic-permission": "1.1.1-preview-6c94ae59",
  "@metamask-previews/composable-controller": "11.0.0-preview-6c94ae59",
  "@metamask-previews/controller-utils": "11.14.0-preview-6c94ae59",
  "@metamask-previews/delegation-controller": "0.7.0-preview-6c94ae59",
  "@metamask-previews/earn-controller": "8.0.0-preview-6c94ae59",
  "@metamask-previews/eip-5792-middleware": "1.2.0-preview-6c94ae59",
  "@metamask-previews/eip1193-permission-middleware": "1.0.0-preview-6c94ae59",
  "@metamask-previews/ens-controller": "17.0.1-preview-6c94ae59",
  "@metamask-previews/error-reporting-service": "2.1.0-preview-6c94ae59",
  "@metamask-previews/eth-json-rpc-provider": "5.0.0-preview-6c94ae59",
  "@metamask-previews/foundryup": "1.0.1-preview-6c94ae59",
  "@metamask-previews/gas-fee-controller": "24.0.0-preview-6c94ae59",
  "@metamask-previews/gator-permissions-controller": "0.2.0-preview-6c94ae59",
  "@metamask-previews/json-rpc-engine": "10.1.0-preview-6c94ae59",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-6c94ae59",
  "@metamask-previews/keyring-controller": "23.1.0-preview-6c94ae59",
  "@metamask-previews/logging-controller": "6.0.4-preview-6c94ae59",
  "@metamask-previews/message-manager": "13.0.0-preview-6c94ae59",
  "@metamask-previews/messenger": "0.3.0-preview-6c94ae59",
  "@metamask-previews/multichain-account-service": "1.0.0-preview-6c94ae59",
  "@metamask-previews/multichain-api-middleware": "1.0.0-preview-6c94ae59",
  "@metamask-previews/multichain-network-controller": "1.0.0-preview-6c94ae59",
  "@metamask-previews/multichain-transactions-controller": "5.0.0-preview-6c94ae59",
  "@metamask-previews/name-controller": "8.0.3-preview-6c94ae59",
  "@metamask-previews/network-controller": "24.2.0-preview-6c94ae59",
  "@metamask-previews/network-enablement-controller": "2.0.0-preview-6c94ae59",
  "@metamask-previews/notification-services-controller": "18.1.0-preview-6c94ae59",
  "@metamask-previews/permission-controller": "11.0.6-preview-6c94ae59",
  "@metamask-previews/permission-log-controller": "4.0.0-preview-6c94ae59",
  "@metamask-previews/phishing-controller": "13.1.0-preview-6c94ae59",
  "@metamask-previews/polling-controller": "14.0.0-preview-6c94ae59",
  "@metamask-previews/preferences-controller": "19.0.0-preview-6c94ae59",
  "@metamask-previews/profile-sync-controller": "25.0.0-preview-6c94ae59",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-6c94ae59",
  "@metamask-previews/remote-feature-flag-controller": "1.7.0-preview-6c94ae59",
  "@metamask-previews/sample-controllers": "2.0.0-preview-6c94ae59",
  "@metamask-previews/seedless-onboarding-controller": "4.0.0-preview-6c94ae59",
  "@metamask-previews/selected-network-controller": "24.0.0-preview-6c94ae59",
  "@metamask-previews/shield-controller": "0.1.2-preview-6c94ae59",
  "@metamask-previews/signature-controller": "33.0.0-preview-6c94ae59",
  "@metamask-previews/subscription-controller": "0.2.0-preview-6c94ae59",
  "@metamask-previews/token-search-discovery-controller": "3.3.0-preview-6c94ae59",
  "@metamask-previews/transaction-controller": "60.4.0-preview-6c94ae59",
  "@metamask-previews/user-operation-controller": "39.0.0-preview-6c94ae59"
}

cursor[bot]

This comment was marked as outdated.

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.

LGTM!

@mikesposito mikesposito merged commit 5cca126 into main Oct 27, 2025
256 of 257 checks passed
@mikesposito mikesposito deleted the mikesposito/messenger/accounts-controller branch October 27, 2025 09:54
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.

4 participants