metamask-extension icon indicating copy to clipboard operation
metamask-extension copied to clipboard

Feat/trust-signals-address-alerts

Open AugmentedMode opened this issue 6 months ago • 6 comments

Description

This PR introduces trust signal alerts extending the previous PR that just handle the petname compnentn to warn users when interacting with malicious or suspicious addresses during transaction and signature confirmations.

  1. New Trust Signal Alerts Hook (useTrustSignalAlerts.ts)
  2. Enable Trust Signals in Typed Sign UI (typed-sign.tsx)
  3. Integration with Confirmation Alerts (useConfirmationAlerts.ts)

Open in GitHub Codespaces

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Screenshot 2025-06-15 at 12 57 31 PM Screenshot 2025-06-15 at 12 57 37 PM

Pre-merge author checklist

Pre-merge reviewer checklist

  • [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

AugmentedMode avatar Jun 15 '25 17:06 AugmentedMode

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

github-actions[bot] avatar Jun 15 '25 17:06 github-actions[bot]

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (7 files, +624 -64)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 confirm/
            • 📁 info/
              • 📁 __snapshots__/
                • 📄 info.test.tsx.snap +29 -14
              • 📁 typed-sign/
                • 📁 __snapshots__/
                  • 📄 typed-sign.test.tsx.snap +93 -18
                  • 📄 typed-sign.tsx +7 -2
        • 📁 confirm/
          • 📁 __snapshots__/
            • 📄 confirm.test.tsx.snap +120 -30
        • 📁 hooks/
          • 📁 alerts/
            • 📄 useTrustSignalAlerts.test.ts +284 -0
            • 📄 useTrustSignalAlerts.ts +87 -0
            • 📄 useConfirmationAlerts.ts +4 -0

metamaskbot avatar Jun 15 '25 17:06 metamaskbot

Builds ready [09c46df]
UI Startup Metrics (1194 ± 67 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1194107813546712381318
load103393511936110721162
domContentLoaded102893111886110661157
domInteractive1713103101630
firstPaint75778119440010551155
backgroundConnect74264711
firstReactRender20153942031
getState1354881928
initialActions001001
loadScripts78469294261823912
setupStore84173814
WebpackHomeuiStartup20861681250821522332396
load16191294201717017321884
domContentLoaded16141290201416917241876
domInteractive161197131351
firstPaint1636352562185273
backgroundConnect2213157152339
firstReactRender14946353108285346
getState1142851221
initialActions316135
loadScripts16091288200416517231845
setupStore3873127919305
FirefoxBrowserifyHomeuiStartup1297114215398113521475
load1156101913827611991320
domContentLoaded1156101813817611981320
domInteractive993516626115142
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2013117142025
firstReactRender23205642327
getState7426278
initialActions001001
loadScripts1138100913477211811269
setupStore64344611
WebpackHomeuiStartup1505136318448815321698
load1304119016588613351511
domContentLoaded1304119016578613351511
domInteractive79581361587113
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect22164662239
firstReactRender40284944347
getState95315918
initialActions002111
loadScripts1285117116408713181493
setupStore85455820
Benchmark value 38 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 305 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender
Sum of mean exceeds: 9ms | Sum of p95 exceeds: 240ms
Sum of all benchmark exceeds: 249ms

metamaskbot avatar Jun 15 '25 17:06 metamaskbot

Builds ready [3f2f3ae]
UI Startup Metrics (1202 ± 58 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1202109613515812441311
load104091611935710821146
domContentLoaded103491011835710781137
domInteractive17143651632
firstPaint722132118940810631130
backgroundConnect6414279
firstReactRender2316148152145
getState1464681927
initialActions001001
loadScripts78866293256832894
setupStore85263814
WebpackHomeuiStartup21121680256721822652512
load16541294208817817591966
domContentLoaded16491290208417717551956
domInteractive161179131351
firstPaint161651295126178282
backgroundConnect19114152231
firstReactRender13546374106146350
getState144335331221
initialActions316134
loadScripts16461288207417517531945
setupStore4473208919314
FirefoxBrowserifyHomeuiStartup1307115515687013451471
load1163102714076812001314
domContentLoaded1163102714076812001314
domInteractive953618227108135
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect1913117101926
firstReactRender23205642328
getState7426289
initialActions002001
loadScripts1146101513646411791292
setupStore74355611
WebpackHomeuiStartup14861298171110215811666
load13001137154810413971478
domContentLoaded13001137154710413971477
domInteractive78571351385103
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect20155142026
firstReactRender39305644244
getState74313810
initialActions002111
loadScripts12821122153110413811460
setupStore8559689
Benchmark value 24 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 44 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 2512 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 314 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 40 exceeds gate value 38 for firefox webpack home mean firstReactRender
Sum of mean exceeds: 15ms | Sum of p95 exceeds: 307ms
Sum of all benchmark exceeds: 322ms

metamaskbot avatar Jun 15 '25 18:06 metamaskbot

Builds ready [05ac4bb]
UI Startup Metrics (1191 ± 61 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1191107113896112351307
load103694011995910791142
domContentLoaded103093211916010741137
domInteractive16133241630
firstPaint782144119938710671147
backgroundConnect74415720
firstReactRender20154852029
getState1366191826
initialActions001001
loadScripts78668994060833895
setupStore85263814
WebpackHomeuiStartup21221725257820622482501
load16421234200016917371941
domContentLoaded16361226199616917321933
domInteractive161171121351
firstPaint1566232553190257
backgroundConnect2610426412538
firstReactRender13647367104132349
getState1142851321
initialActions315134
loadScripts16321222198616717301922
setupStore56732210220315
FirefoxBrowserifyHomeuiStartup1325118115267313711463
load1180103613807312201321
domContentLoaded1180103613807312201321
domInteractive983417724109137
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect19145052027
firstReactRender23202812326
getState75404810
initialActions001001
loadScripts1162102213627312031297
setupStore64374611
WebpackHomeuiStartup14861297177111215851722
load12991135158511513981532
domContentLoaded12991134158511513971532
domInteractive77291271484102
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect19153932123
firstReactRender39294934244
getState85303810
initialActions002111
loadScripts12821118156511513821512
setupStore7527279
Benchmark value 20 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 56 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 2501 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 315 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 40 exceeds gate value 38 for firefox webpack home mean firstReactRender
Sum of mean exceeds: 26ms | Sum of p95 exceeds: 299ms
Sum of all benchmark exceeds: 325ms

metamaskbot avatar Jun 16 '25 02:06 metamaskbot

Builds ready [3356b52]
UI Startup Metrics (1206 ± 64 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1206109213836412531326
load104694211735910841156
domContentLoaded103993011695810811147
domInteractive16134641626
firstPaint70878116741810531140
backgroundConnect84788722
firstReactRender21165452134
getState1354281831
initialActions001000
loadScripts79368891857834900
setupStore85212813
WebpackHomeuiStartup20581625261024022032484
load16101270200319617471917
domContentLoaded16041266199419517421908
domInteractive161278111347
firstPaint1586244266197262
backgroundConnect20124362232
firstReactRender13747355108117346
getState144309301324
initialActions315134
loadScripts16011264198319317411897
setupStore3773187919303
FirefoxBrowserifyHomeuiStartup1334117315788313801520
load1187104114398212301369
domContentLoaded1187104114378212301369
domInteractive1053518427116161
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect20136572133
firstReactRender23203022425
getState85395810
initialActions001001
loadScripts1168102414168112141355
setupStore64363610
WebpackHomeuiStartup15481366174910416361724
load13481183155910714461532
domContentLoaded13481183155810714461532
domInteractive79351591687112
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect21164452137
firstReactRender42328354448
getState85304917
initialActions002111
loadScripts13301168154210714271516
setupStore7519289
Benchmark value 22 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 38 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 2484 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 303 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender
Sum of mean exceeds: 10ms | Sum of p95 exceeds: 272ms
Sum of all benchmark exceeds: 282ms

metamaskbot avatar Jun 16 '25 15:06 metamaskbot

Builds ready [a976c7f]
UI Startup Metrics (1193 ± 61 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1193109314536112361294
load103792812646010761138
domContentLoaded103192412576010701129
domInteractive18136481639
firstPaint80980126437510621135
backgroundConnect74273811
firstReactRender19164042027
getState1464681928
initialActions001001
loadScripts78668993056832887
setupStore85274819
WebpackHomeuiStartup20991592277522622152550
load16491263214119417631961
domContentLoaded16431259211819217591949
domInteractive1711104151358
firstPaint1576246861175276
backgroundConnect2310277272337
firstReactRender13745424112156363
getState144313311329
initialActions512942934
loadScripts16401257210619117571938
setupStore197306371626
FirefoxBrowserifyHomeuiStartup13541200166910414021600
load1198104615008612591361
domContentLoaded1197104614998612581361
domInteractive1183549668130295
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect21148582232
firstReactRender23205442327
getState1057810827
initialActions002001
loadScripts1179102814758512411337
setupStore84708718
WebpackHomeuiStartup15661341337123816401938
load13491160166613214531594
domContentLoaded13491160166613214531593
domInteractive97323216288278
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect20154452130
firstReactRender41346844346
getState2351466145922
initialActions002111
loadScripts13311143164513214361574
setupStore85264817
Benchmark value 809 exceeds gate value 800 for chrome browserify home mean firstPaint
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 2551 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 58 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 119 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 295 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 27 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 24 exceeds gate value 15 for firefox webpack home mean getState
Benchmark value 1938 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 278 exceeds gate value 156 for firefox webpack home p95 domInteractive
Sum of mean exceeds: 30ms | Sum of p95 exceeds: 328ms
Sum of all benchmark exceeds: 358ms

metamaskbot avatar Jun 18 '25 05:06 metamaskbot

Builds ready [538de21]
UI Startup Metrics (1222 ± 70 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1222111915827012641327
load105693614277310981175
domContentLoaded104992914237310871163
domInteractive1814135131736
firstPaint72672142842710711168
backgroundConnect94306826
firstReactRender2315142132340
getState1364481828
initialActions002001
loadScripts801671115672837914
setupStore84213816
WebpackHomeuiStartup21111625257423022662536
load16541262203418817801929
domContentLoaded16471258202318717741915
domInteractive1711117151349
firstPaint1676253077190320
backgroundConnect2210168162238
firstReactRender14846365111286358
getState144315311227
initialActions317134
loadScripts16441256201318617711905
setupStore207310421726
FirefoxBrowserifyHomeuiStartup1356122716589713801610
load1195108213936912311349
domContentLoaded1195108213936912311349
domInteractive1103533851116189
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2513128182449
firstReactRender24204942431
getState104649923
initialActions001001
loadScripts1175106213746812121326
setupStore84909715
WebpackHomeuiStartup15211359338523615801875
load13091167172812613911582
domContentLoaded13081167172812613911582
domInteractive90303626384269
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect361515141492341
firstReactRender40285444246
getState1159711931
initialActions002111
loadScripts12891151169412513751557
setupStore85233814
Benchmark value 26 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 2536 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 37 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 269 exceeds gate value 156 for firefox webpack home p95 domInteractive
Sum of mean exceeds: 14ms | Sum of p95 exceeds: 203ms
Sum of all benchmark exceeds: 217ms

metamaskbot avatar Jun 18 '25 16:06 metamaskbot

Builds ready [cd9052a]
UI Startup Metrics (1216 ± 62 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1216110814566212681311
load105095812145710851172
domContentLoaded104595312045610801164
domInteractive18137181740
firstPaint62896118343310641150
backgroundConnect7426379
firstReactRender21154452129
getState1363471926
initialActions001001
loadScripts79870994456834917
setupStore85284817
WebpackHomeuiStartup20681549256122221972456
load16051212194816816801910
domContentLoaded15991208193716716761901
domInteractive161160111351
firstPaint173611767173176316
backgroundConnect20104162233
firstReactRender14946365112283348
getState134293291128
initialActions315134
loadScripts15961207192516616741890
setupStore3173126917301
FirefoxBrowserifyHomeuiStartup13611230171910614181587
load1205106314438912591384
domContentLoaded1205106314438912591383
domInteractive1113538250124199
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2412118162352
firstReactRender23205842429
getState85192813
initialActions001001
loadScripts1185104514178612451356
setupStore84416722
WebpackHomeuiStartup15291325200114916011865
load13331160170312114121551
domContentLoaded13321160170212114121551
domInteractive93313355793260
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect221584102238
firstReactRender40295744346
getState95416927
initialActions002111
loadScripts13131144167212013921535
setupStore85315827
Benchmark value 2457 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 301 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 111 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 199 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 40 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 260 exceeds gate value 156 for firefox webpack home p95 domInteractive
Sum of mean exceeds: 3ms | Sum of p95 exceeds: 347ms
Sum of all benchmark exceeds: 350ms

metamaskbot avatar Jun 18 '25 22:06 metamaskbot

Builds ready [8f14d38]
UI Startup Metrics (1229 ± 56 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1229110313745612811323
load106195111775311011145
domContentLoaded105594811725310931138
domInteractive18135481740
firstPaint685101117943310811145
backgroundConnect74182810
firstReactRender23155682446
getState1463171928
initialActions001001
loadScripts80971291751852883
setupStore95244918
WebpackHomeuiStartup21901721271922322972595
load16731299202918317871962
domContentLoaded16671296201718217831957
domInteractive181278141455
firstPaint1666856570191297
backgroundConnect20104572235
firstReactRender23289420118372401
getState134324321221
initialActions317134
loadScripts16641294200618017801956
setupStore207314411824
FirefoxBrowserifyHomeuiStartup13841224186511514401605
load1218108215138812731374
domContentLoaded1217108215138812721374
domInteractive1173646061129255
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2314105122444
firstReactRender24213122528
getState95758914
initialActions002001
loadScripts1197105714948812501347
setupStore837610630
WebpackHomeuiStartup15861371213616016801931
load13741177178813414811602
domContentLoaded13741177178813414811602
domInteractive97315246990276
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect22156782242
firstReactRender41326344347
getState125108151031
initialActions002111
loadScripts13551160175713214561581
setupStore1173441120
Benchmark value 46 exceeds gate value 45 for chrome browserify home p95 firstReactRender
Benchmark value 18 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 2596 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 401 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 117 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 255 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 30 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 276 exceeds gate value 156 for firefox webpack home p95 domInteractive
Sum of mean exceeds: 10ms | Sum of p95 exceeds: 358ms
Sum of all benchmark exceeds: 368ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -903 Bytes (-0.02%)
  • ui: 2.31 KiB (0.03%)
  • common: 928 Bytes (0.01%)

metamaskbot avatar Jun 19 '25 14:06 metamaskbot

Builds ready [fd982fc]
UI Startup Metrics (1264 ± 77 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1264114715887713121402
load109097713546911221228
domContentLoaded108397213446911151216
domInteractive18145471738
firstPaint746135122542010961181
backgroundConnect85273813
firstReactRender22164352334
getState1564292234
initialActions001001
loadScripts829724108068857961
setupStore95264820
WebpackHomeuiStartup21631746262919322482568
load16771300206016917601949
domContentLoaded16711296205216817551939
domInteractive161172121352
firstPaint1697045467204293
backgroundConnect19114262035
firstReactRender20886408110337395
getState134311311136
initialActions214134
loadScripts16681295204216717541929
setupStore167276271621
FirefoxBrowserifyHomeuiStartup1324115815939313721529
load1167103713697312251289
domContentLoaded1167103613687312251289
domInteractive1103533149120214
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect20138892036
firstReactRender23203832428
getState12511919873
initialActions002001
loadScripts1150102413477312031274
setupStore83658721
WebpackHomeuiStartup15711349222818516502017
load13541152189616214371762
domContentLoaded13531151189616214371762
domInteractive99313837388315
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect23164562440
firstReactRender41335334345
getState12596121032
initialActions102111
loadScripts13341135187516114121742
setupStore127100131129
Benchmark value 1265 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1091 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1084 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState
Benchmark value 1402 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1229 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1216 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 1181 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 34 exceeds gate value 33 for chrome browserify home p95 getState
Benchmark value 962 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 20 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 2568 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 395 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState
Benchmark value 214 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 73 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 2017 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 1762 exceeds gate value 1660 for firefox webpack home p95 load
Benchmark value 1762 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded
Benchmark value 315 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 1742 exceeds gate value 1630 for firefox webpack home p95 loadScripts
Benchmark value 29 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 80ms | Sum of p95 exceeds: 904ms
Sum of all benchmark exceeds: 984ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -808 Bytes (-0.01%)
  • ui: 2.31 KiB (0.03%)
  • common: 928 Bytes (0.01%)

metamaskbot avatar Jun 19 '25 14:06 metamaskbot