Skip to content

feat: ondo rwa ui - stock / after-hours badges#40493

Merged
dawnseeker8 merged 91 commits intomainfrom
ondo-rwa-ui-extension
Mar 11, 2026
Merged

feat: ondo rwa ui - stock / after-hours badges#40493
dawnseeker8 merged 91 commits intomainfrom
ondo-rwa-ui-extension

Conversation

@oscarwroche
Copy link
Contributor

@oscarwroche oscarwroche commented Feb 27, 2026

Description

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Added market-closed handling and stock badges for Ondo RWA tokens in token details and token selection views.

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Screenshot 2026-02-27 at 16 01 58 Screenshot 2026-02-27 at 16 01 52 Screenshot 2026-02-27 at 16 01 43 Screenshot 2026-02-27 at 16 44 38 Screenshot 2026-02-27 at 16 44 28 Screenshot 2026-02-27 at 16 44 21

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.

Note

Medium Risk
Introduces new market-hours gating that can block token selection and bridge submission, and adds time-based logic to selectors/hooks that could affect warnings/metrics and user flows if timestamps or feature-flag behavior are incorrect.

Overview
Adds an RWA stock-token UI layer gated by a new remote feature flag rwaTokensEnabled, including new i18n strings and a getIsRWATokensEnabled selector.

Introduces useRWAToken (plus pure helpers) to detect stock tokens via rwaData and compute trading-open status (including pauses/overnight windows), then surfaces this across token lists and the asset details page via a new StockBadge and a reusable MarketClosedModal.

Updates bridge flow to detect market closed as a validation state (getIsStockMarketClosed + getValidationErrors/getWarningLabels time-param), show a banner, emit a new market_closed warning label for metrics, and change the CTA to open the modal instead of submitting when closed; also disables swapping from the asset page when market-closed. Includes extensive unit test coverage and minor selector subscription tweaks (shallowEqual) to reduce rerenders.

Written by Cursor Bugbot for commit 00ddd4e. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Contributor

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.

@metamaskbot metamaskbot added the team-be-trade BE Trade team label Feb 27, 2026
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 27, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/core-extension-ux (5 files, +121 -2)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain/
        • 📁 asset-picker-amount/
          • 📁 asset-picker-modal/
            • 📄 Asset.tsx +2 -0
            • 📄 AssetList.tsx +15 -1
            • 📄 types.ts +1 -0
        • 📁 token-list-item/
          • 📄 token-list-item.test.tsx +76 -0
          • 📄 token-list-item.tsx +27 -1

💎 @MetaMask/metamask-assets (5 files, +395 -5)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 assets/
          • 📁 stock-badge/
            • 📄 stock-badge.tsx +18 -0
          • 📁 token-cell/
            • 📁 cells/
              • 📄 token-cell-title.test.tsx +269 -5
              • 📄 token-cell-title.tsx +17 -0
            • 📄 market-closed-modal.tsx +89 -0
            • 📄 types.ts +2 -0

