From 1ba4ab56b1c95f93cc7b2496ec9fe3165a71e757 Mon Sep 17 00:00:00 2001 From: Erik Marks <25517051+rekmarks@users.noreply.github.com> Date: Fri, 24 Apr 2026 12:01:32 -0700 Subject: [PATCH] refactor: Use @metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0 --- docs/internals/permissions.md | 2 +- package.json | 2 ++ packages/snaps-simulation/src/simulation.ts | 4 ++- yarn.lock | 27 +++++++++++++++------ 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/docs/internals/permissions.md b/docs/internals/permissions.md index d4582b52c0..fa5d91cad4 100644 --- a/docs/internals/permissions.md +++ b/docs/internals/permissions.md @@ -214,7 +214,7 @@ const origin = getOrigin(subject); const engine = new JsonRpcEngine(); engine.push(/* your various middleware*/); -engine.push(permissionController.createPermissionMiddleware({ origin })); +engine.push(createPermissionMiddleware({ origin, messenger })); // Your middleware stack is now permissioned. engine.push(/* your other various middleware*/); ``` diff --git a/package.json b/package.json index 7fa864e4f1..9a8f32d32c 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,8 @@ }, "resolutions": { "@esbuild-plugins/node-modules-polyfill@^0.2.2": "patch:@esbuild-plugins/node-modules-polyfill@npm%3A0.2.2#./.yarn/patches/@esbuild-plugins-node-modules-polyfill-npm-0.2.2-f612681798.patch", + "@metamask/permission-controller@^12.2.1": "npm:@metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0", + "@metamask/permission-controller@^12.3.0": "npm:@metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0", "@puppeteer/browsers@1.4.6": "patch:@puppeteer/browsers@npm%3A1.7.0#./.yarn/patches/@puppeteer-browsers-npm-1.7.0-203cb4f44b.patch", "@puppeteer/browsers@^1.6.0": "patch:@puppeteer/browsers@npm%3A1.7.0#./.yarn/patches/@puppeteer-browsers-npm-1.7.0-203cb4f44b.patch", "@types/glob@*": "patch:@types/glob@npm%3A7.1.4#./.yarn/patches/@types-glob-npm-7.1.4-d45247eaa2.patch", diff --git a/packages/snaps-simulation/src/simulation.ts b/packages/snaps-simulation/src/simulation.ts index 23d955d171..22592bccac 100644 --- a/packages/snaps-simulation/src/simulation.ts +++ b/packages/snaps-simulation/src/simulation.ts @@ -8,6 +8,7 @@ import type { } from '@metamask/messenger'; import { MOCK_ANY_NAMESPACE, Messenger } from '@metamask/messenger'; import { + createPermissionMiddleware, PermissionDoesNotExistError, type Caveat, type RequestedPermissions, @@ -454,8 +455,9 @@ export async function installSnap< options, }); - const permissionMiddleware = permissionController.createPermissionMiddleware({ + const permissionMiddleware = createPermissionMiddleware({ origin: snapId, + messenger: controllerMessenger, }); const engine = createJsonRpcEngine({ diff --git a/yarn.lock b/yarn.lock index bd319c211b..dc36971c13 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2916,6 +2916,17 @@ __metadata: languageName: node linkType: hard +"@metamask/base-controller@npm:^9.1.0": + version: 9.1.0 + resolution: "@metamask/base-controller@npm:9.1.0" + dependencies: + "@metamask/messenger": "npm:^1.1.1" + "@metamask/utils": "npm:^11.9.0" + immer: "npm:^9.0.6" + checksum: 10/752b70b35026fdf31ea8feef638f06286dbbde8d17e1ba804085fdbedbb076d900d2d7b6db3d2af284b3aa8fa84c95a0ceea6a3a46ee7b7e29433f037e9afc69 + languageName: node + linkType: hard + "@metamask/bip32-example-snap@workspace:^, @metamask/bip32-example-snap@workspace:packages/examples/packages/bip32": version: 0.0.0-use.local resolution: "@metamask/bip32-example-snap@workspace:packages/examples/packages/bip32" @@ -3048,7 +3059,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/controller-utils@npm:^11.19.0": +"@metamask/controller-utils@npm:^11.19.0, @metamask/controller-utils@npm:^11.20.0": version: 11.20.0 resolution: "@metamask/controller-utils@npm:11.20.0" dependencies: @@ -3920,22 +3931,22 @@ __metadata: languageName: node linkType: hard -"@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