diff --git a/app/scripts/background.js b/app/scripts/background.js index 531864418..f3ed3dc3a 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -170,7 +170,7 @@ if (isManifestV3) { async function initialize(remotePort) { const initState = await loadStateFromPersistence(); const initLangCode = await getFirstPreferredLangCode(); - await setupController(initState, initLangCode, remotePort); + setupController(initState, initLangCode, remotePort); if (!isManifestV3) { await loadPhishingWarningPage(); } @@ -307,7 +307,6 @@ async function loadStateFromPersistence() { * @param {object} initState - The initial state to start the controller with, matches the state that is emitted from the controller. * @param {string} initLangCode - The region code for the language preferred by the current user. * @param {string} remoteSourcePort - remote application port connecting to extension. - * @returns {Promise} After setup is complete. */ function setupController(initState, initLangCode, remoteSourcePort) { // @@ -662,8 +661,6 @@ function setupController(initState, initLangCode, remoteSourcePort) { updateBadge(); } - - return Promise.resolve(); } // diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index abfa1ab98..b5d3c259a 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -80,7 +80,7 @@ import { toChecksumHexAddress, stripHexPrefix, } from '../../shared/modules/hexstring-utils'; -import { MILLISECOND } from '../../shared/constants/time'; +import { MILLISECOND, SECOND } from '../../shared/constants/time'; import { ORIGIN_METAMASK, ///: BEGIN:ONLY_INCLUDE_IN(flask) @@ -475,6 +475,10 @@ export default class MetamaskController extends EventEmitter { }); this.phishingController = new PhishingController(); + this.phishingController.updatePhishingLists(); + if (process.env.IN_TEST) { + this.phishingController.setRefreshInterval(5 * SECOND); + } this.announcementController = new AnnouncementController( { allAnnouncements: UI_NOTIFICATIONS }, @@ -3381,6 +3385,10 @@ export default class MetamaskController extends EventEmitter { if (sender.url) { const { hostname } = new URL(sender.url); + const phishingListsAreOutOfDate = this.phishingController.isOutOfDate(); + if (phishingListsAreOutOfDate) { + this.phishingController.updatePhishingLists(); + } // Check if new connection is blocked if phishing detection is on const phishingTestResponse = this.phishingController.test(hostname); if (usePhishDetect && phishingTestResponse?.result) { diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index 1ab56a362..fe10c7eba 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -2318,25 +2318,6 @@ "ethers>@ethersproject/wallet>@ethersproject/properties": true } }, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/networks": { - "packages": { - "@ethersproject/bignumber>@ethersproject/logger": true - } - }, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/web": { - "globals": { - "clearTimeout": true, - "fetch": true, - "setTimeout": true - }, - "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true - } - }, "@eth-optimism/contracts>@ethersproject/abstract-signer": { "packages": { "@ethersproject/bignumber>@ethersproject/logger": true, @@ -2678,6 +2659,9 @@ "@ethereumjs/common": true, "@ethereumjs/tx": true, "@metamask/contract-metadata": true, + "@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/contracts": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>abort-controller": true, "@metamask/controllers>async-mutex": true, "@metamask/controllers>eth-json-rpc-infura": true, @@ -2700,7 +2684,6 @@ "eth-rpc-errors": true, "eth-sig-util": true, "ethereumjs-util": true, - "ethers": true, "ethjs>ethjs-unit": true, "immer": true, "json-rpc-engine": true, @@ -2710,6 +2693,103 @@ "uuid": true } }, + "@metamask/controllers>@ethersproject/abi": { + "globals": { + "console.log": true + }, + "packages": { + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/units>@ethersproject/constants": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/hash": true, + "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true + } + }, + "@metamask/controllers>@ethersproject/contracts": { + "globals": { + "setTimeout": true + }, + "packages": { + "@eth-optimism/contracts>@ethersproject/abstract-provider": true, + "@eth-optimism/contracts>@ethersproject/abstract-signer": true, + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/abi": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true, + "ethers>@ethersproject/wallet>@ethersproject/transactions": true + } + }, + "@metamask/controllers>@ethersproject/providers": { + "globals": { + "WebSocket": true, + "clearInterval": true, + "clearTimeout": true, + "console.log": true, + "console.warn": true, + "setInterval": true, + "setTimeout": true + }, + "packages": { + "@eth-optimism/contracts>@ethersproject/abstract-provider": true, + "@eth-optimism/contracts>@ethersproject/abstract-signer": true, + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/networks": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/web": true, + "ethers>@ethersproject/hdnode>@ethersproject/basex": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/pbkdf2>@ethersproject/sha2": true, + "ethers>@ethersproject/providers>bech32": true, + "ethers>@ethersproject/units>@ethersproject/constants": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/hash": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true, + "ethers>@ethersproject/wallet>@ethersproject/random": true, + "ethers>@ethersproject/wallet>@ethersproject/transactions": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": { + "globals": { + "atob": true, + "btoa": true + }, + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/networks": { + "packages": { + "@ethersproject/bignumber>@ethersproject/logger": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": { + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/web": { + "globals": { + "clearTimeout": true, + "fetch": true, + "setTimeout": true + }, + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true + } + }, "@metamask/controllers>abort-controller": { "globals": { "AbortController": true @@ -2979,27 +3059,8 @@ }, "@metamask/controllers>web3-provider-engine>eth-sig-util": { "packages": { - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi": true, - "@metamask/controllers>web3-provider-engine>ethereumjs-util": true - } - }, - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi": { - "packages": { - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi>ethereumjs-util": true, - "bn.js": true, - "browserify>buffer": true - } - }, - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi>ethereumjs-util": { - "packages": { - "3box>ethers>elliptic": true, - "@metamask/controllers>web3-provider-engine>ethereumjs-util>ethjs-util": true, - "bn.js": true, - "browserify>assert": true, - "browserify>buffer": true, - "ethereumjs-util>create-hash": true, - "ethereumjs-util>ethereum-cryptography": true, - "ethereumjs-util>rlp": true + "@metamask/controllers>web3-provider-engine>ethereumjs-util": true, + "ethereumjs-abi": true } }, "@metamask/controllers>web3-provider-engine>ethereumjs-util": { @@ -3096,27 +3157,8 @@ }, "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util": { "packages": { - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": true, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": true - } - }, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": { - "packages": { - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi>ethereumjs-util": true, - "bn.js": true, - "browserify>buffer": true - } - }, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi>ethereumjs-util": { - "packages": { - "3box>ethers>elliptic": true, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util>ethjs-util": true, - "bn.js": true, - "browserify>assert": true, - "browserify>buffer": true, - "ethereumjs-util>create-hash": true, - "ethereumjs-util>ethereum-cryptography": true, - "ethereumjs-util>rlp": true + "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": true, + "ethereumjs-abi": true } }, "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": { @@ -3373,22 +3415,6 @@ "watchify>xtend": true } }, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": { - "globals": { - "console.log": true - }, - "packages": { - "@ethersproject/bignumber": true, - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/units>@ethersproject/constants": true, - "ethers>@ethersproject/wallet>@ethersproject/address": true, - "ethers>@ethersproject/wallet>@ethersproject/hash": true, - "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true - } - }, "@metamask/rpc-methods>nanoid": { "globals": { "crypto.getRandomValues": true @@ -3406,58 +3432,146 @@ "packages": { "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, - "@metamask/controllers": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>isomorphic-fetch": true, - "@metamask/smart-transactions-controller>@ethersproject/providers": true, + "@metamask/smart-transactions-controller>@metamask/controllers": true, "@metamask/smart-transactions-controller>bignumber.js": true, "@metamask/smart-transactions-controller>fast-json-patch": true, "lodash": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers": { + "@metamask/smart-transactions-controller>@metamask/controllers": { "globals": { - "WebSocket": true, + "Headers": true, + "URL": true, "clearInterval": true, "clearTimeout": true, + "console.error": true, "console.log": true, - "console.warn": true, + "fetch": true, "setInterval": true, "setTimeout": true }, "packages": { - "@eth-optimism/contracts>@ethersproject/abstract-provider": true, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/networks": true, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/web": true, - "@eth-optimism/contracts>@ethersproject/abstract-signer": true, - "@ethersproject/bignumber": true, - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, - "ethers>@ethersproject/hdnode>@ethersproject/basex": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/pbkdf2>@ethersproject/sha2": true, - "ethers>@ethersproject/providers>bech32": true, - "ethers>@ethersproject/units>@ethersproject/constants": true, - "ethers>@ethersproject/wallet>@ethersproject/address": true, - "ethers>@ethersproject/wallet>@ethersproject/hash": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true, - "ethers>@ethersproject/wallet>@ethersproject/random": true, - "ethers>@ethersproject/wallet>@ethersproject/transactions": true + "@ethereumjs/common": true, + "@ethereumjs/tx": true, + "@metamask/contract-metadata": true, + "@metamask/controllers>abort-controller": true, + "@metamask/controllers>async-mutex": true, + "@metamask/controllers>eth-json-rpc-infura": true, + "@metamask/controllers>eth-phishing-detect": true, + "@metamask/controllers>isomorphic-fetch": true, + "@metamask/controllers>multiformats": true, + "@metamask/controllers>web3": true, + "@metamask/controllers>web3-provider-engine": true, + "@metamask/metamask-eth-abis": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry": true, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet": true, + "@metamask/smart-transactions-controller>@metamask/controllers>nanoid": true, + "browserify>buffer": true, + "browserify>events": true, + "deep-freeze-strict": true, + "eslint>fast-deep-equal": true, + "eth-ens-namehash": true, + "eth-keyring-controller": true, + "eth-query": true, + "eth-rpc-errors": true, + "eth-sig-util": true, + "ethereumjs-util": true, + "ethers": true, + "ethjs>ethjs-unit": true, + "immer": true, + "json-rpc-engine": true, + "jsonschema": true, + "punycode": true, + "single-call-balance-checker-abi": true, + "uuid": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs": { "globals": { - "atob": true, - "btoa": true + "clearInterval": true, + "setInterval": true }, "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-abi": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-query": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>ethjs-filter": true, + "ethjs>ethjs-provider-http": true, + "ethjs>ethjs-unit": true, + "ethjs>ethjs-util": true, + "ethjs>number-to-bn": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-abi": { "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>number-to-bn": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract>ethjs-abi": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "ethjs-query>babel-runtime": true, + "ethjs>ethjs-filter": true, + "ethjs>ethjs-util": true, + "promise-to-callback": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract>ethjs-abi": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>number-to-bn": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-query": { + "globals": { + "console": true + }, + "packages": { + "ethjs-query>babel-runtime": true, + "ethjs-query>ethjs-format": true, + "ethjs-query>ethjs-rpc": true, + "promise-to-callback": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": { + "packages": { + "browserify>process": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet>uuid": true, + "@truffle/codec>utf8": true, + "browserify>buffer": true, + "browserify>crypto-browserify": true, + "ethereumjs-util": true, + "ethereumjs-util>ethereum-cryptography": true, + "ethereumjs-wallet>aes-js": true, + "ethereumjs-wallet>bs58check": true, + "ethereumjs-wallet>randombytes": true, + "ethers>@ethersproject/json-wallets>scrypt-js": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet>uuid": { + "globals": { + "crypto": true, + "msCrypto": true } }, "@metamask/smart-transactions-controller>@metamask/controllers>nanoid": { @@ -4728,7 +4842,7 @@ "packages": { "3box>ethers>elliptic": true, "@ethereumjs/common>crc-32": true, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/abi": true, "bn.js": true, "browserify>buffer": true, "browserify>process": true, @@ -6285,7 +6399,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true } }, @@ -6294,7 +6408,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, "ethers>@ethersproject/hdnode>@ethersproject/strings": true, "ethers>@ethersproject/wallet>@ethersproject/address": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, @@ -6331,7 +6445,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": true, "ethers>@ethersproject/units>@ethersproject/constants": true, "ethers>@ethersproject/wallet>@ethersproject/address": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index cd23cc3b5..e0f95b6f6 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -2463,47 +2463,12 @@ "ethers>@ethersproject/wallet>@ethersproject/properties": true } }, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/networks": { - "packages": { - "@ethersproject/bignumber>@ethersproject/logger": true - } - }, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/web": { - "globals": { - "clearTimeout": true, - "fetch": true, - "setTimeout": true - }, - "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true - } - }, "@eth-optimism/contracts>@ethersproject/abstract-signer": { "packages": { "@ethersproject/bignumber>@ethersproject/logger": true, "ethers>@ethersproject/wallet>@ethersproject/properties": true } }, - "@eth-optimism/contracts>@ethersproject/contracts": { - "globals": { - "setTimeout": true - }, - "packages": { - "@eth-optimism/contracts>@ethersproject/abstract-provider": true, - "@eth-optimism/contracts>@ethersproject/abstract-signer": true, - "@ethersproject/bignumber": true, - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": true, - "ethers>@ethersproject/wallet>@ethersproject/address": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true, - "ethers>@ethersproject/wallet>@ethersproject/transactions": true - } - }, "@ethereumjs/common": { "packages": { "@ethereumjs/common>crc-32": true, @@ -2839,6 +2804,9 @@ "@ethereumjs/common": true, "@ethereumjs/tx": true, "@metamask/contract-metadata": true, + "@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/contracts": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>abort-controller": true, "@metamask/controllers>async-mutex": true, "@metamask/controllers>eth-json-rpc-infura": true, @@ -2861,7 +2829,6 @@ "eth-rpc-errors": true, "eth-sig-util": true, "ethereumjs-util": true, - "ethers": true, "ethjs>ethjs-unit": true, "immer": true, "json-rpc-engine": true, @@ -2871,6 +2838,103 @@ "uuid": true } }, + "@metamask/controllers>@ethersproject/abi": { + "globals": { + "console.log": true + }, + "packages": { + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/units>@ethersproject/constants": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/hash": true, + "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true + } + }, + "@metamask/controllers>@ethersproject/contracts": { + "globals": { + "setTimeout": true + }, + "packages": { + "@eth-optimism/contracts>@ethersproject/abstract-provider": true, + "@eth-optimism/contracts>@ethersproject/abstract-signer": true, + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/abi": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true, + "ethers>@ethersproject/wallet>@ethersproject/transactions": true + } + }, + "@metamask/controllers>@ethersproject/providers": { + "globals": { + "WebSocket": true, + "clearInterval": true, + "clearTimeout": true, + "console.log": true, + "console.warn": true, + "setInterval": true, + "setTimeout": true + }, + "packages": { + "@eth-optimism/contracts>@ethersproject/abstract-provider": true, + "@eth-optimism/contracts>@ethersproject/abstract-signer": true, + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/networks": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/web": true, + "ethers>@ethersproject/hdnode>@ethersproject/basex": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/pbkdf2>@ethersproject/sha2": true, + "ethers>@ethersproject/providers>bech32": true, + "ethers>@ethersproject/units>@ethersproject/constants": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/hash": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true, + "ethers>@ethersproject/wallet>@ethersproject/random": true, + "ethers>@ethersproject/wallet>@ethersproject/transactions": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": { + "globals": { + "atob": true, + "btoa": true + }, + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/networks": { + "packages": { + "@ethersproject/bignumber>@ethersproject/logger": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": { + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/web": { + "globals": { + "clearTimeout": true, + "fetch": true, + "setTimeout": true + }, + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true + } + }, "@metamask/controllers>abort-controller": { "globals": { "AbortController": true @@ -3140,27 +3204,8 @@ }, "@metamask/controllers>web3-provider-engine>eth-sig-util": { "packages": { - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi": true, - "@metamask/controllers>web3-provider-engine>ethereumjs-util": true - } - }, - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi": { - "packages": { - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi>ethereumjs-util": true, - "bn.js": true, - "browserify>buffer": true - } - }, - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi>ethereumjs-util": { - "packages": { - "3box>ethers>elliptic": true, - "@metamask/controllers>web3-provider-engine>ethereumjs-util>ethjs-util": true, - "bn.js": true, - "browserify>assert": true, - "browserify>buffer": true, - "ethereumjs-util>create-hash": true, - "ethereumjs-util>ethereum-cryptography": true, - "ethereumjs-util>rlp": true + "@metamask/controllers>web3-provider-engine>ethereumjs-util": true, + "ethereumjs-abi": true } }, "@metamask/controllers>web3-provider-engine>ethereumjs-util": { @@ -3257,27 +3302,8 @@ }, "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util": { "packages": { - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": true, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": true - } - }, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": { - "packages": { - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi>ethereumjs-util": true, - "bn.js": true, - "browserify>buffer": true - } - }, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi>ethereumjs-util": { - "packages": { - "3box>ethers>elliptic": true, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util>ethjs-util": true, - "bn.js": true, - "browserify>assert": true, - "browserify>buffer": true, - "ethereumjs-util>create-hash": true, - "ethereumjs-util>ethereum-cryptography": true, - "ethereumjs-util>rlp": true + "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": true, + "ethereumjs-abi": true } }, "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": { @@ -3571,10 +3597,12 @@ "setTimeout": true }, "packages": { - "@eth-optimism/contracts>@ethersproject/contracts": true, "@ethereumjs/common": true, "@ethereumjs/tx": true, "@metamask/contract-metadata": true, + "@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/contracts": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>abort-controller": true, "@metamask/controllers>async-mutex": true, "@metamask/controllers>eth-json-rpc-infura": true, @@ -3584,11 +3612,9 @@ "@metamask/controllers>web3": true, "@metamask/controllers>web3-provider-engine": true, "@metamask/metamask-eth-abis": true, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": true, "@metamask/rpc-methods>@metamask/controllers>eth-method-registry": true, "@metamask/rpc-methods>@metamask/controllers>ethereumjs-wallet": true, "@metamask/rpc-methods>nanoid": true, - "@metamask/smart-transactions-controller>@ethersproject/providers": true, "browserify>buffer": true, "browserify>events": true, "deep-freeze-strict": true, @@ -3608,22 +3634,6 @@ "uuid": true } }, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": { - "globals": { - "console.log": true - }, - "packages": { - "@ethersproject/bignumber": true, - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/units>@ethersproject/constants": true, - "ethers>@ethersproject/wallet>@ethersproject/address": true, - "ethers>@ethersproject/wallet>@ethersproject/hash": true, - "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true - } - }, "@metamask/rpc-methods>@metamask/controllers>eth-method-registry": { "packages": { "@metamask/rpc-methods>@metamask/controllers>eth-method-registry>ethjs": true @@ -3759,58 +3769,146 @@ "packages": { "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, - "@metamask/controllers": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>isomorphic-fetch": true, - "@metamask/smart-transactions-controller>@ethersproject/providers": true, + "@metamask/smart-transactions-controller>@metamask/controllers": true, "@metamask/smart-transactions-controller>bignumber.js": true, "@metamask/smart-transactions-controller>fast-json-patch": true, "lodash": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers": { + "@metamask/smart-transactions-controller>@metamask/controllers": { "globals": { - "WebSocket": true, + "Headers": true, + "URL": true, "clearInterval": true, "clearTimeout": true, + "console.error": true, "console.log": true, - "console.warn": true, + "fetch": true, "setInterval": true, "setTimeout": true }, "packages": { - "@eth-optimism/contracts>@ethersproject/abstract-provider": true, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/networks": true, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/web": true, - "@eth-optimism/contracts>@ethersproject/abstract-signer": true, - "@ethersproject/bignumber": true, - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, - "ethers>@ethersproject/hdnode>@ethersproject/basex": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/pbkdf2>@ethersproject/sha2": true, - "ethers>@ethersproject/providers>bech32": true, - "ethers>@ethersproject/units>@ethersproject/constants": true, - "ethers>@ethersproject/wallet>@ethersproject/address": true, - "ethers>@ethersproject/wallet>@ethersproject/hash": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true, - "ethers>@ethersproject/wallet>@ethersproject/random": true, - "ethers>@ethersproject/wallet>@ethersproject/transactions": true + "@ethereumjs/common": true, + "@ethereumjs/tx": true, + "@metamask/contract-metadata": true, + "@metamask/controllers>abort-controller": true, + "@metamask/controllers>async-mutex": true, + "@metamask/controllers>eth-json-rpc-infura": true, + "@metamask/controllers>eth-phishing-detect": true, + "@metamask/controllers>isomorphic-fetch": true, + "@metamask/controllers>multiformats": true, + "@metamask/controllers>web3": true, + "@metamask/controllers>web3-provider-engine": true, + "@metamask/metamask-eth-abis": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry": true, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet": true, + "@metamask/smart-transactions-controller>@metamask/controllers>nanoid": true, + "browserify>buffer": true, + "browserify>events": true, + "deep-freeze-strict": true, + "eslint>fast-deep-equal": true, + "eth-ens-namehash": true, + "eth-keyring-controller": true, + "eth-query": true, + "eth-rpc-errors": true, + "eth-sig-util": true, + "ethereumjs-util": true, + "ethers": true, + "ethjs>ethjs-unit": true, + "immer": true, + "json-rpc-engine": true, + "jsonschema": true, + "punycode": true, + "single-call-balance-checker-abi": true, + "uuid": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs": { "globals": { - "atob": true, - "btoa": true + "clearInterval": true, + "setInterval": true }, "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-abi": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-query": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>ethjs-filter": true, + "ethjs>ethjs-provider-http": true, + "ethjs>ethjs-unit": true, + "ethjs>ethjs-util": true, + "ethjs>number-to-bn": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-abi": { "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>number-to-bn": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract>ethjs-abi": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "ethjs-query>babel-runtime": true, + "ethjs>ethjs-filter": true, + "ethjs>ethjs-util": true, + "promise-to-callback": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract>ethjs-abi": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>number-to-bn": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-query": { + "globals": { + "console": true + }, + "packages": { + "ethjs-query>babel-runtime": true, + "ethjs-query>ethjs-format": true, + "ethjs-query>ethjs-rpc": true, + "promise-to-callback": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": { + "packages": { + "browserify>process": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet>uuid": true, + "@truffle/codec>utf8": true, + "browserify>buffer": true, + "browserify>crypto-browserify": true, + "ethereumjs-util": true, + "ethereumjs-util>ethereum-cryptography": true, + "ethereumjs-wallet>aes-js": true, + "ethereumjs-wallet>bs58check": true, + "ethereumjs-wallet>randombytes": true, + "ethers>@ethersproject/json-wallets>scrypt-js": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet>uuid": { + "globals": { + "crypto": true, + "msCrypto": true } }, "@metamask/smart-transactions-controller>@metamask/controllers>nanoid": { @@ -3892,10 +3990,12 @@ "setTimeout": true }, "packages": { - "@eth-optimism/contracts>@ethersproject/contracts": true, "@ethereumjs/common": true, "@ethereumjs/tx": true, "@metamask/contract-metadata": true, + "@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/contracts": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>abort-controller": true, "@metamask/controllers>async-mutex": true, "@metamask/controllers>eth-json-rpc-infura": true, @@ -3905,8 +4005,6 @@ "@metamask/controllers>web3": true, "@metamask/controllers>web3-provider-engine": true, "@metamask/metamask-eth-abis": true, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": true, - "@metamask/smart-transactions-controller>@ethersproject/providers": true, "@metamask/snap-controllers>@metamask/controllers>eth-method-registry": true, "@metamask/snap-controllers>@metamask/controllers>ethereumjs-wallet": true, "@metamask/snap-controllers>nanoid": true, @@ -5563,7 +5661,7 @@ "packages": { "3box>ethers>elliptic": true, "@ethereumjs/common>crc-32": true, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/abi": true, "bn.js": true, "browserify>buffer": true, "browserify>process": true, @@ -7120,7 +7218,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true } }, @@ -7129,7 +7227,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, "ethers>@ethersproject/hdnode>@ethersproject/strings": true, "ethers>@ethersproject/wallet>@ethersproject/address": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, @@ -7166,7 +7264,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": true, "ethers>@ethersproject/units>@ethersproject/constants": true, "ethers>@ethersproject/wallet>@ethersproject/address": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index 1ab56a362..fe10c7eba 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -2318,25 +2318,6 @@ "ethers>@ethersproject/wallet>@ethersproject/properties": true } }, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/networks": { - "packages": { - "@ethersproject/bignumber>@ethersproject/logger": true - } - }, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/web": { - "globals": { - "clearTimeout": true, - "fetch": true, - "setTimeout": true - }, - "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true - } - }, "@eth-optimism/contracts>@ethersproject/abstract-signer": { "packages": { "@ethersproject/bignumber>@ethersproject/logger": true, @@ -2678,6 +2659,9 @@ "@ethereumjs/common": true, "@ethereumjs/tx": true, "@metamask/contract-metadata": true, + "@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/contracts": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>abort-controller": true, "@metamask/controllers>async-mutex": true, "@metamask/controllers>eth-json-rpc-infura": true, @@ -2700,7 +2684,6 @@ "eth-rpc-errors": true, "eth-sig-util": true, "ethereumjs-util": true, - "ethers": true, "ethjs>ethjs-unit": true, "immer": true, "json-rpc-engine": true, @@ -2710,6 +2693,103 @@ "uuid": true } }, + "@metamask/controllers>@ethersproject/abi": { + "globals": { + "console.log": true + }, + "packages": { + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/units>@ethersproject/constants": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/hash": true, + "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true + } + }, + "@metamask/controllers>@ethersproject/contracts": { + "globals": { + "setTimeout": true + }, + "packages": { + "@eth-optimism/contracts>@ethersproject/abstract-provider": true, + "@eth-optimism/contracts>@ethersproject/abstract-signer": true, + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/abi": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true, + "ethers>@ethersproject/wallet>@ethersproject/transactions": true + } + }, + "@metamask/controllers>@ethersproject/providers": { + "globals": { + "WebSocket": true, + "clearInterval": true, + "clearTimeout": true, + "console.log": true, + "console.warn": true, + "setInterval": true, + "setTimeout": true + }, + "packages": { + "@eth-optimism/contracts>@ethersproject/abstract-provider": true, + "@eth-optimism/contracts>@ethersproject/abstract-signer": true, + "@ethersproject/bignumber": true, + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/networks": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/web": true, + "ethers>@ethersproject/hdnode>@ethersproject/basex": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/pbkdf2>@ethersproject/sha2": true, + "ethers>@ethersproject/providers>bech32": true, + "ethers>@ethersproject/units>@ethersproject/constants": true, + "ethers>@ethersproject/wallet>@ethersproject/address": true, + "ethers>@ethersproject/wallet>@ethersproject/hash": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true, + "ethers>@ethersproject/wallet>@ethersproject/random": true, + "ethers>@ethersproject/wallet>@ethersproject/transactions": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": { + "globals": { + "atob": true, + "btoa": true + }, + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/networks": { + "packages": { + "@ethersproject/bignumber>@ethersproject/logger": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": { + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true + } + }, + "@metamask/controllers>@ethersproject/providers>@ethersproject/web": { + "globals": { + "clearTimeout": true, + "fetch": true, + "setTimeout": true + }, + "packages": { + "@ethersproject/bignumber>@ethersproject/bytes": true, + "@ethersproject/bignumber>@ethersproject/logger": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, + "ethers>@ethersproject/hdnode>@ethersproject/strings": true, + "ethers>@ethersproject/wallet>@ethersproject/properties": true + } + }, "@metamask/controllers>abort-controller": { "globals": { "AbortController": true @@ -2979,27 +3059,8 @@ }, "@metamask/controllers>web3-provider-engine>eth-sig-util": { "packages": { - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi": true, - "@metamask/controllers>web3-provider-engine>ethereumjs-util": true - } - }, - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi": { - "packages": { - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi>ethereumjs-util": true, - "bn.js": true, - "browserify>buffer": true - } - }, - "@metamask/controllers>web3-provider-engine>eth-sig-util>ethereumjs-abi>ethereumjs-util": { - "packages": { - "3box>ethers>elliptic": true, - "@metamask/controllers>web3-provider-engine>ethereumjs-util>ethjs-util": true, - "bn.js": true, - "browserify>assert": true, - "browserify>buffer": true, - "ethereumjs-util>create-hash": true, - "ethereumjs-util>ethereum-cryptography": true, - "ethereumjs-util>rlp": true + "@metamask/controllers>web3-provider-engine>ethereumjs-util": true, + "ethereumjs-abi": true } }, "@metamask/controllers>web3-provider-engine>ethereumjs-util": { @@ -3096,27 +3157,8 @@ }, "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util": { "packages": { - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": true, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": true - } - }, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi": { - "packages": { - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi>ethereumjs-util": true, - "bn.js": true, - "browserify>buffer": true - } - }, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-abi>ethereumjs-util": { - "packages": { - "3box>ethers>elliptic": true, - "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util>ethjs-util": true, - "bn.js": true, - "browserify>assert": true, - "browserify>buffer": true, - "ethereumjs-util>create-hash": true, - "ethereumjs-util>ethereum-cryptography": true, - "ethereumjs-util>rlp": true + "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": true, + "ethereumjs-abi": true } }, "@metamask/eth-json-rpc-infura>eth-json-rpc-middleware>eth-sig-util>ethereumjs-util": { @@ -3373,22 +3415,6 @@ "watchify>xtend": true } }, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": { - "globals": { - "console.log": true - }, - "packages": { - "@ethersproject/bignumber": true, - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/units>@ethersproject/constants": true, - "ethers>@ethersproject/wallet>@ethersproject/address": true, - "ethers>@ethersproject/wallet>@ethersproject/hash": true, - "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true - } - }, "@metamask/rpc-methods>nanoid": { "globals": { "crypto.getRandomValues": true @@ -3406,58 +3432,146 @@ "packages": { "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, - "@metamask/controllers": true, + "@metamask/controllers>@ethersproject/providers": true, "@metamask/controllers>isomorphic-fetch": true, - "@metamask/smart-transactions-controller>@ethersproject/providers": true, + "@metamask/smart-transactions-controller>@metamask/controllers": true, "@metamask/smart-transactions-controller>bignumber.js": true, "@metamask/smart-transactions-controller>fast-json-patch": true, "lodash": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers": { + "@metamask/smart-transactions-controller>@metamask/controllers": { "globals": { - "WebSocket": true, + "Headers": true, + "URL": true, "clearInterval": true, "clearTimeout": true, + "console.error": true, "console.log": true, - "console.warn": true, + "fetch": true, "setInterval": true, "setTimeout": true }, "packages": { - "@eth-optimism/contracts>@ethersproject/abstract-provider": true, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/networks": true, - "@eth-optimism/contracts>@ethersproject/abstract-provider>@ethersproject/web": true, - "@eth-optimism/contracts>@ethersproject/abstract-signer": true, - "@ethersproject/bignumber": true, - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, - "ethers>@ethersproject/hdnode>@ethersproject/basex": true, - "ethers>@ethersproject/hdnode>@ethersproject/strings": true, - "ethers>@ethersproject/pbkdf2>@ethersproject/sha2": true, - "ethers>@ethersproject/providers>bech32": true, - "ethers>@ethersproject/units>@ethersproject/constants": true, - "ethers>@ethersproject/wallet>@ethersproject/address": true, - "ethers>@ethersproject/wallet>@ethersproject/hash": true, - "ethers>@ethersproject/wallet>@ethersproject/properties": true, - "ethers>@ethersproject/wallet>@ethersproject/random": true, - "ethers>@ethersproject/wallet>@ethersproject/transactions": true + "@ethereumjs/common": true, + "@ethereumjs/tx": true, + "@metamask/contract-metadata": true, + "@metamask/controllers>abort-controller": true, + "@metamask/controllers>async-mutex": true, + "@metamask/controllers>eth-json-rpc-infura": true, + "@metamask/controllers>eth-phishing-detect": true, + "@metamask/controllers>isomorphic-fetch": true, + "@metamask/controllers>multiformats": true, + "@metamask/controllers>web3": true, + "@metamask/controllers>web3-provider-engine": true, + "@metamask/metamask-eth-abis": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry": true, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet": true, + "@metamask/smart-transactions-controller>@metamask/controllers>nanoid": true, + "browserify>buffer": true, + "browserify>events": true, + "deep-freeze-strict": true, + "eslint>fast-deep-equal": true, + "eth-ens-namehash": true, + "eth-keyring-controller": true, + "eth-query": true, + "eth-rpc-errors": true, + "eth-sig-util": true, + "ethereumjs-util": true, + "ethers": true, + "ethjs>ethjs-unit": true, + "immer": true, + "json-rpc-engine": true, + "jsonschema": true, + "punycode": true, + "single-call-balance-checker-abi": true, + "uuid": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs": { "globals": { - "atob": true, - "btoa": true + "clearInterval": true, + "setInterval": true }, "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-abi": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-query": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>ethjs-filter": true, + "ethjs>ethjs-provider-http": true, + "ethjs>ethjs-unit": true, + "ethjs>ethjs-util": true, + "ethjs>number-to-bn": true } }, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-abi": { "packages": { - "@ethersproject/bignumber>@ethersproject/bytes": true, - "@ethersproject/bignumber>@ethersproject/logger": true + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>number-to-bn": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract>ethjs-abi": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "ethjs-query>babel-runtime": true, + "ethjs>ethjs-filter": true, + "ethjs>ethjs-util": true, + "promise-to-callback": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-contract>ethjs-abi": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>bn.js": true, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": true, + "browserify>buffer": true, + "ethjs>number-to-bn": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>ethjs-query": { + "globals": { + "console": true + }, + "packages": { + "ethjs-query>babel-runtime": true, + "ethjs-query>ethjs-format": true, + "ethjs-query>ethjs-rpc": true, + "promise-to-callback": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>eth-method-registry>ethjs>js-sha3": { + "packages": { + "browserify>process": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet": { + "packages": { + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet>uuid": true, + "@truffle/codec>utf8": true, + "browserify>buffer": true, + "browserify>crypto-browserify": true, + "ethereumjs-util": true, + "ethereumjs-util>ethereum-cryptography": true, + "ethereumjs-wallet>aes-js": true, + "ethereumjs-wallet>bs58check": true, + "ethereumjs-wallet>randombytes": true, + "ethers>@ethersproject/json-wallets>scrypt-js": true + } + }, + "@metamask/smart-transactions-controller>@metamask/controllers>ethereumjs-wallet>uuid": { + "globals": { + "crypto": true, + "msCrypto": true } }, "@metamask/smart-transactions-controller>@metamask/controllers>nanoid": { @@ -4728,7 +4842,7 @@ "packages": { "3box>ethers>elliptic": true, "@ethereumjs/common>crc-32": true, - "@metamask/rpc-methods>@metamask/controllers>@ethersproject/abi": true, + "@metamask/controllers>@ethersproject/abi": true, "bn.js": true, "browserify>buffer": true, "browserify>process": true, @@ -6285,7 +6399,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true } }, @@ -6294,7 +6408,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/base64": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/base64": true, "ethers>@ethersproject/hdnode>@ethersproject/strings": true, "ethers>@ethersproject/wallet>@ethersproject/address": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, @@ -6331,7 +6445,7 @@ "@ethersproject/bignumber": true, "@ethersproject/bignumber>@ethersproject/bytes": true, "@ethersproject/bignumber>@ethersproject/logger": true, - "@metamask/smart-transactions-controller>@ethersproject/providers>@ethersproject/rlp": true, + "@metamask/controllers>@ethersproject/providers>@ethersproject/rlp": true, "ethers>@ethersproject/units>@ethersproject/constants": true, "ethers>@ethersproject/wallet>@ethersproject/address": true, "ethers>@ethersproject/wallet>@ethersproject/keccak256": true, diff --git a/package.json b/package.json index 7983093f9..7a2aca45d 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "@keystonehq/metamask-airgapped-keyring": "^0.6.1", "@material-ui/core": "^4.11.0", "@metamask/contract-metadata": "^1.31.0", - "@metamask/controllers": "^30.3.0", + "@metamask/controllers": "^32.0.2", "@metamask/design-tokens": "^1.9.0", "@metamask/eth-json-rpc-infura": "^7.0.0", "@metamask/eth-ledger-bridge-keyring": "^0.13.0", diff --git a/test/e2e/tests/phishing-detection.spec.js b/test/e2e/tests/phishing-detection.spec.js index ccad1dd4a..f1bc16297 100644 --- a/test/e2e/tests/phishing-detection.spec.js +++ b/test/e2e/tests/phishing-detection.spec.js @@ -2,13 +2,13 @@ const { strict: assert } = require('assert'); const { convertToHexValue, withFixtures } = require('../helpers'); const PHISHFORT_CDN_URL = - 'https://cdn.jsdelivr.net/gh/phishfort/phishfort-lists@master/blacklists/hotlist.json'; + 'https://static.metafi.codefi.network/api/v1/lists/phishfort_hotlist.json'; describe('Phishing Detection', function () { async function mockPhishingDetection(mockServer) { await mockServer .forGet( - 'https://cdn.jsdelivr.net/gh/MetaMask/eth-phishing-detect@master/src/config.json', + 'https://static.metafi.codefi.network/api/v1/lists/eth_phishing_detect_config.json', ) .thenCallback(() => { return { diff --git a/yarn.lock b/yarn.lock index 36ccae52a..4352a51da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3142,7 +3142,7 @@ resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.36.0.tgz#8e277190195e9c26733752457d2004d149fd7e0e" integrity sha512-weTsrXfDQHOgYaiI5giMcOAsD3ChcwnoryasT7xmAfLSKIbKP3RTTUu63VWYBoFCBZugHrhKD6z+N+nm8qAWBQ== -"@metamask/controllers@^30.0.0", "@metamask/controllers@^30.3.0": +"@metamask/controllers@^30.0.0": version "30.3.0" resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-30.3.0.tgz#64ad8be538b75226a14f667db05c4ca02c75533f" integrity sha512-6KtRIEBAcXeF/ozsP2I7T7hFv1X0mf30ygWcgApKdQEYXAERAaBz0S9ENC8OsFULUj5MFPBfUKIDaeGNOq6MvQ== @@ -3184,16 +3184,59 @@ web3-provider-engine "^16.0.3" "@metamask/controllers@^31.0.0": - version "31.1.0" - resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-31.1.0.tgz#9335d8ebb68072625afa232240fe93a43174833d" - integrity sha512-1jx88yz6v3BUHtz5ZQzbxV/euDI/ewZ1JqXtqQlgFFdFknr4oYcLNc2PnTPNF03vz4X2MlMzLHiREq1y/Kj/nA== + version "31.2.0" + resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-31.2.0.tgz#65176b1adb8d30034b80cd537f518c840612e620" + integrity sha512-9UiTq1dGQNG9ZXkBGOhgwJcRXIUM+wUiltLRSCGxVAqIgEcCK34ZbMrHV6DMRoYhl3izfiZSVeYkta1Tg+mwyw== dependencies: "@ethereumjs/common" "^2.3.1" "@ethereumjs/tx" "^3.2.1" "@ethersproject/abi" "^5.7.0" "@ethersproject/contracts" "^5.7.0" "@ethersproject/providers" "^5.7.0" - "@keystonehq/metamask-airgapped-keyring" "^0.3.0" + "@keystonehq/metamask-airgapped-keyring" "^0.6.1" + "@metamask/contract-metadata" "^1.35.0" + "@metamask/metamask-eth-abis" "3.0.0" + "@metamask/types" "^1.1.0" + "@types/uuid" "^8.3.0" + abort-controller "^3.0.0" + async-mutex "^0.2.6" + babel-runtime "^6.26.0" + deep-freeze-strict "^1.1.1" + eth-ens-namehash "^2.0.8" + eth-json-rpc-infura "^5.1.0" + eth-keyring-controller "^7.0.2" + eth-method-registry "1.1.0" + eth-phishing-detect "^1.2.0" + eth-query "^2.1.2" + eth-rpc-errors "^4.0.0" + eth-sig-util "^3.0.0" + ethereumjs-util "^7.0.10" + ethereumjs-wallet "^1.0.1" + ethjs-unit "^0.1.6" + fast-deep-equal "^3.1.3" + immer "^9.0.6" + isomorphic-fetch "^3.0.0" + json-rpc-engine "^6.1.0" + jsonschema "^1.2.4" + multiformats "^9.5.2" + nanoid "^3.1.31" + punycode "^2.1.1" + single-call-balance-checker-abi "^1.0.0" + uuid "^8.3.2" + web3 "^0.20.7" + web3-provider-engine "^16.0.3" + +"@metamask/controllers@^32.0.2": + version "32.0.2" + resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-32.0.2.tgz#4841e4b8622c0e9a2cc948ef5f7e8a00473055e8" + integrity sha512-cnbOgJbZzUOGTiK7PaxBHiFcGmXFQwuduMRRilY5NpiAKBZ/A08T5D66Ceql+3hmSeUNWzdARLG1bEsQPavogw== + dependencies: + "@ethereumjs/common" "^2.3.1" + "@ethereumjs/tx" "^3.2.1" + "@ethersproject/abi" "^5.7.0" + "@ethersproject/contracts" "^5.7.0" + "@ethersproject/providers" "^5.7.0" + "@keystonehq/metamask-airgapped-keyring" "^0.6.1" "@metamask/contract-metadata" "^1.35.0" "@metamask/metamask-eth-abis" "3.0.0" "@metamask/types" "^1.1.0" @@ -12300,15 +12343,7 @@ ethereum-ens-network-map@^1.0.2: resolved "https://registry.yarnpkg.com/ethereum-ens-network-map/-/ethereum-ens-network-map-1.0.2.tgz#4e27bad18dae7bd95d84edbcac2c9e739fc959b9" integrity sha512-5qwJ5n3YhjSpE6O/WEBXCAb2nagUgyagJ6C0lGUBWC4LjKp/rRzD+pwtDJ6KCiITFEAoX4eIrWOjRy0Sylq5Hg== -ethereumjs-abi@0.6.8, ethereumjs-abi@^0.6.4, ethereumjs-abi@^0.6.8: - version "0.6.8" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" - integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": +ethereumjs-abi@0.6.8, ethereumjs-abi@^0.6.4, ethereumjs-abi@^0.6.8, "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": version "0.6.8" resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" dependencies: