Skip to content

feat: display a warning when gas sponsorship failed#39284

Merged
Julink-eth merged 27 commits intomainfrom
feat/display-gas-sponsorship-warning
Feb 4, 2026
Merged

feat: display a warning when gas sponsorship failed#39284
Julink-eth merged 27 commits intomainfrom
feat/display-gas-sponsorship-warning

Conversation

@Julink-eth
Copy link
Copy Markdown
Contributor

@Julink-eth Julink-eth commented Jan 15, 2026

Description

Context
Gas sponsorship on certain networks (like Monad) has reserve balance requirements. When a transaction simulation fails due to reserve balance violations, users currently don't receive clear feedback about why sponsorship isn't available.

Problem
Users on networks with gas sponsorship reserve requirements (e.g., Monad requires 10 MON minimum) don't see any warning when their transaction can't be sponsored due to insufficient reserve balance.

Solution
Added a new useGasSponsorshipWarningAlerts hook that:
Checks simulationData.callTraceErrors for known sponsorship failure patterns
Uses a configurable rules system (GAS_SPONSORSHIP_WARNING_RULES) to match chain-specific error patterns
Displays a Severity.Warning alert on the EstimatedFee row when sponsorship fails due to reserve balance violations
Currently configured for Monad (10 MON minimum reserve requirement)

Related Core PR : MetaMask/core#7641

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Added a warning message when gas sponsorship is unavailable due to reserve balance requirements.

Related issues

Fixes:

Manual testing steps

Pre-requisite:
Use the dev sentinel API in:

  • In app/scripts/lib/transaction/sentinel-api.ts: const BASE_URL = 'https://tx-sentinel-{0}.dev-api.cx.metamask.io/';
  • In node_modules/@metamask/transaction-controller/dist/api/simulation-api.cjs: const BASE_URL = 'https://tx-sentinel-{0}.dev-api.cx.metamask.io/';
  1. Connect to Monad
  2. Ensure account has less than 10 MON balance
  3. Initiate a contract interaction transaction
  4. Observe the warning alert on the confirmation screen stating "Gas sponsorship isn't available for this transaction. You'll need to keep at least 10 MON in your account."

Screenshots/Recordings

Before

After

image

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
Adds new confirmation alert logic driven by simulation callTraceErrors and chain-specific rules; risk is moderate because it changes user-facing warnings and depends on simulation error strings and gasless-support detection.

Overview
Displays a new warning alert on the confirmation screen when gas sponsorship is unavailable due to reserve-balance requirements.

Adds useGasSponsorshipWarningAlerts, which matches chain-specific simulationData.callTraceErrors patterns (initially for CHAIN_IDS.MONAD) and injects an EstimatedFee warning when gasless is supported but the tx is not sponsored.

Introduces new i18n strings for the alert reason and message (with min balance + native currency placeholders), adds unit tests + Jest console baseline, and bumps @metamask/transaction-controller to ^62.11.0.

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

@github-actions
Copy link
Copy Markdown
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.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 15, 2026

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (3 files, +321 -0)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 hooks/
          • 📁 alerts/
            • 📁 transactions/
              • 📄 useGasSponsorshipWarningAlerts.test.ts +192 -0
              • 📄 useGasSponsorshipWarningAlerts.ts +125 -0
            • 📄 useConfirmationAlerts.ts +4 -0

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 15, 2026

