Skip to content

Commit 8e86380

Browse files
committed
refactor: Use @metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0
1 parent dcad69f commit 8e86380

3 files changed

Lines changed: 33 additions & 8 deletions

File tree

app/core/Snaps/SnapBridge.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ import {
1919
SnapEndowments,
2020
} from '@metamask/snaps-rpc-methods';
2121
import {
22+
createPermissionMiddleware,
2223
RequestedPermissions,
2324
SubjectType,
25+
type PermissionMiddlewareActions,
2426
} from '@metamask/permission-controller';
2527
import { providerAsMiddleware } from '@metamask/eth-json-rpc-middleware';
2628
import { createEngineStream } from '@metamask/json-rpc-middleware-stream';
@@ -53,6 +55,7 @@ import {
5355
} from '../RPCMethods/utils';
5456
import { MultichainRoutingService } from '@metamask/snaps-controllers';
5557
import { asLegacyMiddleware } from '@metamask/json-rpc-engine/v2';
58+
import { Messenger } from '@metamask/messenger';
5659

5760
/**
5861
* Type definition for the GetRPCMethodMiddleware function.
@@ -167,9 +170,25 @@ export default class SnapBridge {
167170
// @ts-expect-error: Type mismatch.
168171
engine.push(asLegacyMiddleware(createWalletSnapPermissionMiddleware()));
169172

173+
const permissionMessenger = new Messenger<
174+
'PermissionMiddleware',
175+
PermissionMiddlewareActions
176+
>({
177+
namespace: 'PermissionMessenger',
178+
parent: controllerMessenger,
179+
});
180+
controllerMessenger.delegate({
181+
messenger: permissionMessenger,
182+
actions: [
183+
'PermissionController:executeRestrictedMethod',
184+
'PermissionController:hasUnrestrictedMethod',
185+
],
186+
});
187+
170188
engine.push(
171-
PermissionController.createPermissionMiddleware({
189+
createPermissionMiddleware({
172190
origin: this.#snapId,
191+
messenger: permissionMessenger,
173192
}),
174193
);
175194

package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,12 @@
212212
"@metamask/keyring-api@npm:^22.0.0": "23.0.1",
213213
"@metamask/keyring-api@npm:^23.0.1": "23.0.1"
214214
},
215+
"previewBuilds": {
216+
"@metamask/permission-controller": {
217+
"type": "non-breaking",
218+
"previewVersion": "12.3.0-preview-1e2fe74a0"
219+
}
220+
},
215221
"dependencies": {
216222
"@braze/react-native-sdk": "patch:@braze/react-native-sdk@npm%3A19.1.0#~/.yarn/patches/@braze-react-native-sdk-npm-19.1.0-076-reactmoduleinfo.patch",
217223
"@config-plugins/detox": "^9.0.0",

yarn.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9500,22 +9500,22 @@ __metadata:
95009500
languageName: node
95019501
linkType: hard
95029502

9503-
"@metamask/permission-controller@npm:^12.0.0, @metamask/permission-controller@npm:^12.1.1, @metamask/permission-controller@npm:^12.2.1, @metamask/permission-controller@npm:^12.3.0":
9504-
version: 12.3.0
9505-
resolution: "@metamask/permission-controller@npm:12.3.0"
9503+
"@metamask/permission-controller@npm:@metamask-previews/permission-controller@12.3.0-preview-1e2fe74a0":
9504+
version: 12.3.0-preview-1e2fe74a0
9505+
resolution: "@metamask-previews/permission-controller@npm:12.3.0-preview-1e2fe74a0"
95069506
dependencies:
95079507
"@metamask/approval-controller": "npm:^9.0.1"
9508-
"@metamask/base-controller": "npm:^9.0.1"
9509-
"@metamask/controller-utils": "npm:^11.19.0"
9508+
"@metamask/base-controller": "npm:^9.1.0"
9509+
"@metamask/controller-utils": "npm:^11.20.0"
95109510
"@metamask/json-rpc-engine": "npm:^10.2.4"
9511-
"@metamask/messenger": "npm:^1.0.0"
9511+
"@metamask/messenger": "npm:^1.1.1"
95129512
"@metamask/rpc-errors": "npm:^7.0.2"
95139513
"@metamask/utils": "npm:^11.9.0"
95149514
"@types/deep-freeze-strict": "npm:^1.1.0"
95159515
deep-freeze-strict: "npm:^1.1.1"
95169516
immer: "npm:^9.0.6"
95179517
nanoid: "npm:^3.3.8"
9518-
checksum: 10/a5fe9f2bab8c2d41cd829cd6c1af970e71da97eac42de17071c10f90d975e9135a4e6987ed6b2f3ea2209b1c6c51b822508f800225fda2207cdc598c16ea77dd
9518+
checksum: 10/082815b35b19e5587127e128e5723d25e7842ed64a8c5aae6b5f8226b4070359220161ac5721c1315b7aee1e1a11d5eb1cbdb67d596aa8a6087bd9b5cc05151e
95199519
languageName: node
95209520
linkType: hard
95219521

0 commit comments

Comments
 (0)