From ecd695cccd8467779c518813dd911d60e3b06495 Mon Sep 17 00:00:00 2001 From: Salah-Eddine Saakoun Date: Tue, 7 Oct 2025 14:33:52 +0200 Subject: [PATCH] refactor: migrate NameController to @metamask/messenger --- packages/name-controller/CHANGELOG.md | 2 ++ packages/name-controller/package.json | 1 + .../name-controller/src/NameController.test.ts | 4 ++-- packages/name-controller/src/NameController.ts | 16 +++++++--------- packages/name-controller/tsconfig.build.json | 3 +++ packages/name-controller/tsconfig.json | 3 +++ yarn.lock | 1 + 7 files changed, 19 insertions(+), 11 deletions(-) diff --git a/packages/name-controller/CHANGELOG.md b/packages/name-controller/CHANGELOG.md index 9c7f33e1220..7bfad19dd87 100644 --- a/packages/name-controller/CHANGELOG.md +++ b/packages/name-controller/CHANGELOG.md @@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Use new `Messenger` from `@metamask/messenger` ([#6541](https://github.com/MetaMask/core/pull/6541)) + - Previously, `NameController` accepted a `RestrictedMessenger` instance from `@metamask/base-controller`. - Bump `@metamask/utils` from `^11.2.0` to `^11.8.1` ([#6054](https://github.com/MetaMask/core/pull/6054)[#6588](https://github.com/MetaMask/core/pull/6588), [#6708](https://github.com/MetaMask/core/pull/6708)) - Bump `@metamask/base-controller` from `^8.0.0` to `^8.4.0` ([#5722](https://github.com/MetaMask/core/pull/5722), [#6284](https://github.com/MetaMask/core/pull/6284), [#6355](https://github.com/MetaMask/core/pull/6355), [#6465](https://github.com/MetaMask/core/pull/6465), [#6632](https://github.com/MetaMask/core/pull/6632)) - Bump `@metamask/controller-utils` from `^11.5.0` to `^11.14.0` ([#5439](https://github.com/MetaMask/core/pull/5439), [#5583](https://github.com/MetaMask/core/pull/5583), [#5765](https://github.com/MetaMask/core/pull/5765), [#5812](https://github.com/MetaMask/core/pull/5812), [#5935](https://github.com/MetaMask/core/pull/5935), [#6069](https://github.com/MetaMask/core/pull/6069), [#6303](https://github.com/MetaMask/core/pull/6303), [#6620](https://github.com/MetaMask/core/pull/6620), [#6629](https://github.com/MetaMask/core/pull/6629)) diff --git a/packages/name-controller/package.json b/packages/name-controller/package.json index 8386951201e..3496546950f 100644 --- a/packages/name-controller/package.json +++ b/packages/name-controller/package.json @@ -50,6 +50,7 @@ "dependencies": { "@metamask/base-controller": "^8.4.0", "@metamask/controller-utils": "^11.14.0", + "@metamask/messenger": "^0.3.0", "@metamask/utils": "^11.8.1", "async-mutex": "^0.5.0" }, diff --git a/packages/name-controller/src/NameController.test.ts b/packages/name-controller/src/NameController.test.ts index 83b197261fd..f466bd792f0 100644 --- a/packages/name-controller/src/NameController.test.ts +++ b/packages/name-controller/src/NameController.test.ts @@ -1,4 +1,4 @@ -import { deriveStateFromMetadata } from '@metamask/base-controller'; +import { deriveStateFromMetadata } from '@metamask/base-controller/next'; import type { SetNameRequest, @@ -2765,7 +2765,7 @@ describe('NameController', () => { deriveStateFromMetadata( controller.state, controller.metadata, - 'anonymous', + 'includeInDebugSnapshot', ), ).toMatchInlineSnapshot(`Object {}`); }); diff --git a/packages/name-controller/src/NameController.ts b/packages/name-controller/src/NameController.ts index b37327916e6..9bd5dd8b3dd 100644 --- a/packages/name-controller/src/NameController.ts +++ b/packages/name-controller/src/NameController.ts @@ -1,10 +1,10 @@ import type { ControllerGetStateAction, ControllerStateChangeEvent, - RestrictedMessenger, -} from '@metamask/base-controller'; -import { BaseController } from '@metamask/base-controller'; +} from '@metamask/base-controller/next'; +import { BaseController } from '@metamask/base-controller/next'; import { isSafeDynamicKey } from '@metamask/controller-utils'; +import type { Messenger } from '@metamask/messenger'; import type { NameProvider, @@ -44,13 +44,13 @@ const stateMetadata = { names: { includeInStateLogs: true, persist: true, - anonymous: false, + includeInDebugSnapshot: false, usedInUi: true, }, nameSources: { includeInStateLogs: true, persist: true, - anonymous: false, + includeInDebugSnapshot: false, usedInUi: true, }, }; @@ -99,12 +99,10 @@ export type NameControllerActions = GetNameState; export type NameControllerEvents = NameStateChange; -export type NameControllerMessenger = RestrictedMessenger< +export type NameControllerMessenger = Messenger< typeof controllerName, NameControllerActions, - NameControllerEvents, - never, - never + NameControllerEvents >; export type NameControllerOptions = { diff --git a/packages/name-controller/tsconfig.build.json b/packages/name-controller/tsconfig.build.json index 779d385a6ab..249f327913d 100644 --- a/packages/name-controller/tsconfig.build.json +++ b/packages/name-controller/tsconfig.build.json @@ -8,6 +8,9 @@ "references": [ { "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/name-controller/tsconfig.json b/packages/name-controller/tsconfig.json index f2d7b67ff66..cb296895b28 100644 --- a/packages/name-controller/tsconfig.json +++ b/packages/name-controller/tsconfig.json @@ -6,6 +6,9 @@ "references": [ { "path": "../base-controller" + }, + { + "path": "../messenger" } ], "include": ["../../types", "./src"] diff --git a/yarn.lock b/yarn.lock index 8dbaec41939..f70ae81eeb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3989,6 +3989,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.4.0" "@metamask/controller-utils": "npm:^11.14.0" + "@metamask/messenger": "npm:^0.3.0" "@metamask/utils": "npm:^11.8.1" "@types/jest": "npm:^27.4.1" async-mutex: "npm:^0.5.0"