Skip to content

Conversation

@gantunesr
Copy link
Member

@gantunesr gantunesr commented Dec 1, 2025

Description

Open in GitHub Codespaces

Updates the send events to use the updated properties for hardware wallets as they're described in MUL-1257

Changelog

CHANGELOG entry: null

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MUL-1257

Manual testing steps

  1. Perform a send transaction using a hardware wallet device
  2. Check that the properties hardware_wallet_type and account_type reflect the following values: Ledger || Trezor || QR Hardware || Lattice || OneKey for the events Transaction Added, Transaction Approved, Transaction Submitted, and Transaction Finalized

Screenshots/Recordings

Screenshot 2025-12-01 at 12 07 02 PM

Pre-merge author checklist

Pre-merge reviewer checklist

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

Note

Maps hardware keyring types to human-readable device names for metrics and only includes account_hardware_type when present; updates tests accordingly.

  • Metrics payload (app/scripts/lib/snap-keyring/metrics.ts):
    • Conditionally include account_hardware_type only when resolved.
    • Keep account_type, device_model, and snap fields unchanged.
  • Controller (app/scripts/metamask-controller.js):
    • Use KEYRING_DEVICE_PROPERTY_MAP to map keyring types to device names in getHardwareTypeForMetric and getAccountType.
  • Constants (shared/constants/hardware-wallets.ts):
    • Add KEYRING_DEVICE_PROPERTY_MAP mapping from KeyringTypes to device labels (Ledger, Trezor, OneKey, Lattice, QR Hardware).
  • Tests:
    • Update expectations to use device-name mapping and conditional account_hardware_type.
    • Add hardware wallet account test; adjust HD and snap account tests.

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

@metamaskbot metamaskbot added the team-accounts-framework Accounts Framework team label Dec 1, 2025
@metamaskbot
Copy link
Collaborator

metamaskbot commented Dec 1, 2025

✨ Files requiring CODEOWNER review ✨

🔑 @MetaMask/accounts-engineers (2 files, +85 -13)
  • 📁 app/
    • 📁 scripts/
      • 📁 lib/
        • 📁 snap-keyring/
          • 📄 metrics.test.ts +74 -10
          • 📄 metrics.ts +11 -3

@github-actions github-actions bot added the size-M label Dec 1, 2025
@metamaskbot
Copy link
Collaborator