🔄 @MetaMask/swaps-engineers (11 files, +1615 -33)
  • 📁 ui/
    • 📁 ducks/
      • 📁 bridge/
        • 📄 selectors.test.ts +946 -0
        • 📄 selectors.ts +68 -18
    • 📁 hooks/
      • 📁 bridge/
        • 📄 useIsTxSubmittable.ts +2 -2
        • 📄 useQuoteFetchEvents.ts +7 -2
    • 📁 pages/
      • 📁 bridge/
        • 📁 hooks/
          • 📄 useRWAToken.test.ts +431 -0
          • 📄 useRWAToken.ts +118 -0
          • 📄 useSubmitBridgeTransaction.ts +7 -2
        • 📁 prepare/
          • 📁 components/
            • 📁 bridge-asset-picker/
              • 📄 asset.tsx +7 -0
            • 📄 bridge-cta-button.test.tsx +1 -0
            • 📄 bridge-cta-button.tsx +23 -6
            • 📄 bridge-input-group.tsx +5 -3

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [34a3600]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2792722866283286
total2792722866283286
Confirm Txconfirm_tx6056603360801760606080
total6056603360801760606080
Bridge User Actionsbridge_load_page27422831930291319
bridge_load_asset_picker23316829542247295
bridge_search_token77070884954806849
total1277114113879613691387
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14241203184311114491634
load1197102015129412311364
domContentLoaded1191101815069212241353
domInteractive2917117202584
firstPaint154671149122206242
backgroundConnect21219826511214234
firstReactRender20134362131
initialActions209225
loadScripts99481812959210241161
setupStore1463961626
numNetworkReqs312288193182
Power User HomeuiStartup2161139210413131919284328
load11961043165314012391545
domContentLoaded11781033161513612141534
domInteractive3621157223764
firstPaint1787545681237331
backgroundConnect614252811811693192246
firstReactRender25156692741
initialActions107113
loadScripts96181414051329981315
setupStore1674881932
numNetworkReqs65371462473115
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2212202210221221
srpButtonToSrpForm92929209292
confirmSrpToPwForm21212202122
pwFormToMetricsScreen15151601516
metricsToWalletReadyScreen16161711717
doneButtonToHomeScreen1015600143733813541437
openAccountMenuToAccountListLoaded74396825785042878377850
total88208614920021889079200
Onboarding New WalletcreateWalletToSocialScreen2202182211221221
srpButtonToPwForm1101101100110110
createPwToRecoveryScreen989099
skipBackupToMetricsScreen38354433944
agreeButtonToOnboardingSuccess17171701717
doneButtonToAssetList917586131929912131319
total1311974171029916081710
Asset DetailsassetClickToPriceChart38334344143
total38334344143
Solana Asset DetailsassetClickToPriceChart46434924749
total46434924749
Import Srp HomeloginToHomeScreen1986194720725019712072
openAccountMenuAfterLogin41345264452
homeAfterImportWithNewWallet2229212022947822942294
total4225412942816842814281
Send TransactionsopenSendPageFromHome291755153855
selectTokenToSendFormLoaded20182322023
reviewTransactionToConfirmationPage8578468709860870
total89988491611900916
SwapopenSwapPageFromHome12110114015135140
fetchAndDisplaySwapQuotes52754566624278562256242
total53964667636479163606364
🌐 Dapp Page Load Benchmarks

Current Commit: 34a3600 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±43ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 725ms (±40ms) 🟢 | historical mean value: 734ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 82ms (±14ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 43ms 1.03s 1.39s 1.10s 1.39s
domContentLoaded 725ms 40ms 699ms 1.04s 761ms 1.04s
firstPaint 82ms 14ms 64ms 208ms 92ms 208ms
firstContentfulPaint 82ms 14ms 64ms 208ms 92ms 208ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 3.2 KiB (0.04%)
  • common: 331 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [a9ee224]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account28126730313278303
total28126730313278303
Confirm Txconfirm_tx6056602060832760806083
total6056602060832760806083
Bridge User Actionsbridge_load_page25123726612259266
bridge_load_asset_picker22019123521235235
bridge_search_token7347307415741741
total1159112512022811631202
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14791213193012615151722
load12411012154210812781452
domContentLoaded12331010151810612731433
domInteractive2917147212681
firstPaint188751233128234296
backgroundConnect21719626715223253
firstReactRender20135072137
initialActions106124
loadScripts1034808131410610781219
setupStore1473551623
numNetworkReqs312290192284
Power User HomeuiStartup3454144810362214940419791
load12671068181914013141558
domContentLoaded12471059171412912981496
domInteractive39202343436128
firstPaint217811737181272352
backgroundConnect14022657886164921434459
firstReactRender24174452734
initialActions104112
loadScripts1033858148812610761274
setupStore1565481728
numNetworkReqs864115121100119
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202192211220221
srpButtonToSrpForm98989909999
confirmSrpToPwForm24222722527
pwFormToMetricsScreen17171701717
metricsToWalletReadyScreen17171701717
doneButtonToHomeScreen992604132628113071326
openAccountMenuToAccountListLoaded75707057790534278747905
total89468734910912890269109
Onboarding New WalletcreateWalletToSocialScreen2252222282226228
srpButtonToPwForm1081071091108109
createPwToRecoveryScreen989099
skipBackupToMetricsScreen38344134041
agreeButtonToOnboardingSuccess17161911719
doneButtonToAssetList965566142436413371424
total1364963182036917551820
Asset DetailsassetClickToPriceChart524178145978
total524178145978
Solana Asset DetailsassetClickToPriceChart50475225152
total50475225152
Import Srp HomeloginToHomeScreen21321840232619323142326
openAccountMenuAfterLogin46405155151
homeAfterImportWithNewWallet22702080248214723952482
total4462442745083445084508
Send TransactionsopenSendPageFromHome38364023840
selectTokenToSendFormLoaded20202002020
reviewTransactionToConfirmationPage8528518531853853
total9089079102910910
SwapopenSwapPageFromHome946413428117134
fetchAndDisplaySwapQuotes4693460747516347484751
total4787472448394148164839
🌐 Dapp Page Load Benchmarks

Current Commit: a9ee224 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 986ms (±151ms) 🟢 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 695ms (±149ms) 🟢 | historical mean value: 728ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 88ms (±129ms) 🟢 | historical mean value: 83ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 986ms 151ms 951ms 2.46s 989ms 2.46s
domContentLoaded 695ms 149ms 662ms 2.15s 693ms 2.15s
firstPaint 88ms 129ms 64ms 1.37s 84ms 1.37s
firstContentfulPaint 88ms 129ms 64ms 1.37s 84ms 1.37s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 4.37 KiB (0.05%)
  • common: 331 Bytes (0%)

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds UI components to display stock/after-hours badges for Ondo RWA (Real-World Asset) tokens across multiple views: the bridge token picker, the bridge prepare page (with a market-closed banner and disabled CTA), the asset detail page, and the token cell in the wallet list. It introduces a new useRWAToken hook that computes whether a token is a stock instrument and whether its market is currently open.

Changes:

  • Adds useRWAToken hook with logic to determine stock token status and market open/closed state based on rwaData timestamps.
  • Adds stock/after-hours badge UI to the bridge asset picker, bridge prepare page (CTA button disabled + BannerAlert), asset detail page, and token cell title.
  • Updates fetchBridgeTokens call in useTokensWithFiltering to support a new 6-argument API signature alongside the old 5-argument one, via a runtime Function.length check.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
ui/pages/bridge/hooks/useRWAToken.ts New hook for determining stock token status and trading hours
ui/pages/bridge/prepare/prepare-bridge-page.tsx Market-closed banner and CTA disabled state
ui/pages/bridge/prepare/bridge-cta-button.tsx Disables CTA and shows "Market is closed" label when market is closed
ui/pages/bridge/prepare/components/bridge-asset-picker/asset.tsx Stock/clock badge in bridge token picker
ui/components/app/assets/token-cell/cells/token-cell-title.tsx Stock/clock badge in wallet token list
ui/components/app/assets/types.ts Adds rwaData to TokenWithFiatAmount type
ui/pages/asset/components/asset-page.tsx Stock/clock badge on asset detail page
ui/pages/asset/types/asset.ts Adds rwaData to Asset type
ui/hooks/bridge/useTokensWithFiltering.ts Adds 6-arg fetchBridgeTokens compatibility shim
app/_locales/en/messages.json Adds locale keys for market-closed UI
app/_locales/en_GB/messages.json Adds locale keys for market-closed UI

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Mar 10, 2026

Builds ready [c479b85]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2732632889278288
total2732632889278288
Confirm Txconfirm_tx603260236038660366038
total603260236038660366038
Bridge User Actionsbridge_load_page22118828138251281
bridge_load_asset_picker19518621010197210
bridge_search_token72470074819743748
total1104108011432410961143
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14251195204511614531621
load118899816449512241365
domContentLoaded118199616319512211353
domInteractive2919108192583
firstPaint167711233156206281
backgroundConnect21519638021215247
firstReactRender20134162134
initialActions107113
loadScripts98380914169310191155
setupStore1474961626
numNetworkReqs312288192283
Power User HomeuiStartup19761617236115120682209
load11531029171115611491609
domContentLoaded11381017170115511291597
domInteractive3518129213490
firstPaint190741714170233287
backgroundConnect29525941926305345
firstReactRender25165582841
initialActions106114
loadScripts92680414541449061353
setupStore1754371933
numNetworkReqs70361844755168
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202182253219225
srpButtonToSrpForm100931118107111
confirmSrpToPwForm22212202222
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen16151711617
doneButtonToHomeScreen59958861711596617
openAccountMenuToAccountListLoaded290328952908529082908
total3901386239623939313962
Onboarding New WalletcreateWalletToSocialScreen2202172222222222
srpButtonToPwForm1061051081107108
createPwToRecoveryScreen888088
skipBackupToMetricsScreen36363603636
agreeButtonToOnboardingSuccess16161701617
doneButtonToAssetList582480834137624834
total970865121613510191216
Asset DetailsassetClickToPriceChart1161061268126126
total1161061268126126
Solana Asset DetailsassetClickToPriceChart79718978189
total79718978189
Import Srp HomeloginToHomeScreen1942182820237519952023
openAccountMenuAfterLogin45365364953
homeAfterImportWithNewWallet1482454222679922102226
total35382318427879142694278
Send TransactionsopenSendPageFromHome25163572835
selectTokenToSendFormLoaded25193163031
reviewTransactionToConfirmationPage976845119214611091192
total1042881125116712381251
SwapopenSwapPageFromHome19172222022
fetchAndDisplaySwapQuotes2697268127251827132725
total2716269927451827302745
🌐 Dapp Page Load Benchmarks

Current Commit: c479b85 | Date: 3/10/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±42ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 747ms (±39ms) 🟢 | historical mean value: 740ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 83ms (±11ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 42ms 1.03s 1.37s 1.09s 1.37s
domContentLoaded 747ms 39ms 720ms 1.04s 776ms 1.04s
firstPaint 83ms 11ms 68ms 176ms 92ms 176ms
firstContentfulPaint 83ms 11ms 68ms 176ms 92ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 5.15 MiB (100%)
  • ui: 8.26 MiB (100%)
  • common: 10.99 MiB (100%)

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Updated the formatting of the test cases in the TokenCellTitle component to enhance readability. This includes consistent indentation and line breaks for better code clarity without altering the test logic.
Updated the mock functions for isStockToken and isTokenTradingOpen in the TokenCellTitle unit tests to remove default return values. This change enhances flexibility for future test scenarios without altering existing test logic.
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Mar 10, 2026

Builds ready [6771e8c]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account28927629910298299
total28927629910298299
Confirm Txconfirm_tx6059603260982460606098
total6059603260982460606098
Bridge User Actionsbridge_load_page2342292394239239
bridge_load_asset_picker19914324242240242
bridge_search_token7707597839771783
total1194108912836712301283
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14291218173610614821631
load119198514439612221373
domContentLoaded118498114169412161361
domInteractive291895172678
firstPaint165671146127208344
backgroundConnect21819740329216256
firstReactRender21145972436
initialActions106115
loadScripts98478412079110191163
setupStore1373951621
numNetworkReqs312293202287
Power User HomeuiStartup3151176112456227831569943
load12181032170115012461535
domContentLoaded12021017169514512381507
domInteractive3620142243487
firstPaint1968046181265316
backgroundConnect1000262989015808055460
firstReactRender25175872839
initialActions106114
loadScripts983819141513610131261
setupStore1664681937
numNetworkReqs903822745113190
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2182172191218219
srpButtonToSrpForm94929519495
confirmSrpToPwForm21212202122
pwFormToMetricsScreen15151601616
metricsToWalletReadyScreen16151711617
doneButtonToHomeScreen6035996125600612
openAccountMenuToAccountListLoaded2922290029401729352940
total3891387639071339003907
Onboarding New WalletcreateWalletToSocialScreen2212202221222222
srpButtonToPwForm1081071111109111
createPwToRecoveryScreen989099
skipBackupToMetricsScreen37353923939
agreeButtonToOnboardingSuccess17161811718
doneButtonToAssetList59549767965605679
total99988910747010401074
Asset DetailsassetClickToPriceChart14913016616164166
total14913016616164166
Solana Asset DetailsassetClickToPriceChart82749378593
total82749378593
Import Srp HomeloginToHomeScreen20961837231318022882313
openAccountMenuAfterLogin543472146972
homeAfterImportWithNewWallet2280222624218222402421
total45164300477818045944778
Send TransactionsopenSendPageFromHome33244053740
selectTokenToSendFormLoaded19182011920
reviewTransactionToConfirmationPage8478468491847849
total8998969002900900
SwapopenSwapPageFromHome47405875058
fetchAndDisplaySwapQuotes268526842686126842686
total273527242748927422748
🌐 Dapp Page Load Benchmarks

Current Commit: 6771e8c | Date: 3/10/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±40ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 739ms (±38ms) 🟢 | historical mean value: 740ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±12ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 40ms 1.02s 1.35s 1.07s 1.35s
domContentLoaded 739ms 38ms 714ms 1.02s 756ms 1.02s
firstPaint 81ms 12ms 68ms 196ms 88ms 196ms
firstContentfulPaint 81ms 12ms 68ms 196ms 88ms 196ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 5.15 MiB (100%)
  • ui: 8.26 MiB (100%)
  • common: 10.99 MiB (100%)

sahar-fehri
sahar-fehri previously approved these changes Mar 10, 2026
Copy link
Contributor

@sahar-fehri sahar-fehri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

micaelae
micaelae previously approved these changes Mar 10, 2026
@ameliejyc
Copy link
Contributor

Could we double check with design if the 'Learn more' link button looks correct in this modal? I showed it to our designer and she suggested making it inline or a proper button so that it doesn't look like it's floating:

image

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 5 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 4 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

@sonarqubecloud
Copy link

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Mar 10, 2026

Builds ready [00ddd4e]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account3163073267316326
total3163073267316326
Confirm Txconfirm_tx6032599460743160616074
total6032599460743160616074
Bridge User Actionsbridge_load_page25623827815258278
bridge_load_asset_picker20614426843235268
bridge_search_token78069989774823897
total12281081142313313061423
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14191209179010114641584
load117898215719812221357
domContentLoaded117196515309512171331
domInteractive3017113212688
firstPaint162681149126203350
backgroundConnect21119429416212238
firstReactRender20134052131
initialActions104123
loadScripts97777213159310231141
setupStore1262741520
numNetworkReqs362792182786
Power User HomeuiStartup5286218713482213663068850
load12801129169611913141538
domContentLoaded12611122166311212891513
domInteractive3519199273389
firstPaint236891525218272378
backgroundConnect19653018174165030454845
firstReactRender3218346323243
initialActions106113
loadScripts1039906143210210531263
setupStore16557101737
numNetworkReqs1334526143142225
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202172222222222
srpButtonToSrpForm93929419394
confirmSrpToPwForm21212102121
pwFormToMetricsScreen15151601516
metricsToWalletReadyScreen16151601616
doneButtonToHomeScreen679592889114713889
openAccountMenuToAccountListLoaded290328982907429062907
total3894386239744738723974
Onboarding New WalletcreateWalletToSocialScreen2202182211221221
srpButtonToPwForm1181071339122133
createPwToRecoveryScreen999099
skipBackupToMetricsScreen36353813738
agreeButtonToOnboardingSuccess17161811718
doneButtonToAssetList59049769376627693
total99088511008310391100
Asset DetailsassetClickToPriceChart1421351547146154
total1421351547146154
Solana Asset DetailsassetClickToPriceChart9379102898102
total9379102898102
Import Srp HomeloginToHomeScreen25582346290422127322904
openAccountMenuAfterLogin64351002270100
homeAfterImportWithNewWallet2375236023921323922392
total48644773502910448805029
Send TransactionsopenSendPageFromHome443166145366
selectTokenToSendFormLoaded442082225182
reviewTransactionToConfirmationPage1306850177831615121778
total1394924189532615781895
SwapopenSwapPageFromHome22192632426
fetchAndDisplaySwapQuotes270026992701127012701
total2739271827702027552770
🌐 Dapp Page Load Benchmarks

Current Commit: 00ddd4e | Date: 3/10/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±40ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 726ms (±37ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±12ms) 🟢 | historical mean value: 82ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 40ms 1.01s 1.33s 1.06s 1.33s
domContentLoaded 726ms 37ms 705ms 1.01s 744ms 1.01s
firstPaint 78ms 12ms 64ms 184ms 88ms 184ms
firstContentfulPaint 78ms 12ms 64ms 184ms 88ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -9.69 KiB (-0.11%)
  • common: 414 Bytes (0%)

@dawnseeker8
Copy link
Contributor

Could we double check with design if the 'Learn more' link button looks correct in this modal? I showed it to our designer and she suggested making it inline or a proper button so that it doesn't look like it's floating:

image

Has addressed above comments at this commit 9c93687

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

QA Passed release-13.23.0 Issue or pull request that will be included in release 13.23.0 size-XL team-be-trade BE Trade team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants