From 94c10bee963e998922e026b50e27ba443af94605 Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Fri, 16 Jun 2023 16:44:05 +0000 Subject: [PATCH 01/24] Version v10.33.0 --- CHANGELOG.md | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++- package.json | 2 +- 2 files changed, 151 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e628cdcbbdf6..6da2d36c23c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,154 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [10.33.0] +### Uncategorized +- feat: add new linea mainnet network ([#19326](https://github.com/MetaMask/metamask-extension/pull/19326)) +- Feat/19274/ds popover update account list menu ([#19534](https://github.com/MetaMask/metamask-extension/pull/19534)) +- Updated contacts Title and copy changes in Send Flow ([#19618](https://github.com/MetaMask/metamask-extension/pull/19618)) +- Fix #19619 - Submit the account creation form when pressing enter ([#19620](https://github.com/MetaMask/metamask-extension/pull/19620)) +- Fix searchable item list height ([#19634](https://github.com/MetaMask/metamask-extension/pull/19634)) +- Master sync PR following v10.32.0 ([#19630](https://github.com/MetaMask/metamask-extension/pull/19630)) +- [FLASK] Update rate limits for `showInAppNotification` and `showNativeNotification` ([#19621](https://github.com/MetaMask/metamask-extension/pull/19621)) +- Merge branch 'develop' into master-sync +- [MMI] renames method for better understanding ([#19622](https://github.com/MetaMask/metamask-extension/pull/19622)) +- Extend `wallet_watchAsset` to support `ERC721` and `ERC1155` tokens ([#19454](https://github.com/MetaMask/metamask-extension/pull/19454)) +- Swaps UI update ([#19169](https://github.com/MetaMask/metamask-extension/pull/19169)) +- Enable e2e debug flag in CI ([#19588](https://github.com/MetaMask/metamask-extension/pull/19588)) +- devDeps: socketcluster-client@14.3.1->14.3.2 ([#19055](https://github.com/MetaMask/metamask-extension/pull/19055)) +- MMI start script and fixes a bug preventing it to run ([#19594](https://github.com/MetaMask/metamask-extension/pull/19594)) +- UX: Ensure 'Connect Hardware' route is functioning properly ([#19612](https://github.com/MetaMask/metamask-extension/pull/19612)) +- Fix unknown processing time not showing in warning color ([#19527](https://github.com/MetaMask/metamask-extension/pull/19527)) +- devDeps: bump and align devDependencies ([#19194](https://github.com/MetaMask/metamask-extension/pull/19194)) +- fix signature controller patch ([#19607](https://github.com/MetaMask/metamask-extension/pull/19607)) +- Fix #19437 - Prevent Connected Sites global menu item from being clicked during confirmation ([#19598](https://github.com/MetaMask/metamask-extension/pull/19598)) +- UX: Add portfolio button in overview ([#19601](https://github.com/MetaMask/metamask-extension/pull/19601)) +- Sync NetworkController lookupNetwork tests w/ core ([#19401](https://github.com/MetaMask/metamask-extension/pull/19401)) +- feature(19493): eliminate e2e flakyness for eth-sign ([#19606](https://github.com/MetaMask/metamask-extension/pull/19606)) +- fix: refactor linea goerli testnet implementation ([#19321](https://github.com/MetaMask/metamask-extension/pull/19321)) +- feature(19496): eliminate flow e2e flakyness in terms of asserting content for DOM ([#19600](https://github.com/MetaMask/metamask-extension/pull/19600)) +- Fix flakey tests in metamask controller tests ([#19312](https://github.com/MetaMask/metamask-extension/pull/19312)) +- Fix #19439 - Allow Account Picker during Send flow ([#19522](https://github.com/MetaMask/metamask-extension/pull/19522)) +- Adding deprecation tags to popover and old modals ([#19556](https://github.com/MetaMask/metamask-extension/pull/19556)) +- devDeps: degenerator@3.0.1->3.0.4 ([#19178](https://github.com/MetaMask/metamask-extension/pull/19178)) +- updated components with Multichain Prefix ([#19593](https://github.com/MetaMask/metamask-extension/pull/19593)) +- Sync NetworkController getEIP1559Compatibility tests w/ core ([#19419](https://github.com/MetaMask/metamask-extension/pull/19419)) +- Sync NetworkController setProviderType tests ([#19406](https://github.com/MetaMask/metamask-extension/pull/19406)) +- Sync rollbackToPreviousProvider tests w/ core ([#19428](https://github.com/MetaMask/metamask-extension/pull/19428)) +- Update message manager and signature controller ([#19370](https://github.com/MetaMask/metamask-extension/pull/19370)) +- Update lockfile ([#19583](https://github.com/MetaMask/metamask-extension/pull/19583)) +- UX Multichain: UI fixes for settings page ([#19574](https://github.com/MetaMask/metamask-extension/pull/19574)) +- UX Multichain: updated enums for multichain token list item ([#19575](https://github.com/MetaMask/metamask-extension/pull/19575)) +- Adding background/default to BorderColor enum to prevent propType error and updating tests ([#19571](https://github.com/MetaMask/metamask-extension/pull/19571)) +- UX: Multichain: Move Add Account and Import Account into Account Menu Popover ([#19346](https://github.com/MetaMask/metamask-extension/pull/19346)) +- Update `@metamask/gas-fee-controller` to v6 ([#19366](https://github.com/MetaMask/metamask-extension/pull/19366)) +- [FLASK] Bump RateLimitController to v3 ([#19578](https://github.com/MetaMask/metamask-extension/pull/19578)) +- Await approval request in transaction controller ([#19197](https://github.com/MetaMask/metamask-extension/pull/19197)) +- Upgrade assets-controllers to v9 ([#19472](https://github.com/MetaMask/metamask-extension/pull/19472)) +- Check Node (and Yarn) versions at install ([#19537](https://github.com/MetaMask/metamask-extension/pull/19537)) +- fix: update linea testnet rpc url ([#19294](https://github.com/MetaMask/metamask-extension/pull/19294)) +- UX Multichain: Updated header to use picker network in popup view ([#19514](https://github.com/MetaMask/metamask-extension/pull/19514)) +- [FLASK] Align update error state with Figma ([#19547](https://github.com/MetaMask/metamask-extension/pull/19547)) +- [FLASK] Fix usages of `getSnapName` ([#19546](https://github.com/MetaMask/metamask-extension/pull/19546)) +- [FLASK] Improve snaps connect flow ([#19461](https://github.com/MetaMask/metamask-extension/pull/19461)) +- feature(19463): fix send-eth flaky test and refactor ([#19531](https://github.com/MetaMask/metamask-extension/pull/19531)) +- [FLASK] Update Snaps privacy notice ([#19501](https://github.com/MetaMask/metamask-extension/pull/19501)) +- Add getEthQuery action to NetworkController ([#19420](https://github.com/MetaMask/metamask-extension/pull/19420)) +- Sync NetworkController setActiveNetwork tests w/ core ([#19405](https://github.com/MetaMask/metamask-extension/pull/19405)) +- Bump minimum Node version to 16.20.0 ([#19520](https://github.com/MetaMask/metamask-extension/pull/19520)) +- Sync removeNetworkConfiguration tests w/ core ([#19427](https://github.com/MetaMask/metamask-extension/pull/19427)) +- Sync NetworkController upsertNetworkConfiguration w/ core ([#19426](https://github.com/MetaMask/metamask-extension/pull/19426)) +- Deprecate JS version of Box in favor of TS version ([#19530](https://github.com/MetaMask/metamask-extension/pull/19530)) +- Make `eth_accounts` return all permitted accounts ([#18516](https://github.com/MetaMask/metamask-extension/pull/18516)) +- Adding `Box` component in TS to component-library ([#19363](https://github.com/MetaMask/metamask-extension/pull/19363)) +- added validTag string literal union ([#19258](https://github.com/MetaMask/metamask-extension/pull/19258)) +- update icons for add-network ([#19513](https://github.com/MetaMask/metamask-extension/pull/19513)) +- Send flow UI update ([#19465](https://github.com/MetaMask/metamask-extension/pull/19465)) +- Reduce e2e test flakiness ([#19507](https://github.com/MetaMask/metamask-extension/pull/19507)) +- Master sync follow v10.31.1 ([#19517](https://github.com/MetaMask/metamask-extension/pull/19517)) +- feat(17901): fix network, add-account and mv3 phishing warning issue ([#19462](https://github.com/MetaMask/metamask-extension/pull/19462)) +- issue-18714: Replaced deprecated constants with enum in EthSignModal and HoldToRevealModal Component ([#19499](https://github.com/MetaMask/metamask-extension/pull/19499)) +- Added the ability to navigate multiple SIWE notifications ([#18103](https://github.com/MetaMask/metamask-extension/pull/18103)) +- [FLASK] Update snap installation permission warning UI ([#19494](https://github.com/MetaMask/metamask-extension/pull/19494)) +- When gas fees suggested by dapp is too high, show warning color and icon ([#19088](https://github.com/MetaMask/metamask-extension/pull/19088)) +- [MMI] Improved code, fixed bugs and added more tests ([#19488](https://github.com/MetaMask/metamask-extension/pull/19488)) +- Update LavaMoat policies ([#19505](https://github.com/MetaMask/metamask-extension/pull/19505)) +- issue-18714: Replaced deprecated constants with enum in confirmation-warning-modal.js ([#19477](https://github.com/MetaMask/metamask-extension/pull/19477)) +- Creating story for `icon-border` ([#19467](https://github.com/MetaMask/metamask-extension/pull/19467)) +- Creating story for `account-mismatch-warning` ([#19460](https://github.com/MetaMask/metamask-extension/pull/19460)) +- Widen the number of test files that TS sees ([#19403](https://github.com/MetaMask/metamask-extension/pull/19403)) +- fix(e2e): flaky test-e2e-chrome on add-custom-network.spec.js ([#19487](https://github.com/MetaMask/metamask-extension/pull/19487)) +- [FLASK] Rework Snaps headers and footers ([#19442](https://github.com/MetaMask/metamask-extension/pull/19442)) +- Bump `fast-xml-parser` to fix audit issue ([#19489](https://github.com/MetaMask/metamask-extension/pull/19489)) +- Remove unwanted console.log in E2E test ([#19482](https://github.com/MetaMask/metamask-extension/pull/19482)) +- Feature/mmi 3009 confirm transaction base code fences ([#19335](https://github.com/MetaMask/metamask-extension/pull/19335)) +- Fix capitalization of MetaMask ([#19466](https://github.com/MetaMask/metamask-extension/pull/19466)) +- setActiveNetwork captures network config ID ([#19404](https://github.com/MetaMask/metamask-extension/pull/19404)) +- Creating story for `asset-list` ([#19450](https://github.com/MetaMask/metamask-extension/pull/19450)) +- UX: Multichain: Restore Flask support link and text ([#19198](https://github.com/MetaMask/metamask-extension/pull/19198)) +- Have mmi build being generated ([#19441](https://github.com/MetaMask/metamask-extension/pull/19441)) +- Using NetworkAccountBalanceHeader component on SIWE screen ([#19361](https://github.com/MetaMask/metamask-extension/pull/19361)) +- [FLASK] Update UI (for audit) (UI facelift) ([#19388](https://github.com/MetaMask/metamask-extension/pull/19388)) +- [FLASK] Limit notification count display to 99+ ([#19449](https://github.com/MetaMask/metamask-extension/pull/19449)) +- replacing depricated constants ([#19448](https://github.com/MetaMask/metamask-extension/pull/19448)) +- replacing depricated constants ([#19447](https://github.com/MetaMask/metamask-extension/pull/19447)) +- UX Multichain: Update settings title ([#19414](https://github.com/MetaMask/metamask-extension/pull/19414)) +- Handle watch asset accept and reject using ApprovalController only ([#18829](https://github.com/MetaMask/metamask-extension/pull/18829)) +- Revert "feature: Add legacy derivation path to Trezor (#19443)" ([#19443](https://github.com/MetaMask/metamask-extension/pull/19443)) +- feature: Add legacy derivation path to Trezor ([#19443](https://github.com/MetaMask/metamask-extension/pull/19443)) +- Replacing deprecated constants with enums ([#19242](https://github.com/MetaMask/metamask-extension/pull/19242)) +- Updating component-library readme storybook render ([#19359](https://github.com/MetaMask/metamask-extension/pull/19359)) +- Part of #18714: Replacing deprecated constants in `Avatar-Base` folder ([#19408](https://github.com/MetaMask/metamask-extension/pull/19408)) +- feature(17901): fix import UI error ([#19372](https://github.com/MetaMask/metamask-extension/pull/19372)) +- [FLASK] Update snap tweaks ([#19410](https://github.com/MetaMask/metamask-extension/pull/19410)) +- [FLASK] `snaps@0.34.0-flask.1` ([#19377](https://github.com/MetaMask/metamask-extension/pull/19377)) +- Remove MULTICHAIN flag for NFT badges ([#19416](https://github.com/MetaMask/metamask-extension/pull/19416)) +- Sync NetworkController initializeProvider tests w/ core ([#19297](https://github.com/MetaMask/metamask-extension/pull/19297)) +- Sync default value of networkDetails w/ core ([#19407](https://github.com/MetaMask/metamask-extension/pull/19407)) +- UX: Multichain: Make MetaFox logo more accessible ([#19395](https://github.com/MetaMask/metamask-extension/pull/19395)) +- [MMI] Added code fencing in libs folder ([#17929](https://github.com/MetaMask/metamask-extension/pull/17929)) +- Multichain NFT network badges ([#19029](https://github.com/MetaMask/metamask-extension/pull/19029)) +- Fix details when transferring NFT not added to wallet ([#19045](https://github.com/MetaMask/metamask-extension/pull/19045)) +- feature(on-ramp): update supported networks ([#19268](https://github.com/MetaMask/metamask-extension/pull/19268)) +- feature(17901): fix flaky tests in send-eth e2e ([#19397](https://github.com/MetaMask/metamask-extension/pull/19397)) +- accept approval request first ([#19409](https://github.com/MetaMask/metamask-extension/pull/19409)) +- Fix/storybook console cleanup ([#19244](https://github.com/MetaMask/metamask-extension/pull/19244)) +- Release MultiChain 0.5 ([#18903](https://github.com/MetaMask/metamask-extension/pull/18903)) +- Part of #18714: Replacing deprecated constants in `Avatar-Favicon` folder ([#19332](https://github.com/MetaMask/metamask-extension/pull/19332)) +- ConfirmTxPage: rm redundant unapprovedTxs const ([#19275](https://github.com/MetaMask/metamask-extension/pull/19275)) +- Replacing Deprecated Constants ([#19333](https://github.com/MetaMask/metamask-extension/pull/19333)) +- added deprecation message above SiteIcon ([#19256](https://github.com/MetaMask/metamask-extension/pull/19256)) +- ci: temporarily disable codecov status checks ([#19354](https://github.com/MetaMask/metamask-extension/pull/19354)) +- ConfirmApprove: fix space occurring after footer ([#19276](https://github.com/MetaMask/metamask-extension/pull/19276)) +- Clean ConfirmTransaction page related code ([#19208](https://github.com/MetaMask/metamask-extension/pull/19208)) +- deep clone signature tx in order to avoid state mutation bug on development ([#19179](https://github.com/MetaMask/metamask-extension/pull/19179)) +- Update `@metamask/approval-controller` to v3 ([#19365](https://github.com/MetaMask/metamask-extension/pull/19365)) +- Update `@metamask/notification-controller` to v3 ([#19364](https://github.com/MetaMask/metamask-extension/pull/19364)) +- Update `@metamask/address-book-controller` to v3 ([#19345](https://github.com/MetaMask/metamask-extension/pull/19345)) +- Update `@metamask/controller-utils` to v4 ([#19344](https://github.com/MetaMask/metamask-extension/pull/19344)) +- devDeps: yargs@7.1.1->7.1.2 ([#19057](https://github.com/MetaMask/metamask-extension/pull/19057)) +- devDeps: squirrelly@^8.0.8->^9.0.0 ([#19113](https://github.com/MetaMask/metamask-extension/pull/19113)) +- Update mv3 minimum version to chrome v88 ([#19358](https://github.com/MetaMask/metamask-extension/pull/19358)) +- Ensure custom provider configs have chain ID and RPC URL ([#19296](https://github.com/MetaMask/metamask-extension/pull/19296)) +- Update INFURA_NETWORKS in NC tests to ostensibly use dec #'s ([#19316](https://github.com/MetaMask/metamask-extension/pull/19316)) +- NetworkController tests: Sync withController helper ([#19313](https://github.com/MetaMask/metamask-extension/pull/19313)) +- NetworkController tests: Remove commented line ([#19315](https://github.com/MetaMask/metamask-extension/pull/19315)) +- Part of #18714: Replacing deprecated constants in `Modal-Header` folder ([#19339](https://github.com/MetaMask/metamask-extension/pull/19339)) +- Update `@metamask/announcement-controller` to v4 ([#19348](https://github.com/MetaMask/metamask-extension/pull/19348)) +- Update README.md ([#19350](https://github.com/MetaMask/metamask-extension/pull/19350)) +- NetworkController: Improve test for destroy ([#19314](https://github.com/MetaMask/metamask-extension/pull/19314)) +- Add getProviderConfig action to NetworkController ([#19317](https://github.com/MetaMask/metamask-extension/pull/19317)) +- Sync NetworkController constructor tests with core ([#19311](https://github.com/MetaMask/metamask-extension/pull/19311)) +- Update `@metamask/base-controller` to v3 ([#19343](https://github.com/MetaMask/metamask-extension/pull/19343)) +- [FLASK] Add Snaps privacy warning on snap install ([#18835](https://github.com/MetaMask/metamask-extension/pull/18835)) +- feature(17901): fix failing network error and remove duplicated e2e for mv3 ([#19292](https://github.com/MetaMask/metamask-extension/pull/19292)) +- feature(17901): fix address-book `Sends to an address book entry` e2e against MV3 build ([#19330](https://github.com/MetaMask/metamask-extension/pull/19330)) +- Revert "[MMI] Add confirm-transaction-base code fences (#18795)" ([#18795](https://github.com/MetaMask/metamask-extension/pull/18795)) +- updates values ([#19336](https://github.com/MetaMask/metamask-extension/pull/19336)) +- Changes to Popover folder ([#19245](https://github.com/MetaMask/metamask-extension/pull/19245)) +- [MMI] Add confirm-transaction-base code fences ([#18795](https://github.com/MetaMask/metamask-extension/pull/18795)) +- [MMI] adds mmi code fences to mm controller ([#18279](https://github.com/MetaMask/metamask-extension/pull/18279)) + ## [10.32.0] ### Added - Enable token detection for the Aurora network ([#19009](https://github.com/MetaMask/metamask-extension/pull/19009)) @@ -3779,7 +3927,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.32.0...HEAD +[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.33.0...HEAD +[10.33.0]: https://github.com/MetaMask/metamask-extension/compare/v10.32.0...v10.33.0 [10.32.0]: https://github.com/MetaMask/metamask-extension/compare/v10.31.1...v10.32.0 [10.31.1]: https://github.com/MetaMask/metamask-extension/compare/v10.31.0...v10.31.1 [10.31.0]: https://github.com/MetaMask/metamask-extension/compare/v10.30.4...v10.31.0 diff --git a/package.json b/package.json index 43e66d32add2..adf1a8995b0a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "metamask-crx", - "version": "10.32.0", + "version": "10.33.0", "private": true, "repository": { "type": "git", From ac3053d16adc2e43e0f14406921b370bd41beeec Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Mon, 19 Jun 2023 16:26:24 -0230 Subject: [PATCH 02/24] Run yarn lavamoat:auto for v10.33.0 --- lavamoat/build-system/policy.json | 71 ++++--------------------------- 1 file changed, 8 insertions(+), 63 deletions(-) diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index 89e2820e1621..9ee98809244a 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -980,7 +980,6 @@ "packages": { "@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>are-we-there-yet": true, "@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge": true, - "@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>console-control-strings": true, "@storybook/react>@storybook/node-logger>npmlog>console-control-strings": true, "nyc>yargs>set-blocking": true } @@ -1009,9 +1008,6 @@ "@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge>aproba": true, "@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge>string-width": true, "@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge>strip-ansi": true, - "@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>console-control-strings": true, - "@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>has-unicode": true, - "@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>wide-align": true, "@storybook/react>@storybook/node-logger>npmlog>console-control-strings": true, "@storybook/react>@storybook/node-logger>npmlog>gauge>has-unicode": true, "@storybook/react>@storybook/node-logger>npmlog>gauge>wide-align": true, @@ -1137,33 +1133,11 @@ "@metamask/jazzicon>color>color-convert>color-name": true } }, - "@sentry/cli>mkdirp": { - "builtin": { - "fs": true, - "path.dirname": true, - "path.resolve": true - } - }, "@storybook/addon-knobs>qs": { "packages": { "string.prototype.matchall>side-channel": true } }, - "@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>has-unicode": { - "builtin": { - "os.type": true - }, - "globals": { - "process.env.LANG": true, - "process.env.LC_ALL": true, - "process.env.LC_CTYPE": true - } - }, - "@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>wide-align": { - "packages": { - "yargs>string-width": true - } - }, "@storybook/core>@storybook/core-server>x-default-browser>default-browser-id>untildify>os-homedir": { "builtin": { "os.homedir": true @@ -4895,20 +4869,9 @@ }, "packages": { "@storybook/core>@storybook/core-server>x-default-browser>default-browser-id>untildify>os-homedir": true, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": true, "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": { - "builtin": { - "os.homedir": true - }, - "globals": { - "process.env": true, - "process.getuid": true, - "process.platform": true - } - }, "gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": { "globals": { "process.env.SystemRoot": true, @@ -4930,34 +4893,9 @@ "setTimeout": true }, "packages": { - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": true, "nyc>glob": true } }, - "gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": { - "builtin": { - "assert": true, - "events.EventEmitter": true, - "fs": true, - "path.join": true, - "path.resolve": true, - "util": true - }, - "globals": { - "console.error": true, - "process.cwd": true, - "process.nextTick": true, - "process.platform": true - }, - "packages": { - "eslint>minimatch": true, - "gulp-watch>path-is-absolute": true, - "nyc>glob>fs.realpath": true, - "nyc>glob>inflight": true, - "pump>once": true, - "pumpify>inherits": true - } - }, "gulp-watch>chokidar>fsevents>node-pre-gyp>semver": { "globals": { "console": true, @@ -8246,7 +8184,14 @@ "path.dirname": true }, "packages": { - "@sentry/cli>mkdirp": true + "stylelint>file-entry-cache>flat-cache>write>mkdirp": true + } + }, + "stylelint>file-entry-cache>flat-cache>write>mkdirp": { + "builtin": { + "fs": true, + "path.dirname": true, + "path.resolve": true } }, "stylelint>global-modules": { From c76d91dfe7f3056e7c8dcebc69189b89cca53dd9 Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Tue, 20 Jun 2023 12:30:49 -0230 Subject: [PATCH 03/24] Update changelog for v10.33.0 (#19664) * Update changelog for v10.33.0 * Update CHANGELOG.md Co-authored-by: Frederik Bolding * Update CHANGELOG.md Co-authored-by: Frederik Bolding * Update CHANGELOG.md Co-authored-by: Frederik Bolding * Update CHANGELOG.md Co-authored-by: Frederik Bolding --------- Co-authored-by: Frederik Bolding --- CHANGELOG.md | 178 +++++++++++---------------------------------------- 1 file changed, 38 insertions(+), 140 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6da2d36c23c7..08b8b50dbbc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,152 +7,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [10.33.0] -### Uncategorized -- feat: add new linea mainnet network ([#19326](https://github.com/MetaMask/metamask-extension/pull/19326)) -- Feat/19274/ds popover update account list menu ([#19534](https://github.com/MetaMask/metamask-extension/pull/19534)) -- Updated contacts Title and copy changes in Send Flow ([#19618](https://github.com/MetaMask/metamask-extension/pull/19618)) -- Fix #19619 - Submit the account creation form when pressing enter ([#19620](https://github.com/MetaMask/metamask-extension/pull/19620)) -- Fix searchable item list height ([#19634](https://github.com/MetaMask/metamask-extension/pull/19634)) -- Master sync PR following v10.32.0 ([#19630](https://github.com/MetaMask/metamask-extension/pull/19630)) -- [FLASK] Update rate limits for `showInAppNotification` and `showNativeNotification` ([#19621](https://github.com/MetaMask/metamask-extension/pull/19621)) -- Merge branch 'develop' into master-sync -- [MMI] renames method for better understanding ([#19622](https://github.com/MetaMask/metamask-extension/pull/19622)) -- Extend `wallet_watchAsset` to support `ERC721` and `ERC1155` tokens ([#19454](https://github.com/MetaMask/metamask-extension/pull/19454)) -- Swaps UI update ([#19169](https://github.com/MetaMask/metamask-extension/pull/19169)) -- Enable e2e debug flag in CI ([#19588](https://github.com/MetaMask/metamask-extension/pull/19588)) -- devDeps: socketcluster-client@14.3.1->14.3.2 ([#19055](https://github.com/MetaMask/metamask-extension/pull/19055)) -- MMI start script and fixes a bug preventing it to run ([#19594](https://github.com/MetaMask/metamask-extension/pull/19594)) -- UX: Ensure 'Connect Hardware' route is functioning properly ([#19612](https://github.com/MetaMask/metamask-extension/pull/19612)) -- Fix unknown processing time not showing in warning color ([#19527](https://github.com/MetaMask/metamask-extension/pull/19527)) -- devDeps: bump and align devDependencies ([#19194](https://github.com/MetaMask/metamask-extension/pull/19194)) -- fix signature controller patch ([#19607](https://github.com/MetaMask/metamask-extension/pull/19607)) -- Fix #19437 - Prevent Connected Sites global menu item from being clicked during confirmation ([#19598](https://github.com/MetaMask/metamask-extension/pull/19598)) -- UX: Add portfolio button in overview ([#19601](https://github.com/MetaMask/metamask-extension/pull/19601)) -- Sync NetworkController lookupNetwork tests w/ core ([#19401](https://github.com/MetaMask/metamask-extension/pull/19401)) -- feature(19493): eliminate e2e flakyness for eth-sign ([#19606](https://github.com/MetaMask/metamask-extension/pull/19606)) -- fix: refactor linea goerli testnet implementation ([#19321](https://github.com/MetaMask/metamask-extension/pull/19321)) -- feature(19496): eliminate flow e2e flakyness in terms of asserting content for DOM ([#19600](https://github.com/MetaMask/metamask-extension/pull/19600)) -- Fix flakey tests in metamask controller tests ([#19312](https://github.com/MetaMask/metamask-extension/pull/19312)) -- Fix #19439 - Allow Account Picker during Send flow ([#19522](https://github.com/MetaMask/metamask-extension/pull/19522)) -- Adding deprecation tags to popover and old modals ([#19556](https://github.com/MetaMask/metamask-extension/pull/19556)) -- devDeps: degenerator@3.0.1->3.0.4 ([#19178](https://github.com/MetaMask/metamask-extension/pull/19178)) -- updated components with Multichain Prefix ([#19593](https://github.com/MetaMask/metamask-extension/pull/19593)) -- Sync NetworkController getEIP1559Compatibility tests w/ core ([#19419](https://github.com/MetaMask/metamask-extension/pull/19419)) -- Sync NetworkController setProviderType tests ([#19406](https://github.com/MetaMask/metamask-extension/pull/19406)) -- Sync rollbackToPreviousProvider tests w/ core ([#19428](https://github.com/MetaMask/metamask-extension/pull/19428)) -- Update message manager and signature controller ([#19370](https://github.com/MetaMask/metamask-extension/pull/19370)) -- Update lockfile ([#19583](https://github.com/MetaMask/metamask-extension/pull/19583)) -- UX Multichain: UI fixes for settings page ([#19574](https://github.com/MetaMask/metamask-extension/pull/19574)) -- UX Multichain: updated enums for multichain token list item ([#19575](https://github.com/MetaMask/metamask-extension/pull/19575)) -- Adding background/default to BorderColor enum to prevent propType error and updating tests ([#19571](https://github.com/MetaMask/metamask-extension/pull/19571)) -- UX: Multichain: Move Add Account and Import Account into Account Menu Popover ([#19346](https://github.com/MetaMask/metamask-extension/pull/19346)) -- Update `@metamask/gas-fee-controller` to v6 ([#19366](https://github.com/MetaMask/metamask-extension/pull/19366)) -- [FLASK] Bump RateLimitController to v3 ([#19578](https://github.com/MetaMask/metamask-extension/pull/19578)) -- Await approval request in transaction controller ([#19197](https://github.com/MetaMask/metamask-extension/pull/19197)) -- Upgrade assets-controllers to v9 ([#19472](https://github.com/MetaMask/metamask-extension/pull/19472)) -- Check Node (and Yarn) versions at install ([#19537](https://github.com/MetaMask/metamask-extension/pull/19537)) -- fix: update linea testnet rpc url ([#19294](https://github.com/MetaMask/metamask-extension/pull/19294)) -- UX Multichain: Updated header to use picker network in popup view ([#19514](https://github.com/MetaMask/metamask-extension/pull/19514)) -- [FLASK] Align update error state with Figma ([#19547](https://github.com/MetaMask/metamask-extension/pull/19547)) -- [FLASK] Fix usages of `getSnapName` ([#19546](https://github.com/MetaMask/metamask-extension/pull/19546)) -- [FLASK] Improve snaps connect flow ([#19461](https://github.com/MetaMask/metamask-extension/pull/19461)) -- feature(19463): fix send-eth flaky test and refactor ([#19531](https://github.com/MetaMask/metamask-extension/pull/19531)) -- [FLASK] Update Snaps privacy notice ([#19501](https://github.com/MetaMask/metamask-extension/pull/19501)) -- Add getEthQuery action to NetworkController ([#19420](https://github.com/MetaMask/metamask-extension/pull/19420)) -- Sync NetworkController setActiveNetwork tests w/ core ([#19405](https://github.com/MetaMask/metamask-extension/pull/19405)) -- Bump minimum Node version to 16.20.0 ([#19520](https://github.com/MetaMask/metamask-extension/pull/19520)) -- Sync removeNetworkConfiguration tests w/ core ([#19427](https://github.com/MetaMask/metamask-extension/pull/19427)) -- Sync NetworkController upsertNetworkConfiguration w/ core ([#19426](https://github.com/MetaMask/metamask-extension/pull/19426)) -- Deprecate JS version of Box in favor of TS version ([#19530](https://github.com/MetaMask/metamask-extension/pull/19530)) -- Make `eth_accounts` return all permitted accounts ([#18516](https://github.com/MetaMask/metamask-extension/pull/18516)) -- Adding `Box` component in TS to component-library ([#19363](https://github.com/MetaMask/metamask-extension/pull/19363)) -- added validTag string literal union ([#19258](https://github.com/MetaMask/metamask-extension/pull/19258)) -- update icons for add-network ([#19513](https://github.com/MetaMask/metamask-extension/pull/19513)) -- Send flow UI update ([#19465](https://github.com/MetaMask/metamask-extension/pull/19465)) -- Reduce e2e test flakiness ([#19507](https://github.com/MetaMask/metamask-extension/pull/19507)) -- Master sync follow v10.31.1 ([#19517](https://github.com/MetaMask/metamask-extension/pull/19517)) -- feat(17901): fix network, add-account and mv3 phishing warning issue ([#19462](https://github.com/MetaMask/metamask-extension/pull/19462)) -- issue-18714: Replaced deprecated constants with enum in EthSignModal and HoldToRevealModal Component ([#19499](https://github.com/MetaMask/metamask-extension/pull/19499)) +### Added +- UI Upgrade ([#18903](https://github.com/MetaMask/metamask-extension/pull/18903)) + - A completely new application header, which contains: + - A new network picker, which displays as only an avatar in the popup and as a full dropdown in full screen mode + - A new account picker + - A new connected icon which displays in popup mode + - A new global menu which contains controls that were formally in the account menu as well as account options menu + - A new token list + - A new token details popover - Added the ability to navigate multiple SIWE notifications ([#18103](https://github.com/MetaMask/metamask-extension/pull/18103)) -- [FLASK] Update snap installation permission warning UI ([#19494](https://github.com/MetaMask/metamask-extension/pull/19494)) +- Add portfolio button in on home screen, under the balance([#19601](https://github.com/MetaMask/metamask-extension/pull/19601)) +- Add support for ERC721 and ERC1155 tokens to `wallet_watchAsset` API ([#19454](https://github.com/MetaMask/metamask-extension/pull/19454)) +- Add support for Cronos, Moonbeam, Moonriver, Aurora, Harmony and Palm to the 'Buy Crypto' feature ([#19268](https://github.com/MetaMask/metamask-extension/pull/19268)) +- [FLASK] Add Snaps privacy warning on snap install ([#18835](https://github.com/MetaMask/metamask-extension/pull/18835)) + +### Changed +- Redesign swaps feature to be faster and easier to use ([#19169](https://github.com/MetaMask/metamask-extension/pull/19169)) +- Update linea testnet rpc url ([#19294](https://github.com/MetaMask/metamask-extension/pull/19294)) +- Make `eth_accounts` return all permitted accounts ([#18516](https://github.com/MetaMask/metamask-extension/pull/18516)) - When gas fees suggested by dapp is too high, show warning color and icon ([#19088](https://github.com/MetaMask/metamask-extension/pull/19088)) -- [MMI] Improved code, fixed bugs and added more tests ([#19488](https://github.com/MetaMask/metamask-extension/pull/19488)) -- Update LavaMoat policies ([#19505](https://github.com/MetaMask/metamask-extension/pull/19505)) -- issue-18714: Replaced deprecated constants with enum in confirmation-warning-modal.js ([#19477](https://github.com/MetaMask/metamask-extension/pull/19477)) -- Creating story for `icon-border` ([#19467](https://github.com/MetaMask/metamask-extension/pull/19467)) -- Creating story for `account-mismatch-warning` ([#19460](https://github.com/MetaMask/metamask-extension/pull/19460)) -- Widen the number of test files that TS sees ([#19403](https://github.com/MetaMask/metamask-extension/pull/19403)) -- fix(e2e): flaky test-e2e-chrome on add-custom-network.spec.js ([#19487](https://github.com/MetaMask/metamask-extension/pull/19487)) +- Show balance and selected account in the header on the SIWE screen ([#19361](https://github.com/MetaMask/metamask-extension/pull/19361)) +- Submit the account creation form when pressing enter ([#19620](https://github.com/MetaMask/metamask-extension/pull/19620)) - [FLASK] Rework Snaps headers and footers ([#19442](https://github.com/MetaMask/metamask-extension/pull/19442)) -- Bump `fast-xml-parser` to fix audit issue ([#19489](https://github.com/MetaMask/metamask-extension/pull/19489)) -- Remove unwanted console.log in E2E test ([#19482](https://github.com/MetaMask/metamask-extension/pull/19482)) -- Feature/mmi 3009 confirm transaction base code fences ([#19335](https://github.com/MetaMask/metamask-extension/pull/19335)) -- Fix capitalization of MetaMask ([#19466](https://github.com/MetaMask/metamask-extension/pull/19466)) -- setActiveNetwork captures network config ID ([#19404](https://github.com/MetaMask/metamask-extension/pull/19404)) -- Creating story for `asset-list` ([#19450](https://github.com/MetaMask/metamask-extension/pull/19450)) -- UX: Multichain: Restore Flask support link and text ([#19198](https://github.com/MetaMask/metamask-extension/pull/19198)) -- Have mmi build being generated ([#19441](https://github.com/MetaMask/metamask-extension/pull/19441)) -- Using NetworkAccountBalanceHeader component on SIWE screen ([#19361](https://github.com/MetaMask/metamask-extension/pull/19361)) -- [FLASK] Update UI (for audit) (UI facelift) ([#19388](https://github.com/MetaMask/metamask-extension/pull/19388)) +- Send flow UI update ([#19465](https://github.com/MetaMask/metamask-extension/pull/19465)) + - Remove Recents + - Display a list of "Your accounts" if the user has more than one account + - Display "Contacts" in alphabetical order after the final user's account + - UI Updates in Contacts Page (AddressBook) in Settings Page +- [FLASK] Small UI improvements ([#19388](https://github.com/MetaMask/metamask-extension/pull/19388)) - [FLASK] Limit notification count display to 99+ ([#19449](https://github.com/MetaMask/metamask-extension/pull/19449)) -- replacing depricated constants ([#19448](https://github.com/MetaMask/metamask-extension/pull/19448)) -- replacing depricated constants ([#19447](https://github.com/MetaMask/metamask-extension/pull/19447)) -- UX Multichain: Update settings title ([#19414](https://github.com/MetaMask/metamask-extension/pull/19414)) -- Handle watch asset accept and reject using ApprovalController only ([#18829](https://github.com/MetaMask/metamask-extension/pull/18829)) -- Revert "feature: Add legacy derivation path to Trezor (#19443)" ([#19443](https://github.com/MetaMask/metamask-extension/pull/19443)) -- feature: Add legacy derivation path to Trezor ([#19443](https://github.com/MetaMask/metamask-extension/pull/19443)) -- Replacing deprecated constants with enums ([#19242](https://github.com/MetaMask/metamask-extension/pull/19242)) -- Updating component-library readme storybook render ([#19359](https://github.com/MetaMask/metamask-extension/pull/19359)) -- Part of #18714: Replacing deprecated constants in `Avatar-Base` folder ([#19408](https://github.com/MetaMask/metamask-extension/pull/19408)) -- feature(17901): fix import UI error ([#19372](https://github.com/MetaMask/metamask-extension/pull/19372)) - [FLASK] Update snap tweaks ([#19410](https://github.com/MetaMask/metamask-extension/pull/19410)) -- [FLASK] `snaps@0.34.0-flask.1` ([#19377](https://github.com/MetaMask/metamask-extension/pull/19377)) -- Remove MULTICHAIN flag for NFT badges ([#19416](https://github.com/MetaMask/metamask-extension/pull/19416)) -- Sync NetworkController initializeProvider tests w/ core ([#19297](https://github.com/MetaMask/metamask-extension/pull/19297)) -- Sync default value of networkDetails w/ core ([#19407](https://github.com/MetaMask/metamask-extension/pull/19407)) -- UX: Multichain: Make MetaFox logo more accessible ([#19395](https://github.com/MetaMask/metamask-extension/pull/19395)) -- [MMI] Added code fencing in libs folder ([#17929](https://github.com/MetaMask/metamask-extension/pull/17929)) -- Multichain NFT network badges ([#19029](https://github.com/MetaMask/metamask-extension/pull/19029)) +- [FLASK] Add snap icon SVG validation ([#19377](https://github.com/MetaMask/metamask-extension/pull/19377)) +- [FLASK] Update rate limits for showInAppNotification and showNativeNotification ([#19621](https://github.com/MetaMask/metamask-extension/pull/19621)) +- [FLASK] Align update error state with Figma ([#19547](https://github.com/MetaMask/metamask-extension/pull/19547)) +- [FLASK] Update snap installation permission warning UI ([#19494](https://github.com/MetaMask/metamask-extension/pull/19494)) +- [FLASK] Improve snaps connect flow ([#19461](https://github.com/MetaMask/metamask-extension/pull/19461)) + +### Fixed +- Fix centering and spacing of icons in the Add Network screen ([#19513](https://github.com/MetaMask/metamask-extension/pull/19513)) - Fix details when transferring NFT not added to wallet ([#19045](https://github.com/MetaMask/metamask-extension/pull/19045)) -- feature(on-ramp): update supported networks ([#19268](https://github.com/MetaMask/metamask-extension/pull/19268)) -- feature(17901): fix flaky tests in send-eth e2e ([#19397](https://github.com/MetaMask/metamask-extension/pull/19397)) -- accept approval request first ([#19409](https://github.com/MetaMask/metamask-extension/pull/19409)) -- Fix/storybook console cleanup ([#19244](https://github.com/MetaMask/metamask-extension/pull/19244)) -- Release MultiChain 0.5 ([#18903](https://github.com/MetaMask/metamask-extension/pull/18903)) -- Part of #18714: Replacing deprecated constants in `Avatar-Favicon` folder ([#19332](https://github.com/MetaMask/metamask-extension/pull/19332)) -- ConfirmTxPage: rm redundant unapprovedTxs const ([#19275](https://github.com/MetaMask/metamask-extension/pull/19275)) -- Replacing Deprecated Constants ([#19333](https://github.com/MetaMask/metamask-extension/pull/19333)) -- added deprecation message above SiteIcon ([#19256](https://github.com/MetaMask/metamask-extension/pull/19256)) -- ci: temporarily disable codecov status checks ([#19354](https://github.com/MetaMask/metamask-extension/pull/19354)) -- ConfirmApprove: fix space occurring after footer ([#19276](https://github.com/MetaMask/metamask-extension/pull/19276)) -- Clean ConfirmTransaction page related code ([#19208](https://github.com/MetaMask/metamask-extension/pull/19208)) -- deep clone signature tx in order to avoid state mutation bug on development ([#19179](https://github.com/MetaMask/metamask-extension/pull/19179)) -- Update `@metamask/approval-controller` to v3 ([#19365](https://github.com/MetaMask/metamask-extension/pull/19365)) -- Update `@metamask/notification-controller` to v3 ([#19364](https://github.com/MetaMask/metamask-extension/pull/19364)) -- Update `@metamask/address-book-controller` to v3 ([#19345](https://github.com/MetaMask/metamask-extension/pull/19345)) -- Update `@metamask/controller-utils` to v4 ([#19344](https://github.com/MetaMask/metamask-extension/pull/19344)) -- devDeps: yargs@7.1.1->7.1.2 ([#19057](https://github.com/MetaMask/metamask-extension/pull/19057)) -- devDeps: squirrelly@^8.0.8->^9.0.0 ([#19113](https://github.com/MetaMask/metamask-extension/pull/19113)) -- Update mv3 minimum version to chrome v88 ([#19358](https://github.com/MetaMask/metamask-extension/pull/19358)) -- Ensure custom provider configs have chain ID and RPC URL ([#19296](https://github.com/MetaMask/metamask-extension/pull/19296)) -- Update INFURA_NETWORKS in NC tests to ostensibly use dec #'s ([#19316](https://github.com/MetaMask/metamask-extension/pull/19316)) -- NetworkController tests: Sync withController helper ([#19313](https://github.com/MetaMask/metamask-extension/pull/19313)) -- NetworkController tests: Remove commented line ([#19315](https://github.com/MetaMask/metamask-extension/pull/19315)) -- Part of #18714: Replacing deprecated constants in `Modal-Header` folder ([#19339](https://github.com/MetaMask/metamask-extension/pull/19339)) -- Update `@metamask/announcement-controller` to v4 ([#19348](https://github.com/MetaMask/metamask-extension/pull/19348)) -- Update README.md ([#19350](https://github.com/MetaMask/metamask-extension/pull/19350)) -- NetworkController: Improve test for destroy ([#19314](https://github.com/MetaMask/metamask-extension/pull/19314)) -- Add getProviderConfig action to NetworkController ([#19317](https://github.com/MetaMask/metamask-extension/pull/19317)) -- Sync NetworkController constructor tests with core ([#19311](https://github.com/MetaMask/metamask-extension/pull/19311)) -- Update `@metamask/base-controller` to v3 ([#19343](https://github.com/MetaMask/metamask-extension/pull/19343)) -- [FLASK] Add Snaps privacy warning on snap install ([#18835](https://github.com/MetaMask/metamask-extension/pull/18835)) -- feature(17901): fix failing network error and remove duplicated e2e for mv3 ([#19292](https://github.com/MetaMask/metamask-extension/pull/19292)) -- feature(17901): fix address-book `Sends to an address book entry` e2e against MV3 build ([#19330](https://github.com/MetaMask/metamask-extension/pull/19330)) -- Revert "[MMI] Add confirm-transaction-base code fences (#18795)" ([#18795](https://github.com/MetaMask/metamask-extension/pull/18795)) -- updates values ([#19336](https://github.com/MetaMask/metamask-extension/pull/19336)) -- Changes to Popover folder ([#19245](https://github.com/MetaMask/metamask-extension/pull/19245)) -- [MMI] Add confirm-transaction-base code fences ([#18795](https://github.com/MetaMask/metamask-extension/pull/18795)) -- [MMI] adds mmi code fences to mm controller ([#18279](https://github.com/MetaMask/metamask-extension/pull/18279)) +- Fix capitalization of MetaMask in some translations ([#19466](https://github.com/MetaMask/metamask-extension/pull/19466)) +- Fix space occurring after footer on token approve screen ([#19276](https://github.com/MetaMask/metamask-extension/pull/19276)) +- Fix unknown processing time not showing in warning color on confirmation screens ([#19527](https://github.com/MetaMask/metamask-extension/pull/19527)) + ## [10.32.0] ### Added From 0f330e21e5051587159965bfb5ec8039c81fd855 Mon Sep 17 00:00:00 2001 From: Nidhi Kumari Date: Wed, 21 Jun 2023 19:32:25 +0530 Subject: [PATCH 04/24] added extra margin for unlocked state in full view in header (#19701) Co-authored-by: Danica Shen --- ui/pages/routes/routes.component.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ui/pages/routes/routes.component.js b/ui/pages/routes/routes.component.js index 97d03d0caa93..60a9406fb935 100644 --- a/ui/pages/routes/routes.component.js +++ b/ui/pages/routes/routes.component.js @@ -113,6 +113,7 @@ import { SEND_STAGES } from '../../ducks/send'; import DeprecatedTestNetworks from '../../components/ui/deprecated-test-networks/deprecated-test-networks'; import NewNetworkInfo from '../../components/ui/new-network-info/new-network-info'; import { ThemeType } from '../../../shared/constants/preferences'; +import { Box } from '../../components/component-library'; export default class Routes extends Component { static propTypes = { @@ -561,11 +562,14 @@ export default class Routes extends Component { {accountDetailsAddress ? ( ) : null} -
+ {isLoading ? : null} {!isLoading && isNetworkLoading ? : null} {this.renderRoutes()} -
+ {isUnlocked ? : null} ); From 5512e2921f5031df912b8f57633089c17dddcac1 Mon Sep 17 00:00:00 2001 From: Nidhi Kumari Date: Fri, 23 Jun 2023 17:28:41 +0530 Subject: [PATCH 05/24] removed portfolio link from wallet view (#19716) * removed portfolio link from wallet view * removed unused code * updated test * updated spec file * updated test --- test/e2e/tests/portfolio-site.spec.js | 4 +- .../app/wallet-overview/eth-overview.js | 44 +------------------ .../app/wallet-overview/eth-overview.test.js | 2 +- 3 files changed, 4 insertions(+), 46 deletions(-) diff --git a/test/e2e/tests/portfolio-site.spec.js b/test/e2e/tests/portfolio-site.spec.js index 2bdb413d5d64..93e0d0877518 100644 --- a/test/e2e/tests/portfolio-site.spec.js +++ b/test/e2e/tests/portfolio-site.spec.js @@ -26,7 +26,7 @@ describe('Portfolio site', function () { await driver.press('#password', driver.Key.ENTER); // Click Portfolio site - await driver.clickElement('[data-testid="home__portfolio-site"]'); + await driver.clickElement('[data-testid="eth-overview-portfolio"]'); await driver.waitUntilXWindowHandles(2); const windowHandles = await driver.getAllWindowHandles(); await driver.switchToWindowWithTitle('E2E Test Dapp', windowHandles); @@ -34,7 +34,7 @@ describe('Portfolio site', function () { // Verify site assert.equal( await driver.getCurrentUrl(), - 'http://127.0.0.1:8080/?metamaskEntry=ext&metametricsId=null', + 'http://127.0.0.1:8080/?metamaskEntry=ext_portfolio_button&metametricsId=null', ); }, ); diff --git a/ui/components/app/wallet-overview/eth-overview.js b/ui/components/app/wallet-overview/eth-overview.js index 2d026a78c791..0ee8147c5bdd 100644 --- a/ui/components/app/wallet-overview/eth-overview.js +++ b/ui/components/app/wallet-overview/eth-overview.js @@ -36,7 +36,6 @@ import IconButton from '../../ui/icon-button'; import { isHardwareKeyring } from '../../../helpers/utils/hardware'; import { MetaMetricsContext } from '../../../contexts/metametrics'; import { - MetaMetricsContextProp, MetaMetricsEventCategory, MetaMetricsEventName, MetaMetricsSwapsEventSource, @@ -44,12 +43,7 @@ import { import Spinner from '../../ui/spinner'; import { startNewDraftTransaction } from '../../../ducks/send'; import { AssetType } from '../../../../shared/constants/transaction'; -import { - ButtonIcon, - ButtonIconSize, - Icon, - IconName, -} from '../../component-library'; +import { Icon, IconName } from '../../component-library'; import { IconColor } from '../../../helpers/constants/design-system'; import useRamps from '../../../hooks/experiences/useRamps'; import { getPortfolioUrl } from '../../../helpers/utils/portfolio'; @@ -156,42 +150,6 @@ const EthOverview = ({ className }) => { {balanceIsCached ? ( * ) : null} - { - ///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask) - { - const portfolioUrl = getPortfolioUrl( - '', - 'ext', - metaMetricsId, - ); - global.platform.openTab({ - url: portfolioUrl, - }); - trackEvent( - { - category: MetaMetricsEventCategory.Home, - event: MetaMetricsEventName.PortfolioLinkClicked, - properties: { - url: portfolioUrl, - }, - }, - { - contextPropsIntoEventProperties: [ - MetaMetricsContextProp.PageTitle, - ], - }, - ); - }} - /> - ///: END:ONLY_INCLUDE_IN - } {showFiat && balance && ( { const store = configureMockStore([thunk])(mockStore); const ETH_OVERVIEW_BUY = 'eth-overview-buy'; const ETH_OVERVIEW_BRIDGE = 'eth-overview-bridge'; - const ETH_OVERVIEW_PORTFOLIO = 'home__portfolio-site'; + const ETH_OVERVIEW_PORTFOLIO = 'eth-overview-portfolio'; const ETH_OVERVIEW_PRIMARY_CURRENCY = 'eth-overview__primary-currency'; const ETH_OVERVIEW_SECONDARY_CURRENCY = 'eth-overview__secondary-currency'; From e8e6d7cd3575bd784996bae4f55d01719e7cdaba Mon Sep 17 00:00:00 2001 From: Nidhi Kumari Date: Mon, 26 Jun 2023 23:27:56 +0530 Subject: [PATCH 06/24] UX Multichain: fixed padding for edit screen (#19707) * fixed padding for edit screen * Use network picker for header trigger * Fix swaps display * updated snapshot --------- Co-authored-by: David Walsh --- .../app-header/__snapshots__/app-header.test.js.snap | 2 +- ui/components/multichain/app-header/app-header.js | 5 +++++ ui/pages/routes/routes.component.js | 5 +---- ui/pages/swaps/index.scss | 3 +-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ui/components/multichain/app-header/__snapshots__/app-header.test.js.snap b/ui/components/multichain/app-header/__snapshots__/app-header.test.js.snap index 86163faaf883..bb44e6a6f488 100644 --- a/ui/components/multichain/app-header/__snapshots__/app-header.test.js.snap +++ b/ui/components/multichain/app-header/__snapshots__/app-header.test.js.snap @@ -200,7 +200,7 @@ exports[`App Header should match snapshot 1`] = `
{ }); }, [chainId, dispatch, trackEvent]); + // This is required to ensure send and confirmation screens + // look as desired + const headerBottomMargin = disableNetworkPicker ? 4 : 0; + return ( <> {isUnlocked && !popupStatus ? ( @@ -175,6 +179,7 @@ export const AppHeader = ({ location }) => { className={classnames('multichain-app-header', { 'multichain-app-header-shadow': !isUnlocked || popupStatus, })} + marginBottom={headerBottomMargin} alignItems={AlignItems.center} width={BlockSize.Full} backgroundColor={ diff --git a/ui/pages/routes/routes.component.js b/ui/pages/routes/routes.component.js index 60a9406fb935..d958cfd8f73c 100644 --- a/ui/pages/routes/routes.component.js +++ b/ui/pages/routes/routes.component.js @@ -562,10 +562,7 @@ export default class Routes extends Component { {accountDetailsAddress ? ( ) : null} - + {isLoading ? : null} {!isLoading && isNetworkLoading ? : null} {this.renderRoutes()} diff --git a/ui/pages/swaps/index.scss b/ui/pages/swaps/index.scss index c4a5e2142a6d..83d0cdc7cebe 100644 --- a/ui/pages/swaps/index.scss +++ b/ui/pages/swaps/index.scss @@ -57,8 +57,7 @@ background: var(--color-background-default); box-shadow: var(--shadow-size-xs) var(--color-shadow-default); border: 1px solid var(--color-border-muted); - border-top: 0; - border-radius: 0 0 8px 8px; + border-radius: 8px; height: 620px; } } From 53edffe2798018899337ea5c37efef889b10cc46 Mon Sep 17 00:00:00 2001 From: David Walsh Date: Mon, 26 Jun 2023 11:13:26 -0500 Subject: [PATCH 07/24] Fix #847 - Don't show account address on token pages (#19740) Co-authored-by: Nidhi Kumari --- .../app/wallet-overview/eth-overview.js | 8 +++----- .../app/wallet-overview/token-overview.js | 1 + .../app/wallet-overview/wallet-overview.js | 20 +++++++++++-------- ui/pages/asset/components/native-asset.js | 2 +- ui/pages/home/home.component.js | 3 ++- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/ui/components/app/wallet-overview/eth-overview.js b/ui/components/app/wallet-overview/eth-overview.js index 0ee8147c5bdd..9867ba5b92e9 100644 --- a/ui/components/app/wallet-overview/eth-overview.js +++ b/ui/components/app/wallet-overview/eth-overview.js @@ -49,7 +49,7 @@ import useRamps from '../../../hooks/experiences/useRamps'; import { getPortfolioUrl } from '../../../helpers/utils/portfolio'; import WalletOverview from './wallet-overview'; -const EthOverview = ({ className }) => { +const EthOverview = ({ className, showAddress }) => { const dispatch = useDispatch(); const t = useContext(I18nContext); const trackEvent = useContext(MetaMetricsContext); @@ -121,6 +121,7 @@ const EthOverview = ({ className }) => { return ( { EthOverview.propTypes = { className: PropTypes.string, -}; - -EthOverview.defaultProps = { - className: undefined, + showAddress: PropTypes.bool, }; export default EthOverview; diff --git a/ui/components/app/wallet-overview/token-overview.js b/ui/components/app/wallet-overview/token-overview.js index 7593ad72ff98..0820c946a454 100644 --- a/ui/components/app/wallet-overview/token-overview.js +++ b/ui/components/app/wallet-overview/token-overview.js @@ -83,6 +83,7 @@ const TokenOverview = ({ className, token }) => { return (
diff --git a/ui/components/app/wallet-overview/wallet-overview.js b/ui/components/app/wallet-overview/wallet-overview.js index a56f8b8d85f1..f249579544e4 100644 --- a/ui/components/app/wallet-overview/wallet-overview.js +++ b/ui/components/app/wallet-overview/wallet-overview.js @@ -7,15 +7,22 @@ import { getSelectedIdentity } from '../../../selectors'; import { AddressCopyButton } from '../../multichain'; import Box from '../../ui/box/box'; -const WalletOverview = ({ balance, buttons, className }) => { +const WalletOverview = ({ + balance, + buttons, + className, + showAddress = false, +}) => { const selectedIdentity = useSelector(getSelectedIdentity); const checksummedAddress = toChecksumHexAddress(selectedIdentity?.address); return (
- - - + {showAddress ? ( + + + + ) : null} {balance}
{buttons}
@@ -27,10 +34,7 @@ WalletOverview.propTypes = { balance: PropTypes.element.isRequired, buttons: PropTypes.element.isRequired, className: PropTypes.string, -}; - -WalletOverview.defaultProps = { - className: undefined, + showAddress: PropTypes.bool, }; export default WalletOverview; diff --git a/ui/pages/asset/components/native-asset.js b/ui/pages/asset/components/native-asset.js index 0d5d6f98bc24..851b88b39173 100644 --- a/ui/pages/asset/components/native-asset.js +++ b/ui/pages/asset/components/native-asset.js @@ -64,7 +64,7 @@ export default function NativeAsset({ nativeCurrency }) { /> } /> - + ); diff --git a/ui/pages/home/home.component.js b/ui/pages/home/home.component.js index 9263dff65e42..52d8b1be9d56 100644 --- a/ui/pages/home/home.component.js +++ b/ui/pages/home/home.component.js @@ -778,12 +778,13 @@ export default class Home extends PureComponent {
{ ///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask) - + ///: END:ONLY_INCLUDE_IN } { ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) From 3960fdfcf91b4e219b4b9b0ea3438a055f6769f3 Mon Sep 17 00:00:00 2001 From: Alex Donesky Date: Mon, 26 Jun 2023 09:12:13 -0500 Subject: [PATCH 08/24] Add `tokenId` type validation in `wallet_watchAsset` middleware (#19738) --- .../handlers/watch-asset.js | 17 ++++ .../handlers/watch-asset.test.js | 99 +++++++++++++++++++ package.json | 2 +- yarn.lock | 10 +- 4 files changed, 122 insertions(+), 6 deletions(-) create mode 100644 app/scripts/lib/rpc-method-middleware/handlers/watch-asset.test.js diff --git a/app/scripts/lib/rpc-method-middleware/handlers/watch-asset.js b/app/scripts/lib/rpc-method-middleware/handlers/watch-asset.js index 8954a15f5651..2f7fb5d7ab5b 100644 --- a/app/scripts/lib/rpc-method-middleware/handlers/watch-asset.js +++ b/app/scripts/lib/rpc-method-middleware/handlers/watch-asset.js @@ -1,3 +1,5 @@ +import { ERC1155, ERC721 } from '@metamask/controller-utils'; +import { ethErrors } from 'eth-rpc-errors'; import { MESSAGE_TYPE } from '../../../../../shared/constants/app'; const watchAsset = { @@ -39,6 +41,21 @@ async function watchAssetHandler( params: { options: asset, type }, origin, } = req; + + const { tokenId } = asset; + + if ( + [ERC721, ERC1155].includes(type) && + tokenId !== undefined && + typeof tokenId !== 'string' + ) { + return end( + ethErrors.rpc.invalidParams({ + message: `Expected parameter 'tokenId' to be type 'string'. Received type '${typeof tokenId}'`, + }), + ); + } + await handleWatchAssetRequest(asset, type, origin); res.result = true; return end(); diff --git a/app/scripts/lib/rpc-method-middleware/handlers/watch-asset.test.js b/app/scripts/lib/rpc-method-middleware/handlers/watch-asset.test.js new file mode 100644 index 000000000000..5af3ad1bd937 --- /dev/null +++ b/app/scripts/lib/rpc-method-middleware/handlers/watch-asset.test.js @@ -0,0 +1,99 @@ +import { ERC20, ERC721 } from '@metamask/controller-utils'; +import { ethErrors } from 'eth-rpc-errors'; +import watchAssetHandler from './watch-asset'; + +describe('watchAssetHandler', () => { + let mockEnd; + let mockHandleWatchAssetRequest; + + beforeEach(() => { + mockEnd = jest.fn(); + mockHandleWatchAssetRequest = jest.fn(); + }); + + it('should handle valid input for type ERC721 correctly', async () => { + const req = { + params: { + options: { + address: '0x1234', + tokenId: 'testTokenId', + }, + type: ERC721, + }, + origin: 'testOrigin', + }; + + const res = { + result: false, + }; + + await watchAssetHandler.implementation(req, res, null, mockEnd, { + handleWatchAssetRequest: mockHandleWatchAssetRequest, + }); + + expect(mockHandleWatchAssetRequest).toHaveBeenCalledWith( + req.params.options, + req.params.type, + req.origin, + ); + expect(res.result).toStrictEqual(true); + expect(mockEnd).toHaveBeenCalledWith(); + }); + + it('should handle valid input for type ERC20 correctly', async () => { + const req = { + params: { + options: { + address: '0x1234', + symbol: 'TEST', + decimals: 18, + }, + type: ERC20, + }, + origin: 'testOrigin', + }; + + const res = { + result: false, + }; + + await watchAssetHandler.implementation(req, res, null, mockEnd, { + handleWatchAssetRequest: mockHandleWatchAssetRequest, + }); + + expect(mockHandleWatchAssetRequest).toHaveBeenCalledWith( + req.params.options, + req.params.type, + req.origin, + ); + expect(res.result).toStrictEqual(true); + expect(mockEnd).toHaveBeenCalledWith(); + }); + + it('should throw when type is ERC721 and tokenId type is invalid', async () => { + const req = { + params: { + options: { + address: '0x1234', + tokenId: 222, + }, + type: ERC721, + }, + origin: 'testOrigin', + }; + + const res = { + result: false, + }; + + await watchAssetHandler.implementation(req, res, null, mockEnd, { + handleWatchAssetRequest: mockHandleWatchAssetRequest, + }); + + expect(mockEnd).toHaveBeenCalledWith( + ethErrors.rpc.invalidParams({ + message: `Expected parameter 'tokenId' to be type 'string'. Received type 'number'`, + }), + ); + }); +}); diff --git a/package.json b/package.json index adf1a8995b0a..fff0ea2f65e7 100644 --- a/package.json +++ b/package.json @@ -386,7 +386,7 @@ "@metamask/eslint-config-typescript": "^9.0.1", "@metamask/forwarder": "^1.1.0", "@metamask/phishing-warning": "^2.1.0", - "@metamask/test-dapp": "^7.0.0", + "@metamask/test-dapp": "^7.0.1", "@sentry/cli": "^1.58.0", "@storybook/addon-a11y": "^7.0.11", "@storybook/addon-actions": "^7.0.11", diff --git a/yarn.lock b/yarn.lock index 56345e62f3d8..8f80b587540b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4931,10 +4931,10 @@ __metadata: languageName: node linkType: hard -"@metamask/test-dapp@npm:^7.0.0": - version: 7.0.0 - resolution: "@metamask/test-dapp@npm:7.0.0" - checksum: 4a03ed86a97c94eef8131c0951fb7bf7eb0c988c407ae8e5ed6a897da30d1c48adf3e1e51e45220df6e5d51c22736a06c732ac95ba5741223573cd660706876b +"@metamask/test-dapp@npm:^7.0.1": + version: 7.0.1 + resolution: "@metamask/test-dapp@npm:7.0.1" + checksum: cbd9f7d66c32ecdccc2039b9d60ef7c0a118ce22392f2eec2ffc0911d3314f75eb81fc9bc6cdf14efd34de5fffb013693344ca2a2e46aa0a8cc33a3a8d8b0fea languageName: node linkType: hard @@ -24367,7 +24367,7 @@ __metadata: "@metamask/snaps-utils-flask": "npm:@metamask/snaps-utils@0.34.0-flask.1" "@metamask/subject-metadata-controller": ^2.0.0 "@metamask/swappable-obj-proxy": ^2.1.0 - "@metamask/test-dapp": ^7.0.0 + "@metamask/test-dapp": ^7.0.1 "@metamask/utils": ^5.0.0 "@ngraveio/bc-ur": ^1.1.6 "@popperjs/core": ^2.4.0 From 28093b0c593400161a36c9b17e30e122810e57ad Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Mon, 26 Jun 2023 16:13:16 -0230 Subject: [PATCH 09/24] Fix fallback gas estimation (#19746) * Fix fallback gas estimation Our fallback gas estimation was failing due to a bug in the `@metamask/controller-utils` package. This was causing gas estimation to fail completely on certain networks (those not supported by our gas estimation APIs and non EIP-1559 compatibile), and it was causing the fallback gas estimation operation (in case our API was down) to fail across all networks. Fixes https://github.com/MetaMask/metamask-extension/issues/19735 * Add e2e tests E2E tests have been added to capture gas estimation. Cases are added for our API, for the fallback estimate, and for non-EIP-1559 estimates. As part of this work, the legacy gas API had to be disabled. This was being used in e2e tests but was dead code in production. It needed to be disabled to ensure the code under test was reachable. * Fix gas API referenced in e2e test * Update unit test snapshots --- app/scripts/metamask-controller.js | 7 +- package.json | 2 +- test/e2e/tests/gas-estimates.spec.js | 171 ++++++++++++++++++ .../confirm-gas-display.test.js.snap | 1 + .../confirm-gas-display.js | 8 +- .../confirm-legacy-gas-display.js | 9 +- .../app/gas-details-item/gas-details-item.js | 7 +- .../transaction-detail-item.component.js | 7 +- .../confirm-send-ether.test.js.snap | 1 + .../confirm-transaction-base.test.js.snap | 1 + .../send-content.component.test.js.snap | 1 + yarn.lock | 12 +- 12 files changed, 210 insertions(+), 17 deletions(-) create mode 100644 test/e2e/tests/gas-estimates.spec.js diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 7b6b049d19b1..1c848efaef54 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -535,13 +535,8 @@ export default class MetamaskController extends EventEmitter { ), getCurrentAccountEIP1559Compatibility: this.getCurrentAccountEIP1559Compatibility.bind(this), - legacyAPIEndpoint: `${gasApiBaseUrl}/networks//gasPrices`, EIP1559APIEndpoint: `${gasApiBaseUrl}/networks//suggestedGasFees`, - getCurrentNetworkLegacyGasAPICompatibility: () => { - const { chainId } = - this.networkController.store.getState().providerConfig; - return process.env.IN_TEST || chainId === CHAIN_IDS.MAINNET; - }, + getCurrentNetworkLegacyGasAPICompatibility: () => false, getChainId: () => this.networkController.store.getState().providerConfig.chainId, }); diff --git a/package.json b/package.json index fff0ea2f65e7..5cb4be44e7d9 100644 --- a/package.json +++ b/package.json @@ -233,7 +233,7 @@ "@metamask/base-controller": "^3.0.0", "@metamask/browser-passworder": "^4.1.0", "@metamask/contract-metadata": "^2.3.1", - "@metamask/controller-utils": "^4.0.0", + "@metamask/controller-utils": "^4.0.1", "@metamask/design-tokens": "^1.9.0", "@metamask/desktop": "^0.3.0", "@metamask/eth-json-rpc-infura": "^8.1.0", diff --git a/test/e2e/tests/gas-estimates.spec.js b/test/e2e/tests/gas-estimates.spec.js new file mode 100644 index 000000000000..a7d121f319aa --- /dev/null +++ b/test/e2e/tests/gas-estimates.spec.js @@ -0,0 +1,171 @@ +const { + convertToHexValue, + withFixtures, + logInWithBalanceValidation, +} = require('../helpers'); +const FixtureBuilder = require('../fixture-builder'); + +describe('Gas estimates generated by MetaMask', function () { + const baseGanacheOptions = { + accounts: [ + { + secretKey: + '0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC', + balance: convertToHexValue(25000000000000000000), + }, + ], + }; + const preLondonGanacheOptions = { + ...baseGanacheOptions, + hardfork: 'berlin', + }; + const postLondonGanacheOptions = { + ...baseGanacheOptions, + hardfork: 'london', + }; + + describe('Send on a network that is EIP-1559 compatible', function () { + it('show expected gas defaults', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: postLondonGanacheOptions, + title: this.test.title, + }, + async ({ driver, ganacheServer }) => { + await driver.navigate(); + await logInWithBalanceValidation(driver, ganacheServer); + + await driver.clickElement('[data-testid="eth-overview-send"]'); + + await driver.fill( + 'input[placeholder="Enter public address (0x) or ENS name"]', + '0x2f318C334780961FB129D2a6c30D0763d9a5C970', + ); + + await driver.fill('.unit-input__input', '1'); + + // Check that the gas estimation is what we expect + await driver.findElement({ + cass: '[data-testid="confirm-gas-display"]', + text: '0.00043983', + }); + }, + ); + }); + + it('show expected gas defaults when API is down', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: postLondonGanacheOptions, + testSpecificMock: (mockServer) => { + mockServer + .forGet( + 'https://gas-api.metaswap.codefi.network/networks/1337/suggestedGasFees', + ) + .thenCallback(() => { + return { + json: { + error: 'cannot get gas prices for chain id 1337', + }, + statusCode: 503, + }; + }); + }, + title: this.test.title, + }, + async ({ driver, ganacheServer }) => { + await driver.navigate(); + await logInWithBalanceValidation(driver, ganacheServer); + + await driver.clickElement('[data-testid="eth-overview-send"]'); + + await driver.fill( + 'input[placeholder="Enter public address (0x) or ENS name"]', + '0x2f318C334780961FB129D2a6c30D0763d9a5C970', + ); + + await driver.fill('.unit-input__input', '1'); + + // Check that the gas estimation is what we expect + await driver.findElement({ + cass: '[data-testid="confirm-gas-display"]', + text: '0.00043983', + }); + }, + ); + }); + + it('show expected gas defaults when the network is not supported', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: postLondonGanacheOptions, + testSpecificMock: (mockServer) => { + mockServer + .forGet( + 'https://gas-api.metaswap.codefi.network/networks/1337/suggestedGasFees', + ) + .thenCallback(() => { + return { + statusCode: 422, + }; + }); + }, + title: this.test.title, + }, + async ({ driver, ganacheServer }) => { + await driver.navigate(); + await logInWithBalanceValidation(driver, ganacheServer); + + await driver.clickElement('[data-testid="eth-overview-send"]'); + + await driver.fill( + 'input[placeholder="Enter public address (0x) or ENS name"]', + '0x2f318C334780961FB129D2a6c30D0763d9a5C970', + ); + + await driver.fill('.unit-input__input', '1'); + + // Check that the gas estimation is what we expect + await driver.findElement({ + cass: '[data-testid="confirm-gas-display"]', + text: '0.00043983', + }); + }, + ); + }); + }); + + describe('Send on a network that is not EIP-1559 compatible', function () { + it('show expected gas defaults', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: preLondonGanacheOptions, + title: this.test.title, + }, + async ({ driver, ganacheServer }) => { + await driver.navigate(); + await logInWithBalanceValidation(driver, ganacheServer); + + await driver.clickElement('[data-testid="eth-overview-send"]'); + + await driver.fill( + 'input[placeholder="Enter public address (0x) or ENS name"]', + '0x2f318C334780961FB129D2a6c30D0763d9a5C970', + ); + + await driver.fill('.unit-input__input', '1'); + + // Check that the gas estimation is what we expect + await driver.findElement({ + cass: '[data-testid="confirm-gas-display"]', + text: '0.000042', + }); + }, + ); + }); + }); +}); diff --git a/ui/components/app/confirm-gas-display/__snapshots__/confirm-gas-display.test.js.snap b/ui/components/app/confirm-gas-display/__snapshots__/confirm-gas-display.test.js.snap index a993864baa69..edd5c141f8e4 100644 --- a/ui/components/app/confirm-gas-display/__snapshots__/confirm-gas-display.test.js.snap +++ b/ui/components/app/confirm-gas-display/__snapshots__/confirm-gas-display.test.js.snap @@ -4,6 +4,7 @@ exports[`ConfirmGasDisplay should match snapshot 1`] = `
{ checkNetworkAndAccountSupports1559, ); const supportsEIP1559 = networkAndAccountSupports1559 && !isLegacyTxn; + const dataTestId = 'confirm-gas-display'; return supportsEIP1559 ? ( - + ) : ( - + ); }; diff --git a/ui/components/app/confirm-gas-display/confirm-legacy-gas-display/confirm-legacy-gas-display.js b/ui/components/app/confirm-gas-display/confirm-legacy-gas-display/confirm-legacy-gas-display.js index 124fbb0d9f13..15e0abfb6d4e 100644 --- a/ui/components/app/confirm-gas-display/confirm-legacy-gas-display/confirm-legacy-gas-display.js +++ b/ui/components/app/confirm-gas-display/confirm-legacy-gas-display/confirm-legacy-gas-display.js @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import { useSelector } from 'react-redux'; import { useI18nContext } from '../../../../hooks/useI18nContext'; @@ -31,7 +32,7 @@ import { Icon, IconName } from '../../../component-library'; const renderHeartBeatIfNotInTest = () => process.env.IN_TEST ? null : ; -const ConfirmLegacyGasDisplay = () => { +const ConfirmLegacyGasDisplay = ({ 'data-testid': dataTestId } = {}) => { const t = useI18nContext(); // state selectors @@ -55,6 +56,7 @@ const ConfirmLegacyGasDisplay = () => { return [ { return ( @@ -186,4 +189,8 @@ const ConfirmLegacyGasDisplay = () => { ); }; +ConfirmLegacyGasDisplay.propTypes = { + 'data-testid': PropTypes.string, +}; + export default ConfirmLegacyGasDisplay; diff --git a/ui/components/app/gas-details-item/gas-details-item.js b/ui/components/app/gas-details-item/gas-details-item.js index 10e8ca45951d..7d5afd287fd8 100644 --- a/ui/components/app/gas-details-item/gas-details-item.js +++ b/ui/components/app/gas-details-item/gas-details-item.js @@ -24,7 +24,10 @@ import { useDraftTransactionWithTxParams } from '../../../hooks/useDraftTransact import { PriorityLevels } from '../../../../shared/constants/gas'; import GasDetailsItemTitle from './gas-details-item-title'; -const GasDetailsItem = ({ userAcknowledgedGasMissing = false }) => { +const GasDetailsItem = ({ + 'data-testid': dataTestId, + userAcknowledgedGasMissing = false, +}) => { const t = useI18nContext(); const draftTransaction = useSelector(getCurrentDraftTransaction); const transactionData = useDraftTransactionWithTxParams(); @@ -64,6 +67,7 @@ const GasDetailsItem = ({ userAcknowledgedGasMissing = false }) => { return ( } detailTitleColor={TextColor.textDefault} detailText={ @@ -137,6 +141,7 @@ const GasDetailsItem = ({ userAcknowledgedGasMissing = false }) => { }; GasDetailsItem.propTypes = { + 'data-testid': PropTypes.string, userAcknowledgedGasMissing: PropTypes.bool, }; diff --git a/ui/components/app/transaction-detail-item/transaction-detail-item.component.js b/ui/components/app/transaction-detail-item/transaction-detail-item.component.js index a90bad16a907..ed1578b62c7b 100644 --- a/ui/components/app/transaction-detail-item/transaction-detail-item.component.js +++ b/ui/components/app/transaction-detail-item/transaction-detail-item.component.js @@ -14,6 +14,7 @@ import { } from '../../../helpers/constants/design-system'; export default function TransactionDetailItem({ + 'data-testid': dataTestId, detailTitle = '', detailText, detailTitleColor = Color.textDefault, @@ -24,7 +25,7 @@ export default function TransactionDetailItem({ flexWidthValues = false, }) { return ( -
+
Date: Mon, 26 Jun 2023 12:54:32 -0500 Subject: [PATCH 10/24] UX: Ensure multichain native token name is always shown (#19705) * UX: Ensure multichain native token name is always shown * Fix lint --- ui/components/app/asset-list/asset-list.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/ui/components/app/asset-list/asset-list.js b/ui/components/app/asset-list/asset-list.js index 1f072b95b36f..903c4857d776 100644 --- a/ui/components/app/asset-list/asset-list.js +++ b/ui/components/app/asset-list/asset-list.js @@ -10,7 +10,6 @@ import { getNativeCurrencyImage, getDetectedTokensInCurrentNetwork, getIstokenDetectionInactiveOnNonMainnetSupportedNetwork, - getTokenList, } from '../../../selectors'; import { getNativeCurrency } from '../../../ducks/metamask/metamask'; import { useCurrencyDisplay } from '../../../hooks/useCurrencyDisplay'; @@ -62,19 +61,15 @@ const AssetList = ({ onClickAsset }) => { const primaryTokenImage = useSelector(getNativeCurrencyImage); const detectedTokens = useSelector(getDetectedTokensInCurrentNetwork) || []; - const istokenDetectionInactiveOnNonMainnetSupportedNetwork = useSelector( + const isTokenDetectionInactiveOnNonMainnetSupportedNetwork = useSelector( getIstokenDetectionInactiveOnNonMainnetSupportedNetwork, ); - const tokenList = useSelector(getTokenList); - const tokenData = Object.values(tokenList).find( - (token) => token.symbol === primaryCurrencyProperties.suffix, - ); - const title = tokenData?.name || primaryCurrencyProperties.suffix; + return ( <> onClickAsset(nativeCurrency)} - title={title} + title={nativeCurrency} primary={ primaryCurrencyProperties.value ?? secondaryCurrencyProperties.value } @@ -96,7 +91,7 @@ const AssetList = ({ onClickAsset }) => { }} /> {detectedTokens.length > 0 && - !istokenDetectionInactiveOnNonMainnetSupportedNetwork ? ( + !isTokenDetectionInactiveOnNonMainnetSupportedNetwork ? ( setShowDetectedTokens(true)} margin={4} From a9b3c8bfaf5c06a7786c09dcc141557fd929bffd Mon Sep 17 00:00:00 2001 From: Daniel <80175477+dan437@users.noreply.github.com> Date: Tue, 20 Jun 2023 18:57:14 +0200 Subject: [PATCH 11/24] Only show a Swaps notification on a supported chain (#19673) --- ui/selectors/selectors.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js index c6b7368789d9..675b52108b03 100644 --- a/ui/selectors/selectors.js +++ b/ui/selectors/selectors.js @@ -971,6 +971,7 @@ function getAllowedAnnouncementIds(state) { const currentlyUsingLedgerLive = getLedgerTransportType(state) === LedgerTransportTypes.live; const isFirefox = window.navigator.userAgent.includes('Firefox'); + const isSwapsChain = getIsSwapsChain(state); return { 1: false, @@ -993,7 +994,7 @@ function getAllowedAnnouncementIds(state) { 18: true, 19: true, 20: currentKeyringIsLedger && isFirefox, - 21: true, + 21: isSwapsChain, }; } From 425def40095267b88e3021295d73392b6f9c07a3 Mon Sep 17 00:00:00 2001 From: jiexi Date: Mon, 26 Jun 2023 11:27:03 -0700 Subject: [PATCH 12/24] Bump @metamask/providers to v11.1.0 (#19762) * Bump @metamask/providers to v11.1.0 --------- Co-authored-by: Alex --- package.json | 2 +- yarn.lock | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5cb4be44e7d9..d7dac8e2bf2c 100644 --- a/package.json +++ b/package.json @@ -255,7 +255,7 @@ "@metamask/permission-controller": "^4.0.0", "@metamask/phishing-controller": "^3.0.0", "@metamask/post-message-stream": "^6.0.0", - "@metamask/providers": "^10.2.1", + "@metamask/providers": "^11.1.0", "@metamask/rate-limit-controller": "^3.0.0", "@metamask/rpc-methods": "^0.32.2", "@metamask/rpc-methods-flask": "npm:@metamask/rpc-methods@0.34.0-flask.1", diff --git a/yarn.lock b/yarn.lock index 973fde72075f..645e9d28f5ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4582,6 +4582,25 @@ __metadata: languageName: node linkType: hard +"@metamask/providers@npm:^11.1.0": + version: 11.1.0 + resolution: "@metamask/providers@npm:11.1.0" + dependencies: + "@metamask/object-multiplex": ^1.1.0 + "@metamask/safe-event-emitter": ^3.0.0 + detect-browser: ^5.2.0 + eth-rpc-errors: ^4.0.2 + extension-port-stream: ^2.0.1 + fast-deep-equal: ^2.0.1 + is-stream: ^2.0.0 + json-rpc-engine: ^6.1.0 + json-rpc-middleware-stream: ^4.2.1 + pump: ^3.0.0 + webextension-polyfill: ^0.10.0 + checksum: fe62112c650d0bc2c012fcb48b6d18709866448d5ded289c85c96d683a263b63a9f60c171fb4bc2cdffc00a6c72b27343611680d72274b5778243f1366be7256 + languageName: node + linkType: hard + "@metamask/rate-limit-controller@npm:^3.0.0": version: 3.0.0 resolution: "@metamask/rate-limit-controller@npm:3.0.0" @@ -24352,7 +24371,7 @@ __metadata: "@metamask/phishing-controller": ^3.0.0 "@metamask/phishing-warning": ^2.1.0 "@metamask/post-message-stream": ^6.0.0 - "@metamask/providers": ^10.2.1 + "@metamask/providers": ^11.1.0 "@metamask/rate-limit-controller": ^3.0.0 "@metamask/rpc-methods": ^0.32.2 "@metamask/rpc-methods-flask": "npm:@metamask/rpc-methods@0.34.0-flask.1" From 3e9680c0d59fc0a78f94b350227a09b6bad16573 Mon Sep 17 00:00:00 2001 From: Alex Donesky Date: Wed, 28 Jun 2023 13:01:38 -0500 Subject: [PATCH 13/24] fix issue where non-standard NFT watchAsset requests result in notification with home screen view (#19788) --- ui/selectors/selectors.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js index 675b52108b03..38722ac808fa 100644 --- a/ui/selectors/selectors.js +++ b/ui/selectors/selectors.js @@ -1,7 +1,7 @@ ///: BEGIN:ONLY_INCLUDE_IN(snaps) import { SubjectType } from '@metamask/subject-metadata-controller'; ///: END:ONLY_INCLUDE_IN -import { ApprovalType, ERC1155, ERC721 } from '@metamask/controller-utils'; +import { ApprovalType } from '@metamask/controller-utils'; import { createSelector, createSelectorCreator, @@ -574,7 +574,7 @@ export function getSuggestedNfts(state) { getUnapprovedConfirmations(state)?.filter(({ requestData, type }) => { return ( type === ApprovalType.WatchAsset && - [ERC721, ERC1155].includes(requestData?.asset?.standard) + requestData?.asset?.tokenId !== undefined ); }) || [] ); From 8ff54bcfc8e983a991e8f2858181d3355392561c Mon Sep 17 00:00:00 2001 From: Alex Donesky Date: Wed, 28 Jun 2023 12:59:54 -0500 Subject: [PATCH 14/24] Bump `@metamask/assets-controllers` one minor version to `v9.2.0` (#19807) * bump @metamask/assets-controllers one minor version to v9.2.0 * dedupe --- package.json | 2 +- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index d7dac8e2bf2c..9793ffcc5caa 100644 --- a/package.json +++ b/package.json @@ -229,7 +229,7 @@ "@metamask/address-book-controller": "^3.0.0", "@metamask/announcement-controller": "^4.0.0", "@metamask/approval-controller": "^3.1.0", - "@metamask/assets-controllers": "^9.0.0", + "@metamask/assets-controllers": "^9.2.0", "@metamask/base-controller": "^3.0.0", "@metamask/browser-passworder": "^4.1.0", "@metamask/contract-metadata": "^2.3.1", diff --git a/yarn.lock b/yarn.lock index 645e9d28f5ed..66b7728c7a7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3893,21 +3893,21 @@ __metadata: languageName: node linkType: hard -"@metamask/assets-controllers@npm:^9.0.0": - version: 9.0.0 - resolution: "@metamask/assets-controllers@npm:9.0.0" +"@metamask/assets-controllers@npm:^9.2.0": + version: 9.2.0 + resolution: "@metamask/assets-controllers@npm:9.2.0" dependencies: "@ethersproject/address": ^5.7.0 "@ethersproject/bignumber": ^5.7.0 "@ethersproject/contracts": ^5.7.0 "@ethersproject/providers": ^5.7.0 "@metamask/abi-utils": ^1.2.0 - "@metamask/approval-controller": ^3.1.0 + "@metamask/approval-controller": ^3.3.0 "@metamask/base-controller": ^3.0.0 "@metamask/contract-metadata": ^2.3.1 - "@metamask/controller-utils": ^4.0.0 + "@metamask/controller-utils": ^4.0.1 "@metamask/metamask-eth-abis": 3.0.0 - "@metamask/network-controller": ^10.0.0 + "@metamask/network-controller": ^10.2.0 "@metamask/preferences-controller": ^4.1.0 "@metamask/rpc-errors": ^5.1.1 "@metamask/utils": ^5.0.2 @@ -3922,10 +3922,10 @@ __metadata: single-call-balance-checker-abi: ^1.0.0 uuid: ^8.3.2 peerDependencies: - "@metamask/approval-controller": ^3.1.0 - "@metamask/network-controller": ^10.0.0 + "@metamask/approval-controller": ^3.3.0 + "@metamask/network-controller": ^10.2.0 "@metamask/preferences-controller": ^4.1.0 - checksum: 86f10c9f699f00b5e015fd16ec3f319240fe60251c1a74184a22ac525b32a0d111a156c615bfa9ca2df6695509ea0b13a73c61a3422c28663ca849cb2848c31f + checksum: 020e86dfc3dfa5eea927ada0b2f5a00642495589edbf5ab54f160e65e5e904502682f11ebebe10d892a091d05eb10306cf92d403a2ac8434048cd3e1f3df3f89 languageName: node linkType: hard @@ -4356,12 +4356,12 @@ __metadata: languageName: node linkType: hard -"@metamask/network-controller@npm:^10.0.0": - version: 10.0.0 - resolution: "@metamask/network-controller@npm:10.0.0" +"@metamask/network-controller@npm:^10.1.0, @metamask/network-controller@npm:^10.2.0": + version: 10.2.0 + resolution: "@metamask/network-controller@npm:10.2.0" dependencies: "@metamask/base-controller": ^3.0.0 - "@metamask/controller-utils": ^4.0.0 + "@metamask/controller-utils": ^4.0.1 "@metamask/eth-json-rpc-infura": ^8.0.0 "@metamask/eth-json-rpc-middleware": ^11.0.0 "@metamask/eth-json-rpc-provider": ^1.0.0 @@ -4375,7 +4375,7 @@ __metadata: immer: ^9.0.6 json-rpc-engine: ^6.1.0 uuid: ^8.3.2 - checksum: 4ffc32d81eeb108ad8b11c6dcd368f8aafb016a10fd0464bd9afd20261794911017f19898a474985ea3d8d3d1094b336cad7e9064e1621c662042224b6ca3725 + checksum: 6474125845d838564ef60105b5914369aa650a6769df5f3f2a471839f351d798984faa5e3184054a5bfb4ec738e2a50c6fbf31f9eceb9cea4c227651105295dc languageName: node linkType: hard @@ -24337,7 +24337,7 @@ __metadata: "@metamask/address-book-controller": ^3.0.0 "@metamask/announcement-controller": ^4.0.0 "@metamask/approval-controller": ^3.1.0 - "@metamask/assets-controllers": ^9.0.0 + "@metamask/assets-controllers": ^9.2.0 "@metamask/auto-changelog": ^2.1.0 "@metamask/base-controller": ^3.0.0 "@metamask/browser-passworder": ^4.1.0 From a7d9c9cc111951b153abc4725e2132b088489042 Mon Sep 17 00:00:00 2001 From: Nidhi Kumari Date: Wed, 28 Jun 2023 20:41:19 +0530 Subject: [PATCH 15/24] removed margin for popup view (#19804) --- ui/components/multichain/app-header/app-header.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/components/multichain/app-header/app-header.js b/ui/components/multichain/app-header/app-header.js index e26141c4bc5b..3b98c957da71 100644 --- a/ui/components/multichain/app-header/app-header.js +++ b/ui/components/multichain/app-header/app-header.js @@ -151,7 +151,7 @@ export const AppHeader = ({ location }) => { // This is required to ensure send and confirmation screens // look as desired - const headerBottomMargin = disableNetworkPicker ? 4 : 0; + const headerBottomMargin = !popupStatus && disableNetworkPicker ? 4 : 0; return ( <> From 9cadb4ffe4c140866e8e96e024a40d1478b14aca Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Wed, 28 Jun 2023 18:59:06 -0230 Subject: [PATCH 16/24] Update yarn.lock following 8ff54bcfc8 --- yarn.lock | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 66b7728c7a7d..5261ce9df099 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4356,7 +4356,7 @@ __metadata: languageName: node linkType: hard -"@metamask/network-controller@npm:^10.1.0, @metamask/network-controller@npm:^10.2.0": +"@metamask/network-controller@npm:^10.2.0": version: 10.2.0 resolution: "@metamask/network-controller@npm:10.2.0" dependencies: @@ -35044,6 +35044,13 @@ __metadata: languageName: node linkType: hard +"webextension-polyfill@npm:^0.10.0": + version: 0.10.0 + resolution: "webextension-polyfill@npm:0.10.0" + checksum: 4a59036bda571360c2c0b2fb03fe1dc244f233946bcf9a6766f677956c40fd14d270aaa69cdba95e4ac521014afbe4008bfa5959d0ac39f91c990eb206587f91 + languageName: node + linkType: hard + "webextension-polyfill@npm:^0.7.0": version: 0.7.0 resolution: "webextension-polyfill@npm:0.7.0" From 2bf6f1bb377e8331915b598f7be611f1e474d8d0 Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Thu, 29 Jun 2023 13:51:58 -0230 Subject: [PATCH 17/24] Disable the opensea provider and NFT feature What's New notifications (#19828) --- ui/selectors/selectors.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js index 38722ac808fa..f5d12d814c19 100644 --- a/ui/selectors/selectors.js +++ b/ui/selectors/selectors.js @@ -991,8 +991,8 @@ function getAllowedAnnouncementIds(state) { 15: false, 16: false, 17: false, - 18: true, - 19: true, + 18: false, + 19: false, 20: currentKeyringIsLedger && isFirefox, 21: isSwapsChain, }; From 17c596473578b6a09d0bb553c80f9f13bc96dfab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Oliv=C3=A9?= Date: Fri, 30 Jun 2023 15:19:59 +0200 Subject: [PATCH 18/24] =?UTF-8?q?[MMI]=C2=A0Removed=20institutional=20port?= =?UTF-8?q?folio=20dashboard=20(#19842)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Removed institutional portfolio dashboard * Fixed eslint * Removed unused key --- app/_locales/en/messages.json | 3 -- .../multichain/global-menu/global-menu.js | 48 ++++--------------- 2 files changed, 9 insertions(+), 42 deletions(-) diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json index b187737be8a0..5d9b0ba06260 100644 --- a/app/_locales/en/messages.json +++ b/app/_locales/en/messages.json @@ -673,9 +673,6 @@ "coingecko": { "message": "CoinGecko" }, - "compliance": { - "message": "Compliance" - }, "complianceActivatedDesc": { "message": "You can now use compliance in MetaMask Institutional. Receiving AML/CFT analysis within the confirmation screen on all the addresses you interact with." }, diff --git a/ui/components/multichain/global-menu/global-menu.js b/ui/components/multichain/global-menu/global-menu.js index 6d813aa72a4c..50ff45780e8d 100644 --- a/ui/components/multichain/global-menu/global-menu.js +++ b/ui/components/multichain/global-menu/global-menu.js @@ -9,9 +9,6 @@ import { ///: BEGIN:ONLY_INCLUDE_IN(snaps) NOTIFICATIONS_ROUTE, ///: END:ONLY_INCLUDE_IN(snaps) - ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) - COMPLIANCE_FEATURE_ROUTE, - ///: END:ONLY_INCLUDE_IN } from '../../../helpers/constants/routes'; import { lockMetamask } from '../../../store/actions'; import { useI18nContext } from '../../../hooks/useI18nContext'; @@ -23,12 +20,7 @@ import { } from '../../component-library'; import { Menu, MenuItem } from '../../ui/menu'; import { getEnvironmentType } from '../../../../app/scripts/lib/util'; -import { - ENVIRONMENT_TYPE_FULLSCREEN, - ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) - ENVIRONMENT_TYPE_POPUP, - ///: END:ONLY_INCLUDE_IN -} from '../../../../shared/constants/app'; +import { ENVIRONMENT_TYPE_FULLSCREEN } from '../../../../shared/constants/app'; import { SUPPORT_LINK } from '../../../../shared/lib/ui-utils'; ///: BEGIN:ONLY_INCLUDE_IN(build-beta,build-flask) import { SUPPORT_REQUEST_LINK } from '../../../helpers/constants/common'; @@ -114,44 +106,22 @@ export const GlobalMenu = ({ closeMenu, anchorElement }) => { { ///: BEGIN:ONLY_INCLUDE_IN(build-mmi) - <> - {mmiPortfolioEnabled && ( - { - trackEvent({ - category: MetaMetricsEventCategory.Navigation, - event: MetaMetricsEventName.UserClickedPortfolioButton, - }); - window.open(mmiPortfolioUrl, '_blank'); - closeMenu(); - }} - data-testid="global-menu-mmi-portfolio" - > - {t('portfolioDashboard')} - - )} - + mmiPortfolioEnabled && ( { trackEvent({ category: MetaMetricsEventCategory.Navigation, - event: MetaMetricsEventName.UserClickedCompliance, + event: MetaMetricsEventName.UserClickedPortfolioButton, }); - if (getEnvironmentType() === ENVIRONMENT_TYPE_POPUP) { - global.platform.openExtensionInBrowser( - COMPLIANCE_FEATURE_ROUTE, - ); - } else { - history.push(COMPLIANCE_FEATURE_ROUTE); - } + window.open(mmiPortfolioUrl, '_blank'); + closeMenu(); }} - data-testid="global-menu-mmi-compliance" + data-testid="global-menu-mmi-portfolio" > - {t('compliance')} + {t('portfolioDashboard')} - + ) ///: END:ONLY_INCLUDE_IN } From 7c7b5fe3aa09107205948876e3ad20a995083471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Oliv=C3=A9?= Date: Fri, 30 Jun 2023 15:53:55 +0200 Subject: [PATCH 19/24] =?UTF-8?q?[MMI]=C2=A0Added=20custom=20title=20for?= =?UTF-8?q?=20institutional=20(#19844)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added custom title for institutional * passing prop isMMI to notification view --- app/notification.html | 3 +++ development/build/scripts.js | 1 + 2 files changed, 4 insertions(+) diff --git a/app/notification.html b/app/notification.html index 209a642a38ad..766aef2baba3 100644 --- a/app/notification.html +++ b/app/notification.html @@ -4,6 +4,9 @@ MetaMask Notification + {{@if(it.isMMI)}} + MetaMask Institutional + {{/if}}