From b28e75fafdfbe97dce5b4ce15393a5b6b69b8d42 Mon Sep 17 00:00:00 2001 From: Erik Marks <25517051+rekmarks@users.noreply.github.com> Date: Fri, 24 Apr 2026 11:10:31 -0700 Subject: [PATCH] refactor: Use @metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0 --- app/scripts/metamask-controller.js | 16 +++++++++++++++- package.json | 6 ++++++ yarn.lock | 14 +++++++------- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index bab8784b2c0a..5b176127de29 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -32,6 +32,7 @@ import { nanoid } from 'nanoid'; import { ApprovalRequestNotFoundError } from '@metamask/approval-controller'; import { Messenger } from '@metamask/messenger'; import { + createPermissionMiddleware, MethodNames, PermissionDoesNotExistError, PermissionsRequestNotFoundError, @@ -7565,9 +7566,22 @@ export default class MetamaskController extends EventEmitter { ); if (subjectType !== SubjectType.Internal) { + const permissionMessenger = new Messenger({ + namespace: 'PermissionMessenger', + parent: this.controllerMessenger, + }); + this.controllerMessenger.delegate({ + messenger: permissionMessenger, + actions: [ + 'PermissionController:executeRestrictedMethod', + 'PermissionController:hasUnrestrictedMethod', + ], + }); + engine.push( - this.permissionController.createPermissionMiddleware({ + createPermissionMiddleware({ origin, + messenger: permissionMessenger, }), ); diff --git a/package.json b/package.json index 185ab3f59f27..adf338d9d9b9 100644 --- a/package.json +++ b/package.json @@ -273,6 +273,12 @@ "@metamask/messenger@npm:^0.3.0": "^1.1.1", "@metamask/perps-controller": "^3.0.0" }, + "previewBuilds": { + "@metamask/permission-controller": { + "type": "non-breaking", + "previewVersion": "12.3.0-preview-1e2fe74a0" + } + }, "dependencies": { "@babel/runtime": "patch:@babel/runtime@npm%3A7.26.10#~/.yarn/patches/@babel-runtime-npm-7.26.10-fe8c62510a.patch", "@blockaid/ppom_release": "^1.5.3", diff --git a/yarn.lock b/yarn.lock index 03761258b83b..5b73c10d0dff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7418,22 +7418,22 @@ __metadata: languageName: node linkType: hard -"@metamask/permission-controller@npm:^12.2.0, @metamask/permission-controller@npm:^12.2.1, @metamask/permission-controller@npm:^12.3.0": - version: 12.3.0 - resolution: "@metamask/permission-controller@npm:12.3.0" +"@metamask/permission-controller@npm:@metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0": + version: 12.3.0-preview-1e2fe74a0 + resolution: "@metamask-previews/permission-controller@npm:12.3.0-preview-1e2fe74a0" dependencies: "@metamask/approval-controller": "npm:^9.0.1" - "@metamask/base-controller": "npm:^9.0.1" - "@metamask/controller-utils": "npm:^11.19.0" + "@metamask/base-controller": "npm:^9.1.0" + "@metamask/controller-utils": "npm:^11.20.0" "@metamask/json-rpc-engine": "npm:^10.2.4" - "@metamask/messenger": "npm:^1.0.0" + "@metamask/messenger": "npm:^1.1.1" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/utils": "npm:^11.9.0" "@types/deep-freeze-strict": "npm:^1.1.0" deep-freeze-strict: "npm:^1.1.1" immer: "npm:^9.0.6" nanoid: "npm:^3.3.8" - checksum: 10/a5fe9f2bab8c2d41cd829cd6c1af970e71da97eac42de17071c10f90d975e9135a4e6987ed6b2f3ea2209b1c6c51b822508f800225fda2207cdc598c16ea77dd + checksum: 10/082815b35b19e5587127e128e5723d25e7842ed64a8c5aae6b5f8226b4070359220161ac5721c1315b7aee1e1a11d5eb1cbdb67d596aa8a6087bd9b5cc05151e languageName: node linkType: hard