From dc43c0864fc577ce034fc441bd83410f3332e978 Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 26 Sep 2023 12:31:57 +0200 Subject: [PATCH 1/4] Update `@metamask/json-rpc-engine` and `@metamask/utils` --- package.json | 2 +- packages/accounts-controller/package.json | 2 +- packages/address-book-controller/package.json | 2 +- packages/approval-controller/package.json | 2 +- packages/assets-controllers/package.json | 2 +- packages/base-controller/package.json | 2 +- packages/controller-utils/package.json | 2 +- packages/ens-controller/package.json | 2 +- packages/gas-fee-controller/package.json | 2 +- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- packages/network-controller/package.json | 2 +- packages/notification-controller/package.json | 2 +- packages/permission-controller/package.json | 4 +-- .../permission-controller/src/Permission.ts | 4 +-- .../src/PermissionController.test.ts | 5 ++- .../src/permission-middleware.ts | 12 ++++--- .../src/rpc-methods/getPermissions.test.ts | 2 +- .../src/rpc-methods/getPermissions.ts | 6 ++-- .../rpc-methods/requestPermissions.test.ts | 5 ++- .../src/rpc-methods/requestPermissions.ts | 2 +- packages/permission-controller/src/utils.ts | 8 ++--- packages/signature-controller/package.json | 2 +- packages/transaction-controller/package.json | 2 +- yarn.lock | 36 +++++++++---------- 25 files changed, 59 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index 5cb8011f7cb..009e212a383 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "@metamask/eslint-config-nodejs": "^12.0.0", "@metamask/eslint-config-typescript": "^12.0.0", "@metamask/eth-json-rpc-provider": "^1.0.0", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "@types/node": "^16.18.24", "@typescript-eslint/eslint-plugin": "^5.30.7", "@typescript-eslint/parser": "^5.30.7", diff --git a/packages/accounts-controller/package.json b/packages/accounts-controller/package.json index 8a624305921..5d36c7404a4 100644 --- a/packages/accounts-controller/package.json +++ b/packages/accounts-controller/package.json @@ -32,7 +32,7 @@ "@metamask/eth-snap-keyring": "^0.2.2", "@metamask/keyring-api": "^0.2.5", "@metamask/snaps-utils": "^1.0.1", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "deepmerge": "^4.2.2", "eth-rpc-errors": "^4.0.2", "ethereumjs-util": "^7.0.10", diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 396d11810a5..57c83c4d3fe 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -30,7 +30,7 @@ "dependencies": { "@metamask/base-controller": "^3.2.1", "@metamask/controller-utils": "^4.3.2", - "@metamask/utils": "^6.2.0" + "@metamask/utils": "^8.1.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.1.0", diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index bfcde9c024e..018e76901a1 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@metamask/base-controller": "^3.2.1", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "eth-rpc-errors": "^4.0.2", "immer": "^9.0.6", "nanoid": "^3.1.31" diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 27f37b2f781..7bbb7cf09af 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -42,7 +42,7 @@ "@metamask/network-controller": "^12.2.0", "@metamask/preferences-controller": "^4.4.0", "@metamask/rpc-errors": "^5.1.1", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "@types/uuid": "^8.3.0", "abort-controller": "^3.0.0", "async-mutex": "^0.2.6", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index e6ac76f22af..b4ff32a936e 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -28,7 +28,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "immer": "^9.0.6" }, "devDependencies": { diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 7470b81709c..eea9f6ec123 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@metamask/eth-query": "^3.0.1", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "@spruceid/siwe-parser": "1.1.3", "eth-ens-namehash": "^2.0.8", "eth-rpc-errors": "^4.0.2", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index eabd50b4553..2bca780a5e2 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -32,7 +32,7 @@ "@metamask/base-controller": "^3.2.1", "@metamask/controller-utils": "^4.3.2", "@metamask/network-controller": "^12.2.0", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "ethereum-ens-network-map": "^1.0.2", "punycode": "^2.1.1" }, diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index fece04e1214..96475aadda7 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -32,7 +32,7 @@ "@metamask/controller-utils": "^4.3.2", "@metamask/eth-query": "^3.0.1", "@metamask/network-controller": "^12.2.0", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "@types/uuid": "^8.3.0", "ethereumjs-util": "^7.0.10", "ethjs-unit": "^0.1.6", diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 89131eae0e4..0ead512a957 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -33,7 +33,7 @@ "@metamask/eth-keyring-controller": "^13.0.1", "@metamask/message-manager": "^7.3.2", "@metamask/preferences-controller": "^4.4.0", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "async-mutex": "^0.2.6", "ethereumjs-util": "^7.0.10", "ethereumjs-wallet": "^1.0.1", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index 52579a026aa..39d16912329 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -31,7 +31,7 @@ "@metamask/base-controller": "^3.2.1", "@metamask/controller-utils": "^4.3.2", "@metamask/eth-sig-util": "^7.0.0", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "@types/uuid": "^8.3.0", "ethereumjs-util": "^7.0.10", "jsonschema": "^1.2.4", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 384647d46c0..43035c18f61 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -35,7 +35,7 @@ "@metamask/eth-json-rpc-provider": "^1.0.0", "@metamask/eth-query": "^3.0.1", "@metamask/swappable-obj-proxy": "^2.1.0", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "async-mutex": "^0.2.6", "eth-block-tracker": "^7.0.1", "eth-rpc-errors": "^4.0.2", diff --git a/packages/notification-controller/package.json b/packages/notification-controller/package.json index 0cb8b5966db..935e5b8a8e7 100644 --- a/packages/notification-controller/package.json +++ b/packages/notification-controller/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@metamask/base-controller": "^3.2.1", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "immer": "^9.0.6", "nanoid": "^3.1.31" }, diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index 7225f0ea527..9a96e8cf5d9 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -31,12 +31,12 @@ "@metamask/approval-controller": "^3.5.1", "@metamask/base-controller": "^3.2.1", "@metamask/controller-utils": "^4.3.2", - "@metamask/utils": "^6.2.0", + "@metamask/json-rpc-engine": "^7.1.1", + "@metamask/utils": "^8.1.0", "@types/deep-freeze-strict": "^1.1.0", "deep-freeze-strict": "^1.1.1", "eth-rpc-errors": "^4.0.2", "immer": "^9.0.6", - "json-rpc-engine": "^6.1.0", "nanoid": "^3.1.31" }, "devDependencies": { diff --git a/packages/permission-controller/src/Permission.ts b/packages/permission-controller/src/Permission.ts index c6e033d2fb3..36cd03ff025 100644 --- a/packages/permission-controller/src/Permission.ts +++ b/packages/permission-controller/src/Permission.ts @@ -3,7 +3,7 @@ import type { EventConstraint, } from '@metamask/base-controller'; import type { NonEmptyArray } from '@metamask/controller-utils'; -import type { Json } from '@metamask/utils'; +import type { Json, JsonRpcParams } from '@metamask/utils'; import { nanoid } from 'nanoid'; // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -210,7 +210,7 @@ type RestrictedMethodContext = Readonly<{ [key: string]: any; }>; -export type RestrictedMethodParameters = Json[] | Record | void; +export type RestrictedMethodParameters = JsonRpcParams; /** * The arguments passed to a restricted method implementation. diff --git a/packages/permission-controller/src/PermissionController.test.ts b/packages/permission-controller/src/PermissionController.test.ts index c20e3cb71c5..e1c9a7599de 100644 --- a/packages/permission-controller/src/PermissionController.test.ts +++ b/packages/permission-controller/src/PermissionController.test.ts @@ -6,11 +6,10 @@ import type { } from '@metamask/approval-controller'; import { ControllerMessenger } from '@metamask/base-controller'; import { isPlainObject } from '@metamask/controller-utils'; -import type { Json } from '@metamask/utils'; +import { JsonRpcEngine } from '@metamask/json-rpc-engine'; import { hasProperty } from '@metamask/utils'; +import type { Json, PendingJsonRpcResponse } from '@metamask/utils'; import assert from 'assert'; -import { JsonRpcEngine } from 'json-rpc-engine'; -import type { PendingJsonRpcResponse } from 'json-rpc-engine'; import type { AsyncRestrictedMethod, diff --git a/packages/permission-controller/src/permission-middleware.ts b/packages/permission-controller/src/permission-middleware.ts index c79437fdc5d..f618e1cfd65 100644 --- a/packages/permission-controller/src/permission-middleware.ts +++ b/packages/permission-controller/src/permission-middleware.ts @@ -1,13 +1,15 @@ -import type { Json } from '@metamask/utils'; -import { createAsyncMiddleware } from 'json-rpc-engine'; +import { createAsyncMiddleware } from '@metamask/json-rpc-engine'; import type { // eslint-disable-next-line @typescript-eslint/no-unused-vars JsonRpcEngine, JsonRpcMiddleware, AsyncJsonRpcEngineNextCallback, - PendingJsonRpcResponse, +} from '@metamask/json-rpc-engine'; +import type { + Json, JsonRpcRequest, -} from 'json-rpc-engine'; + PendingJsonRpcResponse, +} from '@metamask/utils'; import type { GenericPermissionController, @@ -60,7 +62,7 @@ export function getPermissionMiddlewareFactory({ } const permissionsMiddleware = async ( - req: JsonRpcRequest, + req: JsonRpcRequest, res: PendingJsonRpcResponse, next: AsyncJsonRpcEngineNextCallback, ): Promise => { diff --git a/packages/permission-controller/src/rpc-methods/getPermissions.test.ts b/packages/permission-controller/src/rpc-methods/getPermissions.test.ts index fd97a59e515..7ebbe4a04f1 100644 --- a/packages/permission-controller/src/rpc-methods/getPermissions.test.ts +++ b/packages/permission-controller/src/rpc-methods/getPermissions.test.ts @@ -1,4 +1,4 @@ -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine } from '@metamask/json-rpc-engine'; import { getPermissionsHandler } from './getPermissions'; diff --git a/packages/permission-controller/src/rpc-methods/getPermissions.ts b/packages/permission-controller/src/rpc-methods/getPermissions.ts index 7a11734e15a..7e34f698d0d 100644 --- a/packages/permission-controller/src/rpc-methods/getPermissions.ts +++ b/packages/permission-controller/src/rpc-methods/getPermissions.ts @@ -1,5 +1,5 @@ -import type { PendingJsonRpcResponse } from '@metamask/utils'; -import type { JsonRpcEngineEndCallback } from 'json-rpc-engine'; +import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine'; +import type { JsonRpcParams, PendingJsonRpcResponse } from '@metamask/utils'; import type { PermissionConstraint } from '../Permission'; import type { SubjectPermissions } from '../PermissionController'; @@ -8,7 +8,7 @@ import { MethodNames } from '../utils'; export const getPermissionsHandler: PermittedHandlerExport< GetPermissionsHooks, - undefined, + JsonRpcParams, PermissionConstraint[] > = { methodNames: [MethodNames.getPermissions], diff --git a/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts b/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts index b657286e8a4..45b346b9618 100644 --- a/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts +++ b/packages/permission-controller/src/rpc-methods/requestPermissions.test.ts @@ -1,5 +1,8 @@ +import { + JsonRpcEngine, + createAsyncMiddleware, +} from '@metamask/json-rpc-engine'; import { ethErrors, serializeError } from 'eth-rpc-errors'; -import { JsonRpcEngine, createAsyncMiddleware } from 'json-rpc-engine'; import { requestPermissionsHandler } from './requestPermissions'; diff --git a/packages/permission-controller/src/rpc-methods/requestPermissions.ts b/packages/permission-controller/src/rpc-methods/requestPermissions.ts index 5792e4fbe73..b32b1a6bb78 100644 --- a/packages/permission-controller/src/rpc-methods/requestPermissions.ts +++ b/packages/permission-controller/src/rpc-methods/requestPermissions.ts @@ -1,7 +1,7 @@ import { isPlainObject } from '@metamask/controller-utils'; +import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine'; import type { JsonRpcRequest, PendingJsonRpcResponse } from '@metamask/utils'; import { ethErrors } from 'eth-rpc-errors'; -import type { JsonRpcEngineEndCallback } from 'json-rpc-engine'; import { invalidParams } from '../errors'; import type { PermissionConstraint, RequestedPermissions } from '../Permission'; diff --git a/packages/permission-controller/src/utils.ts b/packages/permission-controller/src/utils.ts index 660160a656f..a031cf4199a 100644 --- a/packages/permission-controller/src/utils.ts +++ b/packages/permission-controller/src/utils.ts @@ -1,13 +1,13 @@ +import type { + JsonRpcEngineEndCallback, + JsonRpcEngineNextCallback, +} from '@metamask/json-rpc-engine'; import type { Json, JsonRpcParams, JsonRpcRequest, PendingJsonRpcResponse, } from '@metamask/utils'; -import type { - JsonRpcEngineEndCallback, - JsonRpcEngineNextCallback, -} from 'json-rpc-engine'; import type { CaveatSpecificationConstraint, diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index 4104ae7cc55..9898fb91b72 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -33,7 +33,7 @@ "@metamask/controller-utils": "^4.3.2", "@metamask/logging-controller": "^1.0.1", "@metamask/message-manager": "^7.3.2", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "eth-rpc-errors": "^4.0.2", "ethereumjs-util": "^7.0.10", "immer": "^9.0.6", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 9e49ebdba5d..81a3190b72f 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -37,7 +37,7 @@ "@metamask/eth-query": "^3.0.1", "@metamask/metamask-eth-abis": "^3.0.0", "@metamask/network-controller": "^12.2.0", - "@metamask/utils": "^6.2.0", + "@metamask/utils": "^8.1.0", "async-mutex": "^0.2.6", "eth-method-registry": "1.1.0", "eth-rpc-errors": "^4.0.2", diff --git a/yarn.lock b/yarn.lock index f303cca1af0..950f328985a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1298,7 +1298,7 @@ __metadata: "@metamask/keyring-controller": ^7.5.0 "@metamask/snaps-controllers": ^1.0.1 "@metamask/snaps-utils": ^1.0.1 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 "@types/readable-stream": ^2.3.0 deepmerge: ^4.2.2 @@ -1335,7 +1335,7 @@ __metadata: "@metamask/auto-changelog": ^3.1.0 "@metamask/base-controller": ^3.2.1 "@metamask/controller-utils": ^4.3.2 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 jest: ^27.5.1 @@ -1369,7 +1369,7 @@ __metadata: dependencies: "@metamask/auto-changelog": ^3.1.0 "@metamask/base-controller": ^3.2.1 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 eth-rpc-errors: ^4.0.2 @@ -1403,7 +1403,7 @@ __metadata: "@metamask/network-controller": ^12.2.0 "@metamask/preferences-controller": ^4.4.0 "@metamask/rpc-errors": ^5.1.1 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 "@types/node": ^16.18.24 "@types/uuid": ^8.3.0 @@ -1450,7 +1450,7 @@ __metadata: resolution: "@metamask/base-controller@workspace:packages/base-controller" dependencies: "@metamask/auto-changelog": ^3.1.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 "@types/sinon": ^9.0.10 deepmerge: ^4.2.2 @@ -1502,7 +1502,7 @@ __metadata: dependencies: "@metamask/auto-changelog": ^3.1.0 "@metamask/eth-query": ^3.0.1 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@spruceid/siwe-parser": 1.1.3 "@types/jest": ^27.4.1 abort-controller: ^3.0.0 @@ -1532,7 +1532,7 @@ __metadata: "@metamask/eslint-config-nodejs": ^12.0.0 "@metamask/eslint-config-typescript": ^12.0.0 "@metamask/eth-json-rpc-provider": ^1.0.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/node": ^16.18.24 "@typescript-eslint/eslint-plugin": ^5.30.7 "@typescript-eslint/parser": ^5.30.7 @@ -1588,7 +1588,7 @@ __metadata: "@metamask/base-controller": ^3.2.1 "@metamask/controller-utils": ^4.3.2 "@metamask/network-controller": ^12.2.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 ethereum-ens-network-map: ^1.0.2 @@ -1810,7 +1810,7 @@ __metadata: "@metamask/controller-utils": ^4.3.2 "@metamask/eth-query": ^3.0.1 "@metamask/network-controller": ^12.2.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 "@types/jest-when": ^2.7.3 "@types/uuid": ^8.3.0 @@ -1902,7 +1902,7 @@ __metadata: "@metamask/message-manager": ^7.3.2 "@metamask/preferences-controller": ^4.4.0 "@metamask/scure-bip39": ^2.1.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 async-mutex: ^0.2.6 deepmerge: ^4.2.2 @@ -1947,7 +1947,7 @@ __metadata: "@metamask/base-controller": ^3.2.1 "@metamask/controller-utils": ^4.3.2 "@metamask/eth-sig-util": ^7.0.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 "@types/uuid": ^8.3.0 deepmerge: ^4.2.2 @@ -1999,7 +1999,7 @@ __metadata: "@metamask/eth-json-rpc-provider": ^1.0.0 "@metamask/eth-query": ^3.0.1 "@metamask/swappable-obj-proxy": ^2.1.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 "@types/jest-when": ^2.7.3 "@types/lodash": ^4.14.191 @@ -2028,7 +2028,7 @@ __metadata: dependencies: "@metamask/auto-changelog": ^3.1.0 "@metamask/base-controller": ^3.2.1 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 immer: ^9.0.6 @@ -2080,7 +2080,8 @@ __metadata: "@metamask/auto-changelog": ^3.1.0 "@metamask/base-controller": ^3.2.1 "@metamask/controller-utils": ^4.3.2 - "@metamask/utils": ^6.2.0 + "@metamask/json-rpc-engine": ^7.1.1 + "@metamask/utils": ^8.1.0 "@types/deep-freeze-strict": ^1.1.0 "@types/jest": ^27.4.1 deep-freeze-strict: ^1.1.1 @@ -2088,7 +2089,6 @@ __metadata: eth-rpc-errors: ^4.0.2 immer: ^9.0.6 jest: ^27.5.1 - json-rpc-engine: ^6.1.0 nanoid: ^3.1.31 ts-jest: ^27.1.4 typedoc: ^0.22.15 @@ -2339,7 +2339,7 @@ __metadata: "@metamask/keyring-controller": ^7.5.0 "@metamask/logging-controller": ^1.0.1 "@metamask/message-manager": ^7.3.2 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 deepmerge: ^4.2.2 eth-rpc-errors: ^4.0.2 @@ -2564,7 +2564,7 @@ __metadata: "@metamask/eth-query": ^3.0.1 "@metamask/metamask-eth-abis": ^3.0.0 "@metamask/network-controller": ^12.2.0 - "@metamask/utils": ^6.2.0 + "@metamask/utils": ^8.1.0 "@types/jest": ^27.4.1 "@types/node": ^16.18.24 async-mutex: ^0.2.6 @@ -2623,7 +2623,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^6.0.1, @metamask/utils@npm:^6.2.0": +"@metamask/utils@npm:^6.0.1": version: 6.2.0 resolution: "@metamask/utils@npm:6.2.0" dependencies: From 93f6ede87db241475d0b75a4be189a86615dd7f3 Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 26 Sep 2023 12:50:17 +0200 Subject: [PATCH 2/4] Fix type errors in permission controller tests --- .../src/PermissionController.test.ts | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/permission-controller/src/PermissionController.test.ts b/packages/permission-controller/src/PermissionController.test.ts index e1c9a7599de..841315b7193 100644 --- a/packages/permission-controller/src/PermissionController.test.ts +++ b/packages/permission-controller/src/PermissionController.test.ts @@ -8,7 +8,11 @@ import { ControllerMessenger } from '@metamask/base-controller'; import { isPlainObject } from '@metamask/controller-utils'; import { JsonRpcEngine } from '@metamask/json-rpc-engine'; import { hasProperty } from '@metamask/utils'; -import type { Json, PendingJsonRpcResponse } from '@metamask/utils'; +import type { + Json, + PendingJsonRpcResponse, + JsonRpcParams, +} from '@metamask/utils'; import assert from 'assert'; import type { @@ -250,7 +254,7 @@ function getDefaultPermissionSpecifications() { CaveatTypes.filterArrayResponse, CaveatTypes.reverseArrayResponse, ], - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return ['a', 'b', 'c']; }, }, @@ -261,7 +265,7 @@ function getDefaultPermissionSpecifications() { CaveatTypes.filterObjectResponse, CaveatTypes.noopCaveat, ], - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return { a: 'x', b: 'y', c: 'z' }; }, validator: (permission: PermissionConstraint) => { @@ -291,7 +295,7 @@ function getDefaultPermissionSpecifications() { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.wallet_noop, allowedCaveats: null, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, }, @@ -299,7 +303,7 @@ function getDefaultPermissionSpecifications() { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.wallet_noopWithPermittedAndFailureSideEffects, allowedCaveats: null, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, sideEffect: { @@ -311,7 +315,7 @@ function getDefaultPermissionSpecifications() { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.wallet_noopWithPermittedAndFailureSideEffects2, allowedCaveats: null, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, sideEffect: { @@ -323,7 +327,7 @@ function getDefaultPermissionSpecifications() { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.wallet_noopWithPermittedSideEffects, allowedCaveats: null, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, sideEffect: { @@ -334,7 +338,7 @@ function getDefaultPermissionSpecifications() { [PermissionKeys.wallet_noopWithValidator]: { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.wallet_noopWithValidator, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, allowedCaveats: [CaveatTypes.noopCaveat, CaveatTypes.filterArrayResponse], @@ -351,7 +355,7 @@ function getDefaultPermissionSpecifications() { [PermissionKeys.wallet_noopWithRequiredCaveat]: { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.wallet_noopWithRequiredCaveat, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, allowedCaveats: [CaveatTypes.noopCaveat], @@ -387,7 +391,7 @@ function getDefaultPermissionSpecifications() { [PermissionKeys.wallet_noopWithFactory]: { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.wallet_noopWithFactory, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, allowedCaveats: [CaveatTypes.filterArrayResponse], @@ -414,7 +418,7 @@ function getDefaultPermissionSpecifications() { permissionType: PermissionType.RestrictedMethod, targetName: PermissionKeys.snap_foo, allowedCaveats: null, - methodImplementation: (_args: RestrictedMethodOptions) => { + methodImplementation: (_args: RestrictedMethodOptions) => { return null; }, subjectTypes: [SubjectType.Snap], From 2a1179d8e8404468f508d2549d2d72656a7e220e Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 26 Sep 2023 13:13:18 +0200 Subject: [PATCH 3/4] Patch @metamask/rpc-methods --- ...ethods-npm-0.38.1-flask.1-081e1eb5b3.patch | 19 ++++++++++++++ package.json | 4 +++ yarn.lock | 26 +++++++++---------- 3 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 .yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch diff --git a/.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch b/.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch new file mode 100644 index 00000000000..01ab02aa938 --- /dev/null +++ b/.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch @@ -0,0 +1,19 @@ +diff --git a/dist/types/restricted/getLocale.d.ts b/dist/types/restricted/getLocale.d.ts +index 2941d2733042664c341776c7bc840ba0813994ca..0188bbd4de0cd013159a36b736ad9baf94c18c92 100644 +--- a/dist/types/restricted/getLocale.d.ts ++++ b/dist/types/restricted/getLocale.d.ts +@@ -1,6 +1,6 @@ + import type { PermissionSpecificationBuilder, ValidPermissionSpecification, RestrictedMethodOptions } from '@metamask/permission-controller'; + import { PermissionType } from '@metamask/permission-controller'; +-import type { NonEmptyArray } from '@metamask/utils'; ++import type { Json, NonEmptyArray } from '@metamask/utils'; + import type { MethodHooksObject } from '../utils'; + declare const methodName = "snap_getLocale"; + export declare type GetLocaleMethodHooks = { +@@ -43,5 +43,5 @@ export declare const getLocaleBuilder: Readonly<{ + * @param hooks.getLocale - A function that returns the user selected locale. + * @returns The user selected locale. + */ +-export declare function getImplementation({ getLocale }: GetLocaleMethodHooks): (_args: RestrictedMethodOptions) => Promise; ++export declare function getImplementation({ getLocale }: GetLocaleMethodHooks): (_args: RestrictedMethodOptions | Json[]>) => Promise; + export {}; diff --git a/package.json b/package.json index 009e212a383..09c92ecf402 100644 --- a/package.json +++ b/package.json @@ -82,5 +82,9 @@ "ethereumjs-util>ethereum-cryptography>secp256k1": true, "simple-git-hooks": false } + }, + "resolutions": { + "@metamask/rpc-methods@^0.38.1-flask.1": "patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch", + "@metamask/rpc-methods@^1.0.1": "patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch" } } diff --git a/yarn.lock b/yarn.lock index 950f328985a..cba01517c1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1464,7 +1464,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/browser-passworder@npm:^4.0.2, @metamask/browser-passworder@npm:^4.1.0": +"@metamask/browser-passworder@npm:^4.1.0": version: 4.1.0 resolution: "@metamask/browser-passworder@npm:4.1.0" checksum: f1edb3b75594b8e8d075b3134c9ce6c73573160eb48184ef722b9d96a5763db1e2e9acb166fc5c66c7c82936e134a02a3fb4c0022ca9a948857a30181cb84d7e @@ -2244,7 +2244,7 @@ __metadata: languageName: node linkType: hard -"@metamask/rpc-methods@npm:^0.38.1-flask.1": +"@metamask/rpc-methods@npm:0.38.1-flask.1": version: 0.38.1-flask.1 resolution: "@metamask/rpc-methods@npm:0.38.1-flask.1" dependencies: @@ -2261,22 +2261,20 @@ __metadata: languageName: node linkType: hard -"@metamask/rpc-methods@npm:^1.0.1": - version: 1.0.1 - resolution: "@metamask/rpc-methods@npm:1.0.1" +"@metamask/rpc-methods@patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch::locator=%40metamask%2Fcore-monorepo%40workspace%3A.": + version: 0.38.1-flask.1 + resolution: "@metamask/rpc-methods@patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch::version=0.38.1-flask.1&hash=2abe25&locator=%40metamask%2Fcore-monorepo%40workspace%3A." dependencies: - "@metamask/browser-passworder": ^4.0.2 - "@metamask/key-tree": ^7.1.1 - "@metamask/permission-controller": ^4.0.0 - "@metamask/snaps-ui": ^1.0.1 - "@metamask/snaps-utils": ^1.0.1 + "@metamask/key-tree": ^9.0.0 + "@metamask/permission-controller": ^4.1.0 + "@metamask/snaps-ui": ^0.37.4-flask.1 + "@metamask/snaps-utils": ^0.38.2-flask.1 "@metamask/types": ^1.1.0 "@metamask/utils": ^6.0.1 - "@noble/hashes": ^1.1.3 - eth-rpc-errors: ^4.0.2 - nanoid: ^3.1.31 + "@noble/hashes": ^1.3.1 + eth-rpc-errors: ^4.0.3 superstruct: ^1.0.3 - checksum: 9d5c91f7af7c66b5f7afe23ce08a1d959bec1c7423063e955ae30ca41ed048e793a4e075b0fd23b9a8e54ff3a3fee018994e8d2fa494adebcc236f0bdd484340 + checksum: 61829b70d80b7d3ad40e3916a303c26b4545f61b74ea776063c9803dce7ffa4c8882fef0189803a07250e125dc3818cbd9a4e6891d1041da23bb2a9c26f85441 languageName: node linkType: hard From 852c1e9beda4c7eb7f685877cc8bbaf6f02b77d0 Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Tue, 26 Sep 2023 13:17:47 +0200 Subject: [PATCH 4/4] Update formatting --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 09c92ecf402..9c76630a028 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,10 @@ "simple-git-hooks": { "pre-push": "yarn lint" }, + "resolutions": { + "@metamask/rpc-methods@^0.38.1-flask.1": "patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch", + "@metamask/rpc-methods@^1.0.1": "patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch" + }, "devDependencies": { "@lavamoat/allow-scripts": "^2.3.1", "@metamask/create-release-branch": "^1.1.0", @@ -82,9 +86,5 @@ "ethereumjs-util>ethereum-cryptography>secp256k1": true, "simple-git-hooks": false } - }, - "resolutions": { - "@metamask/rpc-methods@^0.38.1-flask.1": "patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch", - "@metamask/rpc-methods@^1.0.1": "patch:@metamask/rpc-methods@npm%3A0.38.1-flask.1#./.yarn/patches/@metamask-rpc-methods-npm-0.38.1-flask.1-081e1eb5b3.patch" } }