Skip to content

Commit

Permalink
Merge branch 'master' into Version-v11.13.0
Browse files Browse the repository at this point in the history
  • Loading branch information
danjm committed Mar 25, 2024
2 parents 9cead27 + 6d3dc01 commit e538b40
Show file tree
Hide file tree
Showing 30 changed files with 316 additions and 256 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/validate-conventional-commits.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Validate Conventional Commit Title
on:
pull_request:
branches:
- develop
types: [opened, edited, reopened]

jobs:
Expand Down
133 changes: 133 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,127 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

## [11.13.0]
## [11.12.4]
### Fixed
- Ensure native network balance is visible in home screen balance display ([#23614](https://github.com/MetaMask/metamask-extension/pull/23614))

## [11.12.3]
### Fixed
- [MMI] Fixes an error related with a missing code fence, when the MMI build didn't have the blockaid feature ([#23516](https://github.com/MetaMask/metamask-extension/pull/23516))
- [MMI] Fixes a bug for some custodians that don't send us the env property when connection to MMI ([#23494](https://github.com/MetaMask/metamask-extension/pull/23494))

## [11.12.2]
### Fixed
- Fix transaction confirmations so that they correctly show estimated fees instead of max possible fees
- For non-layer 2 network, and non-token send, transactions([#23203](https://github.com/MetaMask/metamask-extension/pull/23203))
- For layer 2 networks and for erc20 transfers ([#23511](https://github.com/MetaMask/metamask-extension/pull/23511))

## [11.12.1]
### Changed
- Updated styling for missing petnames to prevent misinterpretation as malicious ([#23458](https://github.com/MetaMask/metamask-extension/pull/23458))

## [11.12.0]
### Added
- Introduced deprecation warnings for Arbitrum Goerli and OP Goerli test networks ([#23071](https://github.com/MetaMask/metamask-extension/pull/23071))
- Added origin details to personal sign page ([#22763](https://github.com/MetaMask/metamask-extension/pull/22763))
- Enhanced snap functionality with dynamic interfaces, customizable timeouts, and faster installations ([#22828](https://github.com/MetaMask/metamask-extension/pull/22828))
- Added a 'Connect Account' button in the account list menu for easier account connections ([#22941](https://github.com/MetaMask/metamask-extension/pull/22941))
- [FLASK] Added signature insights ([#22485](https://github.com/MetaMask/metamask-extension/pull/22485))
- [MMI] Enhanced error tracking in MMI controllers ([#22994](https://github.com/MetaMask/metamask-extension/pull/22994))
- [MMI] Updated MMI dependencies and refactored code ([#22546](https://github.com/MetaMask/metamask-extension/pull/22546))

### Changed
- Updated Confirm/Sign button to red for malicious requests ([#23004](https://github.com/MetaMask/metamask-extension/pull/23004))
- Updated the 'Discover Snaps' link to direct users to snaps.metamask.io ([#22909](https://github.com/MetaMask/metamask-extension/pull/22909))
- Displayed total account balances on Accounts Menu and home screen ([#22186](https://github.com/MetaMask/metamask-extension/pull/22186))
- Updated style of app header ([#22637](https://github.com/MetaMask/metamask-extension/pull/22637))
- Enhanced settings search for better navigation ([#22967](https://github.com/MetaMask/metamask-extension/pull/22967))
- Enhanced Send Flow by displaying account names during search ([#22824](https://github.com/MetaMask/metamask-extension/pull/22824))
- Improved send flow by directly showing NFTs tab when sending an NFT ([#23033](https://github.com/MetaMask/metamask-extension/pull/23033))
- Simplified send flow by removing outdated gas options ([#22951](https://github.com/MetaMask/metamask-extension/pull/22951))
- [MMI] Improved custodian search by using environment names for unique identification ([#23073](https://github.com/MetaMask/metamask-extension/pull/23073))
- [MMI] Enhanced MMI keyring configuration for improved mv3 version compatibility ([#22968](https://github.com/MetaMask/metamask-extension/pull/22968))

### Fixed
- Improved accuracy of fee details for Optimism transactions ([#22997](https://github.com/MetaMask/metamask-extension/pull/22997))
- Ensured password prompt appears every time 'Show private key' is selected ([#22867](https://github.com/MetaMask/metamask-extension/pull/22867))
- Adjusted menu positioning ensuring visibility of all options ([#22889](https://github.com/MetaMask/metamask-extension/pull/22889))
- Corrected asset list to display native currency symbols instead of fiat on the home page ([#22760](https://github.com/MetaMask/metamask-extension/pull/22760))
- Fixed tokens being added to incorrect networks after switching networks ([#22814](https://github.com/MetaMask/metamask-extension/pull/22814))
- Fixed an issue where NFTs disappeared or couldn't be re-imported after account switching ([#22856](https://github.com/MetaMask/metamask-extension/pull/22856))
- Fixed an issue with saving very low default gas fees ([#22790](https://github.com/MetaMask/metamask-extension/pull/22790))
- Removed the subtle background behind setting icons ([#22982](https://github.com/MetaMask/metamask-extension/pull/22982))
- Improved 'See Details' in alerts to stop auto-scrolling ([#22932](https://github.com/MetaMask/metamask-extension/pull/22932))
- Improved security checks for transactions ([#22978](https://github.com/MetaMask/metamask-extension/pull/22978))
- Ensured gas fee editing remains accessible even when currency rate checks are disabled ([#22890](https://github.com/MetaMask/metamask-extension/pull/22890))
- Updated modal overlay for better visibility and focus on content in both light and dark modes ([#23102](https://github.com/MetaMask/metamask-extension/pull/23102))
- Fixed behavior for manually added networks to show a modal with the option to switch, rather than auto-switching ([#22832](https://github.com/MetaMask/metamask-extension/pull/22832))
- Corrected link alignment in Snap UI ([#23045](https://github.com/MetaMask/metamask-extension/pull/23045))
- Resolved an issue that prevented cancelling permission requests without crashing the extension ([#22915](https://github.com/MetaMask/metamask-extension/pull/22915))
- Fixed badge color in app-header to accurately reflect connection status ([#23126](https://github.com/MetaMask/metamask-extension/pull/23126))
- Fixed a glitch in the Product Tour where step numbers were not displaying correctly ([#23100](https://github.com/MetaMask/metamask-extension/pull/23100))
- Enhanced handling of long account names ([#23096](https://github.com/MetaMask/metamask-extension/pull/23096))
- Resolved issue with tabs overlapping content in the send flow ([#23028](https://github.com/MetaMask/metamask-extension/pull/23028))
- Ensured consistent balance display in Eth Overview and account list ([#23059](https://github.com/MetaMask/metamask-extension/pull/23059))
- [MMI] Corrected custody type determination to support various types ([#22950](https://github.com/MetaMask/metamask-extension/pull/22950))

## [11.11.4]
### Changed
- Enable Snaps home pages ([#23383](https://github.com/MetaMask/metamask-extension/pull/23383))

### Fixed
- Fix intermittent Snaps installation issues due to faulty validation ([#23380](https://github.com/MetaMask/metamask-extension/pull/23380))

## [11.11.3]

## [11.11.2]
### Changed
- Update the image in the Staking button What's New popup ([#23330](https://github.com/MetaMask/metamask-extension/pull/23330))

### Fixed
- [MMI] Fixed bug that prevents MMI users from submitting multiple Txs ([#23342](https://github.com/MetaMask/metamask-extension/pull/23342))
- Fix the display of the native currency token symbol in the asset list
- ([#23355](https://github.com/MetaMask/metamask-extension/pull/23355))
- ([#23327](https://github.com/MetaMask/metamask-extension/pull/23327))

## [11.11.1]
### Added
- Adds a staking button to the mainnet Ethereum token list item ([#22347](https://github.com/MetaMask/metamask-extension/pull/22347))

## [11.11.0]
### Added
- Added 'Pet Names' feature, allowing users to see preferred or suggested nicknames in the places of addesses
- Added 'What's New' popup for Petnames feature ([#22780](https://github.com/MetaMask/metamask-extension/pull/22780))
- Introduced toggle for Petnames in experimental settings ([#22456](https://github.com/MetaMask/metamask-extension/pull/22456))
- UI enhancements for initial petnames release, including new "Recognized" category and visual refinements ([#22772](https://github.com/MetaMask/metamask-extension/pull/22772))
- Enhanced token name display with pet names ([#22734](https://github.com/MetaMask/metamask-extension/pull/22734))
- Added title to Personal Sign component in confirmation design ([#22749](https://github.com/MetaMask/metamask-extension/pull/22749))
- Added progress indicator for scanning QR codes with hardware wallets ([#20947](https://github.com/MetaMask/metamask-extension/pull/20947))

### Changed
- Moved security alerts from Experimental to Security & Privacy settings ([#22813](https://github.com/MetaMask/metamask-extension/pull/22813))
- Updated BlockaidBannerAlert to support false positive reporting for failed types ([#22742](https://github.com/MetaMask/metamask-extension/pull/22742))
- Enhanced BlockaidBannerAlert functionality and display ([#22625](https://github.com/MetaMask/metamask-extension/pull/22625))
- Disabled smart swaps for Snap accounts ([#22731](https://github.com/MetaMask/metamask-extension/pull/22731))
- Disabled MetaMask on Battle.net to fix a 2FA login issue ([#20396](https://github.com/MetaMask/metamask-extension/pull/20396))
- Revised warning copy for mismatched chainID and currency symbol when adding custom networks ([#22648](https://github.com/MetaMask/metamask-extension/pull/22648))
- Improved UX to display multiple custom networks with the same ID but different RPC URLs in network selection ([#22693](https://github.com/MetaMask/metamask-extension/pull/22693))
- Updated the connections icon to display the connected dapp icon ([#22634](https://github.com/MetaMask/metamask-extension/pull/22634))
- Added title to Personal Sign page ([#22749](https://github.com/MetaMask/metamask-extension/pull/22749))
- Update padding in accounts details modal ([#22775](https://github.com/MetaMask/metamask-extension/pull/22775))
- [MMI] Refactored display of custodian deep link to improve efficiency and fix potential race conditions ([#22825](https://github.com/MetaMask/metamask-extension/pull/22825))
- [MMI] Hid the new buy & receive button under MMI build for a cleaner interface ([#22384](https://github.com/MetaMask/metamask-extension/pull/22384))

### Fixed
- Fixed cancel transaction signing from activity list ([#22676](https://github.com/MetaMask/metamask-extension/pull/22676))
- Fixed incorrect account name display in account details and receive list ([#22844](https://github.com/MetaMask/metamask-extension/pull/22844))
- Fixed IPFS NFTs fetching issue for manually imported NFTs ([#22627](https://github.com/MetaMask/metamask-extension/pull/22627))
- Fixed "send max" ETH calculation issue to adjust for gas changes ([#22694](https://github.com/MetaMask/metamask-extension/pull/22694))
- Fixed sign button color and updated deprecated components in SignatureRequestOriginalWarning for visual consistency ([#22741](https://github.com/MetaMask/metamask-extension/pull/22741))

## [11.10.1]
### Fixed
- Fix custom network editing, via Settings, for some networks ([#23140](https://github.com/MetaMask/metamask-extension/pull/23140))

## [11.10.0]
### Added
Expand Down Expand Up @@ -4394,6 +4515,18 @@ Update styles and spacing on the critical error page ([#20350](https://github.c

[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v11.13.0...HEAD
[11.13.0]: https://github.com/MetaMask/metamask-extension/compare/v11.10.0...v11.13.0
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v11.12.4...HEAD
[11.12.4]: https://github.com/MetaMask/metamask-extension/compare/v11.12.3...v11.12.4
[11.12.3]: https://github.com/MetaMask/metamask-extension/compare/v11.12.2...v11.12.3
[11.12.2]: https://github.com/MetaMask/metamask-extension/compare/v11.12.1...v11.12.2
[11.12.1]: https://github.com/MetaMask/metamask-extension/compare/v11.12.0...v11.12.1
[11.12.0]: https://github.com/MetaMask/metamask-extension/compare/v11.11.4...v11.12.0
[11.11.4]: https://github.com/MetaMask/metamask-extension/compare/v11.11.3...v11.11.4
[11.11.3]: https://github.com/MetaMask/metamask-extension/compare/v11.11.2...v11.11.3
[11.11.2]: https://github.com/MetaMask/metamask-extension/compare/v11.11.1...v11.11.2
[11.11.1]: https://github.com/MetaMask/metamask-extension/compare/v11.11.0...v11.11.1
[11.11.0]: https://github.com/MetaMask/metamask-extension/compare/v11.10.1...v11.11.0
[11.10.1]: https://github.com/MetaMask/metamask-extension/compare/v11.10.0...v11.10.1
[11.10.0]: https://github.com/MetaMask/metamask-extension/compare/v11.9.5...v11.10.0
[11.9.5]: https://github.com/MetaMask/metamask-extension/compare/v11.9.4...v11.9.5
[11.9.4]: https://github.com/MetaMask/metamask-extension/compare/v11.9.3...v11.9.4
Expand Down
2 changes: 2 additions & 0 deletions app/scripts/lib/createRPCMethodTrackingMiddleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@ export default function createRPCMethodTrackingMiddleware({

let blockaidMetricProps = {};

///: BEGIN:ONLY_INCLUDE_IF(blockaid)
if (!isDisabledRPCMethod) {
if (SIGNING_METHODS.includes(method)) {
const securityAlertResponse =
Expand All @@ -333,6 +334,7 @@ export default function createRPCMethodTrackingMiddleware({
});
}
}
///: END:ONLY_INCLUDE_IF

const properties = {
...eventProperties,
Expand Down
1 change: 1 addition & 0 deletions builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ buildTypes:
features:
- build-mmi
- snaps
- blockaid
env:
- INFURA_MMI_PROJECT_ID
- SEGMENT_MMI_WRITE_KEY
Expand Down
34 changes: 34 additions & 0 deletions lavamoat/browserify/mmi/policy.json
Original file line number Diff line number Diff line change
Expand Up @@ -1856,6 +1856,40 @@
"webpack>events": true
}
},
"@metamask/ppom-validator": {
"globals": {
"URL": true,
"console.error": true,
"crypto": true
},
"packages": {
"@metamask/controller-utils": true,
"@metamask/eth-query>json-rpc-random-id": true,
"@metamask/ppom-validator>@metamask/base-controller": true,
"@metamask/ppom-validator>crypto-js": true,
"@metamask/ppom-validator>elliptic": true,
"await-semaphore": true,
"browserify>buffer": true
}
},
"@metamask/ppom-validator>@metamask/base-controller": {
"globals": {
"setTimeout": true
},
"packages": {
"immer": true
}
},
"@metamask/ppom-validator>crypto-js": {
"globals": {
"crypto": true,
"define": true,
"msCrypto": true
},
"packages": {
"browserify>browser-resolve": true
}
},
"@metamask/ppom-validator>elliptic": {
"packages": {
"@metamask/ppom-validator>elliptic>brorand": true,
Expand Down
2 changes: 1 addition & 1 deletion shared/constants/metametrics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -662,7 +662,7 @@ export enum MetaMetricsEventName {
///: BEGIN:ONLY_INCLUDE_IF(snaps)
SnapInstallStarted = 'Snap Install Started',
SnapInstallFailed = 'Snap Install Failed',
SnapInstallRejected = 'Snap Update Rejected',
SnapInstallRejected = 'Snap Install Rejected',
SnapInstalled = 'Snap Installed',
SnapUninstalled = 'Snap Uninstalled',
SnapUpdateStarted = 'Snap Update Started',
Expand Down
1 change: 0 additions & 1 deletion shared/constants/permissions.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ describe('EndowmentPermissions', () => {
expect(Object.keys(EndowmentPermissions).sort()).toStrictEqual(
[
'endowment:name-lookup',
'endowment:page-home',
'endowment:signature-insight',
...Object.keys(endowmentPermissionBuilders).filter(
(targetName) =>
Expand Down
4 changes: 1 addition & 3 deletions shared/constants/snaps/permissions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ export const EndowmentPermissions = Object.freeze({
'endowment:rpc': 'endowment:rpc',
'endowment:webassembly': 'endowment:webassembly',
'endowment:lifecycle-hooks': 'endowment:lifecycle-hooks',
///: BEGIN:ONLY_INCLUDE_IF(build-flask)
'endowment:page-home': 'endowment:page-home',
///: BEGIN:ONLY_INCLUDE_IF(build-flask)
'endowment:signature-insight': 'endowment:signature-insight',
'endowment:name-lookup': 'endowment:name-lookup',
///: END:ONLY_INCLUDE_IF
Expand All @@ -24,8 +24,6 @@ export const ExcludedSnapPermissions = Object.freeze({

export const ExcludedSnapEndowments = Object.freeze({
///: BEGIN:ONLY_INCLUDE_IF(build-main)
'endowment:page-home':
'This endowment is experimental and therefore not available.',
'endowment:name-lookup':
'This endowment is experimental and therefore not available.',
'endowment:signature-insight':
Expand Down
9 changes: 2 additions & 7 deletions test/e2e/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -826,16 +826,11 @@ const TEST_SEED_PHRASE_TWO =

// Usually happens when onboarded to make sure the state is retrieved from metamaskState properly, or after txn is made
const locateAccountBalanceDOM = async (driver, ganacheServer) => {
const balance = (await ganacheServer.getFiatBalance()).toLocaleString(
undefined,
{
minimumFractionDigits: 2,
},
);
const balance = await ganacheServer.getBalance();

await driver.findElement({
css: '[data-testid="eth-overview__primary-currency"]',
text: `$ ${balance} USD`,
text: `${balance} ETH`,
});
};

Expand Down
4 changes: 3 additions & 1 deletion test/e2e/tests/account-token-list.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ describe('Settings', function () {
await logInWithBalanceValidation(driver, ganacheServer);

await driver.clickElement('[data-testid="home__asset-tab"]');

const tokenValue = '25 ETH';

const tokenListAmount = await driver.findElement(
'[data-testid="multichain-token-list-item-value"]',
);
Expand Down Expand Up @@ -63,7 +65,7 @@ describe('Settings', function () {
const tokenListAmount = await driver.findElement(
'.eth-overview__primary-container',
);
assert.equal(await tokenListAmount.getText(), '$42,500.00\nUSD');
assert.equal(await tokenListAmount.getText(), '25\nETH');
await driver.clickElement('[data-testid="account-menu-icon"]');
const accountTokenValue = await driver.waitForSelector(
'.multichain-account-list-item .multichain-account-list-item__asset',
Expand Down
9 changes: 3 additions & 6 deletions test/e2e/tests/contract-interactions.spec.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
const { strict: assert } = require('assert');
const {
defaultGanacheOptions,
withFixtures,
openDapp,
unlockWallet,
largeDelayMs,
WINDOW_TITLES,
locateAccountBalanceDOM,
} = require('../helpers');

const { SMART_CONTRACTS } = require('../seeder/smart-contracts');
Expand All @@ -25,7 +25,7 @@ describe('Deploy contract and call contract methods', function () {
smartContract,
title: this.test.fullTitle(),
},
async ({ driver, contractRegistry }) => {
async ({ driver, contractRegistry, ganacheServer }) => {
const contractAddress = await contractRegistry.getContractAddress(
smartContract,
);
Expand Down Expand Up @@ -87,10 +87,7 @@ describe('Deploy contract and call contract methods', function () {
await driver.switchToWindowWithTitle(
WINDOW_TITLES.ExtensionInFullScreenView,
);
const balance = await driver.findElement(
'[data-testid="eth-overview__primary-currency"]',
);
assert.equal(await balance.getText(), '$37,399.05\nUSD');
await locateAccountBalanceDOM(driver, ganacheServer);
},
);
});
Expand Down
8 changes: 4 additions & 4 deletions test/e2e/tests/incremental-security.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,10 @@ describe('Incremental Security', function () {
// should have the correct amount of eth
let currencyDisplay = await driver.waitForSelector({
css: '.currency-display-component__text',
text: '$1,700.00',
text: '1',
});
let balance = await currencyDisplay.getText();
assert.strictEqual(balance, '$1,700.00');
assert.strictEqual(balance, '1');

// backs up the Secret Recovery Phrase
// should show a backup reminder
Expand Down Expand Up @@ -163,11 +163,11 @@ describe('Incremental Security', function () {
// should have the correct amount of eth
currencyDisplay = await driver.waitForSelector({
css: '.currency-display-component__text',
text: '$1,700.00',
text: '1',
});
balance = await currencyDisplay.getText();

assert.strictEqual(balance, '$1,700.00');
assert.strictEqual(balance, '1');

// The previous currencyDisplay wait already serves as the guard here for the assertElementNotPresent
await driver.assertElementNotPresent('.backup-notification');
Expand Down
Loading

0 comments on commit e538b40

Please sign in to comment.