Builds ready [44fe130]
UI Startup Metrics (1212 ± 107 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1212982153710712931379
load100982913219810601201
domContentLoaded100282613149610551191
domInteractive2414125202080
firstPaint67073125141210291190
backgroundConnect20218124011208226
firstReactRender3318171173953
getState37141422442102
initialActions109112
loadScripts807647109791849984
setupStore1262441320
numNetworkReqs1257720572
BrowserifyPower User HomeuiStartup20801711273124923022576
load1018892157313310151369
domContentLoaded1004884155013310021357
domInteractive3316162253091
firstPaint51510115784019581235
backgroundConnect23719967373229305
firstReactRender5941103136389
getState19713171989198252
initialActions1011112
loadScripts79768213381317901148
setupStore2174682440
numNetworkReqs1246636467149277
WebpackStandard HomeuiStartup8517191178858801028
load66057888778690831
domContentLoaded65557387978687824
domInteractive2816170272293
firstPaint23583808171228641
backgroundConnect1167091226
firstReactRender2920108123341
getState261362113348
initialActions104112
loadScripts65257187076685815
setupStore1164451318
numNetworkReqs1257720571
WebpackPower User HomeuiStartup16571300246826319102181
load6965901011102704967
domContentLoaded6875811003103688960
domInteractive39181953534131
firstPaint2921031022203275720
backgroundConnect70862415619550
firstReactRender62458786877
getState196128682100187240
initialActions104112
loadScripts684579994101686951
setupStore21972112247
numNetworkReqs1756743985220421
FirefoxBrowserifyStandard HomeuiStartup13431067171614214461606
load110489814349711731257
domContentLoaded110489714299711731256
domInteractive68311753586142
firstPaint------
backgroundConnect50201893744133
firstReactRender24175662437
getState12679101232
initialActions103122
loadScripts107188313658711321223
setupStore155154221341
numNetworkReqs1156416761
BrowserifyPower User HomeuiStartup26441929464836527853217
load12051005167114112111558
domContentLoaded12041005167114112111558
domInteractive13033519113117463
firstPaint------
backgroundConnect128291352144122286
firstReactRender64431471967111
getState26436933196313780
initialActions3145627
loadScripts1170984164113811751524
setupStore15717761185166690
numNetworkReqs101613326678244
WebpackStandard HomeuiStartup15021289198515315861798
load12351084145010113111426
domContentLoaded12351083145010113111425
domInteractive58261763883136
firstPaint------
backgroundConnect48191633045135
firstReactRender27207682837
getState1174751120
initialActions102122
loadScripts1207106714179312881382
setupStore165254311142
numNetworkReqs1256716763
WebpackPower User HomeuiStartup29162171497263830744345
load14721202267637514622575
domContentLoaded14711201267237514622574
domInteractive1163397613798456
firstPaint------
backgroundConnect174421465255136928
firstReactRender6043161166389
getState282791632256345828
initialActions506512318
loadScripts13941153252928013922151
setupStore1636709189229616
numNetworkReqs1015726055110240
📊 Page Load Benchmark Results

Current Commit: 44fe130 | Date: 12/1/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±74ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 723ms (±92ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 91ms (±159ms) 🟢 | historical mean value: 81ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 74ms 1.01s 1.71s 1.06s 1.71s
domContentLoaded 723ms 92ms 697ms 1.60s 734ms 1.60s
firstPaint 91ms 159ms 60ms 1.67s 88ms 1.67s
firstContentfulPaint 91ms 159ms 60ms 1.67s 88ms 1.67s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 97 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [0544a0f]
UI Startup Metrics (1204 ± 96 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1204101914679612731419
load101786312908710601182
domContentLoaded101185812858610541170
domInteractive2615146232083
firstPaint4868812233829831147
backgroundConnect21219524610217235
firstReactRender28196282948
getState3315100123756
initialActions106112
loadScripts804657105884849968
setupStore1072431116
numNetworkReqs1257720572
BrowserifyPower User HomeuiStartup20931740277627623462647
load99187214541409771393
domContentLoaded97686414391409631385
domInteractive34181672730105
firstPaint64811414473839531329
backgroundConnect261195806135221666
firstReactRender63401171871101
getState20514671077213267
initialActions104113
loadScripts77866912241397651177
setupStore19105282137
numNetworkReqs1576743084206403
WebpackStandard HomeuiStartup8416961230998781042
load65957498885693837
domContentLoaded65457098184687828
domInteractive2816130232396
firstPaint22786836170213703
backgroundConnect952641020
firstReactRender27204663140
getState251366103145
initialActions103111
loadScripts65156897983685825
setupStore1163051221
numNetworkReqs1257721576
WebpackPower User HomeuiStartup17241304264329119852258
load7105981270118714979
domContentLoaded6995931263119699974
domInteractive39171733533147
firstPaint3351011056235492782
backgroundConnect85866917421574
firstReactRender6447109127087
getState19014970977189251
initialActions108112
loadScripts6965901253117697964
setupStore1995292246
numNetworkReqs1726943181216409
FirefoxBrowserifyStandard HomeuiStartup12911067159413213801530
load106692113288911261238
domContentLoaded106691713289011261238
domInteractive56301592882109
firstPaint------
backgroundConnect42211432540104
firstReactRender23184252336
getState126152151023
initialActions102012
loadScripts103990412738111041171
setupStore12684101030
numNetworkReqs1156616763
BrowserifyPower User HomeuiStartup27402060497347128493500
load12311035257020812171618
domContentLoaded12311034257020812171618
domInteractive12837512105119425
firstPaint------
backgroundConnect148381540181138379
firstReactRender66392562765109
getState26862933188285721
initialActions3079824
loadScripts11871010243819311691551
setupStore2267842230339716
numNetworkReqs102613266480240
WebpackStandard HomeuiStartup14871284221614015441717
load1225107314578312921363
domContentLoaded1225107314578312921362
domInteractive63271793882147
firstPaint------
backgroundConnect50202823560107
firstReactRender26196162934
getState176227311247
initialActions103122
loadScripts1194105714417712591325
setupStore13694141140
numNetworkReqs1156515758
WebpackPower User HomeuiStartup29312197483370029954492
load15041174286546415962673
domContentLoaded15031173286546415952673
domInteractive1222997813797440
firstPaint------
backgroundConnect135311140137140378
firstReactRender63382312865109
getState28277868225374796
initialActions207123
loadScripts14411151266940515632501
setupStore1376726180152639
numNetworkReqs101592576082245
📊 Page Load Benchmark Results

Current Commit: 0544a0f | Date: 12/1/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 994ms (±38ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 687ms (±36ms) 🟢 | historical mean value: 721ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 994ms 38ms 969ms 1.28s 1.01s 1.28s
domContentLoaded 687ms 36ms 666ms 952ms 703ms 952ms
firstPaint 76ms 11ms 64ms 176ms 84ms 176ms
firstContentfulPaint 76ms 11ms 64ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 97 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 20 Bytes (0%)

@gantunesr gantunesr marked this pull request as ready for review December 1, 2025 15:12
@gantunesr gantunesr requested a review from a team as a code owner December 1, 2025 15:12
@metamaskbot
Copy link
Collaborator

Builds ready [7962b6c]
UI Startup Metrics (1273 ± 107 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12731047175310713341415
load106087314229211171222
domContentLoaded105587014149111101217
domInteractive2715119212378
firstPaint4688112723899701154
backgroundConnect22220030515229244
firstReactRender30206693449
getState3915122214493
initialActions105112
loadScripts8386701197878881007
setupStore1272941422
numNetworkReqs1257821577
BrowserifyPower User HomeuiStartup20861813301525421272717
load1044928163513110331391
domContentLoaded1028920162713110141376
domInteractive38191863232124
firstPaint55511315164079881352
backgroundConnect268210670104245526
firstReactRender6244115146795
getState18413529529200232
initialActions108112
loadScripts81371613921307941165
setupStore2285082736
numNetworkReqs105692905297266
WebpackStandard HomeuiStartup819701107578849978
load63556987474653813
domContentLoaded63056486974649808
domInteractive2615159242186
firstPaint22884855176196641
backgroundConnect1054261226
firstReactRender2820105103240
getState261452103545
initialActions103111
loadScripts62756286072647800
setupStore1153251321
numNetworkReqs1257721576
WebpackPower User HomeuiStartup16721267240727519622196
load6865791017103698946
domContentLoaded6765711011104682938
domInteractive36182203331125
firstPaint26893906177271671
backgroundConnect37762310318157
firstReactRender6449117107080
getState18913573975186216
initialActions102112
loadScripts6735691001102680929
setupStore20953102344
numNetworkReqs1716942681219383
FirefoxBrowserifyStandard HomeuiStartup12771045163713613581575
load1067902139710511181284
domContentLoaded1066902139710511141284
domInteractive58311643182124
firstPaint------
backgroundConnect42201382545109
firstReactRender21173432230
getState135132161043
initialActions102112
loadScripts104088712989310961207
setupStore144196241054
numNetworkReqs1156915651
BrowserifyPower User HomeuiStartup26451903462453927344067
load11921006240022812121546
domContentLoaded1192999240022812121546
domInteractive1123352994109374
firstPaint------
backgroundConnect115251036123124323
firstReactRender59371582161105
getState25665850194291711
initialActions207123
loadScripts1143981229119311651433
setupStore1697794199218637
numNetworkReqs1025925552120235
WebpackStandard HomeuiStartup14901267189412415691752
load1239109314928312921396
domContentLoaded1239109314928312921396
domInteractive65272043783133
firstPaint------
backgroundConnect45171773044121
firstReactRender24183742630
getState137110131129
initialActions314134
loadScripts1213107414707812671369
setupStore126161161129
numNetworkReqs1156915752
WebpackPower User HomeuiStartup31852273533382833784987
load15801202322147416792979
domContentLoaded15791202322047416792978
domInteractive1133248710898432
firstPaint------
backgroundConnect1983712002621721058
firstReactRender69452243169143
getState312951939294332976
initialActions311031027
loadScripts14761158320034215792130
setupStore1297845169137586
numNetworkReqs103582556280244
📊 Page Load Benchmark Results

Current Commit: 7962b6c | Date: 12/1/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±43ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 713ms (±39ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 43ms 999ms 1.36s 1.06s 1.36s
domContentLoaded 713ms 39ms 691ms 1.02s 733ms 1.02s
firstPaint 75ms 12ms 60ms 180ms 84ms 180ms
firstContentfulPaint 75ms 12ms 60ms 180ms 84ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 124 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 250 Bytes (0%)

[HardwareDeviceNames.qr]: KeyringTypes.qr,
};

export const KEYRING_DEVICE_PROPERTY_MAP = {
Copy link
Contributor

Choose a reason for hiding this comment

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

I see a lot of duplication in here. It might be too complex to refactor now but maybe something we can aim to do later on.

@owencraston
Copy link
Contributor

Not sure whats going wrong here but when I perform a send with my Ledger Flex, these are the events and properties that I see in my debugger. First, I am not sure why but I am seeing the Transaction Added Anon instead of the normal Transaction Added. The other weird thing is I see no events with properties account_hardware_type.

[mock-segment]: Track event received: Send Started
{
  "account_type": "eip155:eoa",
  "token_symbol": "ETH",
  "location": "Home",
  "text": "Send",
  "chain_id": "0x1",
  "category": "Navigation",
  "locale": "en",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Send Asset Selected
{
  "asset_type": "token",
  "asset_list_position": 4,
  "asset_list_size": "13",
  "chain_id": null,
  "chain_id_caip": "eip155:59144",
  "filter_method": [
    "none"
  ],
  "category": "Send",
  "locale": "en",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Send Amount Selected
{
  "account_type": "hardware",
  "input_method": "manual",
  "input_type": "token",
  "chain_id": "0xe708",
  "category": "Send",
  "locale": "en",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Send Recipient Selected
{
  "account_type": "hardware",
  "input_method": "select_account",
  "chain_id": null,
  "chain_id_caip": "eip155:59144",
  "category": "Send",
  "locale": "en",
  "environment_type": "popup"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Transaction Added Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764644127939,
  "gas_limit": "0x1783c",
  "transaction_contract_address": [
    "0xaca92e438df0b2401ff60da7e4337b687a2435da"
  ],
  "transaction_contract_method_4byte": "0xa9059cbb",
  "max_fee_per_gas": "0.034639656",
  "max_priority_fee_per_gas": "0.034639647",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.054524788",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.000096316",
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_reason": "validation_in_progress",
  "security_alert_response": "loading",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Added
{
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_reason": "validation_in_progress",
  "security_alert_response": "loading",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "popup"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {
    "id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e"
  },
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Incomplete Asset Displayed
{
  "asset_address": "0xaca92e438df0b2401ff60da7e4337b687a2435da",
  "asset_petname": "default",
  "asset_symbol": "MUSD",
  "asset_type": "erc20",
  "fiat_conversion_available": "not_available",
  "location": "confirmation",
  "category": "Transactions",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "popup"
}
[mock-segment]: Page event received: Home
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "popup"
}
[mock-segment]: Track event received: Transaction Submitted Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764644127939,
  "gas_limit": "0x1783c",
  "transaction_contract_address": [
    "0xaca92e438df0b2401ff60da7e4337b687a2435da"
  ],
  "transaction_contract_method_4byte": "0xa9059cbb",
  "max_fee_per_gas": "0.034639656",
  "max_priority_fee_per_gas": "0.034639647",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.052088661",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.000096316",
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_response": "Benign",
  "security_alert_source": "api",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "linea-mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Submitted
{
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_response": "Benign",
  "security_alert_source": "api",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "linea-mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764644127939,
  "gas_limit": "0x1783c",
  "transaction_contract_address": [
    "0xaca92e438df0b2401ff60da7e4337b687a2435da"
  ],
  "transaction_contract_method_4byte": "0xa9059cbb",
  "max_fee_per_gas": "0.034639656",
  "max_priority_fee_per_gas": "0.034639647",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.052088661",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.000096316",
  "address_label": "MetaMask: mUSD Token",
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_reason": "validation_in_progress",
  "security_alert_response": "Benign",
  "security_alert_source": "api",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [],
  "gas_insufficient_native_asset": false,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "erc20"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "address_alert_response": "Trusted",
  "sending_value": 0.199931372409949,
  "simulation_latency": 0.74,
  "simulation_sending_assets_total_value": 0.1999316,
  "rpc_domain": "linea-mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved
{
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_reason": "validation_in_progress",
  "security_alert_response": "Benign",
  "security_alert_source": "api",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [],
  "gas_insufficient_native_asset": false,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "erc20"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "address_alert_response": "Trusted",
  "sending_value": 0.199931372409949,
  "simulation_latency": 0.74,
  "simulation_sending_assets_total_value": 0.1999316,
  "rpc_domain": "linea-mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Finalized Anon
{
  "address_label": "MetaMask: mUSD Token",
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764644127939,
  "gas_limit": "0x1783c",
  "transaction_contract_address": [
    "0xaca92e438df0b2401ff60da7e4337b687a2435da"
  ],
  "transaction_contract_method_4byte": "0xa9059cbb",
  "max_fee_per_gas": "0.034639656",
  "max_priority_fee_per_gas": "0.034639647",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.047528576",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.000096316",
  "gas_used": "0.000063377",
  "block_number": "26240901",
  "completion_time": "4",
  "completion_time_onchain": "3.21",
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "erc20"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "address_alert_response": "Trusted",
  "sending_value": 0.199931372409949,
  "simulation_latency": 0.74,
  "simulation_sending_assets_total_value": 0.1999316,
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "confirmed",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_response": "Benign",
  "security_alert_source": "api",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "linea-mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Finalized
{
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "erc20"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "address_alert_response": "Trusted",
  "sending_value": 0.199931372409949,
  "simulation_latency": 0.74,
  "simulation_sending_assets_total_value": 0.1999316,
  "chain_id": "0xe708",
  "referrer": "metamask",
  "source": "user",
  "status": "confirmed",
  "network": "59144",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "hardware",
  "device_model": "ledger",
  "asset_type": "TOKEN",
  "token_standard": "ERC20",
  "transaction_type": "contractInteraction",
  "transaction_speed_up": false,
  "transaction_internal_id": "5b834130-cf2a-11f0-8fcf-2b6a8017f22e",
  "gas_fee_selected": "medium",
  "security_alert_response": "Benign",
  "security_alert_source": "api",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [
    "Transfer"
  ],
  "is_smart_transaction": false,
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "linea-mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}

@gantunesr
Copy link
Member Author

Can you double check if this is a bug on the debugger? using segment I see all the properties correctly set

  1. Tx added
tx-added
  1. Tx submitted
tx-submitted
  1. Tx approved
tx-approved
  1. Tx finalized
tx-finalized

@metamaskbot
Copy link
Collaborator

Builds ready [4d831ba]
UI Startup Metrics (1280 ± 123 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12801066163612313361507
load1068893144511111321281
domContentLoaded1061886143711011251268
domInteractive2915175252489
firstPaint49479137941010261216
backgroundConnect22120125913229249
firstReactRender3019125133049
getState361689144365
initialActions105112
loadScripts84866912161069141057
setupStore1264161318
numNetworkReqs1257520570
BrowserifyPower User HomeuiStartup20311699278622521692456
load1004888150511910171304
domContentLoaded990875148912010031295
domInteractive3217146242995
firstPaint51510613383719461167
backgroundConnect24819979296227513
firstReactRender5741117136086
getState17413426626185233
initialActions104113
loadScripts78466412361157931076
setupStore1995282236
numNetworkReqs96622403299180
WebpackStandard HomeuiStartup8357041341968561025
load64457298580686826
domContentLoaded63956997480682820
domInteractive2816185272395
firstPaint23076827162205646
backgroundConnect1164771327
firstReactRender28206473339
getState2713105143548
initialActions103111
loadScripts63756796478680810
setupStore1162941217
numNetworkReqs1257620570
WebpackPower User HomeuiStartup16201253238425717812150
load664576101092673882
domContentLoaded65356999792657874
domInteractive34161752832106
firstPaint330851016221585829
backgroundConnect51762613319539
firstReactRender6144112116586
getState19614268972195241
initialActions104112
loadScripts65056798890655867
setupStore19958101947
numNetworkReqs1606331663214293
FirefoxBrowserifyStandard HomeuiStartup12791064163713213721512
load106592013429411351266
domContentLoaded106591413429411351265
domInteractive62291993884135
firstPaint------
backgroundConnect45222373742115
firstReactRender22183542333
getState1067881015
initialActions103112
loadScripts103690312898410941178
setupStore12584141041
numNetworkReqs1256916762
BrowserifyPower User HomeuiStartup25862026449643326653950
load1196951265523212471491
domContentLoaded1195951265523212471491
domInteractive1183246186117359
firstPaint------
backgroundConnect131291190154127358
firstReactRender5737150175985
getState32451968251490874
initialActions2033323
loadScripts1148935196915511911452
setupStore14611812183149618
numNetworkReqs92532434092183
WebpackStandard HomeuiStartup15201282193014716161833
load12601078161910913101476
domContentLoaded12601078161910913101476
domInteractive62272664083132
firstPaint------
backgroundConnect48211502656110
firstReactRender25187172636
getState147192211232
initialActions205124
loadScripts12321064154810212871438
setupStore176159221335
numNetworkReqs1156815758
WebpackPower User HomeuiStartup29992179550480628874828
load15441180299747515812843
domContentLoaded15431180299747515812842
domInteractive117331051132104375
firstPaint------
backgroundConnect2203613203181721198
firstReactRender6038154196398
getState29766896237412822
initialActions207123
loadScripts14271120283732015382170
setupStore1136754160114598
numNetworkReqs925023637115183
📊 Page Load Benchmark Results

Current Commit: 4d831ba | Date: 12/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±38ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 711ms (±36ms) 🟢 | historical mean value: 722ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±10ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 38ms 1.00s 1.31s 1.04s 1.31s
domContentLoaded 711ms 36ms 692ms 979ms 727ms 979ms
firstPaint 75ms 10ms 60ms 160ms 84ms 160ms
firstContentfulPaint 75ms 10ms 60ms 160ms 84ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 124 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 250 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [4c0a990]
UI Startup Metrics (1218 ± 105 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12181022154510512731418
load1024852136910310681244
domContentLoaded1019848136410210631237
domInteractive2515102202181
firstPaint4818112633829721157
backgroundConnect21019225411215232
firstReactRender26185372844
getState341595164080
initialActions103111
loadScripts8146541170998541025
setupStore1071921113
numNetworkReqs1257620570
BrowserifyPower User HomeuiStartup20311677250718521382449
load1034888143012010531345
domContentLoaded1020877142212010401309
domInteractive3318125223393
firstPaint5269014434049641337
backgroundConnect261207729104241553
firstReactRender5642126145889
getState19613571780201246
initialActions108112
loadScripts80768111831178211085
setupStore20106692538
numNetworkReqs1146838651133218
WebpackStandard HomeuiStartup833711112985872990
load64657499377673806
domContentLoaded64157098677666798
domInteractive2716119232297
firstPaint24694992192220680
backgroundConnect1067681024
firstReactRender27194563038
getState271356113648
initialActions104112
loadScripts63956898475663790
setupStore1163651219
numNetworkReqs1257319568
WebpackPower User HomeuiStartup16191277227324418012128
load674578116795689910
domContentLoaded664573116196677904
domInteractive36171673132123
firstPaint286105946190336698
backgroundConnect67864515319577
firstReactRender59449296476
getState18513174575185221
initialActions102012
loadScripts661571115194675894
setupStore191080112048
numNetworkReqs1656938662216296
FirefoxBrowserifyStandard HomeuiStartup13591114227117814351691
load1123959197912211901264
domContentLoaded1123954197912211901264
domInteractive65322033684134
firstPaint------
backgroundConnect52232073663142
firstReactRender23194452435
getState147146191138
initialActions103122
loadScripts1092941195111711371225
setupStore166117191473
numNetworkReqs1256716662
BrowserifyPower User HomeuiStartup26542042523764226574364
load1232954303536412012480
domContentLoaded1232953303436412012479
domInteractive1163543290113385
firstPaint------
backgroundConnect149211062181167651
firstReactRender5536144165891
getState284551190246368847
initialActions2030423
loadScripts1193940284733411612341
setupStore190101253239192689
numNetworkReqs92582554294214
WebpackStandard HomeuiStartup14861295291619915561778
load12361064266917112851417
domContentLoaded12351063266917112841417
domInteractive7327153615182129
firstPaint------
backgroundConnect49162703943125
firstReactRender241883102535
getState146188221228
initialActions103123
loadScripts12081049265117012601367
setupStore156151171436
numNetworkReqs1156516763
WebpackPower User HomeuiStartup30162078584681731084832
load15121145321346815592748
domContentLoaded15121145321346815592746
domInteractive1063049490107311
firstPaint------
backgroundConnect2044314732951581092
firstReactRender69383454362143
getState290751042244363880
initialActions207123
loadScripts14191120305436115222537
setupStore1355741182128595
numNetworkReqs92572974684219
📊 Page Load Benchmark Results

Current Commit: 4c0a990 | Date: 12/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±38ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 727ms (±36ms) 🟢 | historical mean value: 722ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±13ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 38ms 1.01s 1.31s 1.07s 1.31s
domContentLoaded 727ms 36ms 699ms 979ms 748ms 979ms
firstPaint 78ms 13ms 60ms 188ms 88ms 188ms
firstContentfulPaint 78ms 13ms 60ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 124 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 250 Bytes (0%)

case KeyringType.qr:
case KeyringType.ledger:
return 'hardware';
return KEYRING_DEVICE_PROPERTY_MAP[keyringType];
Copy link

Choose a reason for hiding this comment

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

Bug: Map key mismatch causes undefined return for hardware wallets

The getAccountType function uses KEYRING_DEVICE_PROPERTY_MAP[keyringType] to look up the hardware wallet display name. However, KEYRING_DEVICE_PROPERTY_MAP is keyed by KeyringTypes.xxx values from @metamask/keyring-controller, while keyringType comes from the switch case which matches against KeyringType.xxx values (like 'Ledger Hardware'). If these values differ (e.g., KeyringTypes.ledger = 'ledger' vs KeyringType.ledger = 'Ledger Hardware'), the map lookup will return undefined instead of the expected display name like 'Ledger'. The PR discussion mentions missing account_hardware_type properties, which aligns with this lookup returning falsy values.

Fix in Cursor Fix in Web

Copy link
Contributor

Choose a reason for hiding this comment

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

I think that's ok, the keyringType should always be valid, so as long as KEYRING_DEVICE_PROPERTY_MAP uses KeyringTypes (and is exhaustive and complete) that should be fine.

Copy link
Contributor

@owencraston owencraston left a comment

Choose a reason for hiding this comment

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

Ledger Testing Results

  • "account_hardware_type": "Ledger", ✅
  • "account_type": "Ledger", ✅
  • "device_model": "ledger", ✅

events that fired:

[mock-segment]: Track event received: Send Started
{
  "account_type": "eip155:eoa",
  "token_symbol": "ETH",
  "location": "Home",
  "text": "Send",
  "chain_id": "0x1",
  "category": "Navigation",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Send Asset Selected
{
  "asset_type": "native",
  "asset_list_position": 1,
  "asset_list_size": "13",
  "chain_id": null,
  "chain_id_caip": "eip155:1",
  "filter_method": [
    "none"
  ],
  "category": "Send",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Send Amount Selected
{
  "account_type": "hardware",
  "input_method": "manual",
  "input_type": "token",
  "chain_id": "0x1",
  "category": "Send",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Send Recipient Selected
{
  "account_type": "hardware",
  "input_method": "select_account",
  "chain_id": null,
  "chain_id_caip": "eip155:1",
  "category": "Send",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Transaction Added Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764732942852,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.047826162",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.047826162",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": false,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Added
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": false,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {
    "id": "25537c40-cff9-11f0-ba09-f754b012d2d4"
  },
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Page event received: Home
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: STX Status Updated
{
  "account_hardware_type": "Ledger",
  "account_type": "Ledger",
  "device_model": "ledger",
  "stx_status": "pending",
  "type": "simpleSend",
  "processing_time": 0,
  "is_smart_transaction": true,
  "stx_enabled": true,
  "current_stx_enabled": true,
  "stx_user_opt_in": true,
  "category": "Transactions",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "background"
}
[mock-segment]: Track event received: STX Status Updated
{
  "stx_status": "pending",
  "type": "simpleSend",
  "processing_time": 0,
  "is_smart_transaction": true,
  "stx_enabled": true,
  "current_stx_enabled": true,
  "stx_user_opt_in": true,
  "category": "Transactions",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Submitted Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764732942852,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.053716814",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.053716814",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Submitted
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764732942852,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.053716814",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.053716814",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "sending_value": 0.2126439,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.625,
  "simulation_sending_assets_total_value": 0.2126439,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "sending_value": 0.2126439,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.625,
  "simulation_sending_assets_total_value": 0.2126439,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Finalized Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764732942852,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.053716814",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.051669267",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "gas_used": "0.000021",
  "block_number": "23930282",
  "completion_time": "10",
  "completion_time_onchain": "7.5",
  "sending_value": 0.2126439,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.625,
  "simulation_sending_assets_total_value": 0.2126439,
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "confirmed",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "mainnet.infura.io",
  "transaction_hash": "0x1b1a0c9c84faa0763ead4f7f7bb653f3dd7a66f0ec19a1ac67b6b6fc5fbbe746",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Finalized
{
  "sending_value": 0.2126439,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.625,
  "simulation_sending_assets_total_value": 0.2126439,
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "confirmed",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Ledger",
  "device_model": "ledger",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "25537c40-cff9-11f0-ba09-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Ledger",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "mainnet.infura.io",
  "transaction_hash": "0x1b1a0c9c84faa0763ead4f7f7bb653f3dd7a66f0ec19a1ac67b6b6fc5fbbe746",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}

Copy link
Contributor

@owencraston owencraston left a comment

Choose a reason for hiding this comment

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

Trezor Testing steps

  • "account_hardware_type": "Trezor", ✅
  • "account_type": "Trezor", ✅
  • device_model missing ❌ but this is not a big issue since I believe we determined getting the device model was not easy.

events that were fired:

[mock-segment]: Track event received: Send Started
{
  "account_type": "eip155:eoa",
  "token_symbol": "ETH",
  "location": "Home",
  "text": "Send",
  "chain_id": "0x1",
  "category": "Navigation",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Send Asset Selected
{
  "asset_type": "native",
  "asset_list_position": 1,
  "asset_list_size": "12",
  "chain_id": null,
  "chain_id_caip": "eip155:1",
  "filter_method": [
    "none"
  ],
  "category": "Send",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Send Amount Selected
{
  "account_type": "hardware",
  "input_method": "manual",
  "input_type": "token",
  "chain_id": "0x1",
  "category": "Send",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Send Recipient Selected
{
  "account_type": "hardware",
  "input_method": "select_account",
  "chain_id": null,
  "chain_id_caip": "eip155:1",
  "category": "Send",
  "locale": "en",
  "environment_type": "fullscreen"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Transaction Added Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764734048178,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.049991634",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.049991634",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Trezor",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "b826d920-cffb-11f0-bbc2-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Trezor",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Added
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Trezor",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "b826d920-cffb-11f0-bbc2-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Trezor",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {
    "id": "b826d920-cffb-11f0-bbc2-f754b012d2d4"
  },
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Page event received: Home
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "fullscreen"
}
[mock-segment]: Track event received: STX Status Updated
{
  "account_hardware_type": "Trezor",
  "account_type": "Trezor",
  "stx_status": "pending",
  "type": "simpleSend",
  "processing_time": 0,
  "is_smart_transaction": true,
  "stx_enabled": true,
  "current_stx_enabled": true,
  "stx_user_opt_in": true,
  "category": "Transactions",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "background"
}
[mock-segment]: Track event received: STX Status Updated
{
  "stx_status": "pending",
  "type": "simpleSend",
  "processing_time": 0,
  "is_smart_transaction": true,
  "stx_enabled": true,
  "current_stx_enabled": true,
  "stx_user_opt_in": true,
  "category": "Transactions",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Submitted Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764734048178,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.049991634",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.045137005",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Trezor",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "b826d920-cffb-11f0-bbc2-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Trezor",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH"
  ],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Submitted
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Trezor",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "b826d920-cffb-11f0-bbc2-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Trezor",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH"
  ],
  "gas_insufficient_native_asset": false,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764734048178,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.049991634",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.045137005",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Trezor",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "b826d920-cffb-11f0-bbc2-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Trezor",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH"
  ],
  "gas_insufficient_native_asset": false,
  "sending_value": 0.1517475,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.2,
  "simulation_sending_assets_total_value": 0.1517475,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "Trezor",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "b826d920-cffb-11f0-bbc2-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "Trezor",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH"
  ],
  "gas_insufficient_native_asset": false,
  "sending_value": 0.1517475,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.2,
  "simulation_sending_assets_total_value": 0.1517475,
  "rpc_domain": "mainnet.infura.io",
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}

@metamaskbot
Copy link
Collaborator

Builds ready [bf76d61]
UI Startup Metrics (1222 ± 105 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12221021155110512921415
load102386313519410761200
domContentLoaded101785713439310681191
domInteractive2515104192179
firstPaint57381123440310241144
backgroundConnect21119323610219231
firstReactRender3119132153458
getState3416134154057
initialActions107113
loadScripts813653112892859994
setupStore1263351424
numNetworkReqs1257620572
BrowserifyPower User HomeuiStartup19741729250516120182381
load1009891158711810241314
domContentLoaded994878154311810051302
domInteractive3218129233097
firstPaint4709815753819421285
backgroundConnect256206789110232554
firstReactRender5741116155899
getState18012728728196234
initialActions105112
loadScripts78667813351168021087
setupStore2087292337
numNetworkReqs92661552197146
WebpackStandard HomeuiStartup8377131119878771025
load64657291679656831
domContentLoaded64156891079651823
domInteractive2816191272290
firstPaint23482878182216710
backgroundConnect1053451218
firstReactRender29194463341
getState2914117143650
initialActions108112
loadScripts63856689977649814
setupStore1142341318
numNetworkReqs1257219570
WebpackPower User HomeuiStartup16131267234023318482046
load659584112893671883
domContentLoaded649578112393659876
domInteractive35171712932115
firstPaint25595952159251654
backgroundConnect68861015519561
firstReactRender60438386674
getState19314972977194216
initialActions104112
loadScripts646576111591657868
setupStore20951112243
numNetworkReqs1616330960217293
FirefoxBrowserifyStandard HomeuiStartup12711091184714313541515
load105793613979811131256
domContentLoaded105693613979811121256
domInteractive57301452882117
firstPaint------
backgroundConnect44222983643100
firstReactRender22175062236
getState1069211918
initialActions102112
loadScripts103291513709010851222
setupStore12579121039
numNetworkReqs1156816759
BrowserifyPower User HomeuiStartup26381822503463826174284
load1247973302038512532492
domContentLoaded1247973301938512532492
domInteractive1143353989126367
firstPaint------
backgroundConnect172251126217161702
firstReactRender60351422164104
getState288551099238389781
initialActions206123
loadScripts1186951283932911882328
setupStore16511763205170698
numNetworkReqs89542223697181
WebpackStandard HomeuiStartup15041260204615515761866
load12491074157510613161492
domContentLoaded12491074157510613151492
domInteractive54271413281130
firstPaint------
backgroundConnect45161882745106
firstReactRender24183952735
getState1174971221
initialActions103123
loadScripts12251058154910212911470
setupStore167134181644
numNetworkReqs1256917764
WebpackPower User HomeuiStartup29442076533775629764578
load15321173300148016172740
domContentLoaded15321173300148016172739
domInteractive121311003131112396
firstPaint------
backgroundConnect1862212592531711056
firstReactRender61391732060111
getState31874886247491825
initialActions207123
loadScripts14491134282037715162516
setupStore17351118236229737
numNetworkReqs905522436115170
📊 Page Load Benchmark Results

Current Commit: bf76d61 | Date: 12/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±40ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 734ms (±37ms) 🟢 | historical mean value: 722ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±13ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 40ms 1.02s 1.33s 1.10s 1.33s
domContentLoaded 734ms 37ms 708ms 994ms 771ms 994ms
firstPaint 79ms 13ms 60ms 196ms 88ms 196ms
firstContentfulPaint 79ms 13ms 60ms 196ms 88ms 196ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 124 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 250 Bytes (0%)

@owencraston
Copy link
Contributor

QR Testing results

  • "account_hardware_type": "QR Hardware", ✅
  • "account_type": "QR Hardware", ✅
  • "device_model": "AirGap - testing", ✅

events that fired:

[mock-segment]: Track event received: Send Started
{
  "account_type": "eip155:eoa",
  "token_symbol": "ETH",
  "location": "Home",
  "text": "Send",
  "chain_id": "0x1",
  "category": "Navigation",
  "locale": "en",
  "environment_type": "sidepanel"
}
[mock-segment]: Track event received: Send Asset Selected
{
  "asset_type": "native",
  "asset_list_position": 1,
  "asset_list_size": "13",
  "chain_id": null,
  "chain_id_caip": "eip155:1",
  "filter_method": [
    "none"
  ],
  "category": "Send",
  "locale": "en",
  "environment_type": "sidepanel"
}
[mock-segment]: Track event received: Send Amount Selected
{
  "account_type": "hardware",
  "input_method": "manual",
  "input_type": "token",
  "chain_id": "0x1",
  "category": "Send",
  "locale": "en",
  "environment_type": "sidepanel"
}
[mock-segment]: Track event received: Send Recipient Selected
{
  "account_type": "hardware",
  "input_method": "select_account",
  "chain_id": null,
  "chain_id_caip": "eip155:1",
  "category": "Send",
  "locale": "en",
  "environment_type": "sidepanel"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "sidepanel"
}
[mock-segment]: Track event received: Transaction Added Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764734458357,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.047180033",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.047180033",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "QR Hardware",
  "device_model": "AirGap - testing",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "aca33250-cffc-11f0-bc40-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "QR Hardware",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Added
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "unapproved",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "QR Hardware",
  "device_model": "AirGap - testing",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "aca33250-cffc-11f0-bc40-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "QR Hardware",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "sidepanel"
}
[mock-segment]: Track event received: Petname Displayed
{
  "petname_category": "ethereumAddress",
  "has_petname": true,
  "category": "Petnames",
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "sidepanel"
}
[mock-segment]: Page event received: Confirmation Root Page
{
  "params": {
    "id": "aca33250-cffc-11f0-bc40-f754b012d2d4"
  },
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "sidepanel"
}
[mock-segment]: Page event received: Home
{
  "params": {},
  "locale": "en",
  "chain_id": "0x1",
  "environment_type": "sidepanel"
}
[mock-segment]: Track event received: Transaction Finalized Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764734458357,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "error": "Scan cancelled",
  "max_fee_per_gas": "2.047180033",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.046137738",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "sending_value": 0.303283,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.62,
  "simulation_sending_assets_total_value": 0.303283,
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "failed",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "QR Hardware",
  "device_model": "AirGap - testing",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "aca33250-cffc-11f0-bc40-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "QR Hardware",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "mUSD",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Finalized
{
  "sending_value": 0.303283,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.62,
  "simulation_sending_assets_total_value": 0.303283,
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "failed",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "QR Hardware",
  "device_model": "AirGap - testing",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "aca33250-cffc-11f0-bc40-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "QR Hardware",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "mUSD",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved Anon
{
  "transaction_envelope_type": "fee-market",
  "first_seen": 1764734458357,
  "gas_limit": "0x7b0c",
  "transaction_contract_address": [],
  "max_fee_per_gas": "2.047180033",
  "max_priority_fee_per_gas": "2",
  "default_estimate": "medium",
  "default_max_fee_per_gas": "2.046137738",
  "default_max_priority_fee_per_gas": "2",
  "default_gas": "0.0000315",
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "failed",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "QR Hardware",
  "device_model": "AirGap - testing",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "aca33250-cffc-11f0-bc40-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "QR Hardware",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "mUSD",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "sending_value": 0.303283,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.62,
  "simulation_sending_assets_total_value": 0.303283,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}
[mock-segment]: Track event received: Transaction Approved
{
  "chain_id": "0x1",
  "referrer": "metamask",
  "source": "user",
  "status": "failed",
  "network": "1",
  "eip_1559_version": "2",
  "gas_edit_type": "none",
  "gas_edit_attempted": "none",
  "gas_estimation_failed": false,
  "account_type": "QR Hardware",
  "device_model": "AirGap - testing",
  "asset_type": "NATIVE",
  "token_standard": "NONE",
  "transaction_type": "simpleSend",
  "transaction_speed_up": false,
  "transaction_internal_id": "aca33250-cffc-11f0-bc40-f754b012d2d4",
  "gas_fee_selected": "medium",
  "ui_customizations": [
    "redesigned_confirmation"
  ],
  "transaction_advanced_view": false,
  "transaction_contract_method": [],
  "is_smart_transaction": true,
  "account_hardware_type": "QR Hardware",
  "api_method": "eth_sendTransaction",
  "eip7702_upgrade_transaction": false,
  "gas_payment_tokens_available": [
    "ETH",
    "mUSD",
    "USDC"
  ],
  "gas_insufficient_native_asset": false,
  "sending_value": 0.303283,
  "simulation_response": "balance_change",
  "simulation_receiving_assets_petname": [],
  "simulation_receiving_assets_quantity": 0,
  "simulation_receiving_assets_type": [],
  "simulation_receiving_assets_value": [],
  "simulation_sending_assets_petname": [
    "default"
  ],
  "simulation_sending_assets_quantity": 1,
  "simulation_sending_assets_type": [
    "native"
  ],
  "simulation_sending_assets_value": [
    "available"
  ],
  "is_send_max": false,
  "address_alert_response": "Benign",
  "simulation_latency": 0.62,
  "simulation_sending_assets_total_value": 0.303283,
  "category": "Transactions",
  "locale": "en",
  "environment_type": "background"
}

Copy link
Contributor

@owencraston owencraston left a comment

Choose a reason for hiding this comment

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

Approving since all the tests came back positive.

@owencraston
Copy link
Contributor

Created an issue to update the schema. I can handle this one.

Copy link
Contributor

@ccharly ccharly left a comment

Choose a reason for hiding this comment

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

LGTM, left some nits but they are not so important:

[mock-segment]: Track event received: Account Added
{
  "account_type": "hardware",
  "account_hardware_type": "ledger",
  "is_suggested_name": true,
  "category": "Accounts",
  "locale": "en",
  "chain_id": "0xaa36a7",
  "environment_type": "fullscreen"
}
...
[mock-segment]: Track event received: Hardware Wallet Account Connected
{
  "device_type": "Ledger",
  "hd_path": "m/44'/60'/0'/0/0",
  "connected_device_count": 1,
  "locale": "en",
  "chain_id": "0xaa36a7",
  "environment_type": "fullscreen"
}
...
[mock-segment]: Track event received: STX Status Updated
{
  "account_hardware_type": "Ledger",
  "account_type": "Ledger",
  "device_model": "ledger",
  "stx_status": "pending",
  "type": "simpleSend",
  ...
  "chain_id": "0xaa36a7",
  "environment_type": "background"
}
...
[mock-segment]: Track event received: Transaction Submitted
{
  "chain_id": "0xaa36a7",
  "referrer": "metamask",
  "source": "user",
  "status": "submitted",
  "network": "11155111",
  ...
  "transaction_type": "simpleSend",
  ...
  "environment_type": "background"
}

case KeyringType.qr:
case KeyringType.ledger:
return 'hardware';
return KEYRING_DEVICE_PROPERTY_MAP[keyringType];
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: But the jsdoc is now wrong, since we're not returning 'hardware' anymore!

await metamaskController.getHardwareTypeForMetric('0x123');

expect(result).toBe(HardwareKeyringType[type]);
expect(result).toBe(KEYRING_DEVICE_PROPERTY_MAP[type]);
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: We could have used Object.keys(KEYRING_DEVICE_PROPERTY_MAP) for this test (in it.each, instead of enumerating each hardware keyring types now that we have a proper mapping for it!

@ccharly ccharly added this pull request to the merge queue Dec 3, 2025
github-merge-queue bot pushed a commit that referenced this pull request Dec 3, 2025
<!--
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**

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

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/38420?quickstart=1)

Updates the send events to use the updated properties for hardware
wallets as they're described in
[MUL-1257](https://consensyssoftware.atlassian.net/browse/MUL-1257)

## **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: null

## **Related issues**

Fixes: https://consensyssoftware.atlassian.net/browse/MUL-1257

## **Manual testing steps**

1. Perform a send transaction using a hardware wallet device
2. Check that the properties `hardware_wallet_type` and `account_type`
reflect the following values: `Ledger || Trezor || QR Hardware ||
Lattice || OneKey` for the events Transaction Added, Transaction
Approved, Transaction Submitted, and Transaction Finalized

## **Screenshots/Recordings**

<img width="750" alt="Screenshot 2025-12-01 at 12 07 02 PM"
src="https://github.com/user-attachments/assets/70e349bd-8190-49cb-945f-df4bfebd35c4"
/>

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] 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-extension/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.


[MUL-1257]:
https://consensyssoftware.atlassian.net/browse/MUL-1257?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Maps hardware keyring types to human-readable device names for metrics
and only includes `account_hardware_type` when present; updates tests
accordingly.
> 
> - **Metrics payload (`app/scripts/lib/snap-keyring/metrics.ts`)**:
>   - Conditionally include `account_hardware_type` only when resolved.
>   - Keep `account_type`, `device_model`, and snap fields unchanged.
> - **Controller (`app/scripts/metamask-controller.js`)**:
> - Use `KEYRING_DEVICE_PROPERTY_MAP` to map keyring types to device
names in `getHardwareTypeForMetric` and `getAccountType`.
> - **Constants (`shared/constants/hardware-wallets.ts`)**:
> - Add `KEYRING_DEVICE_PROPERTY_MAP` mapping from `KeyringTypes` to
device labels (Ledger, Trezor, OneKey, Lattice, QR Hardware).
> - **Tests**:
> - Update expectations to use device-name mapping and conditional
`account_hardware_type`.
> - Add hardware wallet account test; adjust HD and snap account tests.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
bf76d61. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 3, 2025
@ccharly ccharly added this pull request to the merge queue Dec 3, 2025
Merged via the queue into main with commit ea93cae Dec 3, 2025
176 checks passed
@ccharly ccharly deleted the gar/chore/tx-metrics branch December 3, 2025 17:51
@github-actions github-actions bot locked and limited conversation to collaborators Dec 3, 2025
@metamaskbot metamaskbot added the release-13.13.0 Issue or pull request that will be included in release 13.13.0 label Dec 3, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.13.0 Issue or pull request that will be included in release 13.13.0 size-M team-accounts-framework Accounts Framework team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants