diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 4865b4a8d..6baeb0601 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -637,7 +637,7 @@ export default class MetamaskController extends EventEmitter { this.workerController = new IframeExecutionService({ onError: this.onExecutionEnvironmentError.bind(this), iframeUrl: new URL( - 'https://metamask.github.io/iframe-execution-environment/0.4.3', + 'https://metamask.github.io/iframe-execution-environment/0.4.4', ), messenger: this.controllerMessenger.getRestricted({ name: 'ExecutionService', @@ -658,6 +658,7 @@ export default class MetamaskController extends EventEmitter { `${this.permissionController.name}:hasPermissions`, `${this.permissionController.name}:requestPermissions`, `${this.permissionController.name}:revokeAllPermissions`, + `${this.permissionController.name}:revokePermissionForAllSubjects`, ], }); @@ -1085,13 +1086,14 @@ export default class MetamaskController extends EventEmitter { this.controllerMessenger, 'SnapController:add', ), - clearSnapState: (fromSubject) => - this.controllerMessenger.call( - 'SnapController:updateSnapState', - fromSubject, - null, - ), + clearSnapState: this.controllerMessenger.call.bind( + this.controllerMessenger, + 'SnapController:clearSnapState', + ), getMnemonic: this.getPrimaryKeyringMnemonic.bind(this), + getUnlockPromise: this.appStateController.getUnlockPromise.bind( + this.appStateController, + ), getSnap: this.controllerMessenger.call.bind( this.controllerMessenger, 'SnapController:get', @@ -3527,6 +3529,10 @@ export default class MetamaskController extends EventEmitter { return Object.values(approvedPermissions); }, + getPermissions: this.permissionController.getPermissions.bind( + this.permissionController, + origin, + ), getAccounts: this.getPermittedAccounts.bind(this, origin), installSnaps: this.snapController.installSnaps.bind( this.snapController, diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index c343f5241..2d82ff97e 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -733,8 +733,10 @@ "Worker": true, "clearTimeout": true, "console.error": true, + "console.info": true, "console.log": true, "console.warn": true, + "fetch": true, "setTimeout": true }, "packages": { @@ -747,7 +749,6 @@ "ajv": true, "buffer": true, "concat-stream": true, - "cross-fetch": true, "crypto-browserify": true, "eth-rpc-errors": true, "fast-deep-equal": true, diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index 5346933d0..6783285f9 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -751,8 +751,10 @@ "Worker": true, "clearTimeout": true, "console.error": true, + "console.info": true, "console.log": true, "console.warn": true, + "fetch": true, "setTimeout": true }, "packages": { @@ -765,7 +767,6 @@ "ajv": true, "buffer": true, "concat-stream": true, - "cross-fetch": true, "crypto-browserify": true, "eth-rpc-errors": true, "fast-deep-equal": true, diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index c343f5241..2d82ff97e 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -733,8 +733,10 @@ "Worker": true, "clearTimeout": true, "console.error": true, + "console.info": true, "console.log": true, "console.warn": true, + "fetch": true, "setTimeout": true }, "packages": { @@ -747,7 +749,6 @@ "ajv": true, "buffer": true, "concat-stream": true, - "cross-fetch": true, "crypto-browserify": true, "eth-rpc-errors": true, "fast-deep-equal": true, diff --git a/package.json b/package.json index f438faf46..270735abb 100644 --- a/package.json +++ b/package.json @@ -119,17 +119,17 @@ "@metamask/eth-ledger-bridge-keyring": "^0.11.0", "@metamask/eth-token-tracker": "^4.0.0", "@metamask/etherscan-link": "^2.1.0", - "@metamask/iframe-execution-environment-service": "^0.10.7", + "@metamask/iframe-execution-environment-service": "^0.11.1", "@metamask/jazzicon": "^2.0.0", "@metamask/logo": "^3.1.1", "@metamask/metamask-eth-abis": "^3.0.0", "@metamask/obs-store": "^5.0.0", "@metamask/post-message-stream": "^4.0.0", "@metamask/providers": "^8.1.1", - "@metamask/rpc-methods": "^0.10.7", + "@metamask/rpc-methods": "^0.11.1", "@metamask/slip44": "^2.0.0", "@metamask/smart-transactions-controller": "^1.10.0", - "@metamask/snap-controllers": "^0.10.7", + "@metamask/snap-controllers": "^0.11.1", "@ngraveio/bc-ur": "^1.1.6", "@popperjs/core": "^2.4.0", "@reduxjs/toolkit": "^1.6.2", @@ -435,7 +435,10 @@ "ganache>keccak": false, "ganache>leveldown": false, "ganache>secp256k1": false, - "ganache>utf-8-validate": false + "ganache>utf-8-validate": false, + "gulp-watch>chokidar>fsevents": false, + "gulp>glob-watcher>chokidar>fsevents": false, + "webpack>watchpack>watchpack-chokidar2>chokidar>fsevents": false } } } diff --git a/yarn.lock b/yarn.lock index 7c3b1f58b..b80a6a246 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2730,46 +2730,6 @@ resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.33.0.tgz#3f0501d5c6d9119ce09c1edb075fc0a8fed7d09c" integrity sha512-sWfzsUe59UH2Y1A7czRjhPmYrWlg4UQDOUPdf+lY7kbXwYrlF/ZUvhQYajdgJVchv2yDzr+cFhWF7DmNb5NyTQ== -"@metamask/controllers@^26.0.0": - version "26.0.0" - resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-26.0.0.tgz#3df4a3071ffb26d357ba99f288d52fb9d913c35a" - integrity sha512-iAWDoP/omxGzPfYyBFRNPJ32zcYvZHnUhIM2LyWoCwQj9ZYC1qh+dDX6I0O5jEeQcBrEb+Nl6AcnwHKVdEUz5Q== - dependencies: - "@ethereumjs/common" "^2.3.1" - "@ethereumjs/tx" "^3.2.1" - "@metamask/contract-metadata" "^1.31.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 "^6.2.1" - eth-method-registry "1.1.0" - eth-phishing-detect "^1.1.14" - 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" - ethers "^5.4.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@^27.1.1": version "27.1.1" resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-27.1.1.tgz#b3288bfd05e381e9e32ed60b68a09b2855db1140" @@ -2921,19 +2881,18 @@ resolved "https://registry.yarnpkg.com/@metamask/etherscan-link/-/etherscan-link-2.1.0.tgz#c0be8e68445b7b83cf85bcc03a56cdf8e256c973" integrity sha512-ADuWlTUkFfN2vXlz81Bg/0BA+XRor+CdK1055p6k7H6BLIPoDKn9SBOFld9haQFuR9cKh/JYHcnlSIv5R4fUEw== -"@metamask/execution-environments@^0.10.7": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@metamask/execution-environments/-/execution-environments-0.10.7.tgz#aedc37c9c371a7229600e74e62a0157690152f2c" - integrity sha512-jD8Bzqo/QiDHCbo8D9pvQE7TZNGQJLW0nkz5vY2wLoJ1kLLlyJzyjRU77oZCSZMW0feLZWRifalUQT5tOrGA8w== +"@metamask/execution-environments@^0.11.1": + version "0.11.1" + resolved "https://registry.yarnpkg.com/@metamask/execution-environments/-/execution-environments-0.11.1.tgz#04bfd945a2b8b5379957917255faed0dec27b226" + integrity sha512-E2UVccqKxzF1M6ZnrH8zqI0XO0IIGuB7fS3dUk2Ha44SDw0V/4ufqg9wCGy9H5DIRyLZQN5bDElnTLeEzedt3A== dependencies: "@metamask/object-multiplex" "^1.2.0" "@metamask/post-message-stream" "^4.0.0" "@metamask/providers" "^8.1.1" - "@metamask/snap-types" "^0.10.7" - cross-fetch "^3.1.5" + "@metamask/snap-types" "^0.11.1" eth-rpc-errors "^4.0.3" pump "^3.0.0" - ses "^0.15.7" + ses "^0.15.15" stream-browserify "^3.0.0" "@metamask/forwarder@^1.1.0": @@ -2941,17 +2900,16 @@ resolved "https://registry.yarnpkg.com/@metamask/forwarder/-/forwarder-1.1.0.tgz#13829d8244bbf19ea658c0b20d21a77b67de0bdd" integrity sha512-Hggj4y0QIjDzKGTXzarhEPIQyFSB2bi2y6YLJNwaT4JmP30UB5Cj6gqoY0M4pj3QT57fzp0BUuGp7F/AUe28tw== -"@metamask/iframe-execution-environment-service@^0.10.7": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@metamask/iframe-execution-environment-service/-/iframe-execution-environment-service-0.10.7.tgz#787093962cb04e46759a994b21ab7d8d3b63a518" - integrity sha512-pHrWrv5ywdFmp8PdewPqYcDql9djlvsywsdISVCsAIn3oIH65+ICAuycSNXWTaPQ0VMO5/mE9taynEyVOvw8pw== +"@metamask/iframe-execution-environment-service@^0.11.1": + version "0.11.1" + resolved "https://registry.yarnpkg.com/@metamask/iframe-execution-environment-service/-/iframe-execution-environment-service-0.11.1.tgz#cf3495e26c83cb6389b197797c61e55df7144934" + integrity sha512-Q3jZ0g8+evQNmVGoUrtHFB6VIynmqQTIuE4oo22U7n0U2e+xLtamoJpYXle/KHgBEv3JHeeYu9CPnXc1YCaPOg== dependencies: - "@metamask/controllers" "^26.0.0" - "@metamask/execution-environments" "^0.10.7" + "@metamask/execution-environments" "^0.11.1" "@metamask/object-multiplex" "^1.2.0" "@metamask/post-message-stream" "^4.0.0" - "@metamask/snap-controllers" "^0.10.7" - "@metamask/snap-types" "^0.10.7" + "@metamask/snap-controllers" "^0.11.1" + "@metamask/snap-types" "^0.11.1" eth-rpc-errors "^4.0.3" json-rpc-engine "^6.1.0" json-rpc-middleware-stream "^3.0.0" @@ -3040,14 +2998,14 @@ pump "^3.0.0" webextension-polyfill-ts "^0.25.0" -"@metamask/rpc-methods@^0.10.7": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@metamask/rpc-methods/-/rpc-methods-0.10.7.tgz#d663599de9207bd35f7cf74e4a1ebb4c27b3ee2e" - integrity sha512-K83zkffYDMxzocxHC8eIGWl/XP+YzJu82dK3Ii43f2MEr66oE/bPPPIZAivDmLDxhc/cWE7RUhZCHaiWBR+SGQ== +"@metamask/rpc-methods@^0.11.1": + version "0.11.1" + resolved "https://registry.yarnpkg.com/@metamask/rpc-methods/-/rpc-methods-0.11.1.tgz#180ce27d1d408fb5eb80edf69351611b231d4f56" + integrity sha512-QinfBpYy6m5BikADEUNjQvHXJIrG/1eZmwJbiYh4aJL1AcjzUb2KqWIOdI4ihLJ0xEkEy3rWmDwVQDxd9AzteA== dependencies: - "@metamask/controllers" "^26.0.0" + "@metamask/controllers" "^28.0.0" "@metamask/key-tree" "^3.0.1" - "@metamask/snap-controllers" "^0.10.7" + "@metamask/snap-controllers" "^0.11.1" "@metamask/types" "^1.1.0" eth-rpc-errors "^4.0.2" @@ -3074,13 +3032,13 @@ isomorphic-fetch "^3.0.0" lodash "^4.17.21" -"@metamask/snap-controllers@^0.10.7": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@metamask/snap-controllers/-/snap-controllers-0.10.7.tgz#df4f049264bcc805c3a5876f6c298b2c37c6734e" - integrity sha512-wXuelvjLI06RSxZjCGCCCxxAAyA3djMcjwcjmPbrMPI/6X0neUjrIJrQ4LTBxX2GPzSfU/4z/gFTdAsqi5bHKg== +"@metamask/snap-controllers@^0.11.1": + version "0.11.1" + resolved "https://registry.yarnpkg.com/@metamask/snap-controllers/-/snap-controllers-0.11.1.tgz#00754b8ad2480f4ba5d273b9a3ec2d2251b00e78" + integrity sha512-U5jEz7ZVJUOh9T6IULN6ZNMoS1s7ABZzSAs2mdTCcPDviiMgadwRBWZe7LfiwJQ1xxwKITNPPt8oSBaUsH7biw== dependencies: - "@metamask/controllers" "^26.0.0" - "@metamask/execution-environments" "^0.10.7" + "@metamask/controllers" "^28.0.0" + "@metamask/execution-environments" "^0.11.1" "@metamask/object-multiplex" "^1.1.0" "@metamask/obs-store" "^7.0.0" "@metamask/post-message-stream" "4.0.0" @@ -3089,7 +3047,6 @@ "@types/semver" "^7.3.9" ajv "^8.8.2" concat-stream "^2.0.0" - cross-fetch "^3.1.5" deep-freeze-strict "^1.1.1" eth-rpc-errors "^4.0.2" fast-deep-equal "^3.1.3" @@ -3103,12 +3060,12 @@ semver "^7.3.5" tar-stream "^2.2.0" -"@metamask/snap-types@^0.10.7": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@metamask/snap-types/-/snap-types-0.10.7.tgz#a314ba1082e65a41bde021735bbc57034416aa53" - integrity sha512-AHOwQ/7SxDBRUSrdlWRa5X549mSM1MOl8iErOccxfKzuHdJjmIZIv1Ob34bgdMUxvhkt7ztFCW/lcObmdCIGjA== +"@metamask/snap-types@^0.11.1": + version "0.11.1" + resolved "https://registry.yarnpkg.com/@metamask/snap-types/-/snap-types-0.11.1.tgz#43ddd6397ab4119dabf8ce42725680e593735cd1" + integrity sha512-BrB/zypZbm6GWjGK4QahrRiYChGyk+EE+JAIEx2/vhLuzx2DmoEfEi4k1ojV13Rl7VfnOFsQXuK0xZxMX5FyCA== dependencies: - "@metamask/controllers" "^26.0.0" + "@metamask/controllers" "^28.0.0" "@metamask/test-dapp@^5.0.0": version "5.0.0" @@ -8972,7 +8929,7 @@ cross-fetch@^2.1.0: node-fetch "2.1.2" whatwg-fetch "2.0.4" -cross-fetch@^3.1.4, cross-fetch@^3.1.5: +cross-fetch@^3.1.4: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== @@ -11325,7 +11282,7 @@ eth-method-registry@^2.0.0: dependencies: ethjs "^0.4.0" -eth-phishing-detect@^1.1.14, eth-phishing-detect@^1.1.16: +eth-phishing-detect@^1.1.16: version "1.1.16" resolved "https://registry.yarnpkg.com/eth-phishing-detect/-/eth-phishing-detect-1.1.16.tgz#637158d5774819e1a861f6d169e6d77d076a47fd" integrity sha512-/o9arK5qFOKVdfZK9hJVAQP0eKXjAvImIKNBMfF9Nj1HGicD3wfsVuXDu1OHrxuEi6+4kYtD9wyAn/3G7g7VrA== @@ -24716,10 +24673,10 @@ ses@^0.12.4: "@agoric/make-hardener" "^0.1.2" "@agoric/transform-module" "^0.4.1" -ses@^0.15.7: - version "0.15.11" - resolved "https://registry.yarnpkg.com/ses/-/ses-0.15.11.tgz#851cb6a20d8967537075d25bb0185051c28c23db" - integrity sha512-lQg6q8/PVf+n18EjP+5Uv1tN9oVQ3br5QxJzPXoAVQleSYnlf20JY9coe7n1B9A6CtIKIHyr6m/TfskcRCufgA== +ses@^0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/ses/-/ses-0.15.15.tgz#082923a1cabeac3151f9b3867e325fe447ce037d" + integrity sha512-sJM4HRlM3VouA3RhRmS7wG5MRQPqZZnc6O4BvAefU7yeM+qp8EUfGAWQ9iB/X5cNh3+m5N9lC7DEpyxQ+E4D+w== set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0"