diff --git a/app/scripts/lib/createStreamSink.js b/app/scripts/lib/createStreamSink.js index 84ad69db1813..a6d4895cd197 100644 --- a/app/scripts/lib/createStreamSink.js +++ b/app/scripts/lib/createStreamSink.js @@ -1,7 +1,7 @@ -import { Writable as WritableStream } from 'readable-stream'; +import { Writable } from 'readable-stream'; import promiseToCallback from 'promise-to-callback'; -class AsyncWritableStream extends WritableStream { +class AsyncWritableStream extends Writable { constructor(asyncWriteFn, _opts) { const opts = { objectMode: true, ..._opts }; super(opts); diff --git a/app/scripts/lib/ppom/ppom-middleware.ts b/app/scripts/lib/ppom/ppom-middleware.ts index 5dc027bf594b..7575b3c8fb46 100644 --- a/app/scripts/lib/ppom/ppom-middleware.ts +++ b/app/scripts/lib/ppom/ppom-middleware.ts @@ -22,6 +22,16 @@ const ConfirmationMethods = Object.freeze([ 'personal_sign', ]); +export const SUPPORTED_CHAIN_IDS: string[] = [ + CHAIN_IDS.MAINNET, + CHAIN_IDS.BSC, + CHAIN_IDS.POLYGON, + CHAIN_IDS.ARBITRUM, + CHAIN_IDS.OPTIMISM, + CHAIN_IDS.AVALANCHE, + CHAIN_IDS.LINEA_MAINNET, +]; + /** * Middleware function that handles JSON RPC requests. * This function will be called for every JSON RPC request. @@ -49,7 +59,7 @@ export function createPPOMMiddleware( if ( securityAlertsEnabled && ConfirmationMethods.includes(req.method) && - chainId === CHAIN_IDS.MAINNET + SUPPORTED_CHAIN_IDS.includes(chainId) ) { // eslint-disable-next-line require-atomic-updates req.securityAlertResponse = await ppomController.usePPOM( diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 05151debebc2..2f7fa803a69e 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -769,16 +769,13 @@ export default class MetamaskController extends EventEmitter { this.ppomController = new PPOMController({ messenger: this.controllerMessenger.getRestricted({ name: 'PPOMController', + allowedEvents: ['NetworkController:stateChange'], }), storageBackend: new IndexedDBPPOMStorage('PPOMDB', 1), provider: this.provider, ppomProvider: { PPOM: PPOMModule.PPOM, ppomInit: PPOMModule.default }, state: initState.PPOMController, chainId: this.networkController.state.providerConfig.chainId, - onNetworkChange: networkControllerMessenger.subscribe.bind( - networkControllerMessenger, - 'NetworkController:stateChange', - ), securityAlertsEnabled: this.preferencesController.store.getState().securityAlertsEnabled, onPreferencesChange: this.preferencesController.store.subscribe.bind( diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index c5d34a648bcd..562924a719cf 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -749,7 +749,7 @@ "packages": { "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true, "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, "eth-ens-namehash": true, @@ -1513,7 +1513,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -1521,6 +1521,12 @@ "ethereumjs-util": true } }, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": { + "packages": { + "@metamask/ethjs>number-to-bn": true, + "bn.js": true + } + }, "@metamask/message-manager>@metamask/eth-sig-util": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, @@ -1703,12 +1709,6 @@ "webpack>events": true } }, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": { - "packages": { - "@metamask/ethjs>number-to-bn": true, - "bn.js": true - } - }, "@metamask/ppom-validator>elliptic": { "packages": { "@metamask/ppom-validator>elliptic>brorand": true, @@ -1838,7 +1838,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -1883,7 +1883,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, diff --git a/lavamoat/browserify/desktop/policy.json b/lavamoat/browserify/desktop/policy.json index d5bbbd4b89a3..adbb7d8f0679 100644 --- a/lavamoat/browserify/desktop/policy.json +++ b/lavamoat/browserify/desktop/policy.json @@ -749,7 +749,7 @@ "packages": { "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true, "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, "eth-ens-namehash": true, @@ -1590,7 +1590,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -1598,6 +1598,12 @@ "ethereumjs-util": true } }, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": { + "packages": { + "@metamask/ethjs>number-to-bn": true, + "bn.js": true + } + }, "@metamask/message-manager>@metamask/eth-sig-util": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, @@ -1807,12 +1813,6 @@ "webpack>events": true } }, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": { - "packages": { - "@metamask/ethjs>number-to-bn": true, - "bn.js": true - } - }, "@metamask/ppom-validator>elliptic": { "packages": { "@metamask/ppom-validator>elliptic>brorand": true, @@ -1979,7 +1979,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -2024,7 +2024,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index caa141248e0c..cc1cacd9cc1f 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -749,7 +749,7 @@ "packages": { "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true, "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, "eth-ens-namehash": true, @@ -1590,7 +1590,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -1598,6 +1598,12 @@ "ethereumjs-util": true } }, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": { + "packages": { + "@metamask/ethjs>number-to-bn": true, + "bn.js": true + } + }, "@metamask/message-manager>@metamask/eth-sig-util": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, @@ -1812,12 +1818,14 @@ "URL": true, "clearInterval": true, "console.error": true, + "crypto": true, "setInterval": true }, "packages": { + "@metamask/controller-utils": true, "@metamask/eth-query>json-rpc-random-id": true, "@metamask/ppom-validator>@metamask/base-controller": true, - "@metamask/ppom-validator>@metamask/controller-utils": true, + "@metamask/ppom-validator>crypto-js": true, "@metamask/ppom-validator>elliptic": true, "await-semaphore": true, "browserify>buffer": true @@ -1831,40 +1839,14 @@ "immer": true } }, - "@metamask/ppom-validator>@metamask/controller-utils": { + "@metamask/ppom-validator>crypto-js": { "globals": { - "URL": true, - "console.error": true, - "fetch": true, - "setTimeout": true - }, - "packages": { - "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, - "browserify>buffer": true, - "eslint>fast-deep-equal": true, - "eth-ens-namehash": true, - "ethereumjs-util": true - } - }, - "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true + "crypto": true, + "define": true, + "msCrypto": true }, "packages": { - "@metamask/utils>@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true, - "superstruct": true - } - }, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": { - "packages": { - "@metamask/ethjs>number-to-bn": true, - "bn.js": true + "browserify>browser-resolve": true } }, "@metamask/ppom-validator>elliptic": { @@ -2033,7 +2015,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -2078,7 +2060,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index fc71925a23a8..71332c1776ca 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -749,7 +749,7 @@ "packages": { "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true, "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, "eth-ens-namehash": true, @@ -1513,7 +1513,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -1521,6 +1521,12 @@ "ethereumjs-util": true } }, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": { + "packages": { + "@metamask/ethjs>number-to-bn": true, + "bn.js": true + } + }, "@metamask/message-manager>@metamask/eth-sig-util": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, @@ -1735,12 +1741,14 @@ "URL": true, "clearInterval": true, "console.error": true, + "crypto": true, "setInterval": true }, "packages": { + "@metamask/controller-utils": true, "@metamask/eth-query>json-rpc-random-id": true, "@metamask/ppom-validator>@metamask/base-controller": true, - "@metamask/ppom-validator>@metamask/controller-utils": true, + "@metamask/ppom-validator>crypto-js": true, "@metamask/ppom-validator>elliptic": true, "await-semaphore": true, "browserify>buffer": true @@ -1754,40 +1762,14 @@ "immer": true } }, - "@metamask/ppom-validator>@metamask/controller-utils": { + "@metamask/ppom-validator>crypto-js": { "globals": { - "URL": true, - "console.error": true, - "fetch": true, - "setTimeout": true - }, - "packages": { - "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, - "browserify>buffer": true, - "eslint>fast-deep-equal": true, - "eth-ens-namehash": true, - "ethereumjs-util": true - } - }, - "@metamask/ppom-validator>@metamask/controller-utils>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true + "crypto": true, + "define": true, + "msCrypto": true }, "packages": { - "@metamask/utils>@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true, - "superstruct": true - } - }, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": { - "packages": { - "@metamask/ethjs>number-to-bn": true, - "bn.js": true + "browserify>browser-resolve": true } }, "@metamask/ppom-validator>elliptic": { @@ -1956,7 +1938,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -2001,7 +1983,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json index 28fddac75a84..46dbf6ec2554 100644 --- a/lavamoat/browserify/mmi/policy.json +++ b/lavamoat/browserify/mmi/policy.json @@ -881,7 +881,7 @@ "packages": { "@metamask/address-book-controller>@metamask/controller-utils>@metamask/utils": true, "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, "eth-ens-namehash": true, @@ -1645,7 +1645,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -1653,6 +1653,12 @@ "ethereumjs-util": true } }, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": { + "packages": { + "@metamask/ethjs>number-to-bn": true, + "bn.js": true + } + }, "@metamask/message-manager>@metamask/eth-sig-util": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, @@ -1862,12 +1868,6 @@ "webpack>events": true } }, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": { - "packages": { - "@metamask/ethjs>number-to-bn": true, - "bn.js": true - } - }, "@metamask/ppom-validator>elliptic": { "packages": { "@metamask/ppom-validator>elliptic>brorand": true, @@ -2034,7 +2034,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, @@ -2079,7 +2079,7 @@ }, "packages": { "@metamask/controller-utils>@spruceid/siwe-parser": true, - "@metamask/ppom-validator>@metamask/controller-utils>ethjs-unit": true, + "@metamask/message-manager>@metamask/controller-utils>ethjs-unit": true, "@metamask/utils": true, "browserify>buffer": true, "eslint>fast-deep-equal": true, diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index 64b4854bde1a..f3a2048eef1d 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -575,10 +575,10 @@ "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": true, "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-optimise-call-expression": true, "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-replace-supers": true, + "@babel/preset-env>@babel/plugin-transform-classes>globals": true, "depcheck>@babel/traverse>@babel/helper-environment-visitor": true, "depcheck>@babel/traverse>@babel/helper-function-name": true, - "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true, - "depcheck>@babel/traverse>globals": true + "depcheck>@babel/traverse>@babel/helper-split-export-declaration": true } }, "@babel/preset-env>@babel/plugin-transform-classes>@babel/helper-annotate-as-pure": { @@ -3116,8 +3116,8 @@ "eslint-plugin-prettier": true, "eslint-plugin-react": true, "eslint-plugin-react-hooks": true, - "eslint>@eslint/eslintrc>globals": true, "eslint>ajv": true, + "eslint>globals": true, "eslint>ignore": true, "eslint>minimatch": true, "mocha>strip-json-comments": true, diff --git a/package.json b/package.json index f8e417ac56d3..fa3b0d3ddfc5 100644 --- a/package.json +++ b/package.json @@ -283,7 +283,7 @@ "@metamask/phishing-controller": "^8.0.0", "@metamask/polling-controller": "^4.0.0", "@metamask/post-message-stream": "^7.0.0", - "@metamask/ppom-validator": "^0.10.0", + "@metamask/ppom-validator": "^0.22.0", "@metamask/providers": "^14.0.2", "@metamask/queued-request-controller": "^0.3.0", "@metamask/rate-limit-controller": "^3.0.0", diff --git a/test/e2e/tests/errors.spec.js b/test/e2e/tests/errors.spec.js index e5205f485713..4f1901c65c63 100644 --- a/test/e2e/tests/errors.spec.js +++ b/test/e2e/tests/errors.spec.js @@ -46,6 +46,7 @@ const removedBackgroundFields = [ 'AppStateController.currentPopupId', 'AppStateController.timeoutMinutes', 'PPOMController.chainStatus.0x539.lastVisited', + 'PPOMController.versionInfo', ]; const removedUiFields = removedBackgroundFields.map(backgroundToUiField); diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json index e596d3057b6a..e373bbc7b870 100644 --- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json +++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-background-state.json @@ -129,10 +129,9 @@ "onboardingTabs": "object" }, "PPOMController": { - "versionInfo": {}, "storageMetadata": {}, "chainStatus": { - "0x539": { "chainId": "0x539", "dataFetched": false, "versionInfo": [] } + "0x539": { "chainId": "0x539", "versionInfo": [] } }, "versionFileETag": "string" }, diff --git a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json index 49e3c55fd957..d54be045b0b9 100644 --- a/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json +++ b/test/e2e/tests/state-snapshots/errors-after-init-opt-in-ui-state.json @@ -214,10 +214,9 @@ "approvalFlows": "object", "lastFetchedBlockNumbers": "object", "methodData": "object", - "versionInfo": {}, "storageMetadata": {}, "chainStatus": { - "0x539": { "chainId": "0x539", "dataFetched": false, "versionInfo": [] } + "0x539": { "chainId": "0x539", "versionInfo": [] } }, "versionFileETag": "string", "userOperations": "object" diff --git a/ui/components/component-library/icon/icon.types.ts b/ui/components/component-library/icon/icon.types.ts index 5d8acd901da7..7ad8e2d5fd62 100644 --- a/ui/components/component-library/icon/icon.types.ts +++ b/ui/components/component-library/icon/icon.types.ts @@ -171,7 +171,7 @@ export enum IconName { Bold = 'bold', CircleX = 'circle-x', Download = 'download', - File = 'file', + FileIcon = 'file', Flask = 'flask', Plug = 'plug', Share = 'share', diff --git a/yarn.lock b/yarn.lock index 4089b12fcebe..fbb1fd75a6f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2112,7 +2112,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -2123,10 +2123,10 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0": - version: 4.5.0 - resolution: "@eslint-community/regexpp@npm:4.5.0" - checksum: fb2ec0131f2cf5ff69c870984eaad4de4fd35f2a2c0f7c09bcfafb5ca6ce14127e9d727546f1739aa38f9324a31faa52957c4be9bfb4b46ff2a5f6df2674a43b +"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.0": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42 languageName: node linkType: hard @@ -4566,7 +4566,7 @@ __metadata: languageName: node linkType: hard -"@metamask/network-controller@npm:^17.1.0": +"@metamask/network-controller@npm:^17.0.0, @metamask/network-controller@npm:^17.1.0": version: 17.1.0 resolution: "@metamask/network-controller@npm:17.1.0" dependencies: @@ -4747,16 +4747,19 @@ __metadata: languageName: node linkType: hard -"@metamask/ppom-validator@npm:^0.10.0": - version: 0.10.0 - resolution: "@metamask/ppom-validator@npm:0.10.0" +"@metamask/ppom-validator@npm:^0.22.0": + version: 0.22.0 + resolution: "@metamask/ppom-validator@npm:0.22.0" dependencies: "@metamask/base-controller": "npm:^3.0.0" - "@metamask/controller-utils": "npm:^4.0.0" + "@metamask/controller-utils": "npm:^8.0.1" + "@metamask/network-controller": "npm:^17.0.0" await-semaphore: "npm:^0.1.3" + crypto-js: "npm:^4.2.0" elliptic: "npm:^6.5.4" + eslint-plugin-n: "npm:^16.6.2" json-rpc-random-id: "npm:^1.0.1" - checksum: fae284ecfbb186b6e434c084bbe41e8968370f8f974bc611d91f70a30494be2b0ce2019c27ab713be7d90c99bfaa2e26587a886ca84e7885b31660c0988ca05a + checksum: b353c9a24a35972a05f75daf0b438d368e6f154145cfc02be217d335309cec0d94c51da78bbe6aadb4f6dbcbaea97dc3b2f561e3b5dbe053063a7a81190a8b26 languageName: node linkType: hard @@ -12608,6 +12611,13 @@ __metadata: languageName: node linkType: hard +"builtin-modules@npm:^3.3.0": + version: 3.3.0 + resolution: "builtin-modules@npm:3.3.0" + checksum: 62e063ab40c0c1efccbfa9ffa31873e4f9d57408cb396a2649981a0ecbce56aabc93c28feaccbc5658c95aab2703ad1d11980e62ec2e5e72637404e1eb60f39e + languageName: node + linkType: hard + "builtin-status-codes@npm:^3.0.0": version: 3.0.0 resolution: "builtin-status-codes@npm:3.0.0" @@ -12615,7 +12625,7 @@ __metadata: languageName: node linkType: hard -"builtins@npm:^5.0.0": +"builtins@npm:^5.0.0, builtins@npm:^5.0.1": version: 5.0.1 resolution: "builtins@npm:5.0.1" dependencies: @@ -14176,6 +14186,13 @@ __metadata: languageName: node linkType: hard +"crypto-js@npm:^4.2.0": + version: 4.2.0 + resolution: "crypto-js@npm:4.2.0" + checksum: c7bcc56a6e01c3c397e95aa4a74e4241321f04677f9a618a8f48a63b5781617248afb9adb0629824792e7ec20ca0d4241a49b6b2938ae6f973ec4efc5c53c924 + languageName: node + linkType: hard + "crypto-random-string@npm:^1.0.0": version: 1.0.0 resolution: "crypto-random-string@npm:1.0.0" @@ -16318,6 +16335,15 @@ __metadata: languageName: node linkType: hard +"eslint-compat-utils@npm:^0.1.2": + version: 0.1.2 + resolution: "eslint-compat-utils@npm:0.1.2" + peerDependencies: + eslint: ">=6.0.0" + checksum: 8c273889485ab863f2b6089c36f042dd2d9bf65d219fa256c1991f9466ea8261f3ab753a017a6d8e93bec84abd568fe3e10216f3fda5b41d05e3dce3b2a5e514 + languageName: node + linkType: hard + "eslint-config-prettier@npm:^8.5.0": version: 8.5.0 resolution: "eslint-config-prettier@npm:8.5.0" @@ -16381,6 +16407,19 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-es-x@npm:^7.5.0": + version: 7.5.0 + resolution: "eslint-plugin-es-x@npm:7.5.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.1.2" + "@eslint-community/regexpp": "npm:^4.6.0" + eslint-compat-utils: "npm:^0.1.2" + peerDependencies: + eslint: ">=8" + checksum: b0aa59e5a9fe034d6d485969091abfcdc6893bc0b9b145864d29307b03465141cc073bed806d9cb1a343a561362f2d0e9b34526af8fe8b7ca3cd8aa144f3720a + languageName: node + linkType: hard + "eslint-plugin-es@npm:^3.0.0": version: 3.0.1 resolution: "eslint-plugin-es@npm:3.0.1" @@ -16462,6 +16501,27 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-n@npm:^16.6.2": + version: 16.6.2 + resolution: "eslint-plugin-n@npm:16.6.2" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + builtins: "npm:^5.0.1" + eslint-plugin-es-x: "npm:^7.5.0" + get-tsconfig: "npm:^4.7.0" + globals: "npm:^13.24.0" + ignore: "npm:^5.2.4" + is-builtin-module: "npm:^3.2.1" + is-core-module: "npm:^2.12.1" + minimatch: "npm:^3.1.2" + resolve: "npm:^1.22.2" + semver: "npm:^7.5.3" + peerDependencies: + eslint: ">=7.0.0" + checksum: e0f600d03d3a3df57e9a811648b1b534a6d67c90ea9406340ddf3763c2b87cf5ef910b390f787ca5cb27c8d8ff36aad42d70209b54e2a1cb4cc2507ca417229a + languageName: node + linkType: hard + "eslint-plugin-no-unsanitized@npm:4.0.2": version: 4.0.2 resolution: "eslint-plugin-no-unsanitized@npm:4.0.2" @@ -18693,6 +18753,15 @@ __metadata: languageName: node linkType: hard +"get-tsconfig@npm:^4.7.0": + version: 4.7.2 + resolution: "get-tsconfig@npm:4.7.2" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: f21135848fb5d16012269b7b34b186af7a41824830f8616aba17a15eb4d9e54fdc876833f1e21768395215a826c8145582f5acd594ae2b4de3284d10b38d20f8 + languageName: node + linkType: hard + "get-uri@npm:^6.0.1": version: 6.0.2 resolution: "get-uri@npm:6.0.2" @@ -19019,12 +19088,12 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.20.0 - resolution: "globals@npm:13.20.0" +"globals@npm:^13.19.0, globals@npm:^13.24.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" dependencies: type-fest: "npm:^0.20.2" - checksum: 9df85cde2f0dce6ac9b3a5e08bec109d2f3b38ddd055a83867e0672c55704866d53ce6a4265859fa630624baadd46f50ca38602a13607ad86be853a8c179d3e7 + checksum: 62c5b1997d06674fc7191d3e01e324d3eda4d65ac9cc4e78329fa3b5c4fd42a0e1c8722822497a6964eee075255ce21ccf1eec2d83f92ef3f06653af4d0ee28e languageName: node linkType: hard @@ -20157,10 +20226,10 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0": - version: 5.2.0 - resolution: "ignore@npm:5.2.0" - checksum: 30283f05fb7d867ee0e08faebb3e69caba2c6c55092042cd061eac1b37a3e78db72bfcfbb08b3598999344fba3d93a9c693b5401da5faaecc0fb7c2dce87beb4 +"ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.0 + resolution: "ignore@npm:5.3.0" + checksum: 51594355cea4c6ad6b28b3b85eb81afa7b988a1871feefd7062baf136c95aa06760ee934fa9590e43d967bd377ce84a4cf6135fbeb6063e063f1182a0e9a3bcd languageName: node linkType: hard @@ -20543,6 +20612,15 @@ __metadata: languageName: node linkType: hard +"is-builtin-module@npm:^3.2.1": + version: 3.2.1 + resolution: "is-builtin-module@npm:3.2.1" + dependencies: + builtin-modules: "npm:^3.3.0" + checksum: e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88 + languageName: node + linkType: hard + "is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -20561,7 +20639,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.4.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": +"is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0, is-core-module@npm:^2.4.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -24655,7 +24733,7 @@ __metadata: "@metamask/phishing-warning": "npm:^3.0.3" "@metamask/polling-controller": "npm:^4.0.0" "@metamask/post-message-stream": "npm:^7.0.0" - "@metamask/ppom-validator": "npm:^0.10.0" + "@metamask/ppom-validator": "npm:^0.22.0" "@metamask/providers": "npm:^14.0.2" "@metamask/queued-request-controller": "npm:^0.3.0" "@metamask/rate-limit-controller": "npm:^3.0.0" @@ -30355,6 +30433,13 @@ __metadata: languageName: node linkType: hard +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e + languageName: node + linkType: hard + "resolve-url-loader@npm:^3.1.5": version: 3.1.5 resolution: "resolve-url-loader@npm:3.1.5" @@ -30387,7 +30472,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8, resolve@npm:^1.1.4, resolve@npm:^1.1.5, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.11.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.21.0, resolve@npm:^1.22.0, resolve@npm:^1.22.3, resolve@npm:^1.4.0": +"resolve@npm:1.22.8, resolve@npm:^1.1.4, resolve@npm:^1.1.5, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.11.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.21.0, resolve@npm:^1.22.0, resolve@npm:^1.22.2, resolve@npm:^1.22.3, resolve@npm:^1.4.0": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -30413,7 +30498,7 @@ __metadata: languageName: node linkType: hard -? "resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.5#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.11.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.21.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" +? "resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.5#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.11.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.21.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" : version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"