Skip to content

Commit fe179db

Browse files
authored
Merge branch 'main' into refactor-parse-signTypedData-logic
2 parents e9aae1c + ed09cd4 commit fe179db

File tree

593 files changed

+22801
-8507
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

593 files changed

+22801
-8507
lines changed

.github/CODEOWNERS

+7-7
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,13 @@ app/components/UI/TemplateRenderer @MetaMask/confirmations @MetaMask/snaps-dev
103103
# Wallet API Platform Team
104104
app/core/RPCMethods/ @MetaMask/wallet-api-platform-engineers
105105

106-
# Staking Team
107-
app/components/UI/Stake @MetaMask/metamask-staking
108-
app/core/Engine/controllers/earn-controller @MetaMask/metamask-staking
109-
app/core/Engine/messengers/earn-controller-messenger @MetaMask/metamask-staking
110-
app/selectors/earnController @MetaMask/metamask-staking
111-
**/Earn/** @MetaMask/metamask-staking
112-
**/earn/** @MetaMask/metamask-staking
106+
# Earn Team
107+
app/components/UI/Stake @MetaMask/metamask-earn
108+
app/core/Engine/controllers/earn-controller @MetaMask/metamask-earn
109+
app/core/Engine/messengers/earn-controller-messenger @MetaMask/metamask-earn
110+
app/selectors/earnController @MetaMask/metamask-earn
111+
**/Earn/** @MetaMask/metamask-earn
112+
**/earn/** @MetaMask/metamask-earn
113113

114114
# Assets Team
115115
app/components/hooks/useIsOriginalNativeTokenSymbol @MetaMask/metamask-assets

.github/ISSUE_TEMPLATE/bug-report.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ name: Bug Report
22
description: Using MetaMask, but it's not working as you expect?
33
title: "[Bug]: "
44
labels: ["type-bug"]
5+
type: 'Bug'
56
body:
67
- type: markdown
78
attributes:
@@ -11,7 +12,7 @@ body:
1112
## **Before Submitting:**
1213
1314
* Please search to make sure this issue has not been opened already.
14-
* If this is a question about how to integrate MetaMask with your project, please ask in our [Community forum](https://community.metamask.io/c/developer-questions/) instead. This will get your question answered more quickly and make it easier for other devs to find the answer in the future.
15+
* If this is a question about how to integrate MetaMask with your project, please ask in our [Community forum](https://community.metamask.io/c/developer-discussion/) instead. This will get your question answered more quickly and make it easier for other devs to find the answer in the future.
1516
- type: textarea
1617
id: what-happened
1718
attributes:
@@ -55,7 +56,7 @@ body:
5556
description: At what stage was the bug detected?
5657
options:
5758
- In production (default)
58-
- In beta
59+
- In public beta
5960
- During release testing
6061
- On main branch
6162
- On a feature branch

.github/guidelines/LABELING_GUIDELINES.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ Every PR shall include one the QA labels below:
2222
To merge your PR one of the following QA labels are required:
2323
- **QA Passed**: If the PR was labeled with `needs-qa`, this label must be added once QA has signed off
2424
- **No QA Needed**: If the PR does not require any QA effort. This label should only be used in case you are updating a README or other files that does not impact the building or runtime of the application.
25-
- **Run E2E Smoke**: This label will kick-off E2E testing and trigger a check to make sure the E2E tests pass.
25+
- **Run E2E Smoke**: This label will kick-off E2E testing and trigger a check to make sure the E2E tests pass.
26+
- **No E2E Smoke Needed**: This label will bypass the E2E smoke test gate and allow the PR to be merged.
2627

2728
### Optional labels:
2829
- **regression-main**: This label can manually be added to a bug report issue at the time of its creation if the bug is present on the development branch, i.e., `main`, but is not yet released in production.

.github/scripts/check-pr-has-required-labels.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ async function main(): Promise<void> {
5858
console.log(`PR contains a team label as expected: ${label}`);
5959
hasTeamLabel = true;
6060
}
61-
if (label.includes('Run Smoke E2E') || label.includes('No QA Needed') || label.includes('QA Passed') ) {
61+
if (label.includes('No QA Needed') || label.includes('QA Passed') ) {
6262
console.log(`PR contains a QA label as expected: ${label}`);
6363
hasQALabel = true;
6464
}
@@ -80,7 +80,7 @@ async function main(): Promise<void> {
8080
}
8181

8282
if (!hasQALabel) {
83-
errorMessage += 'No \'Run E2E Smoke\' or \'No QA Needed\' or \'QA Passed\' label. ';
83+
errorMessage += 'No \'No QA Needed\' or \'QA Passed\' label. ';
8484
}
8585
errorMessage += `Please make sure the PR is appropriately labeled before merging it.\n\nSee labeling guidelines for more detail: https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md`;
8686
core.setFailed(errorMessage);

.github/scripts/check-template-and-add-labels.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ function extractRegressionStageFromBugReportIssueBody(
203203
return RegressionStage.DevelopmentMain;
204204
case 'During release testing':
205205
return RegressionStage.Testing;
206-
case 'In beta':
206+
case 'In public beta':
207207
return RegressionStage.Beta;
208208
case 'In production (default)':
209209
return RegressionStage.Production;

.github/workflows/changelog-check.yml

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ on:
66

77
jobs:
88
check-changelog:
9+
# Asking engineers to update CHANGELOG.md increases the potential for
10+
# conflicts across all pull requests.
11+
# Disable this workflow until we can refine the new changelog process.
12+
if: false
13+
914
uses: MetaMask/github-tools/.github/workflows/changelog-check.yml@91e349d177db2c569e03c7aa69d2acb404b62f75
1015
with:
1116
base-branch: ${{ github.event.pull_request.base.ref }}

.iyarc

Whitespace-only changes.

.js.env.example

+6-1
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,13 @@ export MM_MULTICHAIN_V1_ENABLED=""
109109
# Permissions Settings feature flag specific to UI changes
110110
export MM_PERMISSIONS_SETTINGS_V1_ENABLED=""
111111

112-
# Feature flag for Stablecoin Lending UI
112+
# Earn Variables
113+
## Stablecoin Lending
113114
export MM_STABLECOIN_LENDING_UI_ENABLED="true"
115+
export MM_STABLE_COIN_SERVICE_INTERRUPTION_BANNER_ENABLED="true"
116+
## Pooled-Staking
117+
export MM_POOLED_STAKING_ENABLED="true"
118+
export MM_POOLED_STAKING_SERVICE_INTERRUPTION_BANNER_ENABLED="true"
114119

115120
# Activates remote feature flag override mode.
116121
# Remote feature flag values won't be updated,

CHANGELOG.md

+23-8
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10-
### Fixed
11-
12-
- fix(swaps): set default slippage when source or destination token is not stablecoin ([#14730](https://github.com/MetaMask/metamask-mobile/pull/14730))
13-
14-
### Changed
15-
16-
- fix(multi-srp): display errors only after all the words are have been entered ([#14607](https://github.com/MetaMask/metamask-mobile/pull/14607))
17-
1810
### Added
1911

12+
- feat(bridge): implement quote expiration handling in Bridge feature ([#14872](https://github.com/MetaMask/metamask-mobile/pull/14872))
13+
- feat(bridge): use dynamic slippage for single-chain Solana swaps ([#14805](https://github.com/MetaMask/metamask-mobile/pull/14805))
14+
- feat(bridge): enhance bridging with network fee estimation and UI improvements ([#14786](https://github.com/MetaMask/metamask-mobile/pull/14786))
15+
- feat(ramp): auto-select region ([#14780](https://github.com/MetaMask/metamask-mobile/pull/14780))
2016
- feat(bridge): add solana chain support and improve bridge state management ([#14713](https://github.com/MetaMask/metamask-mobile/pull/14713))
2117
- feat(bridge): add error handling and input management for bridge quotes ([#14693](https://github.com/MetaMask/metamask-mobile/pull/14693))
2218
- feat(multi-srp): enable multi-srp in main and beta ([#14558](https://github.com/MetaMask/metamask-mobile/pull/14558))
@@ -28,14 +24,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2824
- feat(multi-srp): add e2e tests ([#14583](https://github.com/MetaMask/metamask-mobile/pull/14583))
2925
- feat(bridge): fetch token metadata for Bridge token pickers if not already available ([#14699](https://github.com/MetaMask/metamask-mobile/pull/14699))
3026
- feat(bridge): use `BridgeStatusController` for EVM and Solana Bridge transaction submission ([#14708](https://github.com/MetaMask/metamask-mobile/pull/14708))
27+
- feat(multi-srp): add discover accounts to MultichainWalletSnapClient ([#14727](https://github.com/MetaMask/metamask-mobile/pull/14727))
28+
- feat: real time dapp scanning BrowserTab ([#14515](https://github.com/MetaMask/metamask-mobile/pull/14515))
29+
- feat(multi-srp): add new srp pills labels ([#14829](https://github.com/MetaMask/metamask-mobile/pull/14829))
30+
- feat(earn): add pooled-staking and stablecoin lending remote feature flags ([#14660](https://github.com/MetaMask/metamask-mobile/pull/14660))
31+
- feat: feat: AccountConnect and AccountApproval use dapp scanning ([#14514](https://github.com/MetaMask/metamask-mobile/pull/14514/))
3132

3233
### Changed
3334

3435
- feat(bridge): Handle Solana vs EVM swap and bridge routing ([#14614](https://github.com/MetaMask/metamask-mobile/pull/14614))
36+
- fix(multi-srp): allow a user to select srp when creating a multichain account ([#14644](https://github.com/MetaMask/metamask-mobile/pull/14644))
37+
- fix(multi-srp): display errors only after all the words are have been entered ([#14607](https://github.com/MetaMask/metamask-mobile/pull/14607))
38+
- feat: update address truncation format from 4 to 5 characters to match extension ([#14744](https://github.com/MetaMask/metamask-mobile/pull/14744))
39+
- fix(multi-srp): display errors only after all the words are have been entered ([#14607](https://github.com/MetaMask/metamask-mobile/pull/14607))
40+
- fix(wallet-ux): increased touchable area for account picker so it is easier to select ([#14762](https://github.com/MetaMask/metamask-mobile/pull/14762))
41+
- fix(multi-srp): display alternative text color when in dark mode([#14718](https://github.com/MetaMask/metamask-mobile/pull/14718))
42+
- fix(confirmations): remove transaction simulations from wallet initiated send flow ([#14994](https://github.com/MetaMask/metamask-mobile/pull/14994))
3543

3644
### Fixed
3745

46+
- fix(bridge): keyboard not appearing when error banner is displayed ([#14862](https://github.com/MetaMask/metamask-mobile/pull/14862))
3847
- fix(bridge): fix not switching networks when selecting source token ([#14712](https://github.com/MetaMask/metamask-mobile/pull/14712))
48+
- fix: update confirmation font sizes ([#14715](https://github.com/MetaMask/metamask-mobile/pull/14715))
49+
- fix: updates a padding style specifically for Android devices ([#14725](https://github.com/MetaMask/metamask-mobile/pull/14725))
50+
- fix(bridge): enhance UI/UX with improved input handling and layout adjustments ([#14781](https://github.com/MetaMask/metamask-mobile/pull/14781))
51+
- fix(swaps): set default slippage when source or destination token is not stablecoin ([#14730](https://github.com/MetaMask/metamask-mobile/pull/14730))
52+
- fix(bridge): fix transaction history for EVM and Solana bridge transactions ([#14759](https://github.com/MetaMask/metamask-mobile/pull/14759))
53+
- fix(bridge): change networks properly when user switches between source and destination tokens ([#14812](https://github.com/MetaMask/metamask-mobile/pull/14812))
3954

4055
## [7.44.0]
4156

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ To learn how to contribute to the MetaMask codebase, visit our [Contributor Docs
2323
- [API Call Logging for Debugging](./docs/readme/api-logging.md)
2424
- [Storybook](./docs/readme/storybook.md)
2525
- [Miscellaneous](./docs/readme/miscellaneous.md)
26+
- [E2E Testing Segment Events](./docs/testing/e2e/segment-events.md)
2627

2728
## Getting started
2829

android/app/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ android {
179179
minSdkVersion rootProject.ext.minSdkVersion
180180
targetSdkVersion rootProject.ext.targetSdkVersion
181181
versionName "7.44.0"
182-
versionCode 1685
182+
versionCode 1707
183183
testBuildType System.getProperty('testBuildType', 'debug')
184184
missingDimensionStrategy 'react-native-camera', 'general'
185185
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

app/component-library/components-temp/CellSelectWithMenu/CellSelectWithMenu.tsx

+23-41
Original file line numberDiff line numberDiff line change
@@ -36,30 +36,10 @@ const CellSelectWithMenu = ({
3636
children,
3737
withAvatar = true,
3838
showSecondaryTextIcon = true,
39-
onTextClick,
4039
...props
4140
}: CellSelectWithMenuProps) => {
4241
const { styles } = useStyles(styleSheet, { style });
4342

44-
const renderSecondaryText = () => (
45-
<>
46-
<Text
47-
numberOfLines={1}
48-
variant={DEFAULT_CELLBASE_AVATAR_SECONDARYTEXT_TEXTVARIANT}
49-
style={styles.secondaryText}
50-
>
51-
{secondaryText}
52-
</Text>
53-
{showSecondaryTextIcon && (
54-
<Icon
55-
name={IconName.ArrowDown}
56-
size={IconSize.Xss}
57-
style={styles.arrowStyle}
58-
/>
59-
)}
60-
</>
61-
);
62-
6343
return (
6444
<ListItemMultiSelectButton
6545
isSelected={isSelected}
@@ -79,34 +59,36 @@ const CellSelectWithMenu = ({
7959
) : null}
8060

8161
<View style={styles.cellBaseInfo}>
82-
{title === undefined ||
83-
title === null ||
84-
typeof title === 'string' ||
85-
typeof title === 'number' ||
86-
typeof title === 'boolean' ? (
87-
<Text
88-
numberOfLines={1}
89-
variant={DEFAULT_CELLBASE_AVATAR_TITLE_TEXTVARIANT}
90-
testID={CellComponentSelectorsIDs.BASE_TITLE}
91-
>
92-
{title}
93-
</Text>
94-
) : (
95-
title
96-
)}
97-
{!!secondaryText && onTextClick && (
62+
<Text
63+
numberOfLines={1}
64+
variant={DEFAULT_CELLBASE_AVATAR_TITLE_TEXTVARIANT}
65+
testID={CellComponentSelectorsIDs.BASE_TITLE}
66+
>
67+
{title}
68+
</Text>
69+
{!!secondaryText && (
9870
<TouchableWithoutFeedback>
9971
<TouchableOpacity
10072
style={styles.containerRow}
101-
onPress={onTextClick}
73+
onPress={props.onTextClick}
10274
>
103-
{renderSecondaryText()}
75+
<Text
76+
numberOfLines={1}
77+
variant={DEFAULT_CELLBASE_AVATAR_SECONDARYTEXT_TEXTVARIANT}
78+
style={styles.secondaryText}
79+
>
80+
{secondaryText}
81+
</Text>
82+
{showSecondaryTextIcon && (
83+
<Icon
84+
name={IconName.ArrowDown}
85+
size={IconSize.Xss}
86+
style={styles.arrowStyle}
87+
/>
88+
)}
10489
</TouchableOpacity>
10590
</TouchableWithoutFeedback>
10691
)}
107-
{!!secondaryText && !onTextClick && (
108-
<View>{renderSecondaryText()}</View>
109-
)}
11092
{!!tagLabel && (
11193
<Tag
11294
testID={CellComponentSelectorsIDs.TAG_LABEL}

app/component-library/components-temp/CellSelectWithMenu/__snapshots__/CellSelectWithMenu.test.tsx.snap

+29-2
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,34 @@ exports[`CellSelectWithMenu should render with default settings correctly 1`] =
221221
>
222222
Orangefox.eth
223223
</Text>
224-
<View>
224+
<TouchableOpacity
225+
accessibilityState={
226+
{
227+
"busy": undefined,
228+
"checked": undefined,
229+
"disabled": undefined,
230+
"expanded": undefined,
231+
"selected": undefined,
232+
}
233+
}
234+
accessible={true}
235+
focusable={false}
236+
onClick={[Function]}
237+
onResponderGrant={[Function]}
238+
onResponderMove={[Function]}
239+
onResponderRelease={[Function]}
240+
onResponderTerminate={[Function]}
241+
onResponderTerminationRequest={[Function]}
242+
onStartShouldSetResponder={[Function]}
243+
style={
244+
{
245+
"alignItems": "flex-start",
246+
"flexDirection": "row",
247+
"marginBottom": 0,
248+
"zIndex": 1,
249+
}
250+
}
251+
>
225252
<Text
226253
accessibilityRole="text"
227254
numberOfLines={1}
@@ -252,7 +279,7 @@ exports[`CellSelectWithMenu should render with default settings correctly 1`] =
252279
}
253280
width={10}
254281
/>
255-
</View>
282+
</TouchableOpacity>
256283
<View
257284
style={
258285
{

app/component-library/components-temp/Contracts/ContractBoxBase/__snapshots__/ContractBoxBase.test.tsx.snap

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ exports[`Component ContractBoxBase should render correctly 1`] = `
5252
<Text
5353
variant="sBodyMD"
5454
>
55-
0x2990...a21a
55+
0x29900...da21a
5656
</Text>
5757
</Component>
5858
</View>

0 commit comments

Comments
 (0)