Builds ready [513723d]
UI Startup Metrics (1269 ± 111 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12691033162011113411412
load--1059855134610111191238
domContentLoaded--1053851133710111151232
domInteractive--251590172175
firstPaint--170631135177190312
backgroundConnect--2121922499217228
firstReactRender--1594251624
getState--3719131144162
initialActions--109112
loadScripts--84765411381008991025
setupStore--1172231317
numNetworkReqs--171178171171
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18811628249219720042327
load--1036898149613210501409
domContentLoaded--1023893149213210381385
domInteractive--35191382733115
firstPaint--221711453257231368
backgroundConnect--262202607104237559
firstReactRender--22176262328
getState--18012971460195230
initialActions--104111
loadScripts--80968712821308221158
setupStore--19114971938
numNetworkReqs--58381452461121
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--801649117782833961
load--64257794769651789
domContentLoaded--63657294068647779
domInteractive--2616107202278
firstPaint--1066037359139226
backgroundConnect--306110274395
firstReactRender--16113641725
getState--3314146204256
initialActions--105111
loadScripts--63356993266645770
setupStore--1354681433
numNetworkReqs--181177171170
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1369994207623715951829
load--689604128194709876
domContentLoaded--679598127494693865
domInteractive--35171592732107
firstPaint--1426344271190275
backgroundConnect--121765720489551
firstReactRender--23164042531
getState--15312724920160193
initialActions--104111
loadScripts--675595126592690863
setupStore--17104471835
numNetworkReqs--59372163157136
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14181107200721115391846
load--1120945170214112021369
domContentLoaded--1119945170214112021369
domInteractive--67332524188143
firstPaint--------
backgroundConnect--70195778182262
firstReactRender--13103231318
getState--146160191226
initialActions--113122
loadScripts--1075931162010711431265
setupStore--15595161255
numNetworkReqs--19977181374
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25621769553369625634375
load--1214990253224311971656
domContentLoaded--1214990253224311971656
domInteractive--1173546390119368
firstPaint--------
backgroundConnect--126241070176113319
firstReactRender--23157782431
getState--26953785213419726
initialActions--208123
loadScripts--1179969242722711641618
setupStore--1477804197121671
numNetworkReqs--58291683980160
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16051335215215317191859
load--13261148161710214021503
domContentLoaded--13251148161710214021503
domInteractive--912923342126143
firstPaint--------
backgroundConnect--57222124064147
firstReactRender--16116181827
getState--229253351783
initialActions--104122
loadScripts--1293112815899213421457
setupStore--2151542917127
numNetworkReqs--19982191576
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29312228620078129664735
load--16621202322253917592929
domContentLoaded--16611202322253917592929
domInteractive--12131676125106486
firstPaint--------
backgroundConnect--1853213612901391158
firstReactRender--2717115143049
getState--314721022249465848
initialActions--214123
loadScripts--15491181311141517182794
setupStore--1258764162129551
numNetworkReqs--60301654085161
19--------
📊 Page Load Benchmark Results

Current Commit: 513723d | Date: 1/15/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±39ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 713ms (±36ms) 🟢 | historical mean value: 723ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±14ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 39ms 999ms 1.31s 1.05s 1.31s
domContentLoaded 713ms 36ms 691ms 979ms 736ms 979ms
firstPaint 77ms 14ms 60ms 192ms 88ms 192ms
firstContentfulPaint 77ms 14ms 60ms 192ms 88ms 192ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 2.32 KiB (0.03%)
  • common: 265 Bytes (0%)

@github-project-automation github-project-automation bot moved this to Needs dev review in PR review queue Jan 16, 2026
github-merge-queue bot pushed a commit to MetaMask/core that referenced this pull request Jan 26, 2026
## Explanation

<!--
Thanks for your contribution! Take a moment to answer these questions so
that reviewers have the information they need to properly understand
your changes:

* What is the current state of things and why does it need to change?
* What is the solution your changes offer and how does it work?
* Are there any changes whose purpose might not obvious to those
unfamiliar with the domain?
* If your primary goal was to update one package but you found you had
to update another one along the way, why did you do so?
* If you had to upgrade a dependency, why did you do so?
-->

Sentinel API often returns the real failure reason in callTrace.error,
not the top‑level error. Without exposing this, the UI can’t show
chain‑specific warnings (e.g., Monad’s reserve balance rule for
sponsored transaction).
This PR allows to extract call‑trace errors into
simulationData.callTraceErrors and make call‑trace fields optional to
match the API.
The clients can display chain‑specific explanations instead of generic
“reverted”.

## References

<!--
Are there any issues that this pull request is tied to?
Are there other links that reviewers should consult to understand these
changes better?
Are there client or consumer pull requests to adopt any breaking
changes?

For example:

* Fixes #12345
* Related to #67890
-->

Related Extension PR:
MetaMask/metamask-extension#39284

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've communicated my changes to consumers by [updating changelogs
for packages I've
changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md)
- [x] I've introduced [breaking
changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md)
in this PR and have prepared draft pull requests for clients and
consumer packages to resolve them



