diff --git a/CHANGELOG.md b/CHANGELOG.md index e8665d9f9..7a58844f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [10.11.2] +### Fixed +- Fix bug that users who are connected to another extension would hit when viewing connected sites ([#13974](https://github.com/MetaMask/metamask-extension/pull/13974)) + ## [10.11.1] ### Changed - Fixes GridPlus Lattice bugs by upgrading to `gridplus-sdk` v1.0.0, `eth-lattice-keyring` v0.5.0 and to compatibility with v0.14.0 ([#13834](https://github.com/MetaMask/metamask-extension/pull/13834)) @@ -2775,7 +2779,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Uncategorized - Added the ability to restore accounts from seed words. -[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.11.1...HEAD +[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.11.2...HEAD +[10.11.2]: https://github.com/MetaMask/metamask-extension/compare/v10.11.1...v10.11.2 [10.11.1]: https://github.com/MetaMask/metamask-extension/compare/v10.11.0...v10.11.1 [10.11.0]: https://github.com/MetaMask/metamask-extension/compare/v10.10.2...v10.11.0 [10.10.2]: https://github.com/MetaMask/metamask-extension/compare/v10.10.1...v10.10.2 diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index a9f549bed..2de2dd25e 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -34,16 +34,12 @@ import { CollectiblesController, AssetsContractController, CollectibleDetectionController, -} from '@metamask/controllers'; -import SmartTransactionsController from '@metamask/smart-transactions-controller'; -import { PermissionController, SubjectMetadataController, - ///: BEGIN:ONLY_INCLUDE_IN(flask) - SnapController, - ///: END:ONLY_INCLUDE_IN -} from '@metamask/snap-controllers'; +} from '@metamask/controllers'; +import SmartTransactionsController from '@metamask/smart-transactions-controller'; ///: BEGIN:ONLY_INCLUDE_IN(flask) +import { SnapController } from '@metamask/snap-controllers'; import { IframeExecutionService } from '@metamask/iframe-execution-environment-service'; ///: END:ONLY_INCLUDE_IN @@ -230,9 +226,15 @@ export default class MetamaskController extends EventEmitter { state: initState.TokensController, }); - this.assetsContractController = new AssetsContractController({ - provider: this.provider, - }); + this.assetsContractController = new AssetsContractController( + { + onPreferencesStateChange: (listener) => + this.preferencesController.store.subscribe(listener), + }, + { + provider: this.provider, + }, + ); this.collectiblesController = new CollectiblesController( { diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index e4d29eb88..10a1dfc14 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -551,6 +551,7 @@ "abort-controller": true, "async-mutex": true, "buffer": true, + "deep-freeze-strict": true, "eth-ens-namehash": true, "eth-json-rpc-infura": true, "eth-keyring-controller": true, @@ -564,8 +565,10 @@ "ethers": true, "ethjs-unit": true, "events": true, + "fast-deep-equal": true, "immer": true, "isomorphic-fetch": true, + "json-rpc-engine": true, "jsonschema": true, "multiformats": true, "nanoid": true, diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index 72fa6de24..df637e627 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -551,6 +551,7 @@ "abort-controller": true, "async-mutex": true, "buffer": true, + "deep-freeze-strict": true, "eth-ens-namehash": true, "eth-json-rpc-infura": true, "eth-keyring-controller": true, @@ -564,8 +565,10 @@ "ethers": true, "ethjs-unit": true, "events": true, + "fast-deep-equal": true, "immer": true, "isomorphic-fetch": true, + "json-rpc-engine": true, "jsonschema": true, "multiformats": true, "nanoid": true, diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index e4d29eb88..10a1dfc14 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -551,6 +551,7 @@ "abort-controller": true, "async-mutex": true, "buffer": true, + "deep-freeze-strict": true, "eth-ens-namehash": true, "eth-json-rpc-infura": true, "eth-keyring-controller": true, @@ -564,8 +565,10 @@ "ethers": true, "ethjs-unit": true, "events": true, + "fast-deep-equal": true, "immer": true, "isomorphic-fetch": true, + "json-rpc-engine": true, "jsonschema": true, "multiformats": true, "nanoid": true, diff --git a/package.json b/package.json index fe00c5d76..04949d247 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "metamask-crx", - "version": "10.11.1", + "version": "10.11.2", "private": true, "repository": { "type": "git", @@ -109,7 +109,7 @@ "@keystonehq/metamask-airgapped-keyring": "0.2.1", "@material-ui/core": "^4.11.0", "@metamask/contract-metadata": "^1.31.0", - "@metamask/controllers": "^25.0.0", + "@metamask/controllers": "^27.0.0", "@metamask/eth-ledger-bridge-keyring": "^0.10.0", "@metamask/eth-token-tracker": "^4.0.0", "@metamask/etherscan-link": "^2.1.0", diff --git a/ui/components/ui/icon-with-fallback/icon-with-fallback.component.js b/ui/components/ui/icon-with-fallback/icon-with-fallback.component.js index 62c1ba69f..cbf61b599 100644 --- a/ui/components/ui/icon-with-fallback/icon-with-fallback.component.js +++ b/ui/components/ui/icon-with-fallback/icon-with-fallback.component.js @@ -23,14 +23,14 @@ const IconWithFallback = ({ src={icon} style={style} className={className} - alt={name.length ? name : 'icon'} + alt={name || 'icon'} {...props} /> ) : ( - {name.length ? name.charAt(0).toUpperCase() : ''} + {name && name.length ? name.charAt(0).toUpperCase() : ''} ); }; diff --git a/yarn.lock b/yarn.lock index a78c3288e..0c1d8c0ee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2671,7 +2671,7 @@ resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.31.0.tgz#9e3e46de7a955ea1ca61f7db20d9a17b5e91d3d0" integrity sha512-4FBJkg/vDiYp/thIiZknxrJ0lfsj2eWIPenwlNZmoqOhoL4VqhK5eKWxi+EuGMvv9taP+QBRk6Key7wC1uL78A== -"@metamask/controllers@^25.0.0", "@metamask/controllers@^25.1.0": +"@metamask/controllers@^25.1.0": version "25.1.0" resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-25.1.0.tgz#2efee24a9a2b03ab2a2b0422c8f250931c269560" integrity sha512-syndn2lIhtlACzaqjDrw23dJzw8pZ6en4Cr35C7B9RRS87EhahUqkPP73moAzLtvbyqtBlAUO1HHrqV3lw4E5g== @@ -2707,6 +2707,86 @@ web3 "^0.20.7" web3-provider-engine "^16.0.3" +"@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.0.0": + version "27.0.0" + resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-27.0.0.tgz#23fb24960880047635a7e0b226375b843f385ad1" + integrity sha512-ZMSniSWVJN6TGFwZv8o/N3jff0QKxW6/ZkhyE0Ikd6WB9WKt665OD/FgWbsJVBpzJ5fF4N7pziYULbVsag8pVQ== + 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/eslint-config-jest@^9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@metamask/eslint-config-jest/-/eslint-config-jest-9.0.0.tgz#516fdf1f03f6f006b26ca790bf748e2189d19d17" @@ -2814,6 +2894,11 @@ gl-mat4 "1.1.4" gl-vec3 "1.0.3" +"@metamask/metamask-eth-abis@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@metamask/metamask-eth-abis/-/metamask-eth-abis-3.0.0.tgz#eccc0746b3ab1ab63000444403819c16e88b5272" + integrity sha512-YtIl4e1VzqwwHGafuLIVPqbcWWWqQ0Ezo8/Ci5m5OGllqE2oTTx9iVHdUmXNkgCVD37SBfwn/fm/S1IGkM8BQA== + "@metamask/metamask-eth-abis@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@metamask/metamask-eth-abis/-/metamask-eth-abis-2.1.0.tgz#316c2e72373506f1a0120b76e432760a27eb6806" @@ -2946,6 +3031,11 @@ resolved "https://registry.yarnpkg.com/@metamask/test-dapp/-/test-dapp-5.0.0.tgz#ecea832b57ff97782bfdd57a4af3408c7c64c02d" integrity sha512-eR9JQ0jPOeP/hdQj9hUkqbvinfjVLYTtdHV+mDCN1tsNxiTdninZbltg9bx6Gqp91v9/9YPhlhXCmMQPq/AMxQ== +"@metamask/types@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@metamask/types/-/types-1.1.0.tgz#9bd14b33427932833c50c9187298804a18c2e025" + integrity sha512-EEV/GjlYkOSfSPnYXfOosxa3TqYtIW3fhg6jdw+cok/OhMgNn4wCfbENFqjytrHMU2f7ZKtBAvtiP5V8H44sSw== + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"