From 26ae5339f16a7e210d6401c5af0506d9f2db6918 Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Mon, 29 Sep 2025 19:28:34 +0200 Subject: [PATCH 1/9] refactor: migrate `PPOMController` to `@metamask/messenger` --- package.json | 3 ++- src/ppom-controller.test.ts | 4 +-- src/ppom-controller.ts | 25 +++++++++-------- test/test-utils.ts | 53 ++++++++++++++++++++++++------------- tsconfig.json | 2 +- yarn.lock | 42 +++++++++++++++++++++++++++-- 6 files changed, 91 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index d997c08d..7b521687 100644 --- a/package.json +++ b/package.json @@ -31,8 +31,9 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "^8.3.0", + "@metamask/base-controller": "^8.4.0", "@metamask/controller-utils": "^11.3.0", + "@metamask/messenger": "^0.3.0", "@metamask/utils": "^9.2.1", "await-semaphore": "^0.1.3", "crypto-js": "^4.2.0", diff --git a/src/ppom-controller.test.ts b/src/ppom-controller.test.ts index d29463bb..3b117763 100644 --- a/src/ppom-controller.test.ts +++ b/src/ppom-controller.test.ts @@ -1,4 +1,4 @@ -import { deriveStateFromMetadata } from '@metamask/base-controller'; +import { deriveStateFromMetadata } from '@metamask/base-controller/next'; import * as Utils from './util'; import { @@ -633,7 +633,7 @@ describe('PPOMController', () => { deriveStateFromMetadata( controller.state, controller.metadata, - 'anonymous', + 'includeInDebugSnapshot', ), ).toMatchInlineSnapshot(`Object {}`); }); diff --git a/src/ppom-controller.ts b/src/ppom-controller.ts index 06d2ad21..f1e3ffbc 100644 --- a/src/ppom-controller.ts +++ b/src/ppom-controller.ts @@ -1,10 +1,11 @@ import type { ControllerGetStateAction, ControllerStateChangeEvent, - RestrictedMessenger, -} from '@metamask/base-controller'; -import { BaseController } from '@metamask/base-controller'; + StateMetadata, +} from '@metamask/base-controller/next'; +import { BaseController } from '@metamask/base-controller/next'; import { safelyExecute, timeoutFetch } from '@metamask/controller-utils'; +import type { Messenger } from '@metamask/messenger'; import type { NetworkControllerGetNetworkClientByIdAction, NetworkControllerNetworkDidChangeEvent, @@ -111,17 +112,17 @@ export type PPOMState = { storageMetadata: FileMetadataList; }; -const stateMetaData = { +const stateMetaData: StateMetadata = { versionInfo: { includeInStateLogs: true, persist: true, - anonymous: false, + includeInDebugSnapshot: false, usedInUi: false, }, storageMetadata: { includeInStateLogs: false, persist: true, - anonymous: false, + includeInDebugSnapshot: false, usedInUi: false, }, }; @@ -158,12 +159,10 @@ export type AllowedEvents = NetworkControllerNetworkDidChangeEvent; export type AllowedActions = NetworkControllerGetNetworkClientByIdAction; -export type PPOMControllerMessenger = RestrictedMessenger< +export type PPOMControllerMessenger = Messenger< typeof controllerName, PPOMControllerActions | AllowedActions, - PPOMControllerEvents | AllowedEvents, - AllowedActions['type'], - AllowedEvents['type'] + PPOMControllerEvents | AllowedEvents >; // eslint-disable-next-line @typescript-eslint/naming-convention @@ -405,7 +404,7 @@ export class PPOMController extends BaseController< * 2. reset PPOM */ #onNetworkChange(networkControllerState: NetworkState): void { - const selectedNetworkClient = this.messagingSystem.call( + const selectedNetworkClient = this.messenger.call( 'NetworkController:getNetworkClientById', networkControllerState.selectedNetworkClientId, ); @@ -444,7 +443,7 @@ export class PPOMController extends BaseController< * Constructor helper for registering this controller's messaging system actions. */ #registerMessageHandlers(): void { - this.messagingSystem.registerActionHandler( + this.messenger.registerActionHandler( `${controllerName}:usePPOM` as const, this.usePPOM.bind(this), ); @@ -456,7 +455,7 @@ export class PPOMController extends BaseController< */ #subscribeMessageEvents(): void { const onNetworkChange = this.#onNetworkChange.bind(this); - this.messagingSystem.subscribe( + this.messenger.subscribe( 'NetworkController:networkDidChange', onNetworkChange, ); diff --git a/test/test-utils.ts b/test/test-utils.ts index 787c34b0..3630bec8 100644 --- a/test/test-utils.ts +++ b/test/test-utils.ts @@ -1,20 +1,27 @@ -import { Messenger } from '@metamask/base-controller'; import * as ControllerUtils from '@metamask/controller-utils'; +import { + Messenger, + MOCK_ANY_NAMESPACE, + type MessengerActions, + type MessengerEvents, + type MockAnyNamespace, +} from '@metamask/messenger'; import type { NetworkClientId, NetworkState, } from '@metamask/network-controller'; -import type { - AllowedActions, - AllowedEvents, - PPOMControllerActions, - PPOMControllerEvents, -} from '../src/ppom-controller'; +import type { PPOMControllerMessenger } from '../src/ppom-controller'; import { PPOMController } from '../src/ppom-controller'; import type { StorageKey } from '../src/ppom-storage'; import { SUPPORTED_NETWORK_CHAINIDS } from '../src/util'; +type AllActions = MessengerActions; + +type AllEvents = MessengerEvents; + +type RootMessenger = Messenger; + export const buildDummyResponse = ( resultType = 'DUMMY_RESULT_TYPE', reason = 'DUMMY_REASON', @@ -180,17 +187,25 @@ export class PPOMClass { } export const buildPPOMController = (options?: any) => { - const controllerMessenger: Messenger< - PPOMControllerActions | AllowedActions, - PPOMControllerEvents | AllowedEvents - > = new Messenger(); - const messenger = controllerMessenger.getRestricted({ - name: 'PPOMController', - allowedActions: ['NetworkController:getNetworkClientById'], - allowedEvents: ['NetworkController:networkDidChange'], + const messenger: RootMessenger = new Messenger({ + namespace: MOCK_ANY_NAMESPACE, + }); + const ppomControllerMessenger = new Messenger< + 'PPOMController', + AllActions, + AllEvents, + RootMessenger + >({ + namespace: 'PPOMController', + parent: messenger, + }); + messenger.delegate({ + messenger: ppomControllerMessenger, + actions: ['NetworkController:getNetworkClientById'], + events: ['NetworkController:networkDidChange'], }); const mockGetNetworkClientById = jest.fn(); - controllerMessenger.registerActionHandler( + messenger.registerActionHandler( 'NetworkController:getNetworkClientById', mockGetNetworkClientById.mockReturnValue({ configuration: { chainId: '0x1' }, @@ -203,7 +218,7 @@ export const buildPPOMController = (options?: any) => { storageBackend: storageBackendReturningData, provider: () => undefined, chainId: SUPPORTED_NETWORK_CHAINIDS.MAINNET, - messenger, + messenger: ppomControllerMessenger, securityAlertsEnabled: true, onPreferencesChange: () => undefined, state: {}, @@ -219,14 +234,14 @@ export const buildPPOMController = (options?: any) => { }: { selectedNetworkClientId: NetworkClientId; }) => { - controllerMessenger.publish('NetworkController:networkDidChange', { + messenger.publish('NetworkController:networkDidChange', { selectedNetworkClientId, } as NetworkState); }; return { changeNetwork, mockGetNetworkClientById, - controllerMessenger, + messenger, ppomController, }; }; diff --git a/tsconfig.json b/tsconfig.json index 7483086d..508b04d1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,7 @@ "forceConsistentCasingInFileNames": true, "lib": ["ES2020", "DOM"], "module": "CommonJS", - "moduleResolution": "node", + "moduleResolution": "Node16", "noEmit": true, "noErrorTruncation": true, "noUncheckedIndexedAccess": true, diff --git a/yarn.lock b/yarn.lock index 758edef2..5020e92a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -953,7 +953,7 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@npm:^8.0.1, @metamask/base-controller@npm:^8.1.0, @metamask/base-controller@npm:^8.3.0": +"@metamask/base-controller@npm:^8.0.1, @metamask/base-controller@npm:^8.1.0": version: 8.3.0 resolution: "@metamask/base-controller@npm:8.3.0" dependencies: @@ -964,6 +964,17 @@ __metadata: languageName: node linkType: hard +"@metamask/base-controller@npm:^8.4.0": + version: 8.4.0 + resolution: "@metamask/base-controller@npm:8.4.0" + dependencies: + "@metamask/messenger": ^0.3.0 + "@metamask/utils": ^11.8.0 + immer: ^9.0.6 + checksum: 170838507ce30cd1820fdcd0be0a11b489bd2421305b4a6a87bf04cbe6a754af9a65628522cb916ed049dd4306be79e5a33e6e1b671a2b5ad778a66f7aa20967 + languageName: node + linkType: hard + "@metamask/controller-utils@npm:^11.12.0, @metamask/controller-utils@npm:^11.3.0": version: 11.12.0 resolution: "@metamask/controller-utils@npm:11.12.0" @@ -1157,6 +1168,13 @@ __metadata: languageName: node linkType: hard +"@metamask/messenger@npm:^0.3.0": + version: 0.3.0 + resolution: "@metamask/messenger@npm:0.3.0" + checksum: 72050d7ba672bc82319a6b6ff126c52d372418a9049555a1b94f520e664b6e8037e44203f2ecffb33f8de8e3b874174ad40da306fb8cb17decccaeb50f36f180 + languageName: node + linkType: hard + "@metamask/network-controller@npm:^24.1.0": version: 24.1.0 resolution: "@metamask/network-controller@npm:24.1.0" @@ -1202,13 +1220,14 @@ __metadata: "@lavamoat/allow-scripts": ^2.3.1 "@lavamoat/preinstall-always-fail": ^1.0.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": ^8.3.0 + "@metamask/base-controller": ^8.4.0 "@metamask/controller-utils": ^11.3.0 "@metamask/error-reporting-service": ^2.0.0 "@metamask/eslint-config": ^12.2.0 "@metamask/eslint-config-jest": ^12.0.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 + "@metamask/messenger": ^0.3.0 "@metamask/network-controller": ^24.1.0 "@metamask/utils": ^9.2.1 "@types/crypto-js": ^4.2.1 @@ -1296,6 +1315,25 @@ __metadata: languageName: node linkType: hard +"@metamask/utils@npm:^11.8.0": + version: 11.8.1 + resolution: "@metamask/utils@npm:11.8.1" + dependencies: + "@ethereumjs/tx": ^4.2.0 + "@metamask/superstruct": ^3.1.0 + "@noble/hashes": ^1.3.1 + "@scure/base": ^1.1.3 + "@types/debug": ^4.1.7 + "@types/lodash": ^4.17.20 + debug: ^4.3.4 + lodash: ^4.17.21 + pony-cause: ^2.1.10 + semver: ^7.5.4 + uuid: ^9.0.1 + checksum: 4a2a355c7875eea28ba5750ba771d3b2aa966e77acbac9b7966e7e154cf81fd2c4c9bc08e5a0382a1b743ad6f441eb259ca4720585ef00c0b23f1582207f43c1 + languageName: node + linkType: hard + "@metamask/utils@npm:^9.2.1": version: 9.2.1 resolution: "@metamask/utils@npm:9.2.1" From 3334e23c8c47da06b18dfca331123d9f46fe8640 Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Mon, 29 Sep 2025 19:29:57 +0200 Subject: [PATCH 2/9] update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b89e51d..1b78f25d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Migrate `PPOMController` to new `Messenger` from `@metamask/messenger` ([#243](https://github.com/MetaMask/core/pull/243)) + ## [0.38.0] ### Added From 1ff9fa50447061aba4b581e802a45d3757beab7a Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Mon, 29 Sep 2025 19:31:20 +0200 Subject: [PATCH 3/9] update changelog links --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b78f25d..fcdd68f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- **BREAKING:** Migrate `PPOMController` to new `Messenger` from `@metamask/messenger` ([#243](https://github.com/MetaMask/core/pull/243)) +- **BREAKING:** Migrate `PPOMController` to new `Messenger` from `@metamask/messenger` ([#249](https://github.com/MetaMask/core/pull/249)) ## [0.38.0] From b36e3119f3f20bafef33f88172f3a82f1dde98b0 Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Mon, 29 Sep 2025 19:37:16 +0200 Subject: [PATCH 4/9] deduplicate deps --- yarn.lock | 41 ++--------------------------------------- 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5020e92a..e870283b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -953,18 +953,7 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@npm:^8.0.1, @metamask/base-controller@npm:^8.1.0": - version: 8.3.0 - resolution: "@metamask/base-controller@npm:8.3.0" - dependencies: - "@metamask/messenger": ^0.2.0 - "@metamask/utils": ^11.4.2 - immer: ^9.0.6 - checksum: 957528b7f52d16c401bc2c391b1723efdbeaa950c25c1cbcde7372309cdc1028a30efcef5c121cf1dc143f4da9539a4f5ec1470c6e5e0b4d7905ac6a9c780b71 - languageName: node - linkType: hard - -"@metamask/base-controller@npm:^8.4.0": +"@metamask/base-controller@npm:^8.0.1, @metamask/base-controller@npm:^8.1.0, @metamask/base-controller@npm:^8.4.0": version: 8.4.0 resolution: "@metamask/base-controller@npm:8.4.0" dependencies: @@ -1161,13 +1150,6 @@ __metadata: languageName: node linkType: hard -"@metamask/messenger@npm:^0.2.0": - version: 0.2.0 - resolution: "@metamask/messenger@npm:0.2.0" - checksum: fad113b3bdeda5c481c1bd121b9a6ca8d8f06dab3031550c5bc0da72844876dc3fe27241fe604c5b70e6b553be4bc6a63f07c48c6215ca60d554d9dafd7cc246 - languageName: node - linkType: hard - "@metamask/messenger@npm:^0.3.0": version: 0.3.0 resolution: "@metamask/messenger@npm:0.3.0" @@ -1296,26 +1278,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0, @metamask/utils@npm:^11.4.2": - version: 11.7.0 - resolution: "@metamask/utils@npm:11.7.0" - dependencies: - "@ethereumjs/tx": ^4.2.0 - "@metamask/superstruct": ^3.1.0 - "@noble/hashes": ^1.3.1 - "@scure/base": ^1.1.3 - "@types/debug": ^4.1.7 - "@types/lodash": ^4.17.20 - debug: ^4.3.4 - lodash: ^4.17.21 - pony-cause: ^2.1.10 - semver: ^7.5.4 - uuid: ^9.0.1 - checksum: 8fb694d40f523c11e213c2a997db559bf6472d2181fc89d91167c8a8e3487da9c3f8336de74c7a8f9944222d7f1ddd8b89eea021a83db871dfeb4858bbdd1a47 - languageName: node - linkType: hard - -"@metamask/utils@npm:^11.8.0": +"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0, @metamask/utils@npm:^11.4.2, @metamask/utils@npm:^11.8.0": version: 11.8.1 resolution: "@metamask/utils@npm:11.8.1" dependencies: From 3c570984fe6b6f67df88fe33f09f8870d9cfc04d Mon Sep 17 00:00:00 2001 From: Salah-Eddine Saakoun Date: Mon, 27 Oct 2025 21:32:51 +0100 Subject: [PATCH 5/9] chore: bump @metamask/base-controller from 8.3.0 to 9.0.0 --- CHANGELOG.md | 6 +- package.json | 10 +-- src/ppom-controller.test.ts | 2 +- src/ppom-controller.ts | 4 +- yarn.lock | 143 ++++++++++++++++++------------------ 5 files changed, 84 insertions(+), 81 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcdd68f5..a97f20c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- **BREAKING:** Migrate `PPOMController` to new `Messenger` from `@metamask/messenger` ([#249](https://github.com/MetaMask/core/pull/249)) +- **BREAKING:** Migrate `PPOMController` to new `Messenger` from `@metamask/messenger` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) +- **BREAKING:** Metadata property `anonymous` renamed to `includeInDebugSnapshot` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) +- **BREAKING:** Bump `@metamask/network-controller` peer dependency from `^24.0.O` to `^25.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) +- **BREAKING:** Bump `@metamask/error-reporting-service` peer dependency from `^2.0.0` to `^3.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) +- Bump `@metamask/base-controller` from `^8.3.0` to `^9.0.0`([#249](https://github.com/MetaMask/ppom-validator/pull/249)) ## [0.38.0] diff --git a/package.json b/package.json index 7b521687..94e61d0d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@metamask/base-controller": "^8.4.0", + "@metamask/base-controller": "^9.0.0", "@metamask/controller-utils": "^11.3.0", "@metamask/messenger": "^0.3.0", "@metamask/utils": "^9.2.1", @@ -45,12 +45,12 @@ "@lavamoat/allow-scripts": "^2.3.1", "@lavamoat/preinstall-always-fail": "^1.0.0", "@metamask/auto-changelog": "^3.1.0", - "@metamask/error-reporting-service": "^2.0.0", + "@metamask/error-reporting-service": "^3.0.0", "@metamask/eslint-config": "^12.2.0", "@metamask/eslint-config-jest": "^12.0.0", "@metamask/eslint-config-nodejs": "^12.1.0", "@metamask/eslint-config-typescript": "^12.1.0", - "@metamask/network-controller": "^24.1.0", + "@metamask/network-controller": "^25.0.0", "@types/crypto-js": "^4.2.1", "@types/elliptic": "^6.4.14", "@types/jest": "^28.1.6", @@ -77,8 +77,8 @@ "typescript": "~4.8.4" }, "peerDependencies": { - "@metamask/error-reporting-service": "^2.0.0", - "@metamask/network-controller": "^24.0.0" + "@metamask/error-reporting-service": "^3.0.0", + "@metamask/network-controller": "^25.0.0" }, "packageManager": "yarn@3.2.1", "engines": { diff --git a/src/ppom-controller.test.ts b/src/ppom-controller.test.ts index 3b117763..0040d125 100644 --- a/src/ppom-controller.test.ts +++ b/src/ppom-controller.test.ts @@ -1,4 +1,4 @@ -import { deriveStateFromMetadata } from '@metamask/base-controller/next'; +import { deriveStateFromMetadata } from '@metamask/base-controller'; import * as Utils from './util'; import { diff --git a/src/ppom-controller.ts b/src/ppom-controller.ts index f1e3ffbc..3b772791 100644 --- a/src/ppom-controller.ts +++ b/src/ppom-controller.ts @@ -2,8 +2,8 @@ import type { ControllerGetStateAction, ControllerStateChangeEvent, StateMetadata, -} from '@metamask/base-controller/next'; -import { BaseController } from '@metamask/base-controller/next'; +} from '@metamask/base-controller'; +import { BaseController } from '@metamask/base-controller'; import { safelyExecute, timeoutFetch } from '@metamask/controller-utils'; import type { Messenger } from '@metamask/messenger'; import type { diff --git a/yarn.lock b/yarn.lock index e870283b..d9d4bbd1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -953,24 +953,24 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@npm:^8.0.1, @metamask/base-controller@npm:^8.1.0, @metamask/base-controller@npm:^8.4.0": - version: 8.4.0 - resolution: "@metamask/base-controller@npm:8.4.0" +"@metamask/base-controller@npm:^9.0.0": + version: 9.0.0 + resolution: "@metamask/base-controller@npm:9.0.0" dependencies: "@metamask/messenger": ^0.3.0 - "@metamask/utils": ^11.8.0 + "@metamask/utils": ^11.8.1 immer: ^9.0.6 - checksum: 170838507ce30cd1820fdcd0be0a11b489bd2421305b4a6a87bf04cbe6a754af9a65628522cb916ed049dd4306be79e5a33e6e1b671a2b5ad778a66f7aa20967 + checksum: 02da25ce528ccd18c253127972b39830b59d9c56a703cf9cc34505185191742ab2e28aca4d6f42f7ee5769ff3a989a9d536911f83baee9b44ce44bf91f08d7d7 languageName: node linkType: hard -"@metamask/controller-utils@npm:^11.12.0, @metamask/controller-utils@npm:^11.3.0": - version: 11.12.0 - resolution: "@metamask/controller-utils@npm:11.12.0" +"@metamask/controller-utils@npm:^11.14.1, @metamask/controller-utils@npm:^11.3.0": + version: 11.14.1 + resolution: "@metamask/controller-utils@npm:11.14.1" dependencies: "@metamask/eth-query": ^4.0.0 "@metamask/ethjs-unit": ^0.3.0 - "@metamask/utils": ^11.4.2 + "@metamask/utils": ^11.8.1 "@spruceid/siwe-parser": 2.1.0 "@types/bn.js": ^5.1.5 bignumber.js: ^9.1.2 @@ -981,16 +981,17 @@ __metadata: lodash: ^4.17.21 peerDependencies: "@babel/runtime": ^7.0.0 - checksum: a96dea30d56676c3070d118d4e130f6f97c2ddeac1161d49a99f114af7ca6e9b87f955ea5a6a17c72410243cf9eafed5748474144013b548955b9edc7e97b409 + checksum: cf3f362764b3fbda7923f848b8b800c252f05fabd0e1918d406f5cb7512ae895a95583ce6d06e98d43f91264fc00030886c04748c13d47d974be24b260e91640 languageName: node linkType: hard -"@metamask/error-reporting-service@npm:^2.0.0": - version: 2.0.0 - resolution: "@metamask/error-reporting-service@npm:2.0.0" +"@metamask/error-reporting-service@npm:^3.0.0": + version: 3.0.0 + resolution: "@metamask/error-reporting-service@npm:3.0.0" dependencies: - "@metamask/base-controller": ^8.0.1 - checksum: 210f7d6b76aac0ba0164f3c6986987cc3e7c7681f8dc2d0e3470995c109009b95eeae14207fc89e261469f61dd3ae04aa9d0b022137ecc9ec1a4a12a44cdb76c + "@metamask/base-controller": ^9.0.0 + "@metamask/messenger": ^0.3.0 + checksum: 167769444ce3ed06cf67985418c66fad977b772806598d049aed5f6b3a71d5938bc7dd2642c1481ce1c672e451a15e90f3805380ede438334bfe2f6e99a0fe87 languageName: node linkType: hard @@ -1044,61 +1045,58 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-block-tracker@npm:^12.0.0, @metamask/eth-block-tracker@npm:^12.0.1": - version: 12.0.1 - resolution: "@metamask/eth-block-tracker@npm:12.0.1" +"@metamask/eth-block-tracker@npm:^14.0.0": + version: 14.0.0 + resolution: "@metamask/eth-block-tracker@npm:14.0.0" dependencies: - "@metamask/eth-json-rpc-provider": ^4.1.5 - "@metamask/safe-event-emitter": ^3.1.1 - "@metamask/utils": ^11.0.1 + "@metamask/eth-json-rpc-provider": ^5.0.1 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^11.8.1 json-rpc-random-id: ^1.0.1 - pify: ^5.0.0 - checksum: 2c4aa326d9665665f6986a2fbaed905d9682de536c325974878e145c5a50740b2542d6ea4173772036b0f79e86249cc635025ca384d2687c41cb19911e1636bb + checksum: 1758d53d95ba3719af9d39aa90320261394b6d6cd9a372835c9ce71a8ba99e2bba63800157532303a0baae7788154f562392a7b5ccd7613957ccf2b9945644da languageName: node linkType: hard -"@metamask/eth-json-rpc-infura@npm:^10.2.0": - version: 10.2.0 - resolution: "@metamask/eth-json-rpc-infura@npm:10.2.0" +"@metamask/eth-json-rpc-infura@npm:^10.3.0": + version: 10.3.0 + resolution: "@metamask/eth-json-rpc-infura@npm:10.3.0" dependencies: - "@metamask/eth-json-rpc-provider": ^4.1.7 - "@metamask/json-rpc-engine": ^10.0.2 + "@metamask/eth-json-rpc-provider": ^5.0.0 + "@metamask/json-rpc-engine": ^10.1.0 "@metamask/rpc-errors": ^7.0.2 "@metamask/utils": ^11.0.1 - checksum: d183a1577c5b47b648a359efdcc389cf4467d396213057f061d66ba2d20a44c3234d18f67c4b6130827da6f5d192c67dd4c731476207e4a9969e7b21548df475 + checksum: 9ac277432ac1b08ffcc1bcd8579ec89a9e5dab89bed0c697a9eb826fa73dba9635c5cfcf787f393e59a84636d32d33c99c723877d7cf3adfdb622c05e01552cb languageName: node linkType: hard -"@metamask/eth-json-rpc-middleware@npm:^17.0.1": - version: 17.0.1 - resolution: "@metamask/eth-json-rpc-middleware@npm:17.0.1" +"@metamask/eth-json-rpc-middleware@npm:^21.0.0": + version: 21.0.0 + resolution: "@metamask/eth-json-rpc-middleware@npm:21.0.0" dependencies: - "@metamask/eth-block-tracker": ^12.0.0 - "@metamask/eth-json-rpc-provider": ^4.1.7 - "@metamask/eth-sig-util": ^8.1.2 - "@metamask/json-rpc-engine": ^10.0.2 + "@metamask/eth-block-tracker": ^14.0.0 + "@metamask/eth-json-rpc-provider": ^5.0.1 + "@metamask/eth-sig-util": ^8.2.0 + "@metamask/json-rpc-engine": ^10.1.1 "@metamask/rpc-errors": ^7.0.2 "@metamask/superstruct": ^3.1.0 - "@metamask/utils": ^11.1.0 - "@types/bn.js": ^5.1.5 - bn.js: ^5.2.1 + "@metamask/utils": ^11.8.1 klona: ^2.0.6 pify: ^5.0.0 safe-stable-stringify: ^2.4.3 - checksum: 044ebaacc9df53cbec8e7048858a13c62c5bfbb62b8fe1dad29786ed0e663466e574aebb5fbb66e2c88ad96ea3d861713e59f5aa5c816d17df2e19bd1a707af1 + checksum: 944c2691f0e253b469d1932272cd5e32273e74e67de5b3946401d496f90ba422913ac1397e77e296b23e9e8d1d630d31030ccdfd659432d3a283fd3343ad1fa8 languageName: node linkType: hard -"@metamask/eth-json-rpc-provider@npm:^4.1.5, @metamask/eth-json-rpc-provider@npm:^4.1.7, @metamask/eth-json-rpc-provider@npm:^4.1.8": - version: 4.1.8 - resolution: "@metamask/eth-json-rpc-provider@npm:4.1.8" +"@metamask/eth-json-rpc-provider@npm:^5.0.0, @metamask/eth-json-rpc-provider@npm:^5.0.1": + version: 5.0.1 + resolution: "@metamask/eth-json-rpc-provider@npm:5.0.1" dependencies: - "@metamask/json-rpc-engine": ^10.0.3 + "@metamask/json-rpc-engine": ^10.1.1 "@metamask/rpc-errors": ^7.0.2 "@metamask/safe-event-emitter": ^3.0.0 - "@metamask/utils": ^11.1.0 + "@metamask/utils": ^11.8.1 uuid: ^8.3.2 - checksum: 08f610e318ff32e37afb9d21ed3e55d655c6382c76af70427a88468e89725f8374bd9e4d2b3672e7319c2030d5b8c3e3d7924a3143b83e96d581efd08ece068b + checksum: 12c57f292e8731c77d63c2e7e832fb543f42dcc0c042982383c354282b11741ff160829e57358f863e89d0d8d03ecee95c5b17326c95bb6ee1058f105592d91e languageName: node linkType: hard @@ -1112,7 +1110,7 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-sig-util@npm:^8.1.2": +"@metamask/eth-sig-util@npm:^8.2.0": version: 8.2.0 resolution: "@metamask/eth-sig-util@npm:8.2.0" dependencies: @@ -1139,14 +1137,14 @@ __metadata: languageName: node linkType: hard -"@metamask/json-rpc-engine@npm:^10.0.2, @metamask/json-rpc-engine@npm:^10.0.3": - version: 10.0.3 - resolution: "@metamask/json-rpc-engine@npm:10.0.3" +"@metamask/json-rpc-engine@npm:^10.1.0, @metamask/json-rpc-engine@npm:^10.1.1": + version: 10.1.1 + resolution: "@metamask/json-rpc-engine@npm:10.1.1" dependencies: "@metamask/rpc-errors": ^7.0.2 "@metamask/safe-event-emitter": ^3.0.0 - "@metamask/utils": ^11.1.0 - checksum: 1ad7e23e3a4017da8bb70a8ed8d4932475d42c60ace0d088f462a8e438cbf9154eaec4ba79621661fed95ff50ff6fa3db479404086238ab9eb5b3e9153c1051c + "@metamask/utils": ^11.8.1 + checksum: 7f37dbf4a4f12a37a70b3cd23e4588c109da014134e767b5acf464de0439a567889771383f193697c48bb2a7df2fa65294ed0f58c411263978ea4e507c525d1c languageName: node linkType: hard @@ -1157,21 +1155,22 @@ __metadata: languageName: node linkType: hard -"@metamask/network-controller@npm:^24.1.0": - version: 24.1.0 - resolution: "@metamask/network-controller@npm:24.1.0" +"@metamask/network-controller@npm:^25.0.0": + version: 25.0.0 + resolution: "@metamask/network-controller@npm:25.0.0" dependencies: - "@metamask/base-controller": ^8.1.0 - "@metamask/controller-utils": ^11.12.0 - "@metamask/eth-block-tracker": ^12.0.1 - "@metamask/eth-json-rpc-infura": ^10.2.0 - "@metamask/eth-json-rpc-middleware": ^17.0.1 - "@metamask/eth-json-rpc-provider": ^4.1.8 + "@metamask/base-controller": ^9.0.0 + "@metamask/controller-utils": ^11.14.1 + "@metamask/eth-block-tracker": ^14.0.0 + "@metamask/eth-json-rpc-infura": ^10.3.0 + "@metamask/eth-json-rpc-middleware": ^21.0.0 + "@metamask/eth-json-rpc-provider": ^5.0.1 "@metamask/eth-query": ^4.0.0 - "@metamask/json-rpc-engine": ^10.0.3 + "@metamask/json-rpc-engine": ^10.1.1 + "@metamask/messenger": ^0.3.0 "@metamask/rpc-errors": ^7.0.2 "@metamask/swappable-obj-proxy": ^2.3.0 - "@metamask/utils": ^11.4.2 + "@metamask/utils": ^11.8.1 async-mutex: ^0.5.0 fast-deep-equal: ^3.1.3 immer: ^9.0.6 @@ -1180,8 +1179,8 @@ __metadata: uri-js: ^4.4.1 uuid: ^8.3.2 peerDependencies: - "@metamask/error-reporting-service": ^2.0.0 - checksum: aa84f02a44b8d80477dffba68bcbe16a22e76ea29d713aa50a3f10fdbb38a239a7b7aa73091c7f05eb03c8d2065af11f0869252235db91efcf48a3f42b39577a + "@metamask/error-reporting-service": ^3.0.0 + checksum: 39f5dabd243fda91e225a11322953d176bff893cce26ec58d7d65744fb2c170f969bf37bfccd461d935d08dcabe4ff37fcb651b28c42f20fa1a7d20aa27160c7 languageName: node linkType: hard @@ -1202,15 +1201,15 @@ __metadata: "@lavamoat/allow-scripts": ^2.3.1 "@lavamoat/preinstall-always-fail": ^1.0.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/base-controller": ^8.4.0 + "@metamask/base-controller": ^9.0.0 "@metamask/controller-utils": ^11.3.0 - "@metamask/error-reporting-service": ^2.0.0 + "@metamask/error-reporting-service": ^3.0.0 "@metamask/eslint-config": ^12.2.0 "@metamask/eslint-config-jest": ^12.0.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 "@metamask/messenger": ^0.3.0 - "@metamask/network-controller": ^24.1.0 + "@metamask/network-controller": ^25.0.0 "@metamask/utils": ^9.2.1 "@types/crypto-js": ^4.2.1 "@types/elliptic": ^6.4.14 @@ -1242,8 +1241,8 @@ __metadata: typedoc: ^0.23.15 typescript: ~4.8.4 peerDependencies: - "@metamask/error-reporting-service": ^2.0.0 - "@metamask/network-controller": ^24.0.0 + "@metamask/error-reporting-service": ^3.0.0 + "@metamask/network-controller": ^25.0.0 languageName: unknown linkType: soft @@ -1257,7 +1256,7 @@ __metadata: languageName: node linkType: hard -"@metamask/safe-event-emitter@npm:^3.0.0, @metamask/safe-event-emitter@npm:^3.1.1": +"@metamask/safe-event-emitter@npm:^3.0.0": version: 3.1.2 resolution: "@metamask/safe-event-emitter@npm:3.1.2" checksum: 8ef7579f9317eb5c94ecf3e6abb8d13b119af274b678805eac76abe4c0667bfdf539f385e552bb973e96333b71b77aa7c787cb3fce9cd5fb4b00f1dbbabf880d @@ -1278,7 +1277,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0, @metamask/utils@npm:^11.4.2, @metamask/utils@npm:^11.8.0": +"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.4.2, @metamask/utils@npm:^11.8.1": version: 11.8.1 resolution: "@metamask/utils@npm:11.8.1" dependencies: From 81986ab5b969554c9c8fedf52a1eea3f0a3ab489 Mon Sep 17 00:00:00 2001 From: cryptodev-2s <109512101+cryptodev-2s@users.noreply.github.com> Date: Mon, 27 Oct 2025 21:37:50 +0100 Subject: [PATCH 6/9] Update CHANGELOG.md Co-authored-by: Mark Stacey --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a97f20c6..96e3c909 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING:** Bump `@metamask/network-controller` peer dependency from `^24.0.O` to `^25.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) - **BREAKING:** Bump `@metamask/error-reporting-service` peer dependency from `^2.0.0` to `^3.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) - Bump `@metamask/base-controller` from `^8.3.0` to `^9.0.0`([#249](https://github.com/MetaMask/ppom-validator/pull/249)) +- Set `moduleResolution` option to `Node16` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) ## [0.38.0] From 50b8447fed91f367927add4a0394828a7820da92 Mon Sep 17 00:00:00 2001 From: Salah-Eddine Saakoun Date: Mon, 27 Oct 2025 22:12:10 +0100 Subject: [PATCH 7/9] fix: build --- CHANGELOG.md | 2 +- package.json | 4 ++-- tsconfig.json | 2 +- yarn.lock | 30 ++++++++++++++++-------------- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96e3c909..b91f79c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING:** Bump `@metamask/network-controller` peer dependency from `^24.0.O` to `^25.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) - **BREAKING:** Bump `@metamask/error-reporting-service` peer dependency from `^2.0.0` to `^3.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) - Bump `@metamask/base-controller` from `^8.3.0` to `^9.0.0`([#249](https://github.com/MetaMask/ppom-validator/pull/249)) -- Set `moduleResolution` option to `Node16` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) +- Set `module` and `moduleResolution` option to `Node16` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) ## [0.38.0] diff --git a/package.json b/package.json index 94e61d0d..818b3707 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@types/elliptic": "^6.4.14", "@types/jest": "^28.1.6", "@types/json-rpc-random-id": "^1.0.1", - "@types/node": "^16", + "@types/node": "^18.19.130", "@typescript-eslint/eslint-plugin": "^5.43.0", "@typescript-eslint/parser": "^5.43.0", "depcheck": "^1.4.3", @@ -74,7 +74,7 @@ "ts-jest": "^28.0.7", "ts-node": "^10.7.0", "typedoc": "^0.23.15", - "typescript": "~4.8.4" + "typescript": "~5.7.3" }, "peerDependencies": { "@metamask/error-reporting-service": "^3.0.0", diff --git a/tsconfig.json b/tsconfig.json index 508b04d1..3b822670 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,7 @@ "exactOptionalPropertyTypes": true, "forceConsistentCasingInFileNames": true, "lib": ["ES2020", "DOM"], - "module": "CommonJS", + "module": "Node16", "moduleResolution": "Node16", "noEmit": true, "noErrorTruncation": true, diff --git a/yarn.lock b/yarn.lock index d9d4bbd1..7794669b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1215,7 +1215,7 @@ __metadata: "@types/elliptic": ^6.4.14 "@types/jest": ^28.1.6 "@types/json-rpc-random-id": ^1.0.1 - "@types/node": ^16 + "@types/node": ^18.19.130 "@typescript-eslint/eslint-plugin": ^5.43.0 "@typescript-eslint/parser": ^5.43.0 await-semaphore: ^0.1.3 @@ -1239,7 +1239,7 @@ __metadata: ts-jest: ^28.0.7 ts-node: ^10.7.0 typedoc: ^0.23.15 - typescript: ~4.8.4 + typescript: ~5.7.3 peerDependencies: "@metamask/error-reporting-service": ^3.0.0 "@metamask/network-controller": ^25.0.0 @@ -1718,10 +1718,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^16": - version: 16.18.76 - resolution: "@types/node@npm:16.18.76" - checksum: 8486668c32f0c77a559ad11549192abb1779816a8bf39e7b6679bfeefe792fbd4920f7f9f75ab1518972deb1c31fbf4ed301bd89fc47a3a124875f5092a2b080 +"@types/node@npm:^18.19.130": + version: 18.19.130 + resolution: "@types/node@npm:18.19.130" + dependencies: + undici-types: ~5.26.4 + checksum: b7032363581c416e721a88cffdc2b47662337cacd20f8294f5619a1abf79615c7fef1521964c2aa9d36ed6aae733e1a03e8c704661bd5a0c2f34b390f41ea395 languageName: node linkType: hard @@ -7197,23 +7199,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:~4.8.4": - version: 4.8.4 - resolution: "typescript@npm:4.8.4" +"typescript@npm:~5.7.3": + version: 5.7.3 + resolution: "typescript@npm:5.7.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 3e4f061658e0c8f36c820802fa809e0fd812b85687a9a2f5430bc3d0368e37d1c9605c3ce9b39df9a05af2ece67b1d844f9f6ea8ff42819f13bcb80f85629af0 + checksum: 6c38b1e989918e576f0307e6ee013522ea480dfce5f3ca85c9b2d8adb1edeffd37f4f30cd68de0c38a44563d12ba922bdb7e36aa2dac9c51de5d561e6e9a2e9c languageName: node linkType: hard -"typescript@patch:typescript@~4.8.4#~builtin": - version: 4.8.4 - resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=7ad353" +"typescript@patch:typescript@~5.7.3#~builtin": + version: 5.7.3 + resolution: "typescript@patch:typescript@npm%3A5.7.3#~builtin::version=5.7.3&hash=7ad353" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 563a0ef47abae6df27a9a3ab38f75fc681f633ccf1a3502b1108e252e187787893de689220f4544aaf95a371a4eb3141e4a337deb9895de5ac3c1ca76430e5f0 + checksum: 633cd749d6cd7bc842c6b6245847173bba99742a60776fae3c0fbcc0d1733cd51a733995e5f4dadd8afb0e64e57d3c7dbbeae953a072ee303940eca69e22f311 languageName: node linkType: hard From 33e340c8f3cdec9305eca5287e54e339b904ab66 Mon Sep 17 00:00:00 2001 From: Salah-Eddine Saakoun Date: Mon, 27 Oct 2025 22:15:14 +0100 Subject: [PATCH 8/9] fix: downgrade typescript to ~5.2.2 --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 818b3707..a0b4ae55 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "ts-jest": "^28.0.7", "ts-node": "^10.7.0", "typedoc": "^0.23.15", - "typescript": "~5.7.3" + "typescript": "~5.2.2" }, "peerDependencies": { "@metamask/error-reporting-service": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 7794669b..c3dba653 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1239,7 +1239,7 @@ __metadata: ts-jest: ^28.0.7 ts-node: ^10.7.0 typedoc: ^0.23.15 - typescript: ~5.7.3 + typescript: ~5.2.2 peerDependencies: "@metamask/error-reporting-service": ^3.0.0 "@metamask/network-controller": ^25.0.0 @@ -7199,23 +7199,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:~5.7.3": - version: 5.7.3 - resolution: "typescript@npm:5.7.3" +"typescript@npm:~5.2.2": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 6c38b1e989918e576f0307e6ee013522ea480dfce5f3ca85c9b2d8adb1edeffd37f4f30cd68de0c38a44563d12ba922bdb7e36aa2dac9c51de5d561e6e9a2e9c + checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c languageName: node linkType: hard -"typescript@patch:typescript@~5.7.3#~builtin": - version: 5.7.3 - resolution: "typescript@patch:typescript@npm%3A5.7.3#~builtin::version=5.7.3&hash=7ad353" +"typescript@patch:typescript@~5.2.2#~builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=7ad353" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 633cd749d6cd7bc842c6b6245847173bba99742a60776fae3c0fbcc0d1733cd51a733995e5f4dadd8afb0e64e57d3c7dbbeae953a072ee303940eca69e22f311 + checksum: 07106822b4305de3f22835cbba949a2b35451cad50888759b6818421290ff95d522b38ef7919e70fb381c5fe9c1c643d7dea22c8b31652a717ddbd57b7f4d554 languageName: node linkType: hard From 2c3383f06f835865f10cbc090caff6da4080b2e1 Mon Sep 17 00:00:00 2001 From: Salah-Eddine Saakoun Date: Mon, 27 Oct 2025 22:19:32 +0100 Subject: [PATCH 9/9] fix: changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b91f79c8..0a5ba02f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING:** Bump `@metamask/network-controller` peer dependency from `^24.0.O` to `^25.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) - **BREAKING:** Bump `@metamask/error-reporting-service` peer dependency from `^2.0.0` to `^3.0.0` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) - Bump `@metamask/base-controller` from `^8.3.0` to `^9.0.0`([#249](https://github.com/MetaMask/ppom-validator/pull/249)) -- Set `module` and `moduleResolution` option to `Node16` ([#249](https://github.com/MetaMask/ppom-validator/pull/249)) +- Set `module` and `moduleResolution` option to `Node16` ([#251](https://github.com/MetaMask/ppom-validator/pull/251)) ## [0.38.0]