<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Adds visibility into simulation failures and aligns types with API
responses.
> 
> - Extracts errors from `callTrace` (including nested calls) and
returns them in `simulationData.callTraceErrors`; propagates in both
success and error paths
> - Relaxes `SimulationResponseCallTrace` fields (`calls`, `logs`) to be
optional/nullable; adds optional `error`
> - Refactors balance change parsing to use a cached
`transactionResponse` and include `callTraceErrors`; updates tests
accordingly
> - Updates `SimulationData` type and changelog
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
73af06e. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Matthew Walsh <matthew.walsh@consensys.net>
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 28, 2026

Builds ready [8acdef6]
UI Startup Metrics (1337 ± 121 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13371090180612113961569
load--1136915153811712061370
domContentLoaded--1130911153211712001364
domInteractive--2716100192384
firstPaint--1416733064193272
backgroundConnect--23722028212241262
firstReactRender--1793952029
initialActions--103112
loadScripts--90769913041179761143
setupStore--1363251622
numNetworkReqs--191377151363
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--19461583240616420522209
load--1090955149611711051394
domContentLoaded--1074942148611710921390
domInteractive--36191852833111
firstPaint--1757039478236333
backgroundConnect--34227966880339536
firstReactRender--24175282542
initialActions--106112
loadScripts--83570912131148461158
setupStore--1664471833
numNetworkReqs--71412124069173
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--8576841125959061042
load--712612103689786892
domContentLoaded--707608102889782882
domInteractive--261698182376
firstPaint--1086238653124187
backgroundConnect--361991164474
firstReactRender--17103661929
initialActions--102112
loadScripts--704606102688781879
setupStore--1263051424
numNetworkReqs--191375171369
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12511014203219613671605
load--7376171027967561000
domContentLoaded--727608102197744994
domInteractive--38181512937119
firstPaint--1376735157180261
backgroundConnect--15813057550158199
firstReactRender--23163542430
initialActions--102111
loadScripts--724606101395742985
setupStore--1242631317
numNetworkReqs--71411664061161
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14291138195517915271799
load--1164975178314212191481
domContentLoaded--1164975178314212181480
domInteractive--793226241108141
firstPaint--------
backgroundConnect--70263095696183
firstReactRender--13104051317
initialActions--102122
loadScripts--1128957175912411831333
setupStore--11555101040
numNetworkReqs--211184181576
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--284718189685113827774580
load--13501062284441012592636
domContentLoaded--13501062284441012592636
domInteractive--13235916140115434
firstPaint--------
backgroundConnect--2971161182238260918
firstReactRender--221486112329
initialActions--217123
loadScripts--13001040280437112192515
setupStore--1578770208177625
numNetworkReqs--62291724282169
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17031435240519017972077
load--14491241180912915441688
domContentLoaded--14491241180912915431688
domInteractive--902928746131150
firstPaint--------
backgroundConnect--812842560127192
firstReactRender--15113531520
initialActions--103122
loadScripts--14031219169910414601594
setupStore--144180231245
numNetworkReqs--211181181674
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30222020486172835674422
load--16981210309751117482882
domContentLoaded--16971210309751117482882
domInteractive--127311025161107382
firstPaint--------
backgroundConnect--325951727299340915
firstReactRender--21166062329
initialActions--207122
loadScripts--16341193304346017242737
setupStore--101674016967558
numNetworkReqs--60271703977163
19--------
📊 Page Load Benchmark Results

Current Commit: 8acdef6 | Date: 1/28/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±147ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 739ms (±146ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 89ms (±124ms) 🟢 | historical mean value: 80ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 147ms 1.01s 2.49s 1.06s 2.49s
domContentLoaded 739ms 146ms 699ms 2.17s 747ms 2.17s
firstPaint 89ms 124ms 56ms 1.32s 88ms 1.32s
firstContentfulPaint 89ms 124ms 56ms 1.32s 88ms 1.32s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 2.13 KiB (0.03%)
  • common: 265 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 3, 2026

Builds ready [367e4e3]
📊 Page Load Benchmark Results

Current Commit: 367e4e3 | Date: 2/3/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 977ms (±69ms) 🟢 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 682ms (±65ms) 🟢 | historical mean value: 717ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 73ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 977ms 69ms 934ms 1.26s 1.21s 1.26s
domContentLoaded 682ms 65ms 647ms 939ms 920ms 939ms
firstPaint 73ms 11ms 60ms 172ms 84ms 172ms
firstContentfulPaint 73ms 11ms 60ms 172ms 84ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 253.42 KiB (4.71%)
  • ui: 2.12 KiB (0.03%)
  • common: 235.83 KiB (2.52%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 3, 2026

Builds ready [9f22492]
UI Startup Metrics (1350 ± 89 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1350114917578913971486
load--115997315818812101288
domContentLoaded--115396315538712041281
domInteractive--2715127192377
firstPaint--169631237156193308
backgroundConnect--23021027214233263
firstReactRender--16103341824
initialActions--108113
loadScripts--9397491325889881072
setupStore--1365061621
numNetworkReqs--221580171574
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--19971539464543120672457
load--1119985176215011591493
domContentLoaded--1098972175614311351414
domInteractive--3517309343589
firstPaint--201651344170232398
backgroundConnect--3492661858223333437
firstReactRender--22154252335
initialActions--104112
loadScripts--87274415011359151182
setupStore--1463951723
numNetworkReqs--1254826051145243
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--85566810941079391056
load--71960198697798906
domContentLoaded--71359897696792898
domInteractive--261692182278
firstPaint--1156064069146214
backgroundConnect--3418179224282
firstReactRender--15103351529
initialActions--104113
loadScripts--71059697495790896
setupStore--1043951121
numNetworkReqs--221588181573
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1233890199723713691675
load--71761712551147111024
domContentLoaded--70661112441137011017
domInteractive--3518215283491
firstPaint--15564676113193434
backgroundConnect--15513038040156219
firstReactRender--23174142429
initialActions--102111
loadScripts--70360912371116991009
setupStore--1354261418
numNetworkReqs--1295027256153253
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17391448239119318592105
load--14451181216916915201756
domContentLoaded--14431176216016815201756
domInteractive--813330050106159
firstPaint--------
backgroundConnect--83292435096202
firstReactRender--13101721416
initialActions--103122
loadScripts--14001157213416114581711
setupStore--166236261448
numNetworkReqs--231289191877
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29562137492856230214405
load--15731206274735816762558
domContentLoaded--15731206274735816762558
domInteractive--143371339190134376
firstPaint--------
backgroundConnect--37712515053005361029
firstReactRender--18148291824
initialActions--103122
loadScripts--15221182267732416212485
setupStore--1128717146120481
numNetworkReqs--813622947102192
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17201438358930918362036
load--14821241331727315581684
domContentLoaded--14821240331627315571684
domInteractive--112341935189134154
firstPaint--------
backgroundConnect--762722649118180
firstReactRender--15125451520
initialActions--102122
loadScripts--14381226328826414871607
setupStore--216239381394
numNetworkReqs--241289201878
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30462219622865531184165
load--16761302470648718422542
domContentLoaded--16751301470548718422542
domInteractive--14433663140129535
firstPaint--------
backgroundConnect--3151161416258329908
firstReactRender--21167062330
initialActions--203123
loadScripts--16181282465547117632425
setupStore--1797777215310702
numNetworkReqs--76382785183193
19--------
📊 Page Load Benchmark Results

Current Commit: 9f22492 | Date: 2/3/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±54ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 729ms (±51ms) 🟢 | historical mean value: 723ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 54ms 1.01s 1.36s 1.07s 1.36s
domContentLoaded 729ms 51ms 703ms 1.02s 749ms 1.02s
firstPaint 77ms 11ms 60ms 168ms 88ms 168ms
firstContentfulPaint 77ms 11ms 60ms 168ms 88ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 2.11 KiB (0.03%)
  • common: 343 Bytes (0%)

Copy link
Copy Markdown

@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.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 4, 2026

Builds ready [2a7a9ff]
UI Startup Metrics (1376 ± 86 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1376119516448614291527
load--116997014218512201326
domContentLoaded--116396414168612151323
domInteractive--251587162379
firstPaint--1365935160190225
backgroundConnect--23321530916234268
firstReactRender--17113341926
initialActions--105113
loadScripts--94575211898610011089
setupStore--1365771526
numNetworkReqs--211578161569
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--20031644259716721012266
load--11401012174114611291561
domContentLoaded--11251003173114411121531
domInteractive--35191612636104
firstPaint--205711561161235413
backgroundConnect--32628357341336393
firstReactRender--25156792946
initialActions--107113
loadScripts--88577614311328751261
setupStore--1674271936
numNetworkReqs--1255125952151245
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--8386671087979111015
load--70960094996780905
domContentLoaded--70459394295775898
domInteractive--251688172278
firstPaint--1176134560153229
backgroundConnect--37181332739109
firstReactRender--14103441525
initialActions--104111
loadScripts--70159194094773896
setupStore--1162741224
numNetworkReqs--221584181579
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12561002189220613801718
load--71760611221117131065
domContentLoaded--70760011091117031059
domInteractive--38181713137118
firstPaint--1446660583173266
backgroundConnect--1645037755158307
firstReactRender--23173732428
initialActions--102011
loadScripts--70559811011107011050
setupStore--1254351320
numNetworkReqs--1255226756153248
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16701298216120118152065
load--14021145194518315321807
domContentLoaded--14011145194418315321807
domInteractive--853523250113209
firstPaint--------
backgroundConnect--772823548106184
firstReactRender--1292221316
initialActions--103112
loadScripts--13581130191716614611770
setupStore--145103141341
numNetworkReqs--231288191881
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30222270736774431344268
load--16491286557653817652627
domContentLoaded--16491286557653817642621
domInteractive--14334701144121545
firstPaint--------
backgroundConnect--2951151398244302884
firstReactRender--19147481924
initialActions--207122
loadScripts--15941271554851216592436
setupStore--1329744191125659
numNetworkReqs--723619242100189
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16171395211815017151920
load--13891199171610414541605
domContentLoaded--13881199171610514531604
domInteractive--902924445129163
firstPaint--------
backgroundConnect--71222674899151
firstReactRender--14102221418
initialActions--103022
loadScripts--1352118116949314091534
setupStore--154163221243
numNetworkReqs--221284171876
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30112174821773933014067
load--16631268660060018102405
domContentLoaded--16631268660060118092404
domInteractive--13833769156110559
firstPaint--------
backgroundConnect--2971121390264296999
firstReactRender--21164542328
initialActions--203122
loadScripts--16241248657258817722357
setupStore--1398787185179609
numNetworkReqs--69342114193180
19--------
📊 Page Load Benchmark Results

Current Commit: 2a7a9ff | Date: 2/4/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±141ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 741ms (±167ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 90ms (±148ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 141ms 1.01s 2.39s 1.08s 2.39s
domContentLoaded 741ms 167ms 700ms 2.35s 755ms 2.35s
firstPaint 90ms 148ms 64ms 1.56s 84ms 1.56s
firstContentfulPaint 90ms 148ms 64ms 1.56s 84ms 1.56s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 2.11 KiB (0.03%)
  • common: 343 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 4, 2026

Builds ready [ccbc054]
UI Startup Metrics (1395 ± 98 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1395121017869814551534
load--119299115859612491308
domContentLoaded--118598615809612421302
domInteractive--261795192381
firstPaint--156681310133194292
backgroundConnect--23621227814238268
firstReactRender--16102741925
initialActions--106112
loadScripts--96776113589610241082
setupStore--1262541321
numNetworkReqs--211582171572
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--283716067876125839715061
load--12271012216217012851567
domContentLoaded--12091006215116712651549
domInteractive--37181842637107
firstPaint--228722163261260440
backgroundConnect--849290380288512322811
firstReactRender--26175382945
initialActions--108113
loadScripts--963784181215010161263
setupStore--1674471834
numNetworkReqs--1325427554163253
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--87667211951259711086
load--7416051027117820973
domContentLoaded--7356011020116815968
domInteractive--2616114192279
firstPaint--1166261869152215
backgroundConnect--3417112184277
firstReactRender--1810287271727
initialActions--104112
loadScripts--7325981018116813966
setupStore--1164041217
numNetworkReqs--221587181574
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1337907254429615261866
load--76765613531177921060
domContentLoaded--75664513461177751054
domInteractive--41202383739119
firstPaint--1616666699195359
backgroundConnect--17413438252175313
firstReactRender--24184242633
initialActions--102011
loadScripts--75364313371167721043
setupStore--1353851521
numNetworkReqs--1575334957172296
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16051330208716617321898
load--13561136180013814701600
domContentLoaded--13551135180013914701600
domInteractive--72331623798145
firstPaint--------
backgroundConnect--772826649104171
firstReactRender--1292221314
initialActions--102012
loadScripts--13101113166711513971517
setupStore--135107141338
numNetworkReqs--221278161870
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--31872260689971133774745
load--16471305510251617112628
domContentLoaded--16471305510251617112627
domInteractive--176421315195178499
firstPaint--------
backgroundConnect--41912213913265861169
firstReactRender--20146892132
initialActions--207123
loadScripts--15971272497250816082554
setupStore--14811773187186629
numNetworkReqs--89412535097228
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16821414241617717922016
load--14291226187811515141629
domContentLoaded--14291226187811515141629
domInteractive--883018443130152
firstPaint--------
backgroundConnect--69242034387158
firstReactRender--16116461624
initialActions--103122
loadScripts--13911203183210514501543
setupStore--164242281367
numNetworkReqs--221278171875
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29692177480352730984386
load--15701281302731816642343
domContentLoaded--15701281302731816632343
domInteractive--154351295171144519
firstPaint--------
backgroundConnect--41310714163166731042
firstReactRender--23156492452
initialActions--203123
loadScripts--15291260293130116192125
setupStore--1668896207190645
numNetworkReqs--88402955298214
19--------
📊 Page Load Benchmark Results

Current Commit: ccbc054 | Date: 2/4/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±36ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 709ms (±34ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 36ms 1000ms 1.30s 1.04s 1.30s
domContentLoaded 709ms 34ms 691ms 969ms 726ms 969ms
firstPaint 75ms 12ms 60ms 184ms 80ms 184ms
firstContentfulPaint 75ms 12ms 60ms 184ms 80ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 2 KiB (0.02%)
  • common: 343 Bytes (0%)

@github-project-automation github-project-automation bot moved this from Needs dev review to Review finalised - Ready to be merged in PR review queue Feb 4, 2026
@Julink-eth Julink-eth added this pull request to the merge queue Feb 4, 2026
Merged via the queue into main with commit 473ff37 Feb 4, 2026
179 checks passed
@Julink-eth Julink-eth deleted the feat/display-gas-sponsorship-warning branch February 4, 2026 10:56
@github-actions github-actions bot locked and limited conversation to collaborators Feb 4, 2026
@metamaskbot metamaskbot added the release-13.18.0 Issue or pull request that will be included in release 13.18.0 label Feb 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.18.0 Issue or pull request that will be included in release 13.18.0 size-M team-network-enablement

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants