Skip to content

feat: improve smart transactions metrics#41465

Merged
OGPoyraz merged 6 commits intomainfrom
feat/STX-433
Apr 9, 2026
Merged

feat: improve smart transactions metrics#41465
OGPoyraz merged 6 commits intomainfrom
feat/STX-433

Conversation

@rarquevaux
Copy link
Copy Markdown
Contributor

@rarquevaux rarquevaux commented Apr 2, 2026

This PR

  • Cleans-up/Clarifies the semantic of the smartTransactions properties on the metametrics events
  • Adds a transaction_submission_method in the properties for transaction events to record the method of submission

The current state is a first implementation that can be enriched with what submissions from the TransactionPay controller and the RPC provider if we need more granularity.

Description

Changelog

CHANGELOG entry: update transaction transactions metrics to add details on smart transactions and submission method

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

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
Touches transaction publish/publishBatch hooks and metrics plumbing, so a mistake could skew analytics or add noisy console errors, but it does not change transaction signing/broadcast behavior beyond extra try/catch instrumentation.

Overview
Improves transaction metrics for Smart Transactions (STX). Replaces the prior STX metrics fields (e.g., gas_included/timeout/proxy flags) with clearer booleans: is_smart_transactions_user_opt_in, is_smart_transactions_available, and the (now deprecated) is_smart_transaction, plus stx_original_transaction_status when available.

Adds submission-path attribution to transaction UI metrics. TransactionControllerInit now upserts a transaction_submission_method fragment on successful publish/publishBatch STX and delegation (Sentinel Relay) submissions, guarded so metrics failures don’t block returning a transactionHash; tests and console baseline are updated accordingly.

Reviewed by Cursor Bugbot for commit 8711eb7. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

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-transactions Transactions team label Apr 2, 2026
@rarquevaux rarquevaux changed the title Feat/stx 433 feat(STX-433) improve smart transactions metrics Apr 2, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Apr 2, 2026

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (2 files, +6 -2)
  • 📁 app/
    • 📁 scripts/
      • 📁 lib/
        • 📁 transaction/
          • 📁 metrics-builders/
            • 📄 smart-transactions.test.ts +4 -2
            • 📄 test-utils.ts +2 -0

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Apr 2, 2026

Builds ready [3a7e4a4]
⚡ Performance Benchmarks (Total: 🟢 6 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 23926271291 | Baseline logs

Interaction Benchmarks
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/total: -11%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 2.6s
  • 🟡 confirmTx/FCP: p75 2.4s
  • 🟡 bridgeUserActions/FCP: p75 2.4s
Startup Benchmarks
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -12%
  • startupStandardHome/load: -14%
  • startupStandardHome/domContentLoaded: -16%
  • startupStandardHome/backgroundConnect: +10%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/loadScripts: -19%
  • startupStandardHome/numNetworkReqs: -13%
  • startupPowerUserHome/domInteractive: -19%
  • startupPowerUserHome/backgroundConnect: +52%
  • startupPowerUserHome/numNetworkReqs: -45%
  • startupStandardHome/uiStartup: -15%
  • startupStandardHome/load: -16%
  • startupStandardHome/domContentLoaded: -15%
  • startupStandardHome/backgroundConnect: -34%
  • startupStandardHome/firstReactRender: -24%
  • startupStandardHome/loadScripts: -15%
  • startupStandardHome/setupStore: -21%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/domInteractive: -13%
  • startupPowerUserHome/numNetworkReqs: +46%
  • startupStandardHome/domInteractive: -46%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/setupStore: +14%
  • startupPowerUserHome/backgroundConnect: -33%
  • startupPowerUserHome/setupStore: +25%
  • startupStandardHome/domInteractive: -50%
  • startupStandardHome/backgroundConnect: -14%
  • startupStandardHome/initialActions: -44%
  • startupStandardHome/setupStore: -60%
  • startupStandardHome/numNetworkReqs: -18%
  • startupPowerUserHome/backgroundConnect: -30%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 824ms
  • 🔴 startupPowerUserHome/INP: p75 776ms
  • 🟡 startupPowerUserHome/LCP: p75 3.7s
  • 🟡 startupPowerUserHome/LCP: p75 3.7s
User Journey Benchmarks
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/metricsToWalletReadyScreen: -39%
  • onboardingImportWallet/doneButtonToHomeScreen: -75%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +33%
  • onboardingImportWallet/total: -40%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +24%
  • onboardingNewWallet/doneButtonToAssetList: -24%
  • onboardingNewWallet/total: -20%
  • assetDetails/assetClickToPriceChart: -64%
  • assetDetails/total: -64%
  • solanaAssetDetails/assetClickToPriceChart: -56%
  • solanaAssetDetails/total: -56%
  • importSrpHome/openAccountMenuAfterLogin: -68%
  • importSrpHome/homeAfterImportWithNewWallet: -35%
  • importSrpHome/total: -30%
  • sendTransactions/openSendPageFromHome: +70%
  • swap/openSwapPageFromHome: -87%
  • swap/fetchAndDisplaySwapQuotes: +31%
  • swap/total: +13%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/INP: p75 224ms
  • 🟡 assetDetails/FCP: p75 2.5s
  • 🟡 solanaAssetDetails/FCP: p75 2.6s
  • 🟡 importSrpHome/INP: p75 208ms
  • 🟡 importSrpHome/FCP: p75 2.4s
  • 🟡 sendTransactions/INP: p75 216ms
  • 🟡 sendTransactions/FCP: p75 2.5s
  • 🟡 swap/FCP: p75 2.5s
🌐 Dapp Page Load Benchmarks

Current Commit: 3a7e4a4 | Date: 4/2/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 984ms (±46ms) 🟢 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 691ms (±42ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±10ms) 🟢 | historical mean value: 86ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 984ms 46ms 944ms 1.30s 1.04s 1.30s
domContentLoaded 691ms 42ms 654ms 987ms 729ms 987ms
firstPaint 81ms 10ms 64ms 156ms 92ms 156ms
firstContentfulPaint 81ms 10ms 64ms 156ms 92ms 156ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 953 Bytes (0.02%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

github-merge-queue bot pushed a commit to MetaMask/core that referenced this pull request Apr 7, 2026
## Explanation

The goal of this PR is to add a `submissionMethod` property in the
TransactionMetadata object in order to record how the transaction was
submitted to the network and add it to the metrics. This datapoint can
be recording at submission in the
https://github.com/MetaMask/metamask-extension/blob/main/app/scripts/controller-init/confirmations/transaction-controller-init.ts

Draft PR on extension to demonstrate the use case:
MetaMask/metamask-extension#41465

<!--
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?
-->

## 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
-->

## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] 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)
- [ ] 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]
> **Low Risk**
> Low risk: this is a type-only change adding an optional metadata field
and enum export, with no behavioral changes to transaction processing.
> 
> **Overview**
> Adds an optional `submissionMethod` field to `TransactionMeta` along
with a new `TransactionSubmissionMethod` enum (currently `sentinel_stx`
and `sentinel_relay`) so clients can persist how a transaction was
submitted.
> 
> Re-exports `TransactionSubmissionMethod` from the package entrypoint
and documents the addition in the `transaction-controller` changelog.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
dd12d37. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
micaelae pushed a commit to MetaMask/core that referenced this pull request Apr 7, 2026
## Explanation

The goal of this PR is to add a `submissionMethod` property in the
TransactionMetadata object in order to record how the transaction was
submitted to the network and add it to the metrics. This datapoint can
be recording at submission in the
https://github.com/MetaMask/metamask-extension/blob/main/app/scripts/controller-init/confirmations/transaction-controller-init.ts

Draft PR on extension to demonstrate the use case:
MetaMask/metamask-extension#41465

<!--
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?
-->

## 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
-->

## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] 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)
- [ ] 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]
> **Low Risk**
> Low risk: this is a type-only change adding an optional metadata field
and enum export, with no behavioral changes to transaction processing.
> 
> **Overview**
> Adds an optional `submissionMethod` field to `TransactionMeta` along
with a new `TransactionSubmissionMethod` enum (currently `sentinel_stx`
and `sentinel_relay`) so clients can persist how a transaction was
submitted.
> 
> Re-exports `TransactionSubmissionMethod` from the package entrypoint
and documents the addition in the `transaction-controller` changelog.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
dd12d37. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@rarquevaux rarquevaux changed the title feat(STX-433) improve smart transactions metrics feat: improve smart transactions metrics Apr 7, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Apr 7, 2026

Builds ready [c53b994]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 24097459609 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: -19%
  • loadNewAccount/total: -19%
  • bridgeUserActions/bridge_load_page: +15%
  • bridgeUserActions/bridge_load_asset_picker: -47%
  • bridgeUserActions/bridge_search_token: -17%
  • bridgeUserActions/total: -14%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.5s
  • 🟡 bridgeUserActions/FCP: p75 2.5s
Startup Benchmarks · Samples: 100
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -12%
  • startupStandardHome/load: -14%
  • startupStandardHome/domContentLoaded: -15%
  • startupStandardHome/backgroundConnect: +15%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/loadScripts: -20%
  • startupStandardHome/numNetworkReqs: -13%
  • startupPowerUserHome/uiStartup: -20%
  • startupPowerUserHome/domInteractive: -18%
  • startupPowerUserHome/backgroundConnect: +44%
  • startupPowerUserHome/setupStore: +11%
  • startupPowerUserHome/numNetworkReqs: -12%
  • startupStandardHome/uiStartup: -12%
  • startupStandardHome/load: -13%
  • startupStandardHome/domContentLoaded: -12%
  • startupStandardHome/backgroundConnect: -35%
  • startupStandardHome/firstReactRender: -20%
  • startupStandardHome/loadScripts: -12%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/domInteractive: -14%
  • startupStandardHome/domInteractive: -58%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/numNetworkReqs: -18%
  • startupPowerUserHome/backgroundConnect: -15%
  • startupPowerUserHome/setupStore: -29%
  • startupStandardHome/domInteractive: -10%
  • startupStandardHome/initialActions: +11%
  • startupStandardHome/setupStore: -33%
  • startupStandardHome/numNetworkReqs: -16%
  • startupPowerUserHome/domInteractive: +25%
  • startupPowerUserHome/backgroundConnect: -27%
  • startupPowerUserHome/firstReactRender: -11%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 640ms
  • 🔴 startupPowerUserHome/INP: p75 632ms
  • 🟡 startupPowerUserHome/LCP: p75 3.6s
  • 🟡 startupPowerUserHome/INP: p75 248ms
  • 🟡 startupPowerUserHome/LCP: p75 3.7s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/doneButtonToHomeScreen: -76%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +22%
  • onboardingImportWallet/total: -43%
  • onboardingNewWallet/srpButtonToPwForm: -78%
  • onboardingNewWallet/skipBackupToMetricsScreen: -67%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -24%
  • onboardingNewWallet/doneButtonToAssetList: -36%
  • onboardingNewWallet/total: -35%
  • assetDetails/assetClickToPriceChart: -71%
  • assetDetails/total: -71%
  • solanaAssetDetails/assetClickToPriceChart: -64%
  • solanaAssetDetails/total: -64%
  • importSrpHome/openAccountMenuAfterLogin: -76%
  • importSrpHome/homeAfterImportWithNewWallet: -36%
  • importSrpHome/total: -31%
  • sendTransactions/openSendPageFromHome: -22%
  • sendTransactions/selectTokenToSendFormLoaded: -32%
  • swap/openSwapPageFromHome: -96%
  • swap/fetchAndDisplaySwapQuotes: +31%
  • swap/total: +11%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/INP: p75 224ms
  • 🟡 assetDetails/FCP: p75 2.5s
  • 🟡 solanaAssetDetails/FCP: p75 2.5s
  • 🟡 importSrpHome/FCP: p75 2.4s
  • 🟡 sendTransactions/INP: p75 224ms
  • 🟡 sendTransactions/FCP: p75 2.5s
  • 🟡 swap/FCP: p75 2.5s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs
  • background: 977 Bytes (0.02%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Apr 7, 2026

Builds ready [26df931]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 24099268316 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/bridge_load_asset_picker: -46%
  • bridgeUserActions/bridge_search_token: -14%
  • bridgeUserActions/total: -20%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.4s
  • 🟡 bridgeUserActions/FCP: p75 2.5s
Startup Benchmarks · Samples: 100
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -11%
  • startupStandardHome/load: -13%
  • startupStandardHome/domContentLoaded: -15%
  • startupStandardHome/backgroundConnect: +12%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/loadScripts: -18%
  • startupStandardHome/numNetworkReqs: -21%
  • startupPowerUserHome/uiStartup: -11%
  • startupPowerUserHome/domInteractive: -11%
  • startupPowerUserHome/backgroundConnect: +101%
  • startupStandardHome/uiStartup: -12%
  • startupStandardHome/load: -10%
  • startupStandardHome/firstPaint: +24%
  • startupStandardHome/backgroundConnect: -28%
  • startupStandardHome/firstReactRender: -24%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/numNetworkReqs: -44%
  • startupStandardHome/domInteractive: -60%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/numNetworkReqs: -11%
  • startupPowerUserHome/uiStartup: -13%
  • startupPowerUserHome/backgroundConnect: -44%
  • startupPowerUserHome/setupStore: +34%
  • startupStandardHome/domInteractive: -32%
  • startupStandardHome/backgroundConnect: -16%
  • startupStandardHome/initialActions: +11%
  • startupStandardHome/setupStore: -60%
  • startupStandardHome/numNetworkReqs: -18%
  • startupPowerUserHome/uiStartup: -12%
  • startupPowerUserHome/domInteractive: -18%
  • startupPowerUserHome/backgroundConnect: -23%
  • startupPowerUserHome/setupStore: -16%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 696ms
  • 🔴 startupPowerUserHome/INP: p75 680ms
  • 🟡 startupPowerUserHome/LCP: p75 3.3s
  • 🟡 startupPowerUserHome/LCP: p75 3.6s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/metricsToWalletReadyScreen: -33%
  • onboardingImportWallet/doneButtonToHomeScreen: -74%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +22%
  • onboardingImportWallet/total: -42%
  • onboardingNewWallet/srpButtonToPwForm: -78%
  • onboardingNewWallet/skipBackupToMetricsScreen: -68%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -26%
  • onboardingNewWallet/doneButtonToAssetList: -45%
  • onboardingNewWallet/total: -43%
  • assetDetails/assetClickToPriceChart: -71%
  • assetDetails/total: -71%
  • solanaAssetDetails/assetClickToPriceChart: -62%
  • solanaAssetDetails/total: -62%
  • importSrpHome/openAccountMenuAfterLogin: -68%
  • importSrpHome/homeAfterImportWithNewWallet: -37%
  • importSrpHome/total: -31%
  • sendTransactions/openSendPageFromHome: +10%
  • sendTransactions/selectTokenToSendFormLoaded: -26%
  • sendTransactions/reviewTransactionToConfirmationPage: +17%
  • sendTransactions/total: +15%
  • swap/openSwapPageFromHome: -96%
  • swap/fetchAndDisplaySwapQuotes: +32%
  • swap/total: +12%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/INP: p75 208ms
  • 🟡 assetDetails/FCP: p75 2.5s
  • 🟡 solanaAssetDetails/FCP: p75 2.5s
  • 🟡 importSrpHome/INP: p75 216ms
  • 🟡 importSrpHome/FCP: p75 2.5s
  • 🟡 sendTransactions/INP: p75 208ms
  • 🟡 sendTransactions/FCP: p75 2.5s
  • 🟡 swap/FCP: p75 2.6s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs
  • background: 977 Bytes (0.02%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Apr 7, 2026

Builds ready [52bec20]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 24102355225 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: -17%
  • loadNewAccount/total: -17%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.4s
  • 🟡 bridgeUserActions/FCP: p75 2.5s
Startup Benchmarks · Samples: 100
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/load: -11%
  • startupStandardHome/domContentLoaded: -13%
  • startupStandardHome/backgroundConnect: +13%
  • startupStandardHome/firstReactRender: -17%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/loadScripts: -15%
  • startupStandardHome/numNetworkReqs: -11%
  • startupPowerUserHome/uiStartup: -15%
  • startupPowerUserHome/domInteractive: -10%
  • startupPowerUserHome/backgroundConnect: +118%
  • startupPowerUserHome/numNetworkReqs: -25%
  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/load: -12%
  • startupStandardHome/domContentLoaded: -11%
  • startupStandardHome/firstPaint: +27%
  • startupStandardHome/backgroundConnect: -32%
  • startupStandardHome/firstReactRender: -28%
  • startupStandardHome/loadScripts: -11%
  • startupStandardHome/setupStore: -14%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/domInteractive: -15%
  • startupPowerUserHome/numNetworkReqs: +14%
  • startupStandardHome/domInteractive: -59%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/numNetworkReqs: -18%
  • startupPowerUserHome/uiStartup: -13%
  • startupPowerUserHome/domInteractive: -18%
  • startupPowerUserHome/backgroundConnect: -38%
  • startupPowerUserHome/setupStore: +56%
  • startupStandardHome/domInteractive: -43%
  • startupStandardHome/backgroundConnect: -13%
  • startupStandardHome/initialActions: -44%
  • startupStandardHome/setupStore: -60%
  • startupStandardHome/numNetworkReqs: -18%
  • startupPowerUserHome/uiStartup: -12%
  • startupPowerUserHome/domInteractive: -14%
  • startupPowerUserHome/backgroundConnect: -21%
  • startupPowerUserHome/firstReactRender: -11%
  • startupPowerUserHome/numNetworkReqs: -12%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 696ms
  • 🔴 startupPowerUserHome/INP: p75 640ms
  • 🟡 startupPowerUserHome/LCP: p75 3.3s
  • 🟡 startupPowerUserHome/INP: p75 240ms
  • 🟡 startupPowerUserHome/LCP: p75 3.5s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -84%
  • onboardingImportWallet/metricsToWalletReadyScreen: -24%
  • onboardingImportWallet/doneButtonToHomeScreen: -74%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +33%
  • onboardingImportWallet/total: -39%
  • onboardingNewWallet/srpButtonToPwForm: -79%
  • onboardingNewWallet/skipBackupToMetricsScreen: -69%
  • onboardingNewWallet/doneButtonToAssetList: -35%
  • onboardingNewWallet/total: -34%
  • assetDetails/assetClickToPriceChart: -72%
  • assetDetails/total: -72%
  • solanaAssetDetails/assetClickToPriceChart: -73%
  • solanaAssetDetails/total: -73%
  • importSrpHome/loginToHomeScreen: +11%
  • importSrpHome/openAccountMenuAfterLogin: -74%
  • importSrpHome/homeAfterImportWithNewWallet: -68%
  • importSrpHome/total: -59%
  • sendTransactions/openSendPageFromHome: -30%
  • sendTransactions/selectTokenToSendFormLoaded: -26%
  • sendTransactions/reviewTransactionToConfirmationPage: +34%
  • sendTransactions/total: +31%
  • swap/openSwapPageFromHome: -96%
  • swap/fetchAndDisplaySwapQuotes: +31%
  • swap/total: +11%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/INP: p75 208ms
  • 🟡 assetDetails/FCP: p75 2.5s
  • 🟡 solanaAssetDetails/FCP: p75 2.4s
  • 🟡 importSrpHome/INP: p75 224ms
  • 🟡 importSrpHome/FCP: p75 2.6s
  • 🟡 sendTransactions/INP: p75 240ms
  • 🟡 sendTransactions/FCP: p75 2.5s
  • 🟡 swap/FCP: p75 2.6s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 842 Bytes (0.01%)
  • ui: 2.17 KiB (0.03%)
  • common: -116 Bytes (0%)

@rarquevaux rarquevaux marked this pull request as ready for review April 7, 2026 20:53
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.

Fix All in Cursor

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

Reviewed by Cursor Bugbot for commit 454987d. Configure here.

@rarquevaux rarquevaux added the retry-ci Tells GitHub Actions to retry failed jobs, label removed automatically before the retry label Apr 8, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Apr 8, 2026

Builds ready [7fbe3d4]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 24158675454 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/bridge_load_asset_picker: +22%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.6s
  • 🟡 bridgeUserActions/FCP: p75 2.7s
Startup Benchmarks · Samples: 100
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/load: -14%
  • startupStandardHome/domContentLoaded: -17%
  • startupStandardHome/backgroundConnect: +10%
  • startupStandardHome/firstReactRender: -13%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/loadScripts: -20%
  • startupStandardHome/numNetworkReqs: -21%
  • startupPowerUserHome/domInteractive: -14%
  • startupPowerUserHome/backgroundConnect: +95%
  • startupPowerUserHome/numNetworkReqs: -55%
  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/load: -11%
  • startupStandardHome/domContentLoaded: -11%
  • startupStandardHome/firstPaint: +18%
  • startupStandardHome/backgroundConnect: -33%
  • startupStandardHome/firstReactRender: -24%
  • startupStandardHome/loadScripts: -11%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/domInteractive: -19%
  • startupStandardHome/domInteractive: -56%
  • startupStandardHome/backgroundConnect: +12%
  • startupStandardHome/initialActions: +25%
  • startupStandardHome/numNetworkReqs: -18%
  • startupPowerUserHome/uiStartup: -14%
  • startupPowerUserHome/backgroundConnect: -34%
  • startupPowerUserHome/setupStore: +20%
  • startupStandardHome/uiStartup: -25%
  • startupStandardHome/load: -25%
  • startupStandardHome/domContentLoaded: -25%
  • startupStandardHome/domInteractive: -50%
  • startupStandardHome/backgroundConnect: -25%
  • startupStandardHome/firstReactRender: -23%
  • startupStandardHome/initialActions: -44%
  • startupStandardHome/loadScripts: -25%
  • startupStandardHome/setupStore: -63%
  • startupPowerUserHome/uiStartup: -12%
  • startupPowerUserHome/backgroundConnect: -34%
  • startupPowerUserHome/setupStore: -52%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 728ms
  • 🔴 startupPowerUserHome/INP: p75 720ms
  • 🟡 startupPowerUserHome/LCP: p75 3.4s
  • 🟡 startupPowerUserHome/LCP: p75 3.5s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/metricsToWalletReadyScreen: -43%
  • onboardingImportWallet/doneButtonToHomeScreen: -75%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +23%
  • onboardingImportWallet/total: -42%
  • onboardingNewWallet/srpButtonToPwForm: -80%
  • onboardingNewWallet/skipBackupToMetricsScreen: -68%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -31%
  • onboardingNewWallet/doneButtonToAssetList: -26%
  • onboardingNewWallet/total: -27%
  • assetDetails/assetClickToPriceChart: -46%
  • assetDetails/total: -46%
  • solanaAssetDetails/assetClickToPriceChart: -67%
  • solanaAssetDetails/total: -67%
  • importSrpHome/openAccountMenuAfterLogin: -75%
  • importSrpHome/homeAfterImportWithNewWallet: -70%
  • importSrpHome/total: -61%
  • sendTransactions/openSendPageFromHome: -36%
  • sendTransactions/selectTokenToSendFormLoaded: -31%
  • sendTransactions/reviewTransactionToConfirmationPage: +33%
  • sendTransactions/total: +30%
  • swap/openSwapPageFromHome: -97%
  • swap/fetchAndDisplaySwapQuotes: +31%
  • swap/total: +11%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/INP: p75 224ms
  • 🟡 assetDetails/FCP: p75 2.4s
  • 🟡 solanaAssetDetails/FCP: p75 2.5s
  • 🟡 importSrpHome/INP: p75 216ms
  • 🟡 importSrpHome/FCP: p75 2.5s
  • 🟡 sendTransactions/FCP: p75 2.4s
  • 🟡 swap/FCP: p75 2.4s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.19 KiB (0.02%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 8, 2026

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Apr 8, 2026

Builds ready [8711eb7]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 24162319626 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: -19%
  • loadNewAccount/total: -19%
  • bridgeUserActions/bridge_load_page: +12%
  • bridgeUserActions/bridge_load_asset_picker: -38%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 2.6s
  • 🟡 confirmTx/FCP: p75 2.5s
  • 🟡 bridgeUserActions/FCP: p75 2.4s
Startup Benchmarks · Samples: 100
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/load: -12%
  • startupStandardHome/domContentLoaded: -14%
  • startupStandardHome/domInteractive: +11%
  • startupStandardHome/backgroundConnect: +14%
  • startupStandardHome/firstReactRender: -13%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/loadScripts: -17%
  • startupStandardHome/numNetworkReqs: -21%
  • startupPowerUserHome/backgroundConnect: +118%
  • startupPowerUserHome/numNetworkReqs: -41%
  • startupStandardHome/uiStartup: -12%
  • startupStandardHome/load: -11%
  • startupStandardHome/domContentLoaded: -11%
  • startupStandardHome/backgroundConnect: -34%
  • startupStandardHome/firstReactRender: -24%
  • startupStandardHome/loadScripts: -11%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/numNetworkReqs: -20%
  • startupStandardHome/domInteractive: -14%
  • startupStandardHome/initialActions: +25%
  • startupStandardHome/setupStore: +21%
  • startupPowerUserHome/backgroundConnect: -30%
  • startupPowerUserHome/setupStore: -14%
  • startupStandardHome/domInteractive: -20%
  • startupStandardHome/initialActions: -44%
  • startupStandardHome/setupStore: -57%
  • startupStandardHome/numNetworkReqs: -13%
  • startupPowerUserHome/backgroundConnect: -23%
  • startupPowerUserHome/setupStore: +15%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 648ms
  • 🔴 startupPowerUserHome/INP: p75 728ms
  • 🟡 startupPowerUserHome/LCP: p75 3.6s
  • 🟡 startupPowerUserHome/INP: p75 224ms
  • 🟡 startupPowerUserHome/LCP: p75 3.6s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/metricsToWalletReadyScreen: -43%
  • onboardingImportWallet/doneButtonToHomeScreen: -75%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +33%
  • onboardingImportWallet/total: -41%
  • onboardingNewWallet/srpButtonToPwForm: -76%
  • onboardingNewWallet/skipBackupToMetricsScreen: -67%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -11%
  • onboardingNewWallet/doneButtonToAssetList: -39%
  • onboardingNewWallet/total: -36%
  • assetDetails/assetClickToPriceChart: -52%
  • assetDetails/total: -52%
  • solanaAssetDetails/assetClickToPriceChart: -71%
  • solanaAssetDetails/total: -71%
  • importSrpHome/openAccountMenuAfterLogin: -76%
  • importSrpHome/homeAfterImportWithNewWallet: -76%
  • importSrpHome/total: -66%
  • sendTransactions/openSendPageFromHome: -11%
  • sendTransactions/selectTokenToSendFormLoaded: -28%
  • sendTransactions/reviewTransactionToConfirmationPage: +35%
  • sendTransactions/total: +32%
  • swap/openSwapPageFromHome: -96%
  • swap/fetchAndDisplaySwapQuotes: +31%
  • swap/total: +11%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/INP: p75 216ms
  • 🟡 assetDetails/FCP: p75 2.5s
  • 🟡 solanaAssetDetails/FCP: p75 2.5s
  • 🟡 importSrpHome/INP: p75 216ms
  • 🟡 importSrpHome/FCP: p75 2.4s
  • 🟡 sendTransactions/INP: p75 208ms
  • 🟡 sendTransactions/FCP: p75 2.4s
  • 🟡 swap/FCP: p75 2.5s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.19 KiB (0.02%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

github-merge-queue bot pushed a commit to MetaMask/metamask-mobile that referenced this pull request Apr 9, 2026
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

This PR
- Cleans-up/Clarifies the semantic of the smartTransactions properties
on the metametrics events
- Adds a transaction_submission_method in the properties for transaction
events to record the method of submission
The current state is a first implementation that can be enriched with
what submissions from the TransactionPay controller and the RPC provider
if we need more granularity.

PR on extension
MetaMask/metamask-extension#41465

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: update transaction transactions metrics to add details
on smart transactions and submission method

## **Related issues**

Fixes:

## **Manual testing steps**

```gherkin
Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]
```

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests if applicable
- [ ] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I've applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches transaction submission hooks to dispatch new confirmation
metrics fragments, which could affect transaction publishing flows if
dispatch or store access misbehaves (though guarded by try/catch).
Metrics semantics also change, which may impact downstream analytics
expectations.
> 
> **Overview**
> **STX metrics semantics are updated** so events always include base
flags (`is_smart_transactions_user_opt_in`,
`is_smart_transactions_available`, `is_smart_transaction`), and
finalized STX flows can additionally attach
`stx_original_transaction_status` (via updated
`getSmartTransactionMetricsProperties` / `getStxMetricsProperties`).
> 
> **Transaction submission method is now recorded** by dispatching
`updateConfirmationMetric` from `transaction-controller-init` when a
publish path returns a hash, tagging `transaction_submission_method` as
`sentinel_stx` (STX single + batch) or `sentinel_relay` (7702
delegation). Tests were updated/added to cover the new STX property
behavior and the new metric dispatches.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
2aa038e. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@rarquevaux rarquevaux added this pull request to the merge queue Apr 9, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to a conflict with the base branch Apr 9, 2026
@OGPoyraz OGPoyraz added this pull request to the merge queue Apr 9, 2026
Merged via the queue into main with commit a5188f9 Apr 9, 2026
211 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.27.0 Issue or pull request that will be included in release 13.27.0 size-L team-transactions Transactions team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants