Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
560 commits
Select commit Hold shift + click to select a range
acea9c7
fix: update account list items design (#15549)
PatrykLucka Jun 5, 2025
dc87d4f
feat(deposit): adds logout button to settings page (#16110)
georgeweiler Jun 5, 2025
02dc2c1
test: flip switch to make all tests use anvil by default (#15375)
cortisiko Jun 5, 2025
52b65c5
perf: optimise tokenlistitem selectors to use weakmap parameter memoi…
Prithpal-Sooriya Jun 5, 2025
89cd619
fix: cp-7.47.0 include gas and gas price in PPOM requests (#15836)
digiwand Jun 5, 2025
8e1666e
feat: identity/profile multichain analytics (#15992)
wenfix Jun 5, 2025
0d167bf
perf: cache Intl instances (#16151)
Prithpal-Sooriya Jun 5, 2025
b4e508f
fix: Do not lowercase account addresses cp-7.47.0 (#16068)
owencraston Jun 5, 2025
150191a
feat(deposit): submit kyc form data to provider (#16115)
georgeweiler Jun 5, 2025
365a9a9
fix: Revert "feat(deposit): adds logout button to settings page (#161…
cortisiko Jun 5, 2025
d22faa4
feat: 1.3 disable security check prompt (#15841)
ieow Jun 6, 2025
5ad2517
feat: 1.4 new srp backup (#15773)
ieow Jun 6, 2025
d1149c8
feat: 1.2 disable wizard tour (#15840)
ieow Jun 6, 2025
5ae3952
refactor: move e2e notification spec to typescript (#16164)
Prithpal-Sooriya Jun 6, 2025
7a6db6f
chore: upgrade assets-controllers to v68 (#16012)
sahar-fehri Jun 6, 2025
51bc504
chore: Convert confirmation e2e test files to TS (#16160)
OGPoyraz Jun 6, 2025
78b1458
fix(5091): remove misleading network badges from AccountRightButton (…
vinnyhoward Jun 6, 2025
b24879c
refactor: getMultichainBlockExplorer to be a hook (#16168)
montelaidev Jun 6, 2025
5b9c910
feat: multichain accounts - account details part 2 (#15884)
montelaidev Jun 6, 2025
e32ae22
fix: SelectComponent scrollview does not scroll to item automatically…
weitingsun Jun 6, 2025
4f3fe57
feat(4057): account list active networks avatars (#15964)
vinnyhoward Jun 6, 2025
21c27c2
fix: regression tests (#16173)
chrisleewilcox Jun 7, 2025
0102176
fix: make mandatory not interactable ( dismissed ) (#16111)
ieow Jun 9, 2025
f18b7bf
fix: cp-7.47.0 add T&Cs to swap (#16193)
SteP-n-s Jun 9, 2025
e7bc704
feat(deposit): adds logout button to settings page (#16156)
wachunei Jun 9, 2025
2ec0396
fix: walletconnect issue 15240 chain mismatch #15539 (#15767)
elribonazo Jun 9, 2025
a61623c
chore(4144): enable feature flag and fix unit tests falling this enab…
EtherWizard33 Jun 9, 2025
6539bcd
fix: update testing documentation for environment variables and local…
chrisleewilcox Jun 9, 2025
bed79b7
fix: always show total for popular networks in connected accounts vie…
jiexi Jun 9, 2025
7937df2
feat(deposit): kyc processing screen (#16053)
AxelGes Jun 9, 2025
20be923
chore: Generate test apk in build_android_devbuild workflow (#16003)
weitingsun Jun 9, 2025
1d8d186
fix: Resolve issue of ENS websites not working in WebView on Android …
smilingkylan Jun 9, 2025
7f0766e
feat: add remove account components for multichain accounts (#16008)
montelaidev Jun 9, 2025
a28e951
feat: added e2e for two connected dapps (#16175)
NidhiKJha Jun 10, 2025
8bc320b
chore: bump up bridge controller to `32.1.1` (#16217)
stanleyyconsensys Jun 10, 2025
03eaa47
fix: cp-7.49.0 Fix fiat values for non-test networks (#16194)
OGPoyraz Jun 10, 2025
16cf54d
fix: add traces for token details (#16203)
salimtb Jun 10, 2025
6b40d78
fix: cp-7.47.0 reset bridge state after swap (#16236)
bfullam Jun 10, 2025
420127b
fix: cp-7.49.0 Make `confirmation_redesign` feature flags work as tru…
OGPoyraz Jun 10, 2025
b77818e
test: Fix flakiness Swap tests (#16218)
davibroc Jun 10, 2025
890d174
test: implement create and import wallet analytics tests (#16128)
cmd-ob Jun 10, 2025
bf10dec
fix: update e2e tag and refactor to typescript (#16121)
montelaidev Jun 10, 2025
7d83173
feat(deposit): adds order type to ramp processor (#16210)
wachunei Jun 10, 2025
73175ec
fix: add percent change to token details (#16237)
salimtb Jun 10, 2025
98aa89e
fix: hide solana accounts in EVM send flow (#16231)
matthewwalsh0 Jun 10, 2025
e099052
fix: fix sorting by name instead of symbol (#16241)
salimtb Jun 10, 2025
827ea02
fix: Add :app: prefix to specify exact Android task to build (#16213)
Cal-L Jun 10, 2025
283f6b5
feat(deposit): pass email to OTP view (#16113)
georgeweiler Jun 10, 2025
a577101
fix: background bridge sending accounts changed events to WC/Remote c…
jiexi Jun 10, 2025
71acc47
feat(deposit): adds get started screen to deposit flow (#16148)
georgeweiler Jun 10, 2025
316c539
perf: Unmount Transactions and Browser (incl tabs) screens when unfoc…
andrepimenta Jun 10, 2025
cb2e4ad
feat: add ConfirmationView class for end-to-end testing (#16249)
chrisleewilcox Jun 10, 2025
64aef08
fix: number_of_hd_entropies value when keyring is unlocked (#16250)
owencraston Jun 10, 2025
953f2ed
fix: show snap accounts in account count in AddNewAccount cp-7.47.0 (…
montelaidev Jun 10, 2025
b0cb7d7
fix: #16215 - SRP correctly imported in any format (#16224)
smgv Jun 11, 2025
78819b0
feat: add metrics for defi tab and view (#15717)
bergarces Jun 11, 2025
5d4993f
feat: 1.5 new srp backup step1 (#15795)
ieow Jun 11, 2025
9da8d7a
fix: cp-7.49.0 Fix `useConfirmationRedesignEnabled` hook (#16280)
OGPoyraz Jun 11, 2025
30e1a12
fix: add traces for transactions (#16278)
salimtb Jun 11, 2025
d8db6ea
feat: 1.6 new srp onboarding success (#15804)
ieow Jun 11, 2025
1a85d3f
refactor(deposit): useCallback in KYC handlers (#16245)
wachunei Jun 11, 2025
a15235a
chore: Update code owners for accounts components (#16290)
owencraston Jun 11, 2025
52cc328
feat: prebuilt app support for e2e tests (#15794)
ixf Jun 11, 2025
a09c3f4
feat: added network selector to the request payment flow (#14954)
vinnyhoward Jun 11, 2025
01d0afb
feat: add base network to networks enabled by default (#16064)
Prithpal-Sooriya Jun 11, 2025
c98ed85
test: migrate receive flow e2e infrastructure to TypeScript with shar…
chrisleewilcox Jun 11, 2025
e3c7d63
fix(15815): in TransactionElement componet, ticker displayed as undef…
EtherWizard33 Jun 11, 2025
3f1447f
feat: add new domain deeplinks (#15467)
frankvonhoven Jun 11, 2025
e30a3b5
fix: cp-7.49.0 Fix native asset `transfer` for Polygon (#16295)
OGPoyraz Jun 12, 2025
f23d29a
feat: add multi-SRP EVM Account Syncing (#15357)
mathieuartu Jun 12, 2025
57f9a8f
feat: Compress images in the project using imageoptim (https://imageo…
Tyschenko Jun 12, 2025
aae400f
fix: cp-7.49.0 eth_signTypedData_v4 on Multichain API (#16318)
ffmcgee725 Jun 12, 2025
4968ab0
fix: fixes unit test guide url (#16235)
NicolasMassart Jun 12, 2025
eff8216
chore: Update onboarding views for web3auth team ownership (#16324)
tommasini Jun 12, 2025
9103660
fix: use disable sync before assertion (#16325)
montelaidev Jun 12, 2025
8459b81
fix: fix ticker trx history regression (#16327)
salimtb Jun 12, 2025
ad5d1df
feat: add export credentials to multichain account details (#16157)
montelaidev Jun 12, 2025
6f00d85
chore(deposit): upgrade sdk to 1.0.2 (#16310)
wachunei Jun 12, 2025
03831c3
fix: cp-7.49.0 Integrate ErrorReportingService to fix NetworkControll…
mcmire Jun 12, 2025
34d15cb
test: disable unstable multi srp e2e (#16336)
cortisiko Jun 12, 2025
50df61f
feat: Earn Lending Base Layer - Earn Controller Integration and Mock …
nickewansmith Jun 12, 2025
bff50fb
fix: flakey import-srp e2e test (#16326)
mathieuartu Jun 12, 2025
76684af
chore: upgrade native-ramps- sdk to 1.0.4 (#16346)
georgeweiler Jun 12, 2025
d323e69
fix: fix flaky test on token list (#16342)
salimtb Jun 12, 2025
ec81c31
fix: Checkbox text ui (#16130)
smgv Jun 13, 2025
b44f3f9
fix: Progress Bar Carousel (#16123)
smgv Jun 13, 2025
d6764de
test: fix token scroll (#16353)
cortisiko Jun 13, 2025
caff249
fix: #16214 - users are unable to paste their SRP into the import fi…
smgv Jun 13, 2025
4d21364
chore: cp-7.49.0 bump solana 1.33.1 (#16364)
aganglada Jun 13, 2025
e5dfa5b
fix: cp-7.49.0 lens-logo-background (#16366)
khanti42 Jun 13, 2025
7cdd0b7
chore: Bump Snaps packages (#16283)
Mrtenz Jun 13, 2025
038527c
build: bump `@metamask/notification-services-controller@10.0.0` (#16365)
Prithpal-Sooriya Jun 13, 2025
b55ee4d
fix: cp-7.47.0 use keyringMetadata from keyring (#16359)
montelaidev Jun 13, 2025
6940efc
fix: add traces (#16317)
salimtb Jun 13, 2025
97486f7
test: temporarily disable multisrp e2e (#16372)
cortisiko Jun 13, 2025
857fcfe
feat: Stake-1036: fix unknown method in confirmation bottom sheet for…
Matt561 Jun 13, 2025
fc77ff1
feat(deposit): adds initial deposit processor (#16352)
wachunei Jun 13, 2025
fea8c5a
chore: add hoodi support for mobile pooled staking (#16350)
nickewansmith Jun 13, 2025
0ae4e0e
feat: Misc Earn Lending UI Improvements (#16374)
Matt561 Jun 13, 2025
c3a3f27
test: create withSecondTestDappTab fixture for multi-dapp e2e (#16380)
cortisiko Jun 13, 2025
1a347af
feat: 1.7 new-srp-login (#15833)
ieow Jun 15, 2025
9627ec0
fix: Create Password UI Update (#16393)
smgv Jun 15, 2025
5591795
fix: Import SRP Build and UI fixes (#16394)
smgv Jun 16, 2025
d6ba2d1
feat: New Metametrics flow (#15989)
ieow Jun 17, 2025
744ce8b
test: add regression tests for new networks monad + megaeth (#15903)
vivek-consensys Jun 17, 2025
96fc0f9
feat: Add `approve` transaction confirmation (#16282)
OGPoyraz Jun 17, 2025
c4b66e1
feat: add 7702 to multichain account details (#16227)
montelaidev Jun 17, 2025
653a614
fix: cp-7.47.0 optimize send flow (#16373)
salimtb Jun 17, 2025
9aeead0
build: bump `@metamask/assets-controllers@68.2.0` (#16369)
Prithpal-Sooriya Jun 17, 2025
b9d0e9d
test: fix wdio TOU move upfront, appium test (#16322)
hieu-w Jun 17, 2025
e00aa1f
feat: enable backup & sync for all users (#16228)
mathieuartu Jun 17, 2025
a70ea20
fix: android login page status-bar (#16396)
ieow Jun 17, 2025
cd54356
fix: cp-7.47.0 add Solana transactions in AssetOverview (#16073)
Daniel-Cross Jun 17, 2025
5346737
test: Revert "test: add regression tests for new networks monad + meg…
vivek-consensys Jun 17, 2025
e3ffada
fix: add wallet ux traces (#16412)
salimtb Jun 17, 2025
f9a2779
test: cancel and view all quotes metametrics e2e test (#16071)
cmd-ob Jun 17, 2025
c1693ca
fix: cp-7.47.0 Fix QR send flow edge case (#16418)
OGPoyraz Jun 17, 2025
9285ce0
test: move ramp deeplink cases to quarantine, rename and clean up old…
C-Ivan Jun 17, 2025
5f3d7ad
fix: cp-7.49.0 bump solana-wallet-standard to 0.5.0 and multichain-ap…
baptiste-marchand Jun 17, 2025
dc1d00f
fix: cp-7.49.0 bump version of `@metamask/chain-agnostic-permission` …
adonesky1 Jun 17, 2025
b9d4e4f
feat: add e2e tests for multichain accounts (#16311)
montelaidev Jun 17, 2025
111c687
fix: improve token search token (#16423)
salimtb Jun 17, 2025
aa38de9
fix: OptinMetrics transation fix, style fix for title and Password ch…
smgv Jun 17, 2025
1fc8d1d
test: update asset list test cases (#16395)
C-Ivan Jun 17, 2025
682dfef
fix: Fox logo issue (#16422)
smgv Jun 17, 2025
e5390cf
feat: Create transaction batch confirmation (#15542)
pedronfigueiredo Jun 17, 2025
fb2011f
feat: STAKE-967: Add historic vault apy bottom sheet for stablecoin l…
Matt561 Jun 17, 2025
ce2cb9a
feat: update account list to support grouping (#16285)
PatrykLucka Jun 17, 2025
61c3271
test: Convert Swap and Stake e2e tests to typescript (#16269)
davibroc Jun 17, 2025
3c0cd1f
feat: STAKE-1052 reintroduce withdrawal safety checks (#16432)
Matt561 Jun 17, 2025
fc61862
feat: multichain api e2e (#15483)
abretonc7s Jun 18, 2025
e77caf0
chore: migrate identity e2e files to TypeScript (#16419)
mathieuartu Jun 18, 2025
4c5906e
test: run smoke e2e tests on flask builds (#16405)
Andepande Jun 18, 2025
3b7fda5
fix: ui updates - translation format, text ellipsis, fox logo padding…
smgv Jun 18, 2025
92d598b
fix: cp-7.47.0 Fix QR wallet support in swaps flow (#16447)
OGPoyraz Jun 18, 2025
1a531dc
fix: scroll button flickering issue (#16442)
smgv Jun 18, 2025
a29b619
fix: Use `ContractInteraction` as default confirmation for redesigned…
OGPoyraz Jun 18, 2025
744c822
fix: use `ApprovalType.TransactionBatch` (#16313)
vinistevam Jun 18, 2025
3f8f5e1
fix: Design QA Mobile - Bottom padding for CTA is missing and Confirm…
smgv Jun 18, 2025
63d259b
feat: remove logic and state related to disable-security-check-prompt…
ieow Jun 18, 2025
76c03e5
fix: SRP paste with space (#16443)
smgv Jun 18, 2025
53442fa
Feat/stake 901 integrate your earnings component with stablecoin lend…
nickewansmith Jun 18, 2025
8a5ee19
feat(deposit): KYC webview (#16180)
AxelGes Jun 18, 2025
6dad03f
fix: lottie flickering (#16410)
ieow Jun 18, 2025
1c8f932
fix: cp-7.47.0 Remove `requireApproval:false` from swaps confirmation…
OGPoyraz Jun 18, 2025
1020df6
test: move multi SRP e2e to quarantine (#16473)
cortisiko Jun 18, 2025
12adefb
feat: deeplink modal UI (#16309)
weitingsun Jun 18, 2025
fe03bd7
fix: fix breaking E2E due to bad throttle function (#16470)
chaitanyapotti Jun 18, 2025
575ee27
feat(deposit): Build quote page UI (#16298)
georgeweiler Jun 18, 2025
215e6ef
fix: asset detail screen (#16468)
Daniel-Cross Jun 18, 2025
50e22a3
test: convert browser page obects to typescript (#16448)
chrisleewilcox Jun 18, 2025
c4b4e51
fix(ramps): adds error message if user tries to sell zero balance tok…
georgeweiler Jun 18, 2025
d40f190
feat: upgrade notification controller to use v2 endpoints (#16360)
Prithpal-Sooriya Jun 18, 2025
4a9718d
feat: signature verification for private deeplinks (#16262)
frankvonhoven Jun 18, 2025
0234882
test: Fix bridge tests flakiness (#16480)
davibroc Jun 18, 2025
a00f641
feat: Stake 1033 add aave v 3 receipt tokens to mobile token list by …
nickewansmith Jun 18, 2025
20aca33
chore: update deeplink modal text copies (#16476)
weitingsun Jun 18, 2025
04a86cb
feat(identity): enable contact backup-and-sync (#15784)
fabiobozzo Jun 19, 2025
f6433d0
fix: Per Dapp selected network in `AddressFrom` component for legacy …
vinistevam Jun 19, 2025
8ded2d7
fix: icon update and removed unused image (#16496)
smgv Jun 19, 2025
60b3f58
fix: contact-sync tests naming conventions (#16498)
fabiobozzo Jun 19, 2025
e0a145f
chore: remove MM_CHAIN_PERMISSIONS flag (#16142)
wenfix Jun 19, 2025
003e2f8
fix: checkbox text update (#16501)
smgv Jun 19, 2025
27ac91b
chore: add apechain, berachain and edu network logos (#16316)
saraantole Jun 19, 2025
a791da1
fix: Improve Snaps UI scrolling experience (#16426)
FrederikBolding Jun 19, 2025
fcd58f2
feat: add new segment events for onboarding (#16493)
ieow Jun 19, 2025
3130d2f
fix: android lottie flickering (#16506)
ieow Jun 19, 2025
d7a48ac
fix: ensure inpage provider retries any pending requests sent before …
jiexi Jun 19, 2025
d81b941
feat(deposit): adds region selector to deposit page (#16478)
georgeweiler Jun 19, 2025
2cbf83e
chore: Bump WebView to 14.2.0 (#16492)
smilingkylan Jun 19, 2025
f958f27
New Crowdin translations by Github Action (#16007)
metamaskbot Jun 19, 2025
71e06a0
remove unchanged changelog
tommasini Jun 19, 2025
3ceac01
chore: remove unchanged changelog (#16515)
sethkfman Jun 19, 2025
32fdccc
bump semvar version to 7.50.0 && build version to 1994
metamaskbot Jun 19, 2025
b2d9727
removed formatting
sethkfman Jun 19, 2025
5d1b285
Bump version number to 2000
metamaskbot Jun 20, 2025
0a7d895
chore(runway): cherry-pick fix: cp-7.50.0 Fix contract interaction me…
runway-github[bot] Jun 21, 2025
8ce8cfc
chore(runway): cherry-pick feat: Analytics/track earn events (#16567)
runway-github[bot] Jun 21, 2025
9e98cce
fix: adjust ui entry point logic to work for diff flag variations (#…
tommasini Jun 23, 2025
b326a89
Bump version number to 2009
metamaskbot Jun 23, 2025
aa4983c
chore(runway): cherry-pick fix: cp-7.50.0 Fix `ApprovalTagUrl` except…
runway-github[bot] Jun 23, 2025
5dbb9f8
chore(runway): cherry-pick fix: cp-7.50.0 use actual origin for `Mult…
runway-github[bot] Jun 24, 2025
840eb57
chore(runway): cherry-pick fix: reveal private credential screen scro…
runway-github[bot] Jun 24, 2025
c29deba
chore(runway): cherry-pick chore: bump pbkdf (#16625)
runway-github[bot] Jun 24, 2025
79108a9
chore(runway): cherry-pick fix: migration 085 bug (#16594)
runway-github[bot] Jun 24, 2025
f6f8727
chore(runway): cherry-pick fix: secure text on blur (#16595)
runway-github[bot] Jun 24, 2025
47eade2
chore(runway): cherry-pick fix: cp-7.50.0 bump @metamask/multichain-a…
runway-github[bot] Jun 24, 2025
5cd8edd
Bump version number to 2018
metamaskbot Jun 24, 2025
cb79025
chore(runway): cherry-pick fix: Fix `getItemLayout` parameters (#16645)
runway-github[bot] Jun 25, 2025
9fc18f5
chore(runway): cherry-pick fix: cp-7.50.0 subscribe notifications on …
runway-github[bot] Jun 25, 2025
3a8c5e9
chore(runway): cherry-pick feat: (fix) cp-7.47.2 migrate caip permiss…
runway-github[bot] Jun 25, 2025
fe25e6f
chore(runway): cherry-pick fix: cp-7.50.0 add control bar for network…
runway-github[bot] Jun 25, 2025
6e85e72
refactor: cp-7.50.0 switch from SectionList to FlatList in EvmAccount…
PatrykLucka Jun 25, 2025
ed25ab7
test: fix unit tests after conflicts resolution
PatrykLucka Jun 25, 2025
42be03a
chore(runway): cherry-pick fix: Fix signed or submitted alert and no…
runway-github[bot] Jun 25, 2025
954f409
chore(runway): cherry-pick refactor: switch from SectionList to Flat…
PatrykLucka Jun 25, 2025
93bff66
chore(runway): cherry-pick fix: Import srp error issue cp-7.50.0 (#16…
runway-github[bot] Jun 25, 2025
4e9a85c
chore(runway): cherry-pick fix: Remove delay for dispatch of INIT_BG_…
runway-github[bot] Jun 25, 2025
95c40c0
chore(runway): cherry-pick fix: cp-7.50.0 Fix redesigned transaction …
runway-github[bot] Jun 25, 2025
81e267b
chore(runway): cherry-pick build: bump`@metamask/solana-wallet-snap`…
runway-github[bot] Jun 25, 2025
6ac3cf3
Bump version number to 2026
metamaskbot Jun 25, 2025
66606a3
chore(runway): cherry-pick fix: cp-7.50.0 fix refresh calls (#16704)
runway-github[bot] Jun 26, 2025
9956027
chore(runway): cherry-pick chore: passing discovered accounts data t…
runway-github[bot] Jun 26, 2025
f36c786
fix: (cherry pick) Undefined ticker on activity list (#16697)
pedronfigueiredo Jun 26, 2025
4b28c64
Bump version number to 2031
metamaskbot Jun 26, 2025
0774b67
chore(runway): cherry-pick fix: wallet connect QR code reading failur…
runway-github[bot] Jun 26, 2025
f73f0eb
chore(runway): cherry-pick fix: Prevent cronjob state from getting o…
runway-github[bot] Jun 26, 2025
0f1c790
chore(runway): cherry-pick fix: cp-7.50.0 not redirecting to Solana S…
runway-github[bot] Jun 27, 2025
017059f
chore(runway): cherry-pick fix: quarantine analytics e2e test (#16744)
runway-github[bot] Jun 27, 2025
c112110
chore(runway): cherry-pick fix: turn off autofill (autocomplete) work…
runway-github[bot] Jun 27, 2025
827122d
chore(runway): cherry-pick fix: cp-7.50.0 Hide simulations MM origina…
runway-github[bot] Jun 27, 2025
68b9684
chore(runway): cherry-pick fix: Design QA Bugs (#16743)
runway-github[bot] Jun 27, 2025
bc87991
chore(runway): cherry-pick fix: cp-7.50.0 fix infinite loader and inc…
runway-github[bot] Jun 27, 2025
8a26275
chore(runway): cherry-pick fix: adding send button to Solana asset s…
runway-github[bot] Jun 27, 2025
282a7cc
chore(runway): cherry-pick fix: TAT-927: USDT allowance increase on …
runway-github[bot] Jun 27, 2025
e593387
Bump version number to 2043
metamaskbot Jun 27, 2025
f2f8348
chore(runway): cherry-pick fix: Gas fee is now sent to tx controller…
runway-github[bot] Jun 30, 2025
c08be0e
chore(runway): cherry-pick fix: cp-7.50.0 Remove lending earnings his…
runway-github[bot] Jun 30, 2025
43dacca
chore(runway): cherry-pick fix: cp-7.50.0 Mitigate flash of safe with…
runway-github[bot] Jun 30, 2025
53d8482
Bump version number to 2046
metamaskbot Jun 30, 2025
33f1167
chore(runway): cherry-pick fix(bridge): fix: prevent crash when view…
runway-github[bot] Jun 30, 2025
c669c7e
chore(runway): cherry-pick fix: Bump version of React-native-webview-…
runway-github[bot] Jun 30, 2025
8be035c
chore(runway): cherry-pick perf: make `EvmAccountSelectorList.renderI…
runway-github[bot] Jul 1, 2025
b35b441
chore(runway): cherry-pick fix: cp-7.50.0 restore deleted backupAndSy…
runway-github[bot] Jul 1, 2025
8333f53
Bump version number to 2050
metamaskbot Jul 1, 2025
4cf04b7
chore(runway): cherry-pick chore: update solana 1.34.0 (#16832)
runway-github[bot] Jul 1, 2025
97b2235
chore(runway): cherry-pick fix: cp-7.50.0 batch approval broken for u…
runway-github[bot] Jul 1, 2025
629bb11
Bump version number to 2053
metamaskbot Jul 1, 2025
cd5daae
Bump version number to 2054
metamaskbot Jul 1, 2025
84676e6
Bump version number to 2055
metamaskbot Jul 1, 2025
c124774
chore(runway): cherry-pick feat: Hide 7702 feature behind env flag (…
runway-github[bot] Jul 2, 2025
998a80a
chore(runway): cherry-pick perf: Migrate AccountSelectorList to Flash…
runway-github[bot] Jul 2, 2025
fa64201
Bump version number to 2061
metamaskbot Jul 2, 2025
6191d27
chore(runway): cherry-pick fix: change in LD flag Key ID (#16889)
runway-github[bot] Jul 2, 2025
85ccd96
Bump version number to 2062
metamaskbot Jul 2, 2025
3a1a16a
DO NOT COmmiT
sethkfman Jul 3, 2025
8af4a0b
fix sync commit
sethkfman Jul 3, 2025
56f8bc4
sync with stable
sethkfman Jul 3, 2025
6a42d39
chore(runway): cherry-pick fix: removed local flag and regression on…
runway-github[bot] Jul 4, 2025
677d2cd
chore: bump metamask utils to 11.4.2 (#16941)
tommasini Jul 4, 2025
fa5bcb7
Bump version number to 2069
metamaskbot Jul 4, 2025
fe8504e
chore(runway): cherry-pick fix: align sdk connection with permission…
runway-github[bot] Jul 8, 2025
7d1b1e3
chore(runway): cherry-pick chore: bump controller utils to version 1…
runway-github[bot] Jul 8, 2025
15841e3
Bump version number to 2071
metamaskbot Jul 8, 2025
b7cd501
chore(runway): cherry-pick fix: cp-7.50.0 fix bridge account selectio…
runway-github[bot] Jul 8, 2025
168c4fa
Bump version number to 2073
metamaskbot Jul 8, 2025
bb48413
chore(runway): cherry-pick fix: cp-7.50.0 crash app when selecting ev…
runway-github[bot] Jul 9, 2025
cb589cb
Bump version number to 2083
metamaskbot Jul 9, 2025
a4b9cb8
Bump version number to 2092
metamaskbot Jul 10, 2025
b1144ca
chore: chore/7.50.0-Changelog (#16519)
metamaskbot Jul 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .depcheckrc.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# List things here that *are - 'used, that depcheck is wrong about'
ignores:
- '@metamask/oss-attribution-generator'
- '@metamask/test-dapp-multichain'
- 'webpack-cli'
- '@react-native-community/datetimepicker'
- '@react-native-community/slider'
Expand All @@ -10,6 +11,8 @@ ignores:
- 'babel-plugin-inline-import'
# This is used in index.d.ts
- '@sentry/react'
# These dependencies are needed for react-compiler - https://react.dev/learn/react-compiler#using-react-compiler-with-react-17-or-18
- 'react-compiler-runtime'
# This is used on the patch for TokenRatesController of Assets controllers, for we to be able to use the last version of it
- cockatiel

Expand Down Expand Up @@ -49,7 +52,6 @@ ignores:
- 'prettier-plugin-gherkin'
- 'react-native-svg-asset-plugin'
- 'regenerator-runtime'
- 'rn-nodeify'

## Unused devDependencies to investigate
- '@metamask/swappable-obj-proxy'
Expand Down
6 changes: 4 additions & 2 deletions .detoxrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ module.exports = {
apps: {
'ios.debug': {
type: 'ios.app',
binaryPath: 'ios/build/Build/Products/Debug-iphonesimulator/MetaMask.app',
binaryPath:
process.env.PREBUILT_IOS_APP_PATH || 'ios/build/Build/Products/Debug-iphonesimulator/MetaMask.app',
build: 'yarn start:ios:e2e',
},
'ios.qa': {
Expand All @@ -98,7 +99,8 @@ module.exports = {
},
'android.debug': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/prod/debug/app-prod-debug.apk',
binaryPath: process.env.PREBUILT_ANDROID_APK_PATH || 'android/app/build/outputs/apk/prod/debug/app-prod-debug.apk',
testBinaryPath: process.env.PREBUILT_ANDROID_TEST_APK_PATH,
build: 'yarn start:android:e2e',
},
'android.qa': {
Expand Down
11 changes: 11 additions & 0 deletions .e2e.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,14 @@ export MM_TEST_ACCOUNT_PRIVATE_KEY=''
export IS_TEST="true"
# Temporary mechanism to enable security alerts API prior to release.
export MM_SECURITY_ALERTS_API_ENABLED="true"

# Multichain test dapp URL configuration
# By default, uses the local embedded test dapp
# Set USE_LOCAL_DAPP=false to use a remote dapp URL instead
export USE_LOCAL_DAPP=true

# Remote dapp URL (only used when USE_LOCAL_DAPP=false)
# Option 1: Use the official MetaMask test dapp
export MULTICHAIN_DAPP_URL="https://metamask.github.io/test-dapp-multichain/latest/"
# Option 2: Use a custom remote URL
# export MULTICHAIN_DAPP_URL="https://your-multichain-dapp.example.com/"
5 changes: 4 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ module.exports = {
'plugin:import/warnings',
'plugin:react/recommended',
],
plugins: ['@typescript-eslint', '@metamask/design-tokens'],
// ESLint can find the plugin without the `eslint-plugin-` prefix. Ex. `eslint-plugin-react-compiler` -> `react-compiler`
plugins: ['@typescript-eslint', '@metamask/design-tokens', 'react-compiler'],
overrides: [
{
files: ['*.{ts,tsx}'],
Expand Down Expand Up @@ -136,6 +137,8 @@ module.exports = {
},

rules: {
// Set to error once all warnings reported by React Compiler are resolved
'react-compiler/react-compiler': 'warn',
'no-catch-shadow': 0,
'no-console': ['error', { allow: ['warn', 'error'] }],
quotes: [
Expand Down
33 changes: 29 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,23 @@ app/component-library/ @MetaMask/design-system-engineers
# Platform Team
.github/CODEOWNERS @MetaMask/mobile-platform
patches/ @MetaMask/mobile-platform
app/core/Analytics/ @MetaMask/mobile-platform
app/core/Analytics/index.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetrics.constants.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetrics.test.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetrics.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetrics.types.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetricsPrivacySegmentPlugin.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetricsPrivacySegmentPlugin.test.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetricsTestUtils.test.ts @MetaMask/mobile-platform
app/core/Analytics/MetaMetricsTestUtils.ts @MetaMask/mobile-platform
app/core/Analytics/MetricsEventBuilder.test.ts @MetaMask/mobile-platform
app/core/Analytics/MetricsEventBuilder.ts @MetaMask/mobile-platform
app/util/metrics/ @MetaMask/mobile-platform
app/components/hooks/useMetrics/ @MetaMask/mobile-platform
app/selectors/featureFlagController/* @MetaMask/mobile-platform
app/selectors/featureFlagController/minimumAppVersion/ @MetaMask/mobile-platform
app/store/migrations/ @MetaMask/mobile-platform
bitrise.yml @MetaMask/mobile-platform
yarn.lock @MetaMask/mobile-platform
ios/Podfile.lock @MetaMask/mobile-platform
app/components/Views/BrowserTab/BrowserTab.tsx @MetaMask/mobile-platform
app/components/Nav/NavigationProvider @MetaMask/mobile-platform
Expand Down Expand Up @@ -64,6 +73,16 @@ app/util/walletconnect.js @MetaMask/sdk-devs
app/core/Encryptor/ @MetaMask/accounts-engineers
app/core/Engine/controllers/accounts-controller @MetaMask/accounts-engineers
app/core/Engine/messengers/accounts-controller-messenger @MetaMask/accounts-engineers
app/core/SnapKeyring @MetaMask/accounts-engineers

# Co-owned by accounts and wallet-ux
app/components/Views/AccountSelector @MetaMask/accounts-engineers @MetaMask/wallet-ux
app/components/UI/EvmAccountSelectorList @MetaMask/accounts-engineers @MetaMask/wallet-ux

# Multichain Accounts
**/multichain-accounts/** @MetaMask/accounts-engineers
**/MultichainAccounts/** @MetaMask/accounts-engineers
**/multichainAccounts/** @MetaMask/accounts-engineers

# Swaps Team
app/components/UI/Swaps @MetaMask/swaps-engineers
Expand Down Expand Up @@ -124,6 +143,7 @@ app/components/UI/CollectibleMedia @MetaMask/metamask-assets
app/components/UI/CollectibleModal @MetaMask/metamask-assets
app/components/UI/CollectibleOverview @MetaMask/metamask-assets
app/components/UI/ConfirmAddAsset @MetaMask/metamask-assets
app/components/UI/DeFiPositions @MetaMask/metamask-assets
app/components/UI/Tokens @MetaMask/metamask-assets
app/components/Views/AddAsset @MetaMask/metamask-assets
app/components/Views/Asset @MetaMask/metamask-assets
Expand All @@ -136,6 +156,8 @@ app/components/Views/DetectedTokens @MetaMask/metamask-assets
app/components/Views/NFTAutoDetectionModal @MetaMask/metamask-assets
app/components/Views/NftDetails @MetaMask/metamask-assets
app/reducers/collectibles @MetaMask/metamask-assets
app/core/Engine/controllers/defi-positions-controller @MetaMask/metamask-assets
app/core/Engine/messengers/defi-positions-controller-messenger @MetaMask/metamask-assets

# UX Team
app/components/Views/AccountActions @MetaMask/wallet-ux
Expand All @@ -146,7 +168,6 @@ app/components/Views/LockScreen @MetaMask/wallet-ux
app/components/Views/Login @MetaMask/wallet-ux
app/components/Views/NetworkConnect @MetaMask/wallet-ux
app/components/Views/NetworkSelector @MetaMask/wallet-ux
app/components/Views/Onboarding @MetaMask/wallet-ux
app/components/Views/OnboardingCarousel @MetaMask/wallet-ux
app/components/Views/OnboardingSuccess @MetaMask/wallet-ux
app/components/Views/QRAccountDisplay @MetaMask/wallet-ux
Expand All @@ -156,13 +177,17 @@ app/components/Views/TermsAndConditions @MetaMask/wallet-ux
app/reducers/experimentalSettings @MetaMask/wallet-ux
app/reducers/modals @MetaMask/wallet-ux
app/reducers/navigation @MetaMask/wallet-ux
app/reducers/onboarding @MetaMask/wallet-ux
app/reducers/privacy @MetaMask/wallet-ux
app/reducers/settings @MetaMask/wallet-ux

# Transactions Team
app/components/Views/transactions @MetaMask/transactions

# Web3auth Team
app/components/Views/Onboarding @MetaMask/web3auth
app/reducers/onboarding @MetaMask/web3auth


# Snapshots – no code owners assigned
# This allows anyone with write access to approve changes to any *.snap files.
# ⚠️ Note: Leaving this rule unassigned disables Code Owner review enforcement for snapshot files.
Expand Down
2 changes: 1 addition & 1 deletion .github/guidelines/CODING_GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ const Foo = class extends React.PureComponent {

### 9. Write Tests for Each Component/Utility
- Write tests for the components you create as it reduces the possibilities of errors. Testing ensures that the components are behaving as you would expect. In this project Jest is used, and it provides an environment where you can execute your tests.
- Follow the contributor docs [Unit Testing Guidelines](https://github.com/MetaMask/contributor-docs/blob/main/docs/unit-testing.md).
- Follow the contributor docs [Unit Testing Guidelines](https://github.com/MetaMask/contributor-docs/blob/main/docs/testing/unit-testing.md).

### 10. External packages should be well maintained
- New packages should only be integrated if the application doesn’t have the existing functionality and it cannot be added by implementing a small utility function. Use the https://snyk.io/advisor/ to assess the popularity, maintainability and security analysis. The package must be in good standing to be added to the project.
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/bitrise/bitrise-results-check.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,4 @@ async function main(): Promise<void> {
main().catch((error: Error): void => {
console.error(error);
process.exit(1);
});
});
53 changes: 45 additions & 8 deletions .github/scripts/bitrise/bitrise-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,11 @@ export async function removeLabel(label: string) {
}
}

export function isMergeFromMainBranch(commitMessage: string): boolean {
const mergeFromMainCommitMessagePrefix = `Merge branch 'main' into`;
return commitMessage.startsWith(mergeFromMainCommitMessagePrefix);
}

export async function getLatestAssociatedBitriseComment(commitHashes: string[]): Promise<GithubComment | undefined> {

// Get all Bitrise comments
Expand All @@ -145,16 +150,48 @@ export async function getLatestAssociatedBitriseComment(commitHashes: string[]):

console.log(`Checking if recent commits have Bitrise comments: ${commitHashes}`);

// Iterate through each commit hash to find the first matching Bitrise comment
// Return the first matching comment as our commits are sorted by newest to oldest
for (let i = 0; i < commitHashes.length; i++) {
const foundComment = comments.find(comment => comment.commitSha === commitHashes[i]);
if (foundComment) {
return foundComment;
// Check if the latest commit has a Bitrise comment
if (commitHashes.length > 0) {
const latestCommit = commitHashes[0];
const latestCommitComment = comments.find(comment => comment.commitSha === latestCommit);

if (latestCommitComment) {
console.log(`Found Bitrise comment for latest commit: ${latestCommit}`);
return latestCommitComment;
}

// If we're here, the latest commit doesn't have a Bitrise comment
// Get commit messages to check if they're merge commits
const { owner, repo, number: pullRequestNumber } = context.issue;
const { data: commits } = await getOctokitInstance().rest.pulls.listCommits({
owner,
repo,
pull_number: pullRequestNumber
});

// Create a map of commit SHA to commit message
const commitMessages = new Map<string, string>();
commits.forEach(commit => {
commitMessages.set(commit.sha, commit.commit.message);
});

// Check older commits, but only consider those that are merge commits from main
for (let i = 1; i < commitHashes.length; i++) {
const commitHash = commitHashes[i];
const commitMessage = commitMessages.get(commitHash) || '';

// Only consider this commit if it's a merge from main
if (isMergeFromMainBranch(commitMessage)) {
const foundComment = comments.find(comment => comment.commitSha === commitHash);
if (foundComment) {
console.log(`Found Bitrise comment for merge commit: ${commitHash}`);
return foundComment;
}
}
}
}

return undefined
return undefined;
}

export async function getBitriseTestStatus(bitriseComment: GithubComment): Promise<BitriseTestStatus> {
Expand Down Expand Up @@ -344,4 +381,4 @@ export function shouldRunBitriseE2E(flags : E2ERunFlags): [boolean, string] {

// Default case if no conditions met
return [false, "Unexpected scenario or no relevant labels found."];
}
}
7 changes: 4 additions & 3 deletions .github/scripts/bitrise/run-bitrise-e2e-check.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ async function main(): Promise<void> {
const removeAndApplyInstructions = `Remove and re-apply the "${e2eLabel}" label to trigger a E2E smoke test on Bitrise.`;
const mergeFromMainCommitMessagePrefix = `Merge branch 'main' into`;
const pullRequestLink = `https://github.com/MetaMask/metamask-mobile/pull/${pullRequestNumber}`;
const statusCheckName = 'Bitrise E2E Status';
const statusCheckName = process.env.STATUS_CHECK_NAME || 'Bitrise E2E Status';
const statusCheckTitle = 'Bitrise E2E Smoke Test Run';

// Define Bitrise comment tags
Expand Down Expand Up @@ -102,8 +102,9 @@ async function main(): Promise<void> {
const [shouldRun, reason] = shouldRunBitriseE2E(flags);
console.log(`Should run: ${shouldRun}, Reason: ${reason}`);

// One of these two labels must exist for pull_request type
if (!mergeQueue && !flags.hasSmokeTestLabel && !flags.hasAntiLabel) {
// One of these two labels must exist for pull_request type (unless it's a custom Flask workflow)
const isFlaskWorkflow = process.env.STATUS_CHECK_NAME && process.env.STATUS_CHECK_NAME !== 'Bitrise E2E Status';
if (!mergeQueue && !flags.hasSmokeTestLabel && !flags.hasAntiLabel && !isFlaskWorkflow) {

// Fail Status due to missing labels
await upsertStatusCheck(statusCheckName, latestCommitHash, StatusCheckStatusType.Completed,
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/check-pr-max-lines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: "Check PR Max Lines"

on:
pull_request:
types: [opened, reopened, synchronize]

jobs:
check-pr-max-lines:
uses: metamask/github-tools/.github/workflows/pr-line-check.yml@main
with:
max_lines: 1000
ignore_patterns: '(\.lock|\.snap)$'
44 changes: 44 additions & 0 deletions .github/workflows/run-bitrise-flask-e2e-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Run Bitrise Flask E2E Check

on:
issue_comment:
types: [edited, deleted]
pull_request:
types: [opened, reopened, labeled, unlabeled, synchronize]

env:
E2E_LABEL: 'Run Flask E2E'
NO_E2E_LABEL: 'No Flask E2E Needed'
E2E_PIPELINE: 'flask_smoke_e2e_pipeline'
WORKFLOW_NAME: 'run-bitrise-flask-e2e-check'

jobs:
run-bitrise-flask-e2e-check:
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write
checks: write
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'

- name: Install dependencies
run: yarn --immutable
working-directory: '.github/scripts'

- name: Check Bitrise Flask E2E Status
env:
BITRISE_BUILD_TRIGGER_TOKEN: ${{ secrets.BITRISE_BUILD_TRIGGER_TOKEN }}
BITRISE_APP_ID: ${{ secrets.BITRISE_APP_ID }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
STATUS_CHECK_NAME: 'Bitrise Flask E2E Status'
# The status check created under this workflow may be bucketed under another check suite in Github actions. This is a result of workflows with the same triggers.
# For example, the status check may show as `CLA Signature Bot / Bitrise Flask E2E Status`. This is a bug on Github's UI. https://github.com/orgs/community/discussions/24616
run: yarn run run-bitrise-e2e-check
working-directory: '.github/scripts'
24 changes: 4 additions & 20 deletions .github/workflows/stale-issue-pr.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,13 @@
name: 'Close stale issues and PRs'

# run once daily at midnight (UTC)
on:
schedule:
- cron: '30 * * * *'
- cron: '0 0 * * *'

jobs:
stale:
runs-on: ubuntu-latest
uses: metamask/github-tools/.github/workflows/stale-issue-pr.yml@566da3332757544da431707bde71a242b182b3ac
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@72afbce2b0dbd1d903bb142cebe2d15dc307ae57
with:
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions.'
stale-issue-label: 'stale'
only-issue-labels: 'type-bug'
exempt-issue-labels: 'type-security, type-pinned, feature-request, awaiting-metamask'
stale-pr-message: 'This PR has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions.'
stale-pr-label: 'stale'
exempt-pr-labels: 'work-in-progress'
close-issue-message: 'This issue was closed because there has been no follow activity in 7 days. If you feel this was closed in error please provide evidence on the current production app in a new issue or comment in the existing issue to a maintainer. Thank you for your contributions.'
close-pr-message: 'This PR was closed because there has been no follow up activity in 7 days. Thank you for your contributions.'
days-before-issue-stale: 90
days-before-pr-stale: 90
days-before-issue-close: 7
days-before-pr-close: 7
operations-per-run: 200

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ browserstack.err
# Reports generated by tests
e2e/reports

# anvil binaries
.metamask/*
# ppom
ppom/node_modules
ppom/dist
Expand Down
Loading
Loading