Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1077 commits
Select commit Hold shift + click to select a range
c40955e
feat: added chain ID and display backend errors properly (#37174)
lionellbriones Oct 24, 2025
49e83e0
fix: prevent phishing redirect when still on google.com (#37029)
mindofmar Oct 24, 2025
54bf7a6
fix: missing solana and bitcoin icon entries (#37065)
bergarces Oct 24, 2025
8be00e2
Merge remote-tracking branch 'origin/main' into stable-sync
gauthierpetetin Oct 24, 2025
8d2ce2e
Merge origin/main into stable-sync
gauthierpetetin Oct 24, 2025
b7624be
fix: BTC activity is not shown on asset details (#37170)
juanmigdr Oct 24, 2025
6c169a7
feat(ramps): fixes btc buy button deeplink bug (#37146)
georgeweiler Oct 24, 2025
2cc6ce4
Merge remote-tracking branch 'origin/stable' into sync-v13.7.0-with-s…
gauthierpetetin Oct 24, 2025
d1422f3
release: Stable sync v13.6.0 into main (#37191)
gauthierpetetin Oct 24, 2025
a56212b
Merge pull request #37195 from MetaMask/sync-v13.7.0-with-stable-0
gauthierpetetin Oct 24, 2025
65c849e
release: release/13.7.0-Changelog (#37166)
metamaskbot Oct 24, 2025
137a132
refactor: migrated `ui/components/app/assets` to react-router-dom-v5-…
DDDDDanica Oct 24, 2025
5a81557
test: add e2e tests for swap and bridge SSE endpoint (#37037)
micaelae Oct 24, 2025
affc74c
feat: refresh add/update rpc page (#36640)
n3ps Oct 24, 2025
6759f3f
test: Added create wallet e2e test to work with BIP44 stage 2 (#37156)
davibroc Oct 24, 2025
606c7fc
feat: allow hiding search on asset-picker (#37193)
lionellbriones Oct 27, 2025
a58f3a2
fix: fix import tokens modal delay (#37116)
sahar-fehri Oct 27, 2025
c32182d
fix: Added Login Option Modal Overlay (#37206)
smgv Oct 27, 2025
7255b82
feat: Sidebar experimental (#36564)
NidhiKJha Oct 27, 2025
a09ba19
feat: make all two-tab components use full-width layout (#37142)
georgewrmarshall Oct 27, 2025
83e4c8d
fix: incorrect link for BTC explorer (#37180)
juanmigdr Oct 27, 2025
7fe8843
fix: incorrect USDC address for SEI cp-13.7.0 (#37221)
stanleyyconsensys Oct 27, 2025
89eb2a2
fix(snaps): Only trigger `onActive` and `onInactive` when client is u…
Mrtenz Oct 27, 2025
c71aff8
test: refactor dapp params in `withFixtures` (#37102)
seaona Oct 27, 2025
66fac1d
fix: address trust signal cache to use chainId (#36708)
AugmentedMode Oct 27, 2025
13c8559
Update Attributions
metamaskbot Oct 27, 2025
ebd7bb6
feat: Support sponsored transactions through smart transactions (#37117)
pedronfigueiredo Oct 27, 2025
7eb469b
release(runway): cherry-pick fix: incorrect USDC address for SEI cp-1…
runway-github[bot] Oct 27, 2025
dd5215a
refactor: extract transaction type to category mapping (#37160)
n3ps Oct 27, 2025
e4ca203
release(runway): cherry-pick fix(snaps): Only trigger `onActive` and …
runway-github[bot] Oct 27, 2025
33c3244
ci: added NFTs to Power User persona (#37163)
HowardBraham Oct 27, 2025
e02a7d3
ci: integrate fitness functions workflow into repository-health-check…
HowardBraham Oct 27, 2025
2f9a023
chore: remove duplicate enum values (#37201)
n3ps Oct 27, 2025
a7132ae
refactor: Refactor integration between UserOperationController and Tr…
Gudahtt Oct 27, 2025
0888e06
test: Split e2e shield - Create helpers, Pages object part - Part 1 (…
LeVinhGithub Oct 28, 2025
867a040
fix: metametric scroll removed for small screen (#37220)
smgv Oct 28, 2025
4396fa6
feat: use arrow down on shield list buttons (#37292)
lionellbriones Oct 28, 2025
20fda20
fix: correct trial days value (#37295)
tuna1207 Oct 28, 2025
10c7bcc
fix: updated import wallet ui for Add Wallet (#37207)
smgv Oct 28, 2025
c3801ab
chore: Delete unused duplicate copy of controller (#37136)
Gudahtt Oct 28, 2025
1ea605f
chore: Remove invalid test code fences (#37284)
Gudahtt Oct 28, 2025
9094185
fix: Remove invalid `PreferencesController` metadata entry (#37285)
Gudahtt Oct 28, 2025
f556ed9
feat: Hide insufficient funds alert on sponsored stx (#37300)
pedronfigueiredo Oct 28, 2025
131b46f
test: tests with no assertions (#37038)
n3ps Oct 28, 2025
1bf7b27
chore: remove duplicate keys (#37200)
n3ps Oct 28, 2025
1b9b762
feat: native segwit tag for bitcoin, fix tochain selection from bitco…
ghgoodreau Oct 28, 2025
63499c2
chore: fix constant truthiness (#37202)
n3ps Oct 28, 2025
491d422
feat: Add page to review gator permissions granted to sites (#36734)
V00D00-child Oct 28, 2025
e390537
feat: remove errors showing on UI (#37298)
lionellbriones Oct 28, 2025
a8a6abc
fix: flaky test `Token List...`, `Token Details`, `Send ERC20`because…
seaona Oct 28, 2025
2ec5c04
feat: set auto focus false on confirmation alert modals (#37294)
lionellbriones Oct 28, 2025
80158ef
chore: remove unnecessary await (#37203)
n3ps Oct 28, 2025
e3f937b
fix: flaky test `lockdown the background environment is locked down `…
seaona Oct 28, 2025
7f5b2a9
refactor: homepage layout with flexbox gap (#37289)
georgewrmarshall Oct 28, 2025
cd93994
ci: skip build-lavamoat-viz if no policy changes (#37168)
HowardBraham Oct 28, 2025
d435cb9
fix: excess home component re-render (#37293)
n3ps Oct 28, 2025
4426937
fix: gator permission persistence (#37158)
jeffsmale90 Oct 28, 2025
2c1119a
fix: Refine slippage buttons to match trade patterns (#36556)
amandaye0h Oct 29, 2025
ab7c84b
feat: claims back button go to tx shield page (#37333)
lionellbriones Oct 29, 2025
d7f158d
feat: added fallback value for Name component (#37299)
lwin-kyaw Oct 29, 2025
0ce6aa5
fix: fix showNativeTokenAsMainBalance setting (#37233)
sahar-fehri Oct 29, 2025
a07703c
feat: update payment-method component in shield-subscription page (#3…
lwin-kyaw Oct 29, 2025
d56f9dd
feat: show helptext and error when both are available (#37297)
lionellbriones Oct 29, 2025
5ed9393
fix: flaky test `Update modal should disappear when closed` (#37341)
seaona Oct 29, 2025
570c827
fix: flaky test `Forgot password resets password and then unlock wall…
seaona Oct 29, 2025
48b0614
feat: Adding UI toggle button for dapp swap shield (#37232)
jpuri Oct 29, 2025
b0b3b88
fix: add popular networks supported by account api by default (#37172)
salimtb Oct 29, 2025
66e2116
fix: infinite auth requests in carousel hook cp-13.7.0 (#37334)
mathieuartu Oct 29, 2025
086f39f
fix: update onekey tutorial link for hardware wallets (#37217)
dawnseeker8 Oct 29, 2025
5c76b59
fix: shield covered button modal (#37225)
tuna1207 Oct 29, 2025
4b85958
fix: correct naming for smart accounts in ui and localization files (…
fabiobozzo Oct 29, 2025
f086eba
release(runway): cherry-pick fix: infinite auth requests in carousel …
runway-github[bot] Oct 29, 2025
162c1f8
refactor: migrate components/app files to v5-compat (#37204)
DDDDDanica Oct 29, 2025
6ed6acf
fix: flaky test Wallet Created Events - Imported Account are sent whe…
Unik0rnMaggie Oct 29, 2025
bc33dca
fix: listen to the browser's install and connect events as early as p…
davidmurdoch Oct 29, 2025
4e8fc60
fix: improve integrations tests ci reliability (#37330)
cryptotavares Oct 29, 2025
2a5af25
feat: rewards controller & data service (#36926)
baptiste-marchand Oct 29, 2025
3d3655f
ci: count network requests made during benchmarks (#37291)
HowardBraham Oct 29, 2025
13986a5
chore: extract carousel (#37359)
n3ps Oct 29, 2025
af4d012
feat: add wallet funds obtained metric (#37020)
ameliejyc Oct 29, 2025
fefeb93
refactor: migrate controllers to `@metamask/messenger` (#36721)
mikesposito Oct 29, 2025
147586d
feat: add account type labels to asset details (#37332)
bergarces Oct 29, 2025
33048db
chore: update balance empty state design and add funding modal (#37366)
georgewrmarshall Oct 30, 2025
6ac070a
fix: balance check in network fee alert (#37307)
jpuri Oct 30, 2025
8b1f608
chore: simplify useTransactionDisplay (#37368)
n3ps Oct 30, 2025
ef73b81
fix: added css updates for sidebar (#37329)
NidhiKJha Oct 30, 2025
db25338
feat: subscription & shield controller updates (#37371)
lwin-kyaw Oct 30, 2025
ca58ee1
fix: flaky test `chrome-e2e-api-specs` with error `NoSuchWindowError:…
seaona Oct 30, 2025
67fcea3
chore: prioritize price-api for currencyRateController exchange rates…
sahar-fehri Oct 30, 2025
1dcc8e2
fix: skip calling getFees for sponsored transactions (#37355)
tanguyenvn Oct 30, 2025
bc0aaeb
fix: reduce re-renders in account overview tabs (#37358)
n3ps Oct 30, 2025
c50e35a
fix: change create to add account (#37288)
montelaidev Oct 30, 2025
634ba59
Release/13.7.0 changelog (#37385)
gauthierpetetin Oct 30, 2025
a4060a4
Merge pull request #37165 from MetaMask/release/13.7.0
gauthierpetetin Oct 30, 2025
5c724ab
fix: gasless transaction support logic (#37171)
vinistevam Oct 30, 2025
f47b045
feat: bump bitcoin version (#37023)
orestiseth Oct 30, 2025
781e1a8
Merge origin/main into stable-sync
gauthierpetetin Oct 30, 2025
972188b
chore: unassigned variables (#37205)
n3ps Oct 30, 2025
6b49708
release: Stable sync v13.7.0 into main (#37393)
gauthierpetetin Oct 30, 2025
822bc47
chore: cleanup asset events (#37364)
Prithpal-Sooriya Oct 30, 2025
03228b2
release: release/13.8.0-Changelog (#37398)
metamaskbot Oct 30, 2025
e48a245
chore: update default bridge slippage to 2% (#37367)
SteP-n-s Oct 30, 2025
6a349a3
fix: dynamic parameters via sig_params (#37086)
itsyoboieltr Oct 30, 2025
93386d4
test: fix flaky test " Multichain API Calling wallet_invokeMethod " (…
chloeYue Oct 30, 2025
2a94fbf
fix: flaky test `MetaMask onboarding User can add custom network duri…
seaona Oct 30, 2025
85d5dc1
fix: defer UI actions until swap quotes are fully loaded (#37336)
micaelae Oct 31, 2025
1df06cd
feat: file upload skip invalid files and ui update (#37353)
lionellbriones Oct 31, 2025
bc79b12
release: Bump main version to 13.9.0 (#37399)
gauthierpetetin Oct 31, 2025
d87bd68
fix: add missing shield links (#37380)
tanguyenvn Oct 31, 2025
1e3653a
Update Attributions
metamaskbot Oct 31, 2025
6e67e51
fix: intermittent missing approval transactions in batch simulations …
vinistevam Oct 31, 2025
30453d2
ci: Allow concurrent runs on main (#37395)
jvbriones Oct 31, 2025
7ac842b
chore: set maxWorker to 50% (#37381)
cryptotavares Oct 31, 2025
0181bdf
fix: flaky test `Account syncing - Multiple SRPs adds accounts across…
seaona Oct 31, 2025
e784dfc
fix: Gas station improvements (#37352)
pedronfigueiredo Oct 31, 2025
790cc12
fix: add connection status back (#36423)
montelaidev Oct 31, 2025
b4ce2c1
chore: Decrease threshold before RPC failover is activated (#37002)
mcmire Oct 31, 2025
d27843e
fix: token name truncation (#37429)
n3ps Oct 31, 2025
e19cfa2
chore: no useless fallback (#37370)
n3ps Oct 31, 2025
f85570e
feat: claim form error handling (#37391)
lionellbriones Oct 31, 2025
5176156
ci: optimize page load benchmarks (#37210)
HowardBraham Oct 31, 2025
b50a9d9
fix: use correct href for phishing page proceed anyway button (#36871)
mindofmar Oct 31, 2025
b1ccf26
chore: AccountTrackerController migration (#36808)
bergarces Oct 31, 2025
09de89d
fix: flaky tests `Preinstalled example Snap...` (#37450)
seaona Nov 3, 2025
30e70ab
fix: flaky test `Unlock wallet - handle incorrect password during unl…
seaona Nov 3, 2025
ea49362
fix: flaky test `Update modal should disappear when closed` (#37465)
seaona Nov 3, 2025
85e987e
fix: flaky test `Change assets changes to native currency when switch…
seaona Nov 3, 2025
41535a2
fix: flaky test `Network Manager should preserve existing enabled net…
seaona Nov 3, 2025
a37a298
feat: Activate `batch` transaction re-simulations when on window focu…
OGPoyraz Nov 3, 2025
cc732fb
chore: unnecessary if's (#37433)
n3ps Nov 3, 2025
3c82407
feat: Add non-navigable alert modals (#37425)
pedronfigueiredo Nov 3, 2025
a90ccb4
chore: remove selectors from spec file (#37439)
bergarces Nov 3, 2025
28ff526
refactor: accumulator spread in reduce (#37435)
n3ps Nov 3, 2025
cad714f
build: update Node to LTS 24.11 and Yarn to 4.10.3 (#37335)
HowardBraham Nov 4, 2025
f675eee
feat: add shield deep link (#37446)
tuna1207 Nov 4, 2025
0120b6e
feat: handle subscription after confirm (#36748)
tuna1207 Nov 4, 2025
f3f9bcf
fix: do not start subscription-polling when shield feature is disable…
lwin-kyaw Nov 4, 2025
54b58db
feat: Add MetaMetrics event for "Use different login method" click du…
huggingbot Nov 4, 2025
227beb1
release(runway): cherry-pick fix: do not start subscription-polling w…
runway-github[bot] Nov 4, 2025
fd107ea
feat: new assets sort order for equal balances (#37457)
bergarces Nov 4, 2025
90d9a9d
fix: Fix ens domain name resolution in confirmation after send flow (…
OGPoyraz Nov 4, 2025
abe5cb3
fix: flaky test `dApp Request Gas Limit should update the gas limit i…
seaona Nov 4, 2025
85a5904
feat: adding dapp swap banner (#37389)
jpuri Nov 4, 2025
7ef5230
fix: Simulation Details - Display "No changes" in a single line (#37464)
dan437 Nov 4, 2025
d4ef57f
fix: enhance `sanitizeString` to remove bidirectional and invisible U…
vinistevam Nov 4, 2025
e3e43d1
fix: handle null and undefined accountId in multichain account select…
fabiobozzo Nov 4, 2025
c30ed30
fix: flaky test `MetaMask onboarding User can add custom network duri…
seaona Nov 4, 2025
e39125e
fix: wrong stx chain id (#37461)
klejeune Nov 4, 2025
f3a28c3
feat: add error_type to RehydrationPasswordFailed event (#37373)
huggingbot Nov 4, 2025
3b0d295
fix: flaky test `Deep Link does not allow the loading screen over the…
seaona Nov 4, 2025
b0142e9
fix: cp-13.8.0 network nicknames (#37477)
bergarces Nov 4, 2025
0696d78
feat: trust signals on spender addresses (#36431)
mindofmar Nov 4, 2025
fe0611b
chore: bump `@metamask/multichain-account-service` to `^2.1.0` (#37481)
mathieuartu Nov 4, 2025
0a1d33f
fix: cp-13.8.0 ensure asset price chart does not crash and uses corre…
Prithpal-Sooriya Nov 4, 2025
e054b7e
test: Fix flask multichain api wallet_invokeMethod e2e tests (#37471)
chloeYue Nov 4, 2025
e339fff
feat: rwds-276 show rewards balance (#37361)
VGR-GIT Nov 4, 2025
d07c7af
test: ignored error thrown by the browser related to message-signing-…
javiergarciavera Nov 4, 2025
4590e05
fix: update default pair for BTC (#37512)
SteP-n-s Nov 4, 2025
4c6a399
release(runway): cherry-pick fix: cp-13.8.0 network nicknames (#37515)
runway-github[bot] Nov 4, 2025
50fa08a
release(runway): cherry-pick fix: cp-13.8.0 ensure asset price chart …
runway-github[bot] Nov 4, 2025
3276340
feat: show back button for settings inner page on extended mode (#37486)
lionellbriones Nov 5, 2025
0425ad9
feat: account and network selector (#37434)
lionellbriones Nov 5, 2025
2a0ba7c
feat: use last selected payment detail instead of deducing from appro…
tuna1207 Nov 5, 2025
eceb777
fix: stripe checkout latency (#37453)
tuna1207 Nov 5, 2025
3602ce3
fix: Handle non-serializable trace context (#37468)
huggingbot Nov 5, 2025
003dc9b
fix: error handling for invalid srp (#37470)
smgv Nov 5, 2025
a1218dd
fix: webpack policy overrides (#37499)
itsyoboieltr Nov 5, 2025
b64cb29
fix: cp-13.8.0 dapp swap commands support (#37496)
jpuri Nov 5, 2025
8ba1689
fix: update broken Ledger tutorial link (#37216)
dawnseeker8 Nov 5, 2025
15174e6
fix: flaky test `Vault Decryptor Page is able to decrypt the vault up…
seaona Nov 5, 2025
d4ff6af
release(runway): cherry-pick fix: dapp swap commands support (#37527)
runway-github[bot] Nov 5, 2025
5aaa253
fix: flaky test `Deep Link handles the skipDeepLinkInterstitial flag …
seaona Nov 5, 2025
4b6fb71
feat: Implement `onAmountInput` in send flow amount for non-EVM valid…
OGPoyraz Nov 5, 2025
3ae4761
feat: riv animation setup & login page ui update PR - 1 (#36113)
smgv Nov 5, 2025
fd089a1
feat: DeFiPositionsController package changes (#37215)
bergarces Nov 5, 2025
3045d76
fix: cp-13.8.0 Fix unknown token issue when nonEVM selected in networ…
OGPoyraz Nov 5, 2025
ed9dd94
feat: add monad network (#37283)
khanti42 Nov 5, 2025
0d8485b
feat: Allow Danger alerts with acknowledgeBypass to skip acknowledgem…
pedronfigueiredo Nov 5, 2025
228bd74
fix: network ordering in receiving list (#37467)
montelaidev Nov 5, 2025
02add16
feat: Add account upgrade and check status RPC methods (#36452)
MoMannn Nov 5, 2025
88f7146
release(runway): cherry-pick fix: cp-13.8.0 Fix unknown token issue w…
runway-github[bot] Nov 5, 2025
dc2324f
chore: Upgrade gator permissions snaps (#37534)
jeffsmale90 Nov 5, 2025
ffe721f
fix: enhance bip-44 intro modal show condition (#37324)
fabiobozzo Nov 5, 2025
96d9d90
fix: simulation details padding (#37511)
klejeune Nov 5, 2025
5c61c3e
feat: enable shield for experimental build (#37489)
tuna1207 Nov 5, 2025
2cfcf7d
test(snaps): Improve settings E2E stability and correctness (#37535)
FrederikBolding Nov 5, 2025
86aee85
feat: updated wallet ready page PR - 2 (#36839)
smgv Nov 5, 2025
bb088aa
feat: show points estimate in swaps / bridge (#37529)
VGR-GIT Nov 5, 2025
77e1623
feat: Implement blocker alert sending assets to burn/null address (#3…
OGPoyraz Nov 5, 2025
b2c7401
chore(INFRA-3081): add branch name validation step for changelog refr…
Qbandev Nov 5, 2025
3894d74
fix: hides network fee row on bitcoin when there is no gas estimate (…
ghgoodreau Nov 5, 2025
5cf809a
feat: updated the unlock wallet flow with animation PR- 3 (#37412)
smgv Nov 5, 2025
b42aa88
fix: INFRA-3104- Fix NPM MinimalGate error create-release-pr workflow…
XxdpavelxX Nov 5, 2025
e1d6e32
feat: Gator Permissions Revocation (#37209)
hanzel98 Nov 5, 2025
468fef1
chore: INFRA-3041-Added github-tools to .gitignore (#37436)
XxdpavelxX Nov 5, 2025
fce9645
chore: move discover button to global menu (#37551)
sophieqgu Nov 5, 2025
4bf0f87
refactor(5562): migrate ui/pages/bridge to react-router-v5-compat (#3…
DDDDDanica Nov 5, 2025
0525939
chore: unused test data (#37432)
n3ps Nov 5, 2025
6182154
feat: disable revoke button while tx pending (#37559)
V00D00-child Nov 5, 2025
23ddf23
feat: add gas limit to shield subscription approval transaction (#37550)
tanguyenvn Nov 6, 2025
3b4ab12
feat: reset wallet (#36223)
lwin-kyaw Nov 6, 2025
f22839f
fix: read feature flags before navigating to bridge UI (#37556)
micaelae Nov 6, 2025
4ede365
feat: claims list page (#35800)
lionellbriones Nov 6, 2025
fe2f291
fix: cp-13.8.0 fix tokenId for nft send flow (#37555)
sahar-fehri Nov 6, 2025
3b0c983
fix(INFRA-3081): correct platform parameter in release changelog work…
Qbandev Nov 6, 2025
6f8f3ca
release(runway): cherry-pick fix: cp-13.8.0 fix tokenId for nft send …
runway-github[bot] Nov 6, 2025
e7ec66f
fix: fix filter nfts on send flow (#37558)
sahar-fehri Nov 6, 2025
adaac6e
fix: correct tooltip text retrieval in multichain site cell component…
fabiobozzo Nov 6, 2025
3195055
feat: update btc snap (#37537)
orestiseth Nov 6, 2025
08b8492
feat: add feature flag to blacklist custom networks (used to hide Mon…
khanti42 Nov 6, 2025
9e3fb78
style: add hover effects to account menu button in multichain account…
fabiobozzo Nov 6, 2025
5a320e1
fix: styles for the fox icon when selecting future ETH as a gas token…
dan437 Nov 6, 2025
b01dffe
Release/13.8.0 changelog (#37553)
gauthierpetetin Nov 6, 2025
d788715
fix: shield crypto approval calculation and dev config (#37572)
tuna1207 Nov 6, 2025
d54ea81
feat: debounce points estimation & alt fox icon if points is 0 (#37575)
VGR-GIT Nov 6, 2025
ee62e1b
chore: upgrade @metamask/gator-permissions-snap from ^0.5.0 to ^0.6.0…
jeffsmale90 Nov 6, 2025
5be6048
refactor(5563): migrate `pages/swaps` to react-router-dom-v5-compat (…
DDDDDanica Nov 6, 2025
c3c0535
fix: adds quote data fallback for bitcoin from transactions (#37525)
ghgoodreau Nov 6, 2025
d2b4a31
fix: fix duplicate item in search token (#37568)
sahar-fehri Nov 6, 2025
7759a16
Merge pull request #37397 from MetaMask/release/13.8.0
gauthierpetetin Nov 6, 2025
da50bce
chore: adds bitcoin-swaps gate to builds.yml (#37587)
ghgoodreau Nov 6, 2025
3e644b7
Merge remote-tracking branch 'origin/main' into stable-sync
gauthierpetetin Nov 6, 2025
dceded1
Merge origin/main into stable-sync
gauthierpetetin Nov 6, 2025
2e6fcd3
fix: flaky test `Metrics Sends a contract interaction type 2 transact…
seaona Nov 6, 2025
77c2c69
release: Stable sync v13.8.0 into main (#37592)
gauthierpetetin Nov 6, 2025
9047f0d
chore: upgrade @metamask/message-signing-snap to version 1.1.4 (#37579)
MoMannn Nov 6, 2025
2faaaff
release: Bump main version to 13.10.0 (#37600)
metamaskbot Nov 6, 2025
eec2e91
feat: update swap transaction depending on user selection (#37528)
jpuri Nov 6, 2025
4e1f85a
fix: stop reloading of animation & browser back option cp-13.9.0 (#37…
smgv Nov 7, 2025
b5cbd6a
feat: show priority tag when shield subscription is paused (#37590)
lionellbriones Nov 7, 2025
709e4d7
feat: updated details copywriting and removed footer (#37595)
lionellbriones Nov 7, 2025
f638960
fix(premature close): gracefully end extension stream muxes to preven…
gauthierpetetin Nov 7, 2025
2a466ff
feat: support Tron
ulissesferreira Sep 16, 2025
9da98f2
Temp Tron update in send (#36987)
OGPoyraz Oct 20, 2025
08219b8
chore: improvements suggested in PR comments
ulissesferreira Oct 28, 2025
ed7c5c3
chore: update lavamoat policies
ulissesferreira Nov 3, 2025
a210627
Update LavaMoat policies
metamaskbot Nov 4, 2025
f752b9c
fix: Tron decimals in networks constant
ulissesferreira Nov 4, 2025
a28982f
chore: fix lint
aganglada Nov 5, 2025
6e1198e
chore: importscripts to false
aganglada Nov 6, 2025
3d963a0
chore: replace tronweb with an address validator
aganglada Nov 6, 2025
3b6fde0
fix: lint
aganglada Nov 6, 2025
b56f8ba
fix: lint
aganglada Nov 6, 2025
6fe5ca2
fix: lint
aganglada Nov 6, 2025
3859cdd
chore: add tron to main
aganglada Nov 7, 2025
754efe2
chore: fix tron addres validator
aganglada Nov 7, 2025
9616172
Update LavaMoat policies
metamaskbot Nov 7, 2025
f887c9f
feat: WIP tron swaps
ghgoodreau Nov 7, 2025
d1db0af
add TODOs
ghgoodreau Nov 7, 2025
21ee864
update unit test for tron
ghgoodreau Nov 7, 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
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ ignores:
#

- '@lavamoat/snow'
- '@lavamoat/webpack'
- '@lavamoat/allow-scripts'
- '@babel/runtime'
- '@fortawesome/fontawesome-free'
Expand All @@ -27,6 +28,8 @@ ignores:
- '@metamask/test-dapp'
- '@metamask/test-dapp-multichain'
- '@metamask/test-dapp-solana'
- '@metamask/snap-simple-keyring-site'
- '@metamask/snap-account-abstraction-keyring-site'
- '@metamask/design-tokens' # Only imported in index.css
- '@tsconfig/node22' # required dynamically by TS, used in tsconfig.json
- '@sentry/cli' # invoked as `sentry-cli`
Expand Down Expand Up @@ -81,8 +84,6 @@ ignores:
- '@babel/plugin-transform-logical-assignment-operators'
# used in image optimization script
- 'sharp'
- 'imagemin'
- 'imagemin-gifsicle'
# trezor
- 'ts-mixer'
- '@testing-library/dom'
Expand All @@ -96,6 +97,8 @@ ignores:
- '@metamask/bitcoin-wallet-snap'
- '@metamask/solana-wallet-snap'
- '@metamask/institutional-wallet-snap'
- '@metamask/gator-permissions-snap'
- '@metamask/permissions-kernel-snap'

# files depcheck should not parse
ignorePatterns:
Expand Down
6 changes: 1 addition & 5 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -533,11 +533,7 @@ module.exports = {
* `process.exit` to exit).
*/
{
files: [
'development/**/*.js',
'test/e2e/benchmark.js',
'test/helpers/setup-helper.js',
],
files: ['development/**/*.js', 'test/helpers/setup-helper.js'],
rules: {
'node/no-process-exit': 'off',
'node/shebang': 'off',
Expand Down
65 changes: 42 additions & 23 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -65,19 +65,16 @@ tailwind.config.js @MetaMask/design-system-engineers
**/pages/notification*/** @MetaMask/notifications
**/utils/notification.util.ts @MetaMask/notifications

# Identity team is responsible for authentication and backup and sync inside the Extension.
# Slack handle: @identity_team | Slack channel: #metamask-identity
**/identity/** @MetaMask/identity

# Accounts team is responsible for code related with snap management accounts
# Slack handle: @accounts-team-devs | Slack channel: #metamask-accounts-team

app/scripts/lib/snap-keyring @MetaMask/accounts-engineers

# Multichain Accounts
# This feature is owned by the multichain account tiger team
# Multichain Accounts, Authentication, Backup and sync
# Those features are owned by the multichain account tiger team
# Slack handle: @multichain-accounts-devs | Slack channel: #metamask-bip44-team
**/multichain-accounts/** @MetaMask/accounts-engineers
**/identity/** @MetaMask/accounts-engineers

# Swaps-Bridge team to own code for the swaps folder
ui/pages/swaps @MetaMask/swaps-engineers
Expand All @@ -99,20 +96,24 @@ app/scripts/constants/snaps.ts @MetaMask/core-platform
# Co-owned by Confirmations and Snaps
ui/components/app/metamask-template-renderer @MetaMask/confirmations @MetaMask/core-platform

# Wallet UX
ui/components/app/whats-new-popup @MetaMask/wallet-ux
ui/css @MetaMask/wallet-ux
ui/pages/home @MetaMask/wallet-ux
ui/components/multichain/ @MetaMask/wallet-ux

# Co-owned by accounts and wallet-ux
ui/components/multichain/multi-srp/ @MetaMask/accounts-engineers @MetaMask/wallet-ux
ui/components/multichain/account-picker/ @MetaMask/accounts-engineers @MetaMask/wallet-ux
ui/components/multichain/account-details/ @MetaMask/accounts-engineers @MetaMask/wallet-ux
ui/components/multichain/account-overview/ @MetaMask/accounts-engineers @MetaMask/wallet-ux
ui/components/multichain/account-list-item/ @MetaMask/accounts-engineers @MetaMask/wallet-ux
ui/components/multichain/account-list-menu/ @MetaMask/accounts-engineers @MetaMask/wallet-ux
ui/components/multichain/account-list-item-menu/ @MetaMask/accounts-engineers @MetaMask/wallet-ux
# Core Extension UX
ui/components/app/whats-new-popup @MetaMask/core-extension-ux
ui/css @MetaMask/core-extension-ux
ui/pages/home @MetaMask/core-extension-ux
ui/pages/core @MetaMask/core-extension-ux
ui/components/multichain/ @MetaMask/core-extension-ux
ui/components/app/transaction-list @MetaMask/core-extension-ux
ui/components/app/transaction-list-item-details @MetaMask/core-extension-ux
ui/components/app/transaction-list-item @MetaMask/core-extension-ux

# Co-owned by accounts and core-extension-ux
ui/components/multichain/multi-srp/ @MetaMask/accounts-engineers @MetaMask/core-extension-ux
ui/components/multichain/account-picker/ @MetaMask/accounts-engineers @MetaMask/core-extension-ux
ui/components/multichain/account-details/ @MetaMask/accounts-engineers @MetaMask/core-extension-ux
ui/components/multichain/account-overview/ @MetaMask/accounts-engineers @MetaMask/core-extension-ux
ui/components/multichain/account-list-item/ @MetaMask/accounts-engineers @MetaMask/core-extension-ux
ui/components/multichain/account-list-menu/ @MetaMask/accounts-engineers @MetaMask/core-extension-ux
ui/components/multichain/account-list-item-menu/ @MetaMask/accounts-engineers @MetaMask/core-extension-ux

# Web3Auth / Onboarding
ui/pages/onboarding-flow @MetaMask/web3auth
Expand Down Expand Up @@ -141,6 +142,9 @@ ui/components/ui/nft-collection-image @MetaMask/metamask-assets
app/scripts/controller-init/smart-transactions @MetaMask/transactions
app/scripts/lib/smart-transaction @MetaMask/transactions

# New networks
shared/lib/multichain/addresses/* @MetaMask/new-networks

# QA Team - E2E Framework
test/e2e/page-objects/ @MetaMask/qa
test/e2e/seeder/ @MetaMask/qa
Expand All @@ -151,6 +155,21 @@ test/e2e/helpers.js @MetaMask/qa
test/e2e/mock-e2e-allowlist.js @MetaMask/qa
test/e2e/mock-e2e.js @MetaMask/qa

# Wallet API Platform - Page Load Benchmark
test/e2e/page-objects/benchmark @MetaMask/wallet-api-platform-engineers
test/e2e/playwright/benchmark @MetaMask/wallet-api-platform-engineers
# Wallet Integrations
app/scripts/lib/rpc-method-middleware @MetaMask/wallet-integrations
shared/lib/caip25-caveat-merger.ts @MetaMask/wallet-integrations
test/e2e/page-objects/benchmark @MetaMask/wallet-integrations
test/e2e/playwright/benchmark @MetaMask/wallet-integrations
test/e2e/flask/multichain-api @MetaMask/wallet-integrations
# TODO CONSOLIDATE THE MIDDLEWARE BELOW INTO THE RPC-METHOD-MIDDLEWARE FOLDER
app/scripts/lib/createRPCMethodTrackingMiddleware.js @MetaMask/wallet-integrations
app/scripts/lib/createMetamaskMiddleware.js @MetaMask/wallet-integrations
app/scripts/lib/createOnboardingMiddleware.js @MetaMask/wallet-integrations
app/scripts/lib/createMetaRPCHandler.js @MetaMask/wallet-integrations
app/scripts/lib/createEvmMethodsToNonEvmAccountReqFilterMiddleware.ts @MetaMask/wallet-integrations
app/scripts/lib/createHyperliquidReferralMiddleware.ts @MetaMask/wallet-integrations
app/scripts/lib/metaRPCClientFactory.ts @MetaMask/wallet-integrations
app/scripts/lib/middleware/ @MetaMask/wallet-integrations
app/scripts/lib/createOriginThrottlingMiddleware.ts @MetaMask/wallet-integrations
app/scripts/lib/createMainFrameOriginMiddleware.ts @MetaMask/wallet-integrations
app/scripts/lib/createTracingMiddleware.ts @MetaMask/wallet-integrations
32 changes: 0 additions & 32 deletions .github/actions/page-load-benchmark-comment/action.yml

This file was deleted.

31 changes: 17 additions & 14 deletions .github/guidelines/LABELING_GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,41 @@

To maintain a consistent and efficient development workflow, we have set specific label guidelines for all pull requests (PRs). Please ensure you adhere to the following instructions:

### Mandatory team labels:
## Mandatory team label (automated)

- **Internal Developers**: Every PR raised by an internal developer must include a label prefixed with `team-` (e.g., `team-extension-ux`, `team-extension-platform`, etc.). This indicates the respective internal team responsible for the PR.

- **External Contributors**: PRs submitted by contributors who are not part of the organization will be automatically labeled with `external-contributor`.

It's essential to ensure that PRs have the appropriate labels before they are considered for merging.
## Mandatory checklog entry or label (manual addition)

### Mandatory release version labels:
The releases changelog generation is based on PR's changelog entries.
The check can be bypassed when necessary, either by setting the changelog entry to "null" or by adding following label:

- **release-x.y.z**: This label is automatically added to a PR and its linked issues upon the PR's merge. The `x.y.z` in the label represents the version in which the changes from the PR will be included. This label is auto-generated by a [GitHub action](../workflows/add-release-label.yml), which determines the version by incrementing the minor version number from the most recent release. Manual intervention is only required in specific cases. For instance, if a merged PR is cherry-picked into a release branch, typically done to address Release Candidate (RC) bugs, the label would need to be manually updated to reflect the correct version.
- **regression-prod-x.y.z**: This label is automatically added to a bug report issue at the time of its creation. The `x.y.z` in the label represents the version in which the bug first appeared. This label is auto-generated by a [GitHub action](../workflows/check-template-and-add-labels.yml), which determines the `x.y.z` value based on the version information provided in the bug report issue form. Manual intervention is only necessary under certain circumstances. For example, if a user submits a bug report and specifies the version they are currently using, but the bug was actually introduced in a prior version, the label would need to be manually updated to accurately reflect the version where the bug originated.
- **regression-RC-x.y.z**: This label is manually added to a bug report issue by release engineers when a bug is found during release regerssion testing phase. The `x.y.z` in the label represents the release candidate (RC) version in which the bug's been discovered.
- **no-changelog**: PR's changes do not need to be included in the changelog.

## Optional labels (manual addition)

Any label can be manually added on demand depending on the PR's content. For instance, the label **QA passed** will indicate that a thorough manual testing has been performed and the PR is ready to be merged. In addition, following labels have some specific use cases.

### Optional labels:
### Bypass Quality Gates

- **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.
- **feature-branch-bug**: This label can manually be added to a bug report issue at the time of its creation if the bug is present on a feature branch, i.e., before merging to `main`.
- **needs-qa**: If the PR includes a new features, complex testing steps, or large refactors, this label must be added to indicated PR requires a full manual QA prior being merged and added to a release.
Using any of these labels should be exceptional in case of CI friction and urgencies. Please use them reasonably and verify new changes and regressions manually.

### Labels prohibited when PR needs to be merged:
- **skip-e2e-quality-gate**: This label will disable the default test retries for E2E test files modified in the PR. Useful when making large refactors or when changes don't pose flakiness risk.

Any PR that includes one of the following labels can not be merged:
### Block merge if any is present

- **needs-qa**: The PR requires a full manual QA prior to being merged and added to a release.
- **QA'd but questions**: The PR has been checked by QA, but there are pending questions or clarifications needed on minor issues that were found.
- **issues-found**: The PR has been checked by QA or other reviewers, and appeared to include issues that need to be addressed.
- **need-ux-ds-review**: The PR requires a review from the User Experience or Design System teams.
- **blocked**: There are unresolved dependencies or other issues blocking the progress of this PR.
- **stale**: The PR has not had recent activity in the last 90 days. It will be closed in 7 days.
- **DO-NOT-MERGE**: The PR should not be merged under any circumstances.

## Release version label (automated)

- **release-x.y.z**: This label is automatically added to a PR and its linked issues upon the PR's merge. The `x.y.z` in the label represents the version in which the changes from the PR will be included. This label is auto-generated by a [GitHub action](../workflows/add-release-label.yml), which determines the version by incrementing the minor version number from the most recent release. Manual intervention is only required in specific cases. For instance, if a merged PR is cherry-picked into a release branch, typically done to address Release Candidate (RC) bugs, the label would need to be manually updated to reflect the correct version.

To maintain code quality and project integrity, it's crucial to respect these label guidelines. Please ensure you review and update labels appropriately throughout the PR lifecycle.

Thank you for your cooperation!
20 changes: 10 additions & 10 deletions .github/scripts/benchmark-stats-commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ if [[ -z "${EXTENSION_BENCHMARK_STATS_TOKEN:-}" ]]; then
exit 1
fi

if [[ -z "${GITHUB_SHA:-}" ]]; then
printf '%s\n' 'GITHUB_SHA environment variable must be set'
if [[ -z "${HEAD_COMMIT_HASH:-}" ]]; then
printf '%s\n' 'HEAD_COMMIT_HASH environment variable must be set'
exit 1
fi

if [[ -z "${GITHUB_REPOSITORY_OWNER:-}" ]]; then
printf '%s\n' 'GITHUB_REPOSITORY_OWNER environment variable must be set'
if [[ -z "${OWNER:-}" ]]; then
printf '%s\n' 'OWNER environment variable must be set'
exit 1
fi

Expand All @@ -33,7 +33,7 @@ git fetch origin main:main

git checkout main

BENCHMARK_FILE="../test-artifacts/benchmarks/benchmark-results.json"
BENCHMARK_FILE="../test-artifacts/benchmarks/page-load-benchmark-results.json"
STATS_FILE="stats/page_load_data.json"
TEMP_FILE="stats/page_load_data.temp.json"

Expand All @@ -53,13 +53,13 @@ jq . "${BENCHMARK_FILE}" > /dev/null || {
}

# Check if the SHA already exists in the stats file
if jq -e "has(\"${GITHUB_SHA}\")" "${STATS_FILE}" > /dev/null; then
echo "SHA ${GITHUB_SHA} already exists in stats file. No new commit needed."
if jq -e "has(\"${HEAD_COMMIT_HASH}\")" "${STATS_FILE}" > /dev/null; then
echo "SHA ${HEAD_COMMIT_HASH} already exists in stats file. No new commit needed."
exit 0
fi

# Append new benchmark data correctly using jq
jq --arg sha "${GITHUB_SHA}" --argjson data "$(cat "${BENCHMARK_FILE}")" \
jq --arg sha "${HEAD_COMMIT_HASH}" --argjson data "$(cat "${BENCHMARK_FILE}")" \
'. + {($sha): $data}' "${STATS_FILE}" > "${TEMP_FILE}"

# Overwrite the original JSON file with the corrected version
Expand All @@ -68,9 +68,9 @@ mv "${TEMP_FILE}" "${STATS_FILE}"
# Only add the JSON file
git add stats/page_load_data.json

git commit --message "Adding page load benchmark data at commit: ${GITHUB_SHA}"
git commit --message "Adding page load benchmark data at commit: ${HEAD_COMMIT_HASH}"

repo_slug="${GITHUB_REPOSITORY_OWNER}/extension_benchmark_stats"
repo_slug="${OWNER}/extension_benchmark_stats"

git push "https://metamaskbot:${EXTENSION_BENCHMARK_STATS_TOKEN}@github.com/${repo_slug}" main

Expand Down
4 changes: 4 additions & 0 deletions .github/scripts/bundle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# * The environment variables used by the `run-build` step in `.github/workflows/run-build.yml`.
# * The environment variables used by the `publish-release` step in `.github/workflows/publish-release.yml`.
export APPLE_BETA_CLIENT_ID=""
export APPLE_EXPERIMENTAL_CLIENT_ID=""
export APPLE_FLASK_CLIENT_ID=""
export APPLE_PROD_CLIENT_ID=""
export CONTENTFUL_ACCESS_SPACE_ID=""
Expand All @@ -17,9 +18,11 @@ export FIREBASE_MESSAGING_SENDER_ID=""
export FIREBASE_PROJECT_ID=""
export FIREBASE_STORAGE_BUCKET=""
export GOOGLE_BETA_CLIENT_ID=""
export GOOGLE_EXPERIMENTAL_CLIENT_ID=""
export GOOGLE_FLASK_CLIENT_ID=""
export GOOGLE_PROD_CLIENT_ID=""
export INFURA_BETA_PROJECT_ID=""
export INFURA_EXPERIMENTAL_PROJECT_ID=""
export INFURA_FLASK_PROJECT_ID=""
export INFURA_PROD_PROJECT_ID=""
export QUICKNODE_ARBITRUM_URL=""
Expand All @@ -30,6 +33,7 @@ export QUICKNODE_MAINNET_URL=""
export QUICKNODE_OPTIMISM_URL=""
export QUICKNODE_POLYGON_URL=""
export SEGMENT_BETA_WRITE_KEY=""
export SEGMENT_EXPERIMENTAL_WRITE_KEY=""
export SEGMENT_FLASK_WRITE_KEY=""
export SEGMENT_PROD_WRITE_KEY=""
export ANALYTICS_DATA_DELETION_SOURCE_ID=""
Expand Down
2 changes: 0 additions & 2 deletions .github/scripts/check-pr-has-required-labels.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@ async function main(): Promise<void> {

const preventMergeLabels = [
'needs-qa',
"QA'd but questions",
'issues-found',
'need-ux-ds-review',
'blocked',
'stale',
Expand Down
Loading
Loading