@metamask-previews/perps-controller 10.0.0-preview-e58fe0640 → 10.0.0-preview-8eb2c7f6e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/PerpsController-method-action-types.cjs.map +1 -1
  3. package/dist/PerpsController-method-action-types.d.cts +3 -3
  4. package/dist/PerpsController-method-action-types.d.mts +3 -3
  5. package/dist/PerpsController-method-action-types.mjs.map +1 -1
  6. package/dist/PerpsController.cjs +5 -5
  7. package/dist/PerpsController.cjs.map +1 -1
  8. package/dist/PerpsController.d.cts +4 -4
  9. package/dist/PerpsController.d.mts +4 -4
  10. package/dist/PerpsController.mjs +5 -5
  11. package/dist/PerpsController.mjs.map +1 -1
  12. package/dist/constants/eventNames.cjs +17 -17
  13. package/dist/constants/eventNames.cjs.map +1 -1
  14. package/dist/constants/eventNames.mjs +17 -17
  15. package/dist/constants/eventNames.mjs.map +1 -1
  16. package/dist/perpsErrorCodes.cjs +4 -0
  17. package/dist/perpsErrorCodes.cjs.map +1 -1
  18. package/dist/perpsErrorCodes.d.cts +2 -0
  19. package/dist/perpsErrorCodes.d.cts.map +1 -1
  20. package/dist/perpsErrorCodes.d.mts +2 -0
  21. package/dist/perpsErrorCodes.d.mts.map +1 -1
  22. package/dist/perpsErrorCodes.mjs +4 -0
  23. package/dist/perpsErrorCodes.mjs.map +1 -1
  24. package/dist/providers/HyperLiquidProvider.cjs +76 -25
  25. package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
  26. package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
  27. package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
  28. package/dist/providers/HyperLiquidProvider.mjs +76 -25
  29. package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
  30. package/dist/services/HyperLiquidSubscriptionService.cjs +9 -0
  31. package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
  32. package/dist/services/HyperLiquidSubscriptionService.d.cts +7 -0
  33. package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
  34. package/dist/services/HyperLiquidSubscriptionService.d.mts +7 -0
  35. package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
  36. package/dist/services/HyperLiquidSubscriptionService.mjs +9 -0
  37. package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
  38. package/dist/services/TradingService.cjs +14 -14
  39. package/dist/services/TradingService.cjs.map +1 -1
  40. package/dist/services/TradingService.d.cts +2 -2
  41. package/dist/services/TradingService.d.mts +2 -2
  42. package/dist/services/TradingService.mjs +14 -14
  43. package/dist/services/TradingService.mjs.map +1 -1
  44. package/dist/types/index.cjs +1 -1
  45. package/dist/types/index.cjs.map +1 -1
  46. package/dist/types/index.d.cts +2 -2
  47. package/dist/types/index.d.mts +2 -2
  48. package/dist/types/index.mjs +1 -1
  49. package/dist/types/index.mjs.map +1 -1
  50. package/package.json +1 -1
@@ -109,7 +109,7 @@ exports.PERPS_EVENT_PROPERTY = {
109
109
  VIP_DISCOUNT: 'vip_discount',
110
110
  // A/B testing properties (flat per test for multiple concurrent tests)
111
111
  // Only include AB test properties when test is enabled (event not sent when disabled)
112
- // Button color test (TAT-1937)
112
+ // Button color test
113
113
  AB_TEST_BUTTON_COLOR: 'ab_test_button_color',
114
114
  // Future tests: add as AB_TEST_{TEST_NAME} (no _ENABLED property needed)
115
115
  // Entry point tracking properties
@@ -158,25 +158,25 @@ exports.PERPS_EVENT_PROPERTY = {
158
158
  // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)
159
159
  ABSTRACTION_MODE: 'abstraction_mode',
160
160
  PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',
161
- // Entry point / discovery attribution (TAT-3080)
161
+ // Entry point / discovery attribution
162
162
  ENTRY_POINT: 'entry_point',
163
163
  DISCOVERY_SOURCE: 'discovery_source',
164
164
  PERP_DISCOVERY_SOURCE: 'perp_discovery_source',
165
- // UTM attribution context (TAT-3133, TAT-3140)
165
+ // UTM attribution context
166
166
  UTM_SOURCE: 'utm_source',
167
167
  UTM_MEDIUM: 'utm_medium',
168
168
  UTM_CAMPAIGN: 'utm_campaign',
169
169
  UTM_CONTENT: 'utm_content',
170
170
  UTM_TERM: 'utm_term',
171
- // Watchlist membership at event time (TAT-3148)
171
+ // Watchlist membership at event time
172
172
  WATCHLISTED: 'watchlisted',
173
- // HyperLiquid protocol fee rate on trade + close (TAT-3149)
173
+ // HyperLiquid protocol fee rate on trade + close
174
174
  HL_FEE_RATE: 'hl_fee_rate',
175
- // Bulk action correlation id for batch close/cancel (TAT-3150)
175
+ // Bulk action correlation id for batch close/cancel
176
176
  BULK_ACTION_ID: 'bulk_action_id',
177
- // Client environment (Extension supplies value) (TAT-3335)
177
+ // Client environment (Extension supplies value)
178
178
  ENVIRONMENT_TYPE: 'environment_type',
179
- // Order funnel / consideration + quote properties (TAT-3084)
179
+ // Order funnel / consideration + quote properties
180
180
  ORDER_CONTEXT: 'order_context',
181
181
  ORDER_SIZE_PERCENT: 'order_size_percent',
182
182
  LIMIT_PRICE_INPUT_TYPE: 'limit_price_input_type',
@@ -196,17 +196,17 @@ exports.PERPS_EVENT_PROPERTY = {
196
196
  FROM_CHAIN: 'from_chain',
197
197
  TO_TOKEN: 'to_token',
198
198
  TO_CHAIN: 'to_chain',
199
- // Search / discovery query properties (TAT-3144, TAT-3202, TAT-3151)
199
+ // Search / discovery query properties
200
200
  SEARCH_QUERY: 'search_query',
201
201
  RESULTS_COUNT: 'results_count',
202
202
  RESULT_RANK: 'result_rank',
203
203
  MODE: 'mode',
204
204
  CURRENT_TOKEN: 'current_token',
205
- // Sort / filter properties (TAT-3142)
205
+ // Sort / filter properties
206
206
  SORT_FIELD: 'sort_field',
207
207
  SORT_DIRECTION: 'sort_direction',
208
208
  FILTER_CATEGORY: 'filter_category',
209
- // Time-on-screen for abandon tracking (TAT-3136)
209
+ // Time-on-screen for abandon tracking
210
210
  TIME_ON_SCREEN_MS: 'time_on_screen_ms',
211
211
  };
212
212
  /**
@@ -434,14 +434,14 @@ exports.PERPS_EVENT_VALUE = {
434
434
  TPSL_ROE_SIGN_TOGGLED: 'tpsl_roe_sign_toggled',
435
435
  // Discovery analytics
436
436
  MARKET_LIST_FILTER: 'market_list_filter',
437
- // Sort / filter interactions (TAT-3142)
437
+ // Sort / filter interactions
438
438
  SORT_APPLIED: 'sort_applied',
439
439
  FILTER_APPLIED: 'filter_applied',
440
- // Search interactions (TAT-3144, TAT-3202)
440
+ // Search interactions
441
441
  SEARCH_RESULT_TAPPED: 'search_result_tapped',
442
442
  SEARCH_CHIP_TAPPED: 'search_chip_tapped',
443
443
  SEARCH_SIGNAL_TILE_TAPPED: 'search_signal_tile_tapped',
444
- // Pay-with token selector dismissed (TAT-3151)
444
+ // Pay-with token selector dismissed
445
445
  PAYMENT_TOKEN_SELECTOR_DISMISSED: 'payment_token_selector_dismissed',
446
446
  },
447
447
  MAX_SLIPPAGE_SOURCE: {
@@ -527,7 +527,7 @@ exports.PERPS_EVENT_VALUE = {
527
527
  COMPLIANCE_BLOCK_NOTIF: 'compliance_block_notif',
528
528
  // Deposit + order (pay-with token) cancel toast
529
529
  CANCEL_TRADE_WITH_TOKEN_TOAST: 'cancel_trade_with_token_toast',
530
- // Search result screen states (TAT-3144)
530
+ // Search result screen states
531
531
  SEARCH_RESULTS_SHOWN: 'search_results_shown',
532
532
  SEARCH_NO_RESULTS: 'search_no_results',
533
533
  },
@@ -562,7 +562,7 @@ exports.PERPS_EVENT_VALUE = {
562
562
  // Flip position actions with direction specificity
563
563
  FLIP_LONG_TO_SHORT: 'flip_long_to_short',
564
564
  FLIP_SHORT_TO_LONG: 'flip_short_to_long',
565
- // Order funnel abandonment (TAT-3136)
565
+ // Order funnel abandonment
566
566
  ABANDON_ORDER: 'abandon_order',
567
567
  },
568
568
  // Risk management sources
@@ -607,7 +607,7 @@ exports.PERPS_EVENT_VALUE = {
607
607
  WATCHLIST: 'watchlist',
608
608
  TOP_MOVERS: 'top_movers',
609
609
  WHATS_HAPPENING: 'whats_happening',
610
- // Order + position management CTAs (TAT-3135, TAT-3141)
610
+ // Order + position management CTAs
611
611
  PLACE_ORDER: 'place_order',
612
612
  CLOSE: 'close',
613
613
  REDUCE_EXPOSURE: 'reduce_exposure',
@@ -1 +1 @@
1
- {"version":3,"file":"eventNames.cjs","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Perps event property keys and values - matching dashboard requirements exactly\n * Event names are defined in MetaMetrics.events.ts as the single source of truth\n */\n\n/**\n * Event property keys - ensures consistent property naming\n */\nexport const PERPS_EVENT_PROPERTY = {\n // Common properties\n TIMESTAMP: 'timestamp',\n ASSET: 'asset',\n DIRECTION: 'direction',\n SOURCE: 'source',\n TAB_NAME: 'tab_name',\n LOCATION: 'location',\n\n // Trade properties\n LEVERAGE: 'leverage',\n LEVERAGE_USED: 'leverage_used',\n ORDER_SIZE: 'order_size',\n MARGIN_USED: 'margin_used',\n ORDER_TYPE: 'order_type', // lowercase per dashboard\n ORDER_TIMESTAMP: 'order_timestamp',\n LIMIT_PRICE: 'limit_price',\n FEES: 'fees',\n FEE: 'fee',\n METAMASK_FEE: 'metamask_fee',\n METAMASK_FEE_RATE: 'metamask_fee_rate',\n DISCOUNT_PERCENTAGE: 'discount_percentage',\n ESTIMATED_REWARDS: 'estimated_rewards',\n ASSET_PRICE: 'asset_price',\n COMPLETION_DURATION: 'completion_duration',\n\n // Position properties\n OPEN_POSITION: 'open_position',\n OPEN_ORDER: 'open_order',\n OPEN_POSITION_SIZE: 'open_position_size',\n UNREALIZED_PNL_DOLLAR: 'unrealized_dollar_pnl',\n UNREALIZED_PNL_PERCENT: 'unrealized_percent_pnl',\n CLOSE_VALUE: 'close_value',\n CLOSE_PERCENTAGE: 'close_percentage',\n CLOSE_TYPE: 'close_type',\n PERCENTAGE_CLOSED: 'percentage_closed',\n PNL_DOLLAR: 'dollar_pnl',\n PNL_PERCENT: 'percent_pnl',\n RECEIVED_AMOUNT: 'received_amount',\n\n // Order type variations\n CURRENT_ORDER_TYPE: 'current_order_type',\n SELECTED_ORDER_TYPE: 'selected_order_type',\n\n // Funding properties\n SOURCE_CHAIN: 'source_chain',\n SOURCE_ASSET: 'source_asset',\n SOURCE_AMOUNT: 'source_amount',\n DESTINATION_AMOUNT: 'destination_amount',\n NETWORK_FEE: 'network_fee',\n WITHDRAWAL_AMOUNT: 'withdrawal_amount',\n\n // Chart properties\n INTERACTION_TYPE: 'interaction_type',\n TIME_SERIE_SELECTED: 'time_serie_selected',\n CANDLE_PERIOD: 'candle_period',\n CHART_LIBRARY: 'chart_library',\n ASSET_TYPE: 'asset_type',\n\n // Risk management properties\n STOP_LOSS_PRICE: 'stop_loss_price',\n STOP_LOSS_PERCENT: 'stop_loss_percent',\n TAKE_PROFIT_PRICE: 'take_profit_price',\n TAKE_PROFIT_PERCENT: 'take_profit_percent',\n POSITION_SIZE: 'position_size',\n POSITION_AGE: 'position_age',\n LIQUIDATION_DISTANCE_OLD: 'liquidation_distance_old',\n LIQUIDATION_DISTANCE_NEW: 'liquidation_distance_new',\n\n // Notification properties\n NOTIFICATION_TYPE: 'notification_type',\n\n // Other properties\n INPUT_METHOD: 'input_method', // camelCase per requirements\n ACTION_TYPE: 'action_type',\n SETTING_TYPE: 'setting_type',\n FAILURE_REASON: 'failure_reason',\n WARNING_TYPE: 'warning_type',\n WARNING_MESSAGE: 'warning_message',\n ERROR_TYPE: 'error_type',\n ERROR_MESSAGE: 'error_message',\n AB_TESTS: 'ab_tests',\n COMPLETION_DURATION_TUTORIAL: 'completion_duration_tutorial',\n STEPS_VIEWED: 'steps_viewed',\n VIEW_OCCURRENCES: 'view_occurrences',\n AMOUNT_FILLED: 'amount_filled',\n REMAINING_AMOUNT: 'remaining_amount',\n NUMBER_POSITIONS_CLOSED: 'number_positions_closed',\n\n // Tutorial carousel navigation properties\n PREVIOUS_SCREEN: 'previous_screen',\n CURRENT_SCREEN: 'current_screen',\n SCREEN_POSITION: 'screen_position',\n TOTAL_SCREENS: 'total_screens',\n NAVIGATION_METHOD: 'navigation_method',\n STATUS: 'status',\n SCREEN_TYPE: 'screen_type',\n SCREEN_NAME: 'screen_name',\n ACTION: 'action',\n RETRY_ATTEMPTS: 'retry_attempts',\n SHOW_BACK_BUTTON: 'show_back_button',\n ATTEMPT_NUMBER: 'attempt_number',\n\n // PnL Hero Card properties\n IMAGE_SELECTED: 'image_selected',\n TAB_NUMBER: 'tab_number',\n\n // VIP rewards properties\n VIP_TIER: 'vip_tier',\n VIP_DISCOUNT: 'vip_discount',\n\n // A/B testing properties (flat per test for multiple concurrent tests)\n // Only include AB test properties when test is enabled (event not sent when disabled)\n // Button color test (TAT-1937)\n AB_TEST_BUTTON_COLOR: 'ab_test_button_color',\n // Future tests: add as AB_TEST_{TEST_NAME} (no _ENABLED property needed)\n\n // Entry point tracking properties\n BUTTON_CLICKED: 'button_clicked',\n BUTTON_LOCATION: 'button_location',\n\n // Balance properties\n HAS_PERP_BALANCE: 'has_perp_balance',\n\n // Service interruption banner\n OUTAGE_BANNER_SHOWN: 'outage_banner_shown',\n\n // Geo-blocking properties (TAT-2337: track geo-blocked withdrawals for monitoring)\n IS_GEO_BLOCKED: 'is_geo_blocked',\n\n // TP/SL differentiation properties\n HAS_TAKE_PROFIT: 'has_take_profit',\n HAS_STOP_LOSS: 'has_stop_loss',\n TAKE_PROFIT_PERCENTAGE: 'take_profit_percentage',\n STOP_LOSS_PERCENTAGE: 'stop_loss_percentage',\n // Auto Close TP/SL RoE sign toggle (`'+'` | `'-'`)\n ROE_SIGN: 'roe_sign',\n // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\n\n // Discovery analytics properties\n SOURCE_SECTION: 'source_section',\n RESULT_COUNT: 'result_count',\n SECTION_NAME: 'section_name',\n SECTION_INDEX: 'section_index',\n SECTIONS_DISPLAYED: 'sections_displayed',\n WATCHLIST_COUNT: 'watchlist_count',\n WATCHLIST_MARKETS: 'watchlist_markets',\n\n // Order value (USD $ value of the order)\n ORDER_VALUE: 'order_value',\n\n // Market category filter (for market list screen)\n MARKET_CATEGORY: 'market_category',\n\n // Pay with any token (PERPS_TRADE_TRANSACTION)\n TRADE_WITH_TOKEN: 'trade_with_token',\n MM_PAY_TOKEN_SELECTED: 'mm_pay_token_selected',\n MM_PAY_NETWORK_SELECTED: 'mm_pay_network_selected',\n\n // Pay-with UI (PERPS_UI_INTERACTION)\n INITIAL_PAYMENT_METHOD: 'initial_payment_method',\n NEW_PAYMENT_METHOD: 'new_payment_method',\n\n // Slippage properties\n MAX_SLIPPAGE_PCT: 'max_slippage_pct',\n MAX_SLIPPAGE_SOURCE: 'max_slippage_source',\n ESTIMATED_SLIPPAGE_PCT: 'estimated_slippage_pct',\n\n // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)\n ABSTRACTION_MODE: 'abstraction_mode',\n PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',\n\n // Entry point / discovery attribution (TAT-3080)\n ENTRY_POINT: 'entry_point',\n DISCOVERY_SOURCE: 'discovery_source',\n PERP_DISCOVERY_SOURCE: 'perp_discovery_source',\n\n // UTM attribution context (TAT-3133, TAT-3140)\n UTM_SOURCE: 'utm_source',\n UTM_MEDIUM: 'utm_medium',\n UTM_CAMPAIGN: 'utm_campaign',\n UTM_CONTENT: 'utm_content',\n UTM_TERM: 'utm_term',\n\n // Watchlist membership at event time (TAT-3148)\n WATCHLISTED: 'watchlisted',\n\n // HyperLiquid protocol fee rate on trade + close (TAT-3149)\n HL_FEE_RATE: 'hl_fee_rate',\n\n // Bulk action correlation id for batch close/cancel (TAT-3150)\n BULK_ACTION_ID: 'bulk_action_id',\n\n // Client environment (Extension supplies value) (TAT-3335)\n ENVIRONMENT_TYPE: 'environment_type',\n\n // Order funnel / consideration + quote properties (TAT-3084)\n ORDER_CONTEXT: 'order_context',\n ORDER_SIZE_PERCENT: 'order_size_percent',\n LIMIT_PRICE_INPUT_TYPE: 'limit_price_input_type',\n LIMIT_PRICE_INPUT_PRESET: 'limit_price_input_preset',\n ORDER_HAS_TP: 'order_has_tp',\n ORDER_HAS_SL: 'order_has_sl',\n QUOTE_LATENCY_MS: 'quote_latency_ms',\n ERROR_REASON: 'error_reason',\n SAVED_ORDER: 'saved_order',\n DEFAULT_PAYMENT_TOKEN: 'default_payment_token',\n DEFAULT_SIZE_AMOUNT: 'default_size_amount',\n DEFAULT_LEVERAGE: 'default_leverage',\n DEFAULT_AUTO_CLOSE: 'default_auto_close',\n ORDER_EXECUTION_LATENCY_MS: 'order_execution_latency_ms',\n SCREEN_CONTEXT: 'screen_context',\n FROM_TOKEN: 'from_token',\n FROM_CHAIN: 'from_chain',\n TO_TOKEN: 'to_token',\n TO_CHAIN: 'to_chain',\n\n // Search / discovery query properties (TAT-3144, TAT-3202, TAT-3151)\n SEARCH_QUERY: 'search_query',\n RESULTS_COUNT: 'results_count',\n RESULT_RANK: 'result_rank',\n MODE: 'mode',\n CURRENT_TOKEN: 'current_token',\n\n // Sort / filter properties (TAT-3142)\n SORT_FIELD: 'sort_field',\n SORT_DIRECTION: 'sort_direction',\n FILTER_CATEGORY: 'filter_category',\n\n // Time-on-screen for abandon tracking (TAT-3136)\n TIME_ON_SCREEN_MS: 'time_on_screen_ms',\n} as const;\n\n/**\n * Property value constants\n */\nexport const PERPS_EVENT_VALUE = {\n DIRECTION: {\n LONG: 'long',\n SHORT: 'short',\n },\n ORDER_TYPE: {\n MARKET: 'market',\n LIMIT: 'limit',\n // Trigger placements are emitted verbatim by TradingService, so the enum has\n // to list them for dashboards keyed on `order_type`.\n STOP_MARKET: 'stop_market',\n STOP_LIMIT: 'stop_limit',\n TAKE_PROFIT_MARKET: 'take_profit_market',\n TAKE_PROFIT_LIMIT: 'take_profit_limit',\n },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\n },\n CHART_LIBRARY: {\n LIGHTWEIGHT: 'lightweight',\n ADVANCED: 'advanced',\n },\n ASSET_TYPE: {\n SPOT: 'spot',\n PERP: 'perp',\n },\n INPUT_METHOD: {\n SLIDER: 'slider',\n KEYBOARD: 'keyboard',\n PRESET: 'preset',\n MANUAL: 'manual',\n PERCENTAGE_BUTTON: 'percentage_button',\n },\n SOURCE: {\n BANNER: 'banner',\n NOTIFICATION: 'notification',\n MAIN_ACTION_BUTTON: 'main_action_button',\n POSITION_TAB: 'position_tab',\n PERP_MARKETS: 'perp_markets',\n DEEPLINK: 'deeplink',\n TUTORIAL: 'tutorial',\n TRADE_SCREEN: 'trade_screen',\n HOMESCREEN_TAB: 'homescreen_tab',\n PERP_ASSET_SCREEN: 'perp_asset_screen',\n PERP_MARKET: 'perp_market',\n PERP_MARKET_SEARCH: 'perp_market_search',\n POSITION_SCREEN: 'position_screen',\n BOTTOM_NAV_BAR: 'bottom_nav_bar',\n TP_SL_VIEW: 'tp_sl_view',\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN_NO_FUNDS: 'perps_asset_screen_no_funds',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n HOME_SECTION: 'home_section',\n TOOLTIP: 'tooltip',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO_BUTTON: 'crypto_button',\n STOCKS_BUTTON: 'stocks_button',\n CLOSE_TOAST: 'close_toast',\n // Perps home section sources (for navigation tracking)\n PERPS_HOME_POSITION: 'perps_home_position',\n PERPS_HOME_ORDERS: 'perps_home_orders',\n PERPS_HOME_WATCHLIST: 'perps_home_watchlist',\n PERPS_HOME_EXPLORE_CRYPTO: 'perps_home_explore_crypto',\n PERPS_HOME_EXPLORE_STOCKS: 'perps_home_explore_stocks',\n PERPS_HOME_ACTIVITY: 'perps_home_activity',\n // Explore/Trending page source\n EXPLORE: 'explore',\n // Market list tab sources\n PERPS_MARKET_LIST_ALL: 'perps_market_list_all',\n PERPS_MARKET_LIST_CRYPTO: 'perps_market_list_crypto',\n PERPS_MARKET_LIST_STOCKS: 'perps_market_list_stocks',\n // Other navigation sources\n PERPS_TAB: 'perps_tab',\n WALLET_MAIN_ACTION_MENU: 'wallet_main_action_menu',\n PUSH_NOTIFICATION: 'push_notification',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n // Position management sources\n OPEN_POSITION: 'open_position',\n POSITION_CLOSE_TOAST: 'position_close_toast',\n TRADE_DETAILS: 'trade_details',\n // Geo-block trigger sources (for tracking what action was blocked)\n DEPOSIT_BUTTON: 'deposit_button',\n WITHDRAW_BUTTON: 'withdraw_button',\n TRADE_ACTION: 'trade_action',\n ADD_FUNDS_ACTION: 'add_funds_action',\n CANCEL_ORDER: 'cancel_order',\n ASSET_DETAIL_SCREEN: 'asset_detail_screen',\n MARKET_INSIGHTS: 'market_insights',\n // TAT-2449: Geo-block sources for close/modify actions\n CLOSE_POSITION_ACTION: 'close_position_action',\n MODIFY_POSITION_ACTION: 'modify_position_action',\n // Geo-block sources for order book actions\n ORDER_BOOK_LONG_BUTTON: 'order_book_long_button',\n ORDER_BOOK_SHORT_BUTTON: 'order_book_short_button',\n ORDER_BOOK_CLOSE_BUTTON: 'order_book_close_button',\n ORDER_BOOK_MODIFY_BUTTON: 'order_book_modify_button',\n // Geo-block sources for position management actions\n AUTO_CLOSE_ACTION: 'auto_close_action',\n ADJUST_MARGIN_ACTION: 'adjust_margin_action',\n STOP_LOSS_PROMPT_ADD_MARGIN: 'stop_loss_prompt_add_margin',\n STOP_LOSS_PROMPT_SET_SL: 'stop_loss_prompt_set_sl',\n // Geo-block sources for bulk actions\n CLOSE_ALL_POSITIONS_BUTTON: 'close_all_positions_button',\n CANCEL_ALL_ORDERS_BUTTON: 'cancel_all_orders_button',\n },\n WARNING_TYPE: {\n MINIMUM_DEPOSIT: 'minimum_deposit',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n },\n ERROR_TYPE: {\n NETWORK: 'network',\n APP_CRASH: 'app_crash',\n BACKEND: 'backend',\n VALIDATION: 'validation',\n WARNING: 'warning',\n },\n // Standardized error message keys for PERP_ERROR events\n // These should be used instead of localized strings for consistent analytics\n ERROR_MESSAGE_KEY: {\n ORDER_CHANGED_FROM_LIMIT_TO_MARKET: 'order_changed_from_limit_to_market',\n OPEN_CROSS_MARGIN_POSITION_DETECTED: 'open_cross_margin_position_detected',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n ORDER_FAILED: 'order_failed',\n GEO_RESTRICTION: 'geo_restriction',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n MAXIMUM_LEVERAGE_EXCEEDED: 'maximum_leverage_exceeded',\n PRICE_DEVIATION_TOO_HIGH: 'price_deviation_too_high',\n MARKET_AT_CAPACITY: 'market_at_capacity',\n NETWORK_ERROR: 'network_error',\n CONNECTION_FAILED: 'connection_failed',\n POSITION_UPDATE_FAILED: 'position_update_failed',\n TP_SL_UPDATE_FAILED: 'tp_sl_update_failed',\n MARGIN_UPDATE_FAILED: 'margin_update_failed',\n UNKNOWN: 'unknown',\n },\n SOURCE_SECTION: {\n // Home sections\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_GAINERS: 'top_gainers',\n TOP_LOSERS: 'top_losers',\n CRYPTO: 'crypto',\n COMMODITY: 'commodity',\n STOCK: 'stock',\n FOREX: 'forex',\n // Explore sections\n PERPS_MOVERS: 'perps_movers',\n PERPS_CRYPTO: 'perps_crypto',\n PERPS_STOCKS_COMMODITIES: 'perps_stocks_commodities',\n PERPS_MARKETS: 'perps_markets',\n // Market list sections\n ALL_MARKETS: 'all_markets',\n NEW: 'new',\n ACTIVE_SEARCH: 'active_search',\n },\n SECTION_NAME: {\n BALANCE: 'balance',\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_MOVERS: 'top_movers',\n EXPLORE_CRYPTO: 'explore_crypto',\n EXPLORE_COMMODITIES: 'explore_commodities',\n EXPLORE_STOCKS: 'explore_stocks',\n EXPLORE_FOREX: 'explore_forex',\n RECENT_ACTIVITY: 'recent_activity',\n },\n INTERACTION_TYPE: {\n TAP: 'tap',\n ZOOM: 'zoom',\n SLIDE: 'slide',\n SEARCH_CLICKED: 'search_clicked',\n ORDER_TYPE_VIEWED: 'order_type_viewed',\n ORDER_TYPE_SELECTED: 'order_type_selected',\n /** @deprecated Use LEVERAGE_CHANGED instead for clarity */\n SETTING_CHANGED: 'setting_changed',\n LEVERAGE_CHANGED: 'leverage_changed',\n TUTORIAL_STARTED: 'tutorial_started',\n TUTORIAL_COMPLETED: 'tutorial_completed',\n TUTORIAL_NAVIGATION: 'tutorial_navigation',\n CANDLE_PERIOD_VIEWED: 'candle_period_viewed',\n CANDLE_PERIOD_CHANGED: 'candle_period_changed',\n FAVORITE_TOGGLED: 'favorite_toggled',\n BUTTON_CLICKED: 'button_clicked',\n // Position management interactions\n CONTACT_SUPPORT: 'contact_support',\n STOP_LOSS_ONE_CLICK_PROMPT: 'stop_loss_one_click_prompt',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n INCREASE_EXPOSURE: 'increase_exposure',\n REDUCE_EXPOSURE: 'reduce_exposure',\n FLIP_POSITION: 'flip_position',\n // Hero card interactions\n DISPLAY_HERO_CARD: 'display_hero_card',\n SHARE_PNL_HERO_CARD: 'share_pnl_hero_card',\n // Chart interactions\n FULL_SCREEN_CHART: 'full_screen_chart',\n // Pay-with interactions\n PAYMENT_TOKEN_SELECTOR: 'payment_token_selector',\n PAYMENT_METHOD_CHANGED: 'payment_method_changed',\n // Deposit + order (pay-with token) cancel\n CANCEL_TRADE_WITH_TOKEN: 'cancel_trade_with_token',\n // Slippage interactions\n SLIPPAGE_CONFIG_OPENED: 'slippage_config_opened',\n SLIPPAGE_CONFIG_CHANGED: 'slippage_config_changed',\n SLIPPAGE_LIMIT_BLOCKED_ORDER: 'slippage_limit_blocked_order',\n // Auto Close TP/SL RoE sign toggle\n TPSL_ROE_SIGN_TOGGLED: 'tpsl_roe_sign_toggled',\n // Discovery analytics\n MARKET_LIST_FILTER: 'market_list_filter',\n // Sort / filter interactions (TAT-3142)\n SORT_APPLIED: 'sort_applied',\n FILTER_APPLIED: 'filter_applied',\n // Search interactions (TAT-3144, TAT-3202)\n SEARCH_RESULT_TAPPED: 'search_result_tapped',\n SEARCH_CHIP_TAPPED: 'search_chip_tapped',\n SEARCH_SIGNAL_TILE_TAPPED: 'search_signal_tile_tapped',\n // Pay-with token selector dismissed (TAT-3151)\n PAYMENT_TOKEN_SELECTOR_DISMISSED: 'payment_token_selector_dismissed',\n },\n MAX_SLIPPAGE_SOURCE: {\n DEFAULT: 'default',\n USER_CONFIGURED: 'user_configured',\n },\n ACTION_TYPE: {\n START_TRADING: 'start_trading',\n SKIP: 'skip',\n STOP_LOSS_SET: 'stop_loss_set',\n TAKE_PROFIT_SET: 'take_profit_set',\n ADL_LEARN_MORE: 'adl_learn_more',\n LEARN_MORE: 'learn_more',\n FAVORITE_MARKET: 'favorite_market',\n UNFAVORITE_MARKET: 'unfavorite_market',\n },\n NOTIFICATION_TYPE: {\n POSITION_LIQUIDATED: 'position_liquidated',\n TP_EXECUTED: 'tp_executed',\n SL_EXECUTED: 'sl_executed',\n LIMIT_ORDER_EXECUTED: 'limit_order_executed',\n },\n CLOSE_TYPE: {\n FULL: 'full',\n PARTIAL: 'partial',\n },\n NAVIGATION_METHOD: {\n SWIPE: 'swipe',\n CONTINUE_BUTTON: 'continue_button',\n PROGRESS_DOT: 'progress_dot',\n },\n STATUS: {\n VIEWED: 'viewed',\n STARTED: 'started',\n COMPLETED: 'completed',\n INITIATED: 'initiated',\n SUBMITTED: 'submitted',\n EXECUTED: 'executed',\n PARTIALLY_FILLED: 'partially_filled',\n FAILED: 'failed',\n SUCCESS: 'success',\n ALREADY_ENABLED: 'already_enabled',\n MIGRATION_REQUIRED: 'migration_required',\n // Emitted when a migration attempt is skipped because it is not applicable\n // (e.g. the user has no Hyperliquid account yet — nothing to migrate).\n // Distinguishes expected no-ops from real failures in dashboards.\n NOT_APPLICABLE: 'not_applicable',\n },\n SCREEN_TYPE: {\n MARKETS: 'markets',\n MARKET_LIST: 'market_list',\n ASSET_DETAILS: 'asset_details',\n TRADING: 'trading',\n /** @deprecated Use PERPS_HOME or WALLET_HOME_PERPS_TAB instead */\n HOMESCREEN: 'homescreen',\n PERPS_HOME: 'perps_home',\n WALLET_HOME_PERPS_TAB: 'wallet_home_perps_tab',\n POSITION_CLOSE: 'position_close',\n LEVERAGE: 'leverage',\n TUTORIAL: 'tutorial',\n WITHDRAWAL: 'withdrawal',\n TP_SL: 'tp_sl',\n CREATE_TPSL: 'create_tpsl',\n EDIT_TPSL: 'edit_tpsl',\n DEPOSIT_INPUT: 'deposit_input',\n DEPOSIT_REVIEW: 'deposit_review',\n CLOSE_ALL_POSITIONS: 'close_all_positions',\n CANCEL_ALL_ORDERS: 'cancel_all_orders',\n PNL_HERO_CARD: 'pnl_hero_card',\n ORDER_BOOK: 'order_book',\n ERROR: 'error',\n // Market list tab screen types\n MARKET_LIST_ALL: 'market_list_all',\n MARKET_LIST_CRYPTO: 'market_list_crypto',\n MARKET_LIST_STOCKS: 'market_list_stocks',\n // Additional screens\n FULL_SCREEN_CHART: 'full_screen_chart',\n ACTIVITY: 'activity',\n INCREASE_EXPOSURE: 'increase_exposure',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n GEO_BLOCK_NOTIF: 'geo_block_notif',\n COMPLIANCE_BLOCK_NOTIF: 'compliance_block_notif',\n // Deposit + order (pay-with token) cancel toast\n CANCEL_TRADE_WITH_TOKEN_TOAST: 'cancel_trade_with_token_toast',\n // Search result screen states (TAT-3144)\n SEARCH_RESULTS_SHOWN: 'search_results_shown',\n SEARCH_NO_RESULTS: 'search_no_results',\n },\n SETTING_TYPE: {\n LEVERAGE: 'leverage',\n SLIPPAGE: 'slippage',\n },\n SCREEN_NAME: {\n CONNECTION_ERROR: 'connection_error',\n PERPS_HERO_CARD: 'perps_hero_card',\n PERPS_ACTIVITY_HISTORY: 'perps_activity_history',\n PERPS_HOME: 'perps_home',\n PERPS_MARKET_DETAILS: 'perps_market_details',\n PERPS_ORDER: 'perps_order',\n },\n ACTION: {\n CONNECTION_RETRY: 'connection_retry',\n CONNECTION_GO_BACK: 'connection_go_back',\n SHARE: 'share',\n // Risk management actions\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n EDIT_TP_SL: 'edit_tp_sl',\n CREATE_TP_SL: 'create_tp_sl',\n // TP/SL specific actions for risk management events\n TP: 'tp',\n SL: 'sl',\n TPSL: 'tpsl',\n // Trade transaction actions - differentiates new position from adding to existing\n CREATE_POSITION: 'create_position',\n INCREASE_EXPOSURE: 'increase_exposure',\n // Flip position actions with direction specificity\n FLIP_LONG_TO_SHORT: 'flip_long_to_short',\n FLIP_SHORT_TO_LONG: 'flip_short_to_long',\n // Order funnel abandonment (TAT-3136)\n ABANDON_ORDER: 'abandon_order',\n },\n // Risk management sources\n RISK_MANAGEMENT_SOURCE: {\n TRADE_SCREEN: 'trade_screen',\n POSITION_SCREEN: 'position_screen',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n },\n PERPS_HISTORY_TABS: {\n TRADES: 'trades',\n ORDERS: 'orders',\n FUNDING: 'funding',\n DEPOSITS: 'deposits',\n },\n /** Value for mm_pay_token_selected when user pays with Perps balance (not a token) */\n MM_PAY_TOKEN: {\n PERPS_BALANCE: 'Perps Balance',\n },\n // A/B testing values\n AB_TEST: {\n // Test IDs\n BUTTON_COLOR_TEST: 'button_color_test',\n // Button color test variants\n CONTROL: 'control',\n MONOCHROME: 'monochrome',\n },\n BUTTON_CLICKED: {\n DEPOSIT: 'deposit',\n WITHDRAW: 'withdraw',\n PERPS_HOME: 'perps_home',\n TUTORIAL: 'tutorial',\n TOOLTIP: 'tooltip',\n MARKET_LIST: 'market_list',\n OPEN_POSITION: 'open_position',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO: 'crypto',\n STOCKS: 'stocks',\n COMMODITIES: 'commodities',\n FOREX: 'forex',\n NEW: 'new',\n GIVE_FEEDBACK: 'give_feedback',\n WATCHLIST: 'watchlist',\n TOP_MOVERS: 'top_movers',\n WHATS_HAPPENING: 'whats_happening',\n // Order + position management CTAs (TAT-3135, TAT-3141)\n PLACE_ORDER: 'place_order',\n CLOSE: 'close',\n REDUCE_EXPOSURE: 'reduce_exposure',\n },\n BUTTON_LOCATION: {\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN: 'perps_asset_screen',\n PERPS_TAB: 'perps_tab',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n MARKET_LIST: 'market_list',\n SCREEN: 'screen',\n TOOLTIP: 'tooltip',\n PERP_MARKET_DETAILS: 'perp_market_details',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n ASSET_DETAILS: 'asset_details',\n },\n} as const;\n"]}
1
+ {"version":3,"file":"eventNames.cjs","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Perps event property keys and values - matching dashboard requirements exactly\n * Event names are defined in MetaMetrics.events.ts as the single source of truth\n */\n\n/**\n * Event property keys - ensures consistent property naming\n */\nexport const PERPS_EVENT_PROPERTY = {\n // Common properties\n TIMESTAMP: 'timestamp',\n ASSET: 'asset',\n DIRECTION: 'direction',\n SOURCE: 'source',\n TAB_NAME: 'tab_name',\n LOCATION: 'location',\n\n // Trade properties\n LEVERAGE: 'leverage',\n LEVERAGE_USED: 'leverage_used',\n ORDER_SIZE: 'order_size',\n MARGIN_USED: 'margin_used',\n ORDER_TYPE: 'order_type', // lowercase per dashboard\n ORDER_TIMESTAMP: 'order_timestamp',\n LIMIT_PRICE: 'limit_price',\n FEES: 'fees',\n FEE: 'fee',\n METAMASK_FEE: 'metamask_fee',\n METAMASK_FEE_RATE: 'metamask_fee_rate',\n DISCOUNT_PERCENTAGE: 'discount_percentage',\n ESTIMATED_REWARDS: 'estimated_rewards',\n ASSET_PRICE: 'asset_price',\n COMPLETION_DURATION: 'completion_duration',\n\n // Position properties\n OPEN_POSITION: 'open_position',\n OPEN_ORDER: 'open_order',\n OPEN_POSITION_SIZE: 'open_position_size',\n UNREALIZED_PNL_DOLLAR: 'unrealized_dollar_pnl',\n UNREALIZED_PNL_PERCENT: 'unrealized_percent_pnl',\n CLOSE_VALUE: 'close_value',\n CLOSE_PERCENTAGE: 'close_percentage',\n CLOSE_TYPE: 'close_type',\n PERCENTAGE_CLOSED: 'percentage_closed',\n PNL_DOLLAR: 'dollar_pnl',\n PNL_PERCENT: 'percent_pnl',\n RECEIVED_AMOUNT: 'received_amount',\n\n // Order type variations\n CURRENT_ORDER_TYPE: 'current_order_type',\n SELECTED_ORDER_TYPE: 'selected_order_type',\n\n // Funding properties\n SOURCE_CHAIN: 'source_chain',\n SOURCE_ASSET: 'source_asset',\n SOURCE_AMOUNT: 'source_amount',\n DESTINATION_AMOUNT: 'destination_amount',\n NETWORK_FEE: 'network_fee',\n WITHDRAWAL_AMOUNT: 'withdrawal_amount',\n\n // Chart properties\n INTERACTION_TYPE: 'interaction_type',\n TIME_SERIE_SELECTED: 'time_serie_selected',\n CANDLE_PERIOD: 'candle_period',\n CHART_LIBRARY: 'chart_library',\n ASSET_TYPE: 'asset_type',\n\n // Risk management properties\n STOP_LOSS_PRICE: 'stop_loss_price',\n STOP_LOSS_PERCENT: 'stop_loss_percent',\n TAKE_PROFIT_PRICE: 'take_profit_price',\n TAKE_PROFIT_PERCENT: 'take_profit_percent',\n POSITION_SIZE: 'position_size',\n POSITION_AGE: 'position_age',\n LIQUIDATION_DISTANCE_OLD: 'liquidation_distance_old',\n LIQUIDATION_DISTANCE_NEW: 'liquidation_distance_new',\n\n // Notification properties\n NOTIFICATION_TYPE: 'notification_type',\n\n // Other properties\n INPUT_METHOD: 'input_method', // camelCase per requirements\n ACTION_TYPE: 'action_type',\n SETTING_TYPE: 'setting_type',\n FAILURE_REASON: 'failure_reason',\n WARNING_TYPE: 'warning_type',\n WARNING_MESSAGE: 'warning_message',\n ERROR_TYPE: 'error_type',\n ERROR_MESSAGE: 'error_message',\n AB_TESTS: 'ab_tests',\n COMPLETION_DURATION_TUTORIAL: 'completion_duration_tutorial',\n STEPS_VIEWED: 'steps_viewed',\n VIEW_OCCURRENCES: 'view_occurrences',\n AMOUNT_FILLED: 'amount_filled',\n REMAINING_AMOUNT: 'remaining_amount',\n NUMBER_POSITIONS_CLOSED: 'number_positions_closed',\n\n // Tutorial carousel navigation properties\n PREVIOUS_SCREEN: 'previous_screen',\n CURRENT_SCREEN: 'current_screen',\n SCREEN_POSITION: 'screen_position',\n TOTAL_SCREENS: 'total_screens',\n NAVIGATION_METHOD: 'navigation_method',\n STATUS: 'status',\n SCREEN_TYPE: 'screen_type',\n SCREEN_NAME: 'screen_name',\n ACTION: 'action',\n RETRY_ATTEMPTS: 'retry_attempts',\n SHOW_BACK_BUTTON: 'show_back_button',\n ATTEMPT_NUMBER: 'attempt_number',\n\n // PnL Hero Card properties\n IMAGE_SELECTED: 'image_selected',\n TAB_NUMBER: 'tab_number',\n\n // VIP rewards properties\n VIP_TIER: 'vip_tier',\n VIP_DISCOUNT: 'vip_discount',\n\n // A/B testing properties (flat per test for multiple concurrent tests)\n // Only include AB test properties when test is enabled (event not sent when disabled)\n // Button color test\n AB_TEST_BUTTON_COLOR: 'ab_test_button_color',\n // Future tests: add as AB_TEST_{TEST_NAME} (no _ENABLED property needed)\n\n // Entry point tracking properties\n BUTTON_CLICKED: 'button_clicked',\n BUTTON_LOCATION: 'button_location',\n\n // Balance properties\n HAS_PERP_BALANCE: 'has_perp_balance',\n\n // Service interruption banner\n OUTAGE_BANNER_SHOWN: 'outage_banner_shown',\n\n // Geo-blocking properties (TAT-2337: track geo-blocked withdrawals for monitoring)\n IS_GEO_BLOCKED: 'is_geo_blocked',\n\n // TP/SL differentiation properties\n HAS_TAKE_PROFIT: 'has_take_profit',\n HAS_STOP_LOSS: 'has_stop_loss',\n TAKE_PROFIT_PERCENTAGE: 'take_profit_percentage',\n STOP_LOSS_PERCENTAGE: 'stop_loss_percentage',\n // Auto Close TP/SL RoE sign toggle (`'+'` | `'-'`)\n ROE_SIGN: 'roe_sign',\n // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\n\n // Discovery analytics properties\n SOURCE_SECTION: 'source_section',\n RESULT_COUNT: 'result_count',\n SECTION_NAME: 'section_name',\n SECTION_INDEX: 'section_index',\n SECTIONS_DISPLAYED: 'sections_displayed',\n WATCHLIST_COUNT: 'watchlist_count',\n WATCHLIST_MARKETS: 'watchlist_markets',\n\n // Order value (USD $ value of the order)\n ORDER_VALUE: 'order_value',\n\n // Market category filter (for market list screen)\n MARKET_CATEGORY: 'market_category',\n\n // Pay with any token (PERPS_TRADE_TRANSACTION)\n TRADE_WITH_TOKEN: 'trade_with_token',\n MM_PAY_TOKEN_SELECTED: 'mm_pay_token_selected',\n MM_PAY_NETWORK_SELECTED: 'mm_pay_network_selected',\n\n // Pay-with UI (PERPS_UI_INTERACTION)\n INITIAL_PAYMENT_METHOD: 'initial_payment_method',\n NEW_PAYMENT_METHOD: 'new_payment_method',\n\n // Slippage properties\n MAX_SLIPPAGE_PCT: 'max_slippage_pct',\n MAX_SLIPPAGE_SOURCE: 'max_slippage_source',\n ESTIMATED_SLIPPAGE_PCT: 'estimated_slippage_pct',\n\n // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)\n ABSTRACTION_MODE: 'abstraction_mode',\n PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',\n\n // Entry point / discovery attribution\n ENTRY_POINT: 'entry_point',\n DISCOVERY_SOURCE: 'discovery_source',\n PERP_DISCOVERY_SOURCE: 'perp_discovery_source',\n\n // UTM attribution context\n UTM_SOURCE: 'utm_source',\n UTM_MEDIUM: 'utm_medium',\n UTM_CAMPAIGN: 'utm_campaign',\n UTM_CONTENT: 'utm_content',\n UTM_TERM: 'utm_term',\n\n // Watchlist membership at event time\n WATCHLISTED: 'watchlisted',\n\n // HyperLiquid protocol fee rate on trade + close\n HL_FEE_RATE: 'hl_fee_rate',\n\n // Bulk action correlation id for batch close/cancel\n BULK_ACTION_ID: 'bulk_action_id',\n\n // Client environment (Extension supplies value)\n ENVIRONMENT_TYPE: 'environment_type',\n\n // Order funnel / consideration + quote properties\n ORDER_CONTEXT: 'order_context',\n ORDER_SIZE_PERCENT: 'order_size_percent',\n LIMIT_PRICE_INPUT_TYPE: 'limit_price_input_type',\n LIMIT_PRICE_INPUT_PRESET: 'limit_price_input_preset',\n ORDER_HAS_TP: 'order_has_tp',\n ORDER_HAS_SL: 'order_has_sl',\n QUOTE_LATENCY_MS: 'quote_latency_ms',\n ERROR_REASON: 'error_reason',\n SAVED_ORDER: 'saved_order',\n DEFAULT_PAYMENT_TOKEN: 'default_payment_token',\n DEFAULT_SIZE_AMOUNT: 'default_size_amount',\n DEFAULT_LEVERAGE: 'default_leverage',\n DEFAULT_AUTO_CLOSE: 'default_auto_close',\n ORDER_EXECUTION_LATENCY_MS: 'order_execution_latency_ms',\n SCREEN_CONTEXT: 'screen_context',\n FROM_TOKEN: 'from_token',\n FROM_CHAIN: 'from_chain',\n TO_TOKEN: 'to_token',\n TO_CHAIN: 'to_chain',\n\n // Search / discovery query properties\n SEARCH_QUERY: 'search_query',\n RESULTS_COUNT: 'results_count',\n RESULT_RANK: 'result_rank',\n MODE: 'mode',\n CURRENT_TOKEN: 'current_token',\n\n // Sort / filter properties\n SORT_FIELD: 'sort_field',\n SORT_DIRECTION: 'sort_direction',\n FILTER_CATEGORY: 'filter_category',\n\n // Time-on-screen for abandon tracking\n TIME_ON_SCREEN_MS: 'time_on_screen_ms',\n} as const;\n\n/**\n * Property value constants\n */\nexport const PERPS_EVENT_VALUE = {\n DIRECTION: {\n LONG: 'long',\n SHORT: 'short',\n },\n ORDER_TYPE: {\n MARKET: 'market',\n LIMIT: 'limit',\n // Trigger placements are emitted verbatim by TradingService, so the enum has\n // to list them for dashboards keyed on `order_type`.\n STOP_MARKET: 'stop_market',\n STOP_LIMIT: 'stop_limit',\n TAKE_PROFIT_MARKET: 'take_profit_market',\n TAKE_PROFIT_LIMIT: 'take_profit_limit',\n },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\n },\n CHART_LIBRARY: {\n LIGHTWEIGHT: 'lightweight',\n ADVANCED: 'advanced',\n },\n ASSET_TYPE: {\n SPOT: 'spot',\n PERP: 'perp',\n },\n INPUT_METHOD: {\n SLIDER: 'slider',\n KEYBOARD: 'keyboard',\n PRESET: 'preset',\n MANUAL: 'manual',\n PERCENTAGE_BUTTON: 'percentage_button',\n },\n SOURCE: {\n BANNER: 'banner',\n NOTIFICATION: 'notification',\n MAIN_ACTION_BUTTON: 'main_action_button',\n POSITION_TAB: 'position_tab',\n PERP_MARKETS: 'perp_markets',\n DEEPLINK: 'deeplink',\n TUTORIAL: 'tutorial',\n TRADE_SCREEN: 'trade_screen',\n HOMESCREEN_TAB: 'homescreen_tab',\n PERP_ASSET_SCREEN: 'perp_asset_screen',\n PERP_MARKET: 'perp_market',\n PERP_MARKET_SEARCH: 'perp_market_search',\n POSITION_SCREEN: 'position_screen',\n BOTTOM_NAV_BAR: 'bottom_nav_bar',\n TP_SL_VIEW: 'tp_sl_view',\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN_NO_FUNDS: 'perps_asset_screen_no_funds',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n HOME_SECTION: 'home_section',\n TOOLTIP: 'tooltip',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO_BUTTON: 'crypto_button',\n STOCKS_BUTTON: 'stocks_button',\n CLOSE_TOAST: 'close_toast',\n // Perps home section sources (for navigation tracking)\n PERPS_HOME_POSITION: 'perps_home_position',\n PERPS_HOME_ORDERS: 'perps_home_orders',\n PERPS_HOME_WATCHLIST: 'perps_home_watchlist',\n PERPS_HOME_EXPLORE_CRYPTO: 'perps_home_explore_crypto',\n PERPS_HOME_EXPLORE_STOCKS: 'perps_home_explore_stocks',\n PERPS_HOME_ACTIVITY: 'perps_home_activity',\n // Explore/Trending page source\n EXPLORE: 'explore',\n // Market list tab sources\n PERPS_MARKET_LIST_ALL: 'perps_market_list_all',\n PERPS_MARKET_LIST_CRYPTO: 'perps_market_list_crypto',\n PERPS_MARKET_LIST_STOCKS: 'perps_market_list_stocks',\n // Other navigation sources\n PERPS_TAB: 'perps_tab',\n WALLET_MAIN_ACTION_MENU: 'wallet_main_action_menu',\n PUSH_NOTIFICATION: 'push_notification',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n // Position management sources\n OPEN_POSITION: 'open_position',\n POSITION_CLOSE_TOAST: 'position_close_toast',\n TRADE_DETAILS: 'trade_details',\n // Geo-block trigger sources (for tracking what action was blocked)\n DEPOSIT_BUTTON: 'deposit_button',\n WITHDRAW_BUTTON: 'withdraw_button',\n TRADE_ACTION: 'trade_action',\n ADD_FUNDS_ACTION: 'add_funds_action',\n CANCEL_ORDER: 'cancel_order',\n ASSET_DETAIL_SCREEN: 'asset_detail_screen',\n MARKET_INSIGHTS: 'market_insights',\n // TAT-2449: Geo-block sources for close/modify actions\n CLOSE_POSITION_ACTION: 'close_position_action',\n MODIFY_POSITION_ACTION: 'modify_position_action',\n // Geo-block sources for order book actions\n ORDER_BOOK_LONG_BUTTON: 'order_book_long_button',\n ORDER_BOOK_SHORT_BUTTON: 'order_book_short_button',\n ORDER_BOOK_CLOSE_BUTTON: 'order_book_close_button',\n ORDER_BOOK_MODIFY_BUTTON: 'order_book_modify_button',\n // Geo-block sources for position management actions\n AUTO_CLOSE_ACTION: 'auto_close_action',\n ADJUST_MARGIN_ACTION: 'adjust_margin_action',\n STOP_LOSS_PROMPT_ADD_MARGIN: 'stop_loss_prompt_add_margin',\n STOP_LOSS_PROMPT_SET_SL: 'stop_loss_prompt_set_sl',\n // Geo-block sources for bulk actions\n CLOSE_ALL_POSITIONS_BUTTON: 'close_all_positions_button',\n CANCEL_ALL_ORDERS_BUTTON: 'cancel_all_orders_button',\n },\n WARNING_TYPE: {\n MINIMUM_DEPOSIT: 'minimum_deposit',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n },\n ERROR_TYPE: {\n NETWORK: 'network',\n APP_CRASH: 'app_crash',\n BACKEND: 'backend',\n VALIDATION: 'validation',\n WARNING: 'warning',\n },\n // Standardized error message keys for PERP_ERROR events\n // These should be used instead of localized strings for consistent analytics\n ERROR_MESSAGE_KEY: {\n ORDER_CHANGED_FROM_LIMIT_TO_MARKET: 'order_changed_from_limit_to_market',\n OPEN_CROSS_MARGIN_POSITION_DETECTED: 'open_cross_margin_position_detected',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n ORDER_FAILED: 'order_failed',\n GEO_RESTRICTION: 'geo_restriction',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n MAXIMUM_LEVERAGE_EXCEEDED: 'maximum_leverage_exceeded',\n PRICE_DEVIATION_TOO_HIGH: 'price_deviation_too_high',\n MARKET_AT_CAPACITY: 'market_at_capacity',\n NETWORK_ERROR: 'network_error',\n CONNECTION_FAILED: 'connection_failed',\n POSITION_UPDATE_FAILED: 'position_update_failed',\n TP_SL_UPDATE_FAILED: 'tp_sl_update_failed',\n MARGIN_UPDATE_FAILED: 'margin_update_failed',\n UNKNOWN: 'unknown',\n },\n SOURCE_SECTION: {\n // Home sections\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_GAINERS: 'top_gainers',\n TOP_LOSERS: 'top_losers',\n CRYPTO: 'crypto',\n COMMODITY: 'commodity',\n STOCK: 'stock',\n FOREX: 'forex',\n // Explore sections\n PERPS_MOVERS: 'perps_movers',\n PERPS_CRYPTO: 'perps_crypto',\n PERPS_STOCKS_COMMODITIES: 'perps_stocks_commodities',\n PERPS_MARKETS: 'perps_markets',\n // Market list sections\n ALL_MARKETS: 'all_markets',\n NEW: 'new',\n ACTIVE_SEARCH: 'active_search',\n },\n SECTION_NAME: {\n BALANCE: 'balance',\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_MOVERS: 'top_movers',\n EXPLORE_CRYPTO: 'explore_crypto',\n EXPLORE_COMMODITIES: 'explore_commodities',\n EXPLORE_STOCKS: 'explore_stocks',\n EXPLORE_FOREX: 'explore_forex',\n RECENT_ACTIVITY: 'recent_activity',\n },\n INTERACTION_TYPE: {\n TAP: 'tap',\n ZOOM: 'zoom',\n SLIDE: 'slide',\n SEARCH_CLICKED: 'search_clicked',\n ORDER_TYPE_VIEWED: 'order_type_viewed',\n ORDER_TYPE_SELECTED: 'order_type_selected',\n /** @deprecated Use LEVERAGE_CHANGED instead for clarity */\n SETTING_CHANGED: 'setting_changed',\n LEVERAGE_CHANGED: 'leverage_changed',\n TUTORIAL_STARTED: 'tutorial_started',\n TUTORIAL_COMPLETED: 'tutorial_completed',\n TUTORIAL_NAVIGATION: 'tutorial_navigation',\n CANDLE_PERIOD_VIEWED: 'candle_period_viewed',\n CANDLE_PERIOD_CHANGED: 'candle_period_changed',\n FAVORITE_TOGGLED: 'favorite_toggled',\n BUTTON_CLICKED: 'button_clicked',\n // Position management interactions\n CONTACT_SUPPORT: 'contact_support',\n STOP_LOSS_ONE_CLICK_PROMPT: 'stop_loss_one_click_prompt',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n INCREASE_EXPOSURE: 'increase_exposure',\n REDUCE_EXPOSURE: 'reduce_exposure',\n FLIP_POSITION: 'flip_position',\n // Hero card interactions\n DISPLAY_HERO_CARD: 'display_hero_card',\n SHARE_PNL_HERO_CARD: 'share_pnl_hero_card',\n // Chart interactions\n FULL_SCREEN_CHART: 'full_screen_chart',\n // Pay-with interactions\n PAYMENT_TOKEN_SELECTOR: 'payment_token_selector',\n PAYMENT_METHOD_CHANGED: 'payment_method_changed',\n // Deposit + order (pay-with token) cancel\n CANCEL_TRADE_WITH_TOKEN: 'cancel_trade_with_token',\n // Slippage interactions\n SLIPPAGE_CONFIG_OPENED: 'slippage_config_opened',\n SLIPPAGE_CONFIG_CHANGED: 'slippage_config_changed',\n SLIPPAGE_LIMIT_BLOCKED_ORDER: 'slippage_limit_blocked_order',\n // Auto Close TP/SL RoE sign toggle\n TPSL_ROE_SIGN_TOGGLED: 'tpsl_roe_sign_toggled',\n // Discovery analytics\n MARKET_LIST_FILTER: 'market_list_filter',\n // Sort / filter interactions\n SORT_APPLIED: 'sort_applied',\n FILTER_APPLIED: 'filter_applied',\n // Search interactions\n SEARCH_RESULT_TAPPED: 'search_result_tapped',\n SEARCH_CHIP_TAPPED: 'search_chip_tapped',\n SEARCH_SIGNAL_TILE_TAPPED: 'search_signal_tile_tapped',\n // Pay-with token selector dismissed\n PAYMENT_TOKEN_SELECTOR_DISMISSED: 'payment_token_selector_dismissed',\n },\n MAX_SLIPPAGE_SOURCE: {\n DEFAULT: 'default',\n USER_CONFIGURED: 'user_configured',\n },\n ACTION_TYPE: {\n START_TRADING: 'start_trading',\n SKIP: 'skip',\n STOP_LOSS_SET: 'stop_loss_set',\n TAKE_PROFIT_SET: 'take_profit_set',\n ADL_LEARN_MORE: 'adl_learn_more',\n LEARN_MORE: 'learn_more',\n FAVORITE_MARKET: 'favorite_market',\n UNFAVORITE_MARKET: 'unfavorite_market',\n },\n NOTIFICATION_TYPE: {\n POSITION_LIQUIDATED: 'position_liquidated',\n TP_EXECUTED: 'tp_executed',\n SL_EXECUTED: 'sl_executed',\n LIMIT_ORDER_EXECUTED: 'limit_order_executed',\n },\n CLOSE_TYPE: {\n FULL: 'full',\n PARTIAL: 'partial',\n },\n NAVIGATION_METHOD: {\n SWIPE: 'swipe',\n CONTINUE_BUTTON: 'continue_button',\n PROGRESS_DOT: 'progress_dot',\n },\n STATUS: {\n VIEWED: 'viewed',\n STARTED: 'started',\n COMPLETED: 'completed',\n INITIATED: 'initiated',\n SUBMITTED: 'submitted',\n EXECUTED: 'executed',\n PARTIALLY_FILLED: 'partially_filled',\n FAILED: 'failed',\n SUCCESS: 'success',\n ALREADY_ENABLED: 'already_enabled',\n MIGRATION_REQUIRED: 'migration_required',\n // Emitted when a migration attempt is skipped because it is not applicable\n // (e.g. the user has no Hyperliquid account yet — nothing to migrate).\n // Distinguishes expected no-ops from real failures in dashboards.\n NOT_APPLICABLE: 'not_applicable',\n },\n SCREEN_TYPE: {\n MARKETS: 'markets',\n MARKET_LIST: 'market_list',\n ASSET_DETAILS: 'asset_details',\n TRADING: 'trading',\n /** @deprecated Use PERPS_HOME or WALLET_HOME_PERPS_TAB instead */\n HOMESCREEN: 'homescreen',\n PERPS_HOME: 'perps_home',\n WALLET_HOME_PERPS_TAB: 'wallet_home_perps_tab',\n POSITION_CLOSE: 'position_close',\n LEVERAGE: 'leverage',\n TUTORIAL: 'tutorial',\n WITHDRAWAL: 'withdrawal',\n TP_SL: 'tp_sl',\n CREATE_TPSL: 'create_tpsl',\n EDIT_TPSL: 'edit_tpsl',\n DEPOSIT_INPUT: 'deposit_input',\n DEPOSIT_REVIEW: 'deposit_review',\n CLOSE_ALL_POSITIONS: 'close_all_positions',\n CANCEL_ALL_ORDERS: 'cancel_all_orders',\n PNL_HERO_CARD: 'pnl_hero_card',\n ORDER_BOOK: 'order_book',\n ERROR: 'error',\n // Market list tab screen types\n MARKET_LIST_ALL: 'market_list_all',\n MARKET_LIST_CRYPTO: 'market_list_crypto',\n MARKET_LIST_STOCKS: 'market_list_stocks',\n // Additional screens\n FULL_SCREEN_CHART: 'full_screen_chart',\n ACTIVITY: 'activity',\n INCREASE_EXPOSURE: 'increase_exposure',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n GEO_BLOCK_NOTIF: 'geo_block_notif',\n COMPLIANCE_BLOCK_NOTIF: 'compliance_block_notif',\n // Deposit + order (pay-with token) cancel toast\n CANCEL_TRADE_WITH_TOKEN_TOAST: 'cancel_trade_with_token_toast',\n // Search result screen states\n SEARCH_RESULTS_SHOWN: 'search_results_shown',\n SEARCH_NO_RESULTS: 'search_no_results',\n },\n SETTING_TYPE: {\n LEVERAGE: 'leverage',\n SLIPPAGE: 'slippage',\n },\n SCREEN_NAME: {\n CONNECTION_ERROR: 'connection_error',\n PERPS_HERO_CARD: 'perps_hero_card',\n PERPS_ACTIVITY_HISTORY: 'perps_activity_history',\n PERPS_HOME: 'perps_home',\n PERPS_MARKET_DETAILS: 'perps_market_details',\n PERPS_ORDER: 'perps_order',\n },\n ACTION: {\n CONNECTION_RETRY: 'connection_retry',\n CONNECTION_GO_BACK: 'connection_go_back',\n SHARE: 'share',\n // Risk management actions\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n EDIT_TP_SL: 'edit_tp_sl',\n CREATE_TP_SL: 'create_tp_sl',\n // TP/SL specific actions for risk management events\n TP: 'tp',\n SL: 'sl',\n TPSL: 'tpsl',\n // Trade transaction actions - differentiates new position from adding to existing\n CREATE_POSITION: 'create_position',\n INCREASE_EXPOSURE: 'increase_exposure',\n // Flip position actions with direction specificity\n FLIP_LONG_TO_SHORT: 'flip_long_to_short',\n FLIP_SHORT_TO_LONG: 'flip_short_to_long',\n // Order funnel abandonment\n ABANDON_ORDER: 'abandon_order',\n },\n // Risk management sources\n RISK_MANAGEMENT_SOURCE: {\n TRADE_SCREEN: 'trade_screen',\n POSITION_SCREEN: 'position_screen',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n },\n PERPS_HISTORY_TABS: {\n TRADES: 'trades',\n ORDERS: 'orders',\n FUNDING: 'funding',\n DEPOSITS: 'deposits',\n },\n /** Value for mm_pay_token_selected when user pays with Perps balance (not a token) */\n MM_PAY_TOKEN: {\n PERPS_BALANCE: 'Perps Balance',\n },\n // A/B testing values\n AB_TEST: {\n // Test IDs\n BUTTON_COLOR_TEST: 'button_color_test',\n // Button color test variants\n CONTROL: 'control',\n MONOCHROME: 'monochrome',\n },\n BUTTON_CLICKED: {\n DEPOSIT: 'deposit',\n WITHDRAW: 'withdraw',\n PERPS_HOME: 'perps_home',\n TUTORIAL: 'tutorial',\n TOOLTIP: 'tooltip',\n MARKET_LIST: 'market_list',\n OPEN_POSITION: 'open_position',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO: 'crypto',\n STOCKS: 'stocks',\n COMMODITIES: 'commodities',\n FOREX: 'forex',\n NEW: 'new',\n GIVE_FEEDBACK: 'give_feedback',\n WATCHLIST: 'watchlist',\n TOP_MOVERS: 'top_movers',\n WHATS_HAPPENING: 'whats_happening',\n // Order + position management CTAs\n PLACE_ORDER: 'place_order',\n CLOSE: 'close',\n REDUCE_EXPOSURE: 'reduce_exposure',\n },\n BUTTON_LOCATION: {\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN: 'perps_asset_screen',\n PERPS_TAB: 'perps_tab',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n MARKET_LIST: 'market_list',\n SCREEN: 'screen',\n TOOLTIP: 'tooltip',\n PERP_MARKET_DETAILS: 'perp_market_details',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n ASSET_DETAILS: 'asset_details',\n },\n} as const;\n"]}
@@ -106,7 +106,7 @@ export const PERPS_EVENT_PROPERTY = {
106
106
  VIP_DISCOUNT: 'vip_discount',
107
107
  // A/B testing properties (flat per test for multiple concurrent tests)
108
108
  // Only include AB test properties when test is enabled (event not sent when disabled)
109
- // Button color test (TAT-1937)
109
+ // Button color test
110
110
  AB_TEST_BUTTON_COLOR: 'ab_test_button_color',
111
111
  // Future tests: add as AB_TEST_{TEST_NAME} (no _ENABLED property needed)
112
112
  // Entry point tracking properties
@@ -155,25 +155,25 @@ export const PERPS_EVENT_PROPERTY = {
155
155
  // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)
156
156
  ABSTRACTION_MODE: 'abstraction_mode',
157
157
  PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',
158
- // Entry point / discovery attribution (TAT-3080)
158
+ // Entry point / discovery attribution
159
159
  ENTRY_POINT: 'entry_point',
160
160
  DISCOVERY_SOURCE: 'discovery_source',
161
161
  PERP_DISCOVERY_SOURCE: 'perp_discovery_source',
162
- // UTM attribution context (TAT-3133, TAT-3140)
162
+ // UTM attribution context
163
163
  UTM_SOURCE: 'utm_source',
164
164
  UTM_MEDIUM: 'utm_medium',
165
165
  UTM_CAMPAIGN: 'utm_campaign',
166
166
  UTM_CONTENT: 'utm_content',
167
167
  UTM_TERM: 'utm_term',
168
- // Watchlist membership at event time (TAT-3148)
168
+ // Watchlist membership at event time
169
169
  WATCHLISTED: 'watchlisted',
170
- // HyperLiquid protocol fee rate on trade + close (TAT-3149)
170
+ // HyperLiquid protocol fee rate on trade + close
171
171
  HL_FEE_RATE: 'hl_fee_rate',
172
- // Bulk action correlation id for batch close/cancel (TAT-3150)
172
+ // Bulk action correlation id for batch close/cancel
173
173
  BULK_ACTION_ID: 'bulk_action_id',
174
- // Client environment (Extension supplies value) (TAT-3335)
174
+ // Client environment (Extension supplies value)
175
175
  ENVIRONMENT_TYPE: 'environment_type',
176
- // Order funnel / consideration + quote properties (TAT-3084)
176
+ // Order funnel / consideration + quote properties
177
177
  ORDER_CONTEXT: 'order_context',
178
178
  ORDER_SIZE_PERCENT: 'order_size_percent',
179
179
  LIMIT_PRICE_INPUT_TYPE: 'limit_price_input_type',
@@ -193,17 +193,17 @@ export const PERPS_EVENT_PROPERTY = {
193
193
  FROM_CHAIN: 'from_chain',
194
194
  TO_TOKEN: 'to_token',
195
195
  TO_CHAIN: 'to_chain',
196
- // Search / discovery query properties (TAT-3144, TAT-3202, TAT-3151)
196
+ // Search / discovery query properties
197
197
  SEARCH_QUERY: 'search_query',
198
198
  RESULTS_COUNT: 'results_count',
199
199
  RESULT_RANK: 'result_rank',
200
200
  MODE: 'mode',
201
201
  CURRENT_TOKEN: 'current_token',
202
- // Sort / filter properties (TAT-3142)
202
+ // Sort / filter properties
203
203
  SORT_FIELD: 'sort_field',
204
204
  SORT_DIRECTION: 'sort_direction',
205
205
  FILTER_CATEGORY: 'filter_category',
206
- // Time-on-screen for abandon tracking (TAT-3136)
206
+ // Time-on-screen for abandon tracking
207
207
  TIME_ON_SCREEN_MS: 'time_on_screen_ms',
208
208
  };
209
209
  /**
@@ -431,14 +431,14 @@ export const PERPS_EVENT_VALUE = {
431
431
  TPSL_ROE_SIGN_TOGGLED: 'tpsl_roe_sign_toggled',
432
432
  // Discovery analytics
433
433
  MARKET_LIST_FILTER: 'market_list_filter',
434
- // Sort / filter interactions (TAT-3142)
434
+ // Sort / filter interactions
435
435
  SORT_APPLIED: 'sort_applied',
436
436
  FILTER_APPLIED: 'filter_applied',
437
- // Search interactions (TAT-3144, TAT-3202)
437
+ // Search interactions
438
438
  SEARCH_RESULT_TAPPED: 'search_result_tapped',
439
439
  SEARCH_CHIP_TAPPED: 'search_chip_tapped',
440
440
  SEARCH_SIGNAL_TILE_TAPPED: 'search_signal_tile_tapped',
441
- // Pay-with token selector dismissed (TAT-3151)
441
+ // Pay-with token selector dismissed
442
442
  PAYMENT_TOKEN_SELECTOR_DISMISSED: 'payment_token_selector_dismissed',
443
443
  },
444
444
  MAX_SLIPPAGE_SOURCE: {
@@ -524,7 +524,7 @@ export const PERPS_EVENT_VALUE = {
524
524
  COMPLIANCE_BLOCK_NOTIF: 'compliance_block_notif',
525
525
  // Deposit + order (pay-with token) cancel toast
526
526
  CANCEL_TRADE_WITH_TOKEN_TOAST: 'cancel_trade_with_token_toast',
527
- // Search result screen states (TAT-3144)
527
+ // Search result screen states
528
528
  SEARCH_RESULTS_SHOWN: 'search_results_shown',
529
529
  SEARCH_NO_RESULTS: 'search_no_results',
530
530
  },
@@ -559,7 +559,7 @@ export const PERPS_EVENT_VALUE = {
559
559
  // Flip position actions with direction specificity
560
560
  FLIP_LONG_TO_SHORT: 'flip_long_to_short',
561
561
  FLIP_SHORT_TO_LONG: 'flip_short_to_long',
562
- // Order funnel abandonment (TAT-3136)
562
+ // Order funnel abandonment
563
563
  ABANDON_ORDER: 'abandon_order',
564
564
  },
565
565
  // Risk management sources
@@ -604,7 +604,7 @@ export const PERPS_EVENT_VALUE = {
604
604
  WATCHLIST: 'watchlist',
605
605
  TOP_MOVERS: 'top_movers',
606
606
  WHATS_HAPPENING: 'whats_happening',
607
- // Order + position management CTAs (TAT-3135, TAT-3141)
607
+ // Order + position management CTAs
608
608
  PLACE_ORDER: 'place_order',
609
609
  CLOSE: 'close',
610
610
  REDUCE_EXPOSURE: 'reduce_exposure',
@@ -1 +1 @@
1
- {"version":3,"file":"eventNames.mjs","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Perps event property keys and values - matching dashboard requirements exactly\n * Event names are defined in MetaMetrics.events.ts as the single source of truth\n */\n\n/**\n * Event property keys - ensures consistent property naming\n */\nexport const PERPS_EVENT_PROPERTY = {\n // Common properties\n TIMESTAMP: 'timestamp',\n ASSET: 'asset',\n DIRECTION: 'direction',\n SOURCE: 'source',\n TAB_NAME: 'tab_name',\n LOCATION: 'location',\n\n // Trade properties\n LEVERAGE: 'leverage',\n LEVERAGE_USED: 'leverage_used',\n ORDER_SIZE: 'order_size',\n MARGIN_USED: 'margin_used',\n ORDER_TYPE: 'order_type', // lowercase per dashboard\n ORDER_TIMESTAMP: 'order_timestamp',\n LIMIT_PRICE: 'limit_price',\n FEES: 'fees',\n FEE: 'fee',\n METAMASK_FEE: 'metamask_fee',\n METAMASK_FEE_RATE: 'metamask_fee_rate',\n DISCOUNT_PERCENTAGE: 'discount_percentage',\n ESTIMATED_REWARDS: 'estimated_rewards',\n ASSET_PRICE: 'asset_price',\n COMPLETION_DURATION: 'completion_duration',\n\n // Position properties\n OPEN_POSITION: 'open_position',\n OPEN_ORDER: 'open_order',\n OPEN_POSITION_SIZE: 'open_position_size',\n UNREALIZED_PNL_DOLLAR: 'unrealized_dollar_pnl',\n UNREALIZED_PNL_PERCENT: 'unrealized_percent_pnl',\n CLOSE_VALUE: 'close_value',\n CLOSE_PERCENTAGE: 'close_percentage',\n CLOSE_TYPE: 'close_type',\n PERCENTAGE_CLOSED: 'percentage_closed',\n PNL_DOLLAR: 'dollar_pnl',\n PNL_PERCENT: 'percent_pnl',\n RECEIVED_AMOUNT: 'received_amount',\n\n // Order type variations\n CURRENT_ORDER_TYPE: 'current_order_type',\n SELECTED_ORDER_TYPE: 'selected_order_type',\n\n // Funding properties\n SOURCE_CHAIN: 'source_chain',\n SOURCE_ASSET: 'source_asset',\n SOURCE_AMOUNT: 'source_amount',\n DESTINATION_AMOUNT: 'destination_amount',\n NETWORK_FEE: 'network_fee',\n WITHDRAWAL_AMOUNT: 'withdrawal_amount',\n\n // Chart properties\n INTERACTION_TYPE: 'interaction_type',\n TIME_SERIE_SELECTED: 'time_serie_selected',\n CANDLE_PERIOD: 'candle_period',\n CHART_LIBRARY: 'chart_library',\n ASSET_TYPE: 'asset_type',\n\n // Risk management properties\n STOP_LOSS_PRICE: 'stop_loss_price',\n STOP_LOSS_PERCENT: 'stop_loss_percent',\n TAKE_PROFIT_PRICE: 'take_profit_price',\n TAKE_PROFIT_PERCENT: 'take_profit_percent',\n POSITION_SIZE: 'position_size',\n POSITION_AGE: 'position_age',\n LIQUIDATION_DISTANCE_OLD: 'liquidation_distance_old',\n LIQUIDATION_DISTANCE_NEW: 'liquidation_distance_new',\n\n // Notification properties\n NOTIFICATION_TYPE: 'notification_type',\n\n // Other properties\n INPUT_METHOD: 'input_method', // camelCase per requirements\n ACTION_TYPE: 'action_type',\n SETTING_TYPE: 'setting_type',\n FAILURE_REASON: 'failure_reason',\n WARNING_TYPE: 'warning_type',\n WARNING_MESSAGE: 'warning_message',\n ERROR_TYPE: 'error_type',\n ERROR_MESSAGE: 'error_message',\n AB_TESTS: 'ab_tests',\n COMPLETION_DURATION_TUTORIAL: 'completion_duration_tutorial',\n STEPS_VIEWED: 'steps_viewed',\n VIEW_OCCURRENCES: 'view_occurrences',\n AMOUNT_FILLED: 'amount_filled',\n REMAINING_AMOUNT: 'remaining_amount',\n NUMBER_POSITIONS_CLOSED: 'number_positions_closed',\n\n // Tutorial carousel navigation properties\n PREVIOUS_SCREEN: 'previous_screen',\n CURRENT_SCREEN: 'current_screen',\n SCREEN_POSITION: 'screen_position',\n TOTAL_SCREENS: 'total_screens',\n NAVIGATION_METHOD: 'navigation_method',\n STATUS: 'status',\n SCREEN_TYPE: 'screen_type',\n SCREEN_NAME: 'screen_name',\n ACTION: 'action',\n RETRY_ATTEMPTS: 'retry_attempts',\n SHOW_BACK_BUTTON: 'show_back_button',\n ATTEMPT_NUMBER: 'attempt_number',\n\n // PnL Hero Card properties\n IMAGE_SELECTED: 'image_selected',\n TAB_NUMBER: 'tab_number',\n\n // VIP rewards properties\n VIP_TIER: 'vip_tier',\n VIP_DISCOUNT: 'vip_discount',\n\n // A/B testing properties (flat per test for multiple concurrent tests)\n // Only include AB test properties when test is enabled (event not sent when disabled)\n // Button color test (TAT-1937)\n AB_TEST_BUTTON_COLOR: 'ab_test_button_color',\n // Future tests: add as AB_TEST_{TEST_NAME} (no _ENABLED property needed)\n\n // Entry point tracking properties\n BUTTON_CLICKED: 'button_clicked',\n BUTTON_LOCATION: 'button_location',\n\n // Balance properties\n HAS_PERP_BALANCE: 'has_perp_balance',\n\n // Service interruption banner\n OUTAGE_BANNER_SHOWN: 'outage_banner_shown',\n\n // Geo-blocking properties (TAT-2337: track geo-blocked withdrawals for monitoring)\n IS_GEO_BLOCKED: 'is_geo_blocked',\n\n // TP/SL differentiation properties\n HAS_TAKE_PROFIT: 'has_take_profit',\n HAS_STOP_LOSS: 'has_stop_loss',\n TAKE_PROFIT_PERCENTAGE: 'take_profit_percentage',\n STOP_LOSS_PERCENTAGE: 'stop_loss_percentage',\n // Auto Close TP/SL RoE sign toggle (`'+'` | `'-'`)\n ROE_SIGN: 'roe_sign',\n // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\n\n // Discovery analytics properties\n SOURCE_SECTION: 'source_section',\n RESULT_COUNT: 'result_count',\n SECTION_NAME: 'section_name',\n SECTION_INDEX: 'section_index',\n SECTIONS_DISPLAYED: 'sections_displayed',\n WATCHLIST_COUNT: 'watchlist_count',\n WATCHLIST_MARKETS: 'watchlist_markets',\n\n // Order value (USD $ value of the order)\n ORDER_VALUE: 'order_value',\n\n // Market category filter (for market list screen)\n MARKET_CATEGORY: 'market_category',\n\n // Pay with any token (PERPS_TRADE_TRANSACTION)\n TRADE_WITH_TOKEN: 'trade_with_token',\n MM_PAY_TOKEN_SELECTED: 'mm_pay_token_selected',\n MM_PAY_NETWORK_SELECTED: 'mm_pay_network_selected',\n\n // Pay-with UI (PERPS_UI_INTERACTION)\n INITIAL_PAYMENT_METHOD: 'initial_payment_method',\n NEW_PAYMENT_METHOD: 'new_payment_method',\n\n // Slippage properties\n MAX_SLIPPAGE_PCT: 'max_slippage_pct',\n MAX_SLIPPAGE_SOURCE: 'max_slippage_source',\n ESTIMATED_SLIPPAGE_PCT: 'estimated_slippage_pct',\n\n // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)\n ABSTRACTION_MODE: 'abstraction_mode',\n PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',\n\n // Entry point / discovery attribution (TAT-3080)\n ENTRY_POINT: 'entry_point',\n DISCOVERY_SOURCE: 'discovery_source',\n PERP_DISCOVERY_SOURCE: 'perp_discovery_source',\n\n // UTM attribution context (TAT-3133, TAT-3140)\n UTM_SOURCE: 'utm_source',\n UTM_MEDIUM: 'utm_medium',\n UTM_CAMPAIGN: 'utm_campaign',\n UTM_CONTENT: 'utm_content',\n UTM_TERM: 'utm_term',\n\n // Watchlist membership at event time (TAT-3148)\n WATCHLISTED: 'watchlisted',\n\n // HyperLiquid protocol fee rate on trade + close (TAT-3149)\n HL_FEE_RATE: 'hl_fee_rate',\n\n // Bulk action correlation id for batch close/cancel (TAT-3150)\n BULK_ACTION_ID: 'bulk_action_id',\n\n // Client environment (Extension supplies value) (TAT-3335)\n ENVIRONMENT_TYPE: 'environment_type',\n\n // Order funnel / consideration + quote properties (TAT-3084)\n ORDER_CONTEXT: 'order_context',\n ORDER_SIZE_PERCENT: 'order_size_percent',\n LIMIT_PRICE_INPUT_TYPE: 'limit_price_input_type',\n LIMIT_PRICE_INPUT_PRESET: 'limit_price_input_preset',\n ORDER_HAS_TP: 'order_has_tp',\n ORDER_HAS_SL: 'order_has_sl',\n QUOTE_LATENCY_MS: 'quote_latency_ms',\n ERROR_REASON: 'error_reason',\n SAVED_ORDER: 'saved_order',\n DEFAULT_PAYMENT_TOKEN: 'default_payment_token',\n DEFAULT_SIZE_AMOUNT: 'default_size_amount',\n DEFAULT_LEVERAGE: 'default_leverage',\n DEFAULT_AUTO_CLOSE: 'default_auto_close',\n ORDER_EXECUTION_LATENCY_MS: 'order_execution_latency_ms',\n SCREEN_CONTEXT: 'screen_context',\n FROM_TOKEN: 'from_token',\n FROM_CHAIN: 'from_chain',\n TO_TOKEN: 'to_token',\n TO_CHAIN: 'to_chain',\n\n // Search / discovery query properties (TAT-3144, TAT-3202, TAT-3151)\n SEARCH_QUERY: 'search_query',\n RESULTS_COUNT: 'results_count',\n RESULT_RANK: 'result_rank',\n MODE: 'mode',\n CURRENT_TOKEN: 'current_token',\n\n // Sort / filter properties (TAT-3142)\n SORT_FIELD: 'sort_field',\n SORT_DIRECTION: 'sort_direction',\n FILTER_CATEGORY: 'filter_category',\n\n // Time-on-screen for abandon tracking (TAT-3136)\n TIME_ON_SCREEN_MS: 'time_on_screen_ms',\n} as const;\n\n/**\n * Property value constants\n */\nexport const PERPS_EVENT_VALUE = {\n DIRECTION: {\n LONG: 'long',\n SHORT: 'short',\n },\n ORDER_TYPE: {\n MARKET: 'market',\n LIMIT: 'limit',\n // Trigger placements are emitted verbatim by TradingService, so the enum has\n // to list them for dashboards keyed on `order_type`.\n STOP_MARKET: 'stop_market',\n STOP_LIMIT: 'stop_limit',\n TAKE_PROFIT_MARKET: 'take_profit_market',\n TAKE_PROFIT_LIMIT: 'take_profit_limit',\n },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\n },\n CHART_LIBRARY: {\n LIGHTWEIGHT: 'lightweight',\n ADVANCED: 'advanced',\n },\n ASSET_TYPE: {\n SPOT: 'spot',\n PERP: 'perp',\n },\n INPUT_METHOD: {\n SLIDER: 'slider',\n KEYBOARD: 'keyboard',\n PRESET: 'preset',\n MANUAL: 'manual',\n PERCENTAGE_BUTTON: 'percentage_button',\n },\n SOURCE: {\n BANNER: 'banner',\n NOTIFICATION: 'notification',\n MAIN_ACTION_BUTTON: 'main_action_button',\n POSITION_TAB: 'position_tab',\n PERP_MARKETS: 'perp_markets',\n DEEPLINK: 'deeplink',\n TUTORIAL: 'tutorial',\n TRADE_SCREEN: 'trade_screen',\n HOMESCREEN_TAB: 'homescreen_tab',\n PERP_ASSET_SCREEN: 'perp_asset_screen',\n PERP_MARKET: 'perp_market',\n PERP_MARKET_SEARCH: 'perp_market_search',\n POSITION_SCREEN: 'position_screen',\n BOTTOM_NAV_BAR: 'bottom_nav_bar',\n TP_SL_VIEW: 'tp_sl_view',\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN_NO_FUNDS: 'perps_asset_screen_no_funds',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n HOME_SECTION: 'home_section',\n TOOLTIP: 'tooltip',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO_BUTTON: 'crypto_button',\n STOCKS_BUTTON: 'stocks_button',\n CLOSE_TOAST: 'close_toast',\n // Perps home section sources (for navigation tracking)\n PERPS_HOME_POSITION: 'perps_home_position',\n PERPS_HOME_ORDERS: 'perps_home_orders',\n PERPS_HOME_WATCHLIST: 'perps_home_watchlist',\n PERPS_HOME_EXPLORE_CRYPTO: 'perps_home_explore_crypto',\n PERPS_HOME_EXPLORE_STOCKS: 'perps_home_explore_stocks',\n PERPS_HOME_ACTIVITY: 'perps_home_activity',\n // Explore/Trending page source\n EXPLORE: 'explore',\n // Market list tab sources\n PERPS_MARKET_LIST_ALL: 'perps_market_list_all',\n PERPS_MARKET_LIST_CRYPTO: 'perps_market_list_crypto',\n PERPS_MARKET_LIST_STOCKS: 'perps_market_list_stocks',\n // Other navigation sources\n PERPS_TAB: 'perps_tab',\n WALLET_MAIN_ACTION_MENU: 'wallet_main_action_menu',\n PUSH_NOTIFICATION: 'push_notification',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n // Position management sources\n OPEN_POSITION: 'open_position',\n POSITION_CLOSE_TOAST: 'position_close_toast',\n TRADE_DETAILS: 'trade_details',\n // Geo-block trigger sources (for tracking what action was blocked)\n DEPOSIT_BUTTON: 'deposit_button',\n WITHDRAW_BUTTON: 'withdraw_button',\n TRADE_ACTION: 'trade_action',\n ADD_FUNDS_ACTION: 'add_funds_action',\n CANCEL_ORDER: 'cancel_order',\n ASSET_DETAIL_SCREEN: 'asset_detail_screen',\n MARKET_INSIGHTS: 'market_insights',\n // TAT-2449: Geo-block sources for close/modify actions\n CLOSE_POSITION_ACTION: 'close_position_action',\n MODIFY_POSITION_ACTION: 'modify_position_action',\n // Geo-block sources for order book actions\n ORDER_BOOK_LONG_BUTTON: 'order_book_long_button',\n ORDER_BOOK_SHORT_BUTTON: 'order_book_short_button',\n ORDER_BOOK_CLOSE_BUTTON: 'order_book_close_button',\n ORDER_BOOK_MODIFY_BUTTON: 'order_book_modify_button',\n // Geo-block sources for position management actions\n AUTO_CLOSE_ACTION: 'auto_close_action',\n ADJUST_MARGIN_ACTION: 'adjust_margin_action',\n STOP_LOSS_PROMPT_ADD_MARGIN: 'stop_loss_prompt_add_margin',\n STOP_LOSS_PROMPT_SET_SL: 'stop_loss_prompt_set_sl',\n // Geo-block sources for bulk actions\n CLOSE_ALL_POSITIONS_BUTTON: 'close_all_positions_button',\n CANCEL_ALL_ORDERS_BUTTON: 'cancel_all_orders_button',\n },\n WARNING_TYPE: {\n MINIMUM_DEPOSIT: 'minimum_deposit',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n },\n ERROR_TYPE: {\n NETWORK: 'network',\n APP_CRASH: 'app_crash',\n BACKEND: 'backend',\n VALIDATION: 'validation',\n WARNING: 'warning',\n },\n // Standardized error message keys for PERP_ERROR events\n // These should be used instead of localized strings for consistent analytics\n ERROR_MESSAGE_KEY: {\n ORDER_CHANGED_FROM_LIMIT_TO_MARKET: 'order_changed_from_limit_to_market',\n OPEN_CROSS_MARGIN_POSITION_DETECTED: 'open_cross_margin_position_detected',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n ORDER_FAILED: 'order_failed',\n GEO_RESTRICTION: 'geo_restriction',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n MAXIMUM_LEVERAGE_EXCEEDED: 'maximum_leverage_exceeded',\n PRICE_DEVIATION_TOO_HIGH: 'price_deviation_too_high',\n MARKET_AT_CAPACITY: 'market_at_capacity',\n NETWORK_ERROR: 'network_error',\n CONNECTION_FAILED: 'connection_failed',\n POSITION_UPDATE_FAILED: 'position_update_failed',\n TP_SL_UPDATE_FAILED: 'tp_sl_update_failed',\n MARGIN_UPDATE_FAILED: 'margin_update_failed',\n UNKNOWN: 'unknown',\n },\n SOURCE_SECTION: {\n // Home sections\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_GAINERS: 'top_gainers',\n TOP_LOSERS: 'top_losers',\n CRYPTO: 'crypto',\n COMMODITY: 'commodity',\n STOCK: 'stock',\n FOREX: 'forex',\n // Explore sections\n PERPS_MOVERS: 'perps_movers',\n PERPS_CRYPTO: 'perps_crypto',\n PERPS_STOCKS_COMMODITIES: 'perps_stocks_commodities',\n PERPS_MARKETS: 'perps_markets',\n // Market list sections\n ALL_MARKETS: 'all_markets',\n NEW: 'new',\n ACTIVE_SEARCH: 'active_search',\n },\n SECTION_NAME: {\n BALANCE: 'balance',\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_MOVERS: 'top_movers',\n EXPLORE_CRYPTO: 'explore_crypto',\n EXPLORE_COMMODITIES: 'explore_commodities',\n EXPLORE_STOCKS: 'explore_stocks',\n EXPLORE_FOREX: 'explore_forex',\n RECENT_ACTIVITY: 'recent_activity',\n },\n INTERACTION_TYPE: {\n TAP: 'tap',\n ZOOM: 'zoom',\n SLIDE: 'slide',\n SEARCH_CLICKED: 'search_clicked',\n ORDER_TYPE_VIEWED: 'order_type_viewed',\n ORDER_TYPE_SELECTED: 'order_type_selected',\n /** @deprecated Use LEVERAGE_CHANGED instead for clarity */\n SETTING_CHANGED: 'setting_changed',\n LEVERAGE_CHANGED: 'leverage_changed',\n TUTORIAL_STARTED: 'tutorial_started',\n TUTORIAL_COMPLETED: 'tutorial_completed',\n TUTORIAL_NAVIGATION: 'tutorial_navigation',\n CANDLE_PERIOD_VIEWED: 'candle_period_viewed',\n CANDLE_PERIOD_CHANGED: 'candle_period_changed',\n FAVORITE_TOGGLED: 'favorite_toggled',\n BUTTON_CLICKED: 'button_clicked',\n // Position management interactions\n CONTACT_SUPPORT: 'contact_support',\n STOP_LOSS_ONE_CLICK_PROMPT: 'stop_loss_one_click_prompt',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n INCREASE_EXPOSURE: 'increase_exposure',\n REDUCE_EXPOSURE: 'reduce_exposure',\n FLIP_POSITION: 'flip_position',\n // Hero card interactions\n DISPLAY_HERO_CARD: 'display_hero_card',\n SHARE_PNL_HERO_CARD: 'share_pnl_hero_card',\n // Chart interactions\n FULL_SCREEN_CHART: 'full_screen_chart',\n // Pay-with interactions\n PAYMENT_TOKEN_SELECTOR: 'payment_token_selector',\n PAYMENT_METHOD_CHANGED: 'payment_method_changed',\n // Deposit + order (pay-with token) cancel\n CANCEL_TRADE_WITH_TOKEN: 'cancel_trade_with_token',\n // Slippage interactions\n SLIPPAGE_CONFIG_OPENED: 'slippage_config_opened',\n SLIPPAGE_CONFIG_CHANGED: 'slippage_config_changed',\n SLIPPAGE_LIMIT_BLOCKED_ORDER: 'slippage_limit_blocked_order',\n // Auto Close TP/SL RoE sign toggle\n TPSL_ROE_SIGN_TOGGLED: 'tpsl_roe_sign_toggled',\n // Discovery analytics\n MARKET_LIST_FILTER: 'market_list_filter',\n // Sort / filter interactions (TAT-3142)\n SORT_APPLIED: 'sort_applied',\n FILTER_APPLIED: 'filter_applied',\n // Search interactions (TAT-3144, TAT-3202)\n SEARCH_RESULT_TAPPED: 'search_result_tapped',\n SEARCH_CHIP_TAPPED: 'search_chip_tapped',\n SEARCH_SIGNAL_TILE_TAPPED: 'search_signal_tile_tapped',\n // Pay-with token selector dismissed (TAT-3151)\n PAYMENT_TOKEN_SELECTOR_DISMISSED: 'payment_token_selector_dismissed',\n },\n MAX_SLIPPAGE_SOURCE: {\n DEFAULT: 'default',\n USER_CONFIGURED: 'user_configured',\n },\n ACTION_TYPE: {\n START_TRADING: 'start_trading',\n SKIP: 'skip',\n STOP_LOSS_SET: 'stop_loss_set',\n TAKE_PROFIT_SET: 'take_profit_set',\n ADL_LEARN_MORE: 'adl_learn_more',\n LEARN_MORE: 'learn_more',\n FAVORITE_MARKET: 'favorite_market',\n UNFAVORITE_MARKET: 'unfavorite_market',\n },\n NOTIFICATION_TYPE: {\n POSITION_LIQUIDATED: 'position_liquidated',\n TP_EXECUTED: 'tp_executed',\n SL_EXECUTED: 'sl_executed',\n LIMIT_ORDER_EXECUTED: 'limit_order_executed',\n },\n CLOSE_TYPE: {\n FULL: 'full',\n PARTIAL: 'partial',\n },\n NAVIGATION_METHOD: {\n SWIPE: 'swipe',\n CONTINUE_BUTTON: 'continue_button',\n PROGRESS_DOT: 'progress_dot',\n },\n STATUS: {\n VIEWED: 'viewed',\n STARTED: 'started',\n COMPLETED: 'completed',\n INITIATED: 'initiated',\n SUBMITTED: 'submitted',\n EXECUTED: 'executed',\n PARTIALLY_FILLED: 'partially_filled',\n FAILED: 'failed',\n SUCCESS: 'success',\n ALREADY_ENABLED: 'already_enabled',\n MIGRATION_REQUIRED: 'migration_required',\n // Emitted when a migration attempt is skipped because it is not applicable\n // (e.g. the user has no Hyperliquid account yet — nothing to migrate).\n // Distinguishes expected no-ops from real failures in dashboards.\n NOT_APPLICABLE: 'not_applicable',\n },\n SCREEN_TYPE: {\n MARKETS: 'markets',\n MARKET_LIST: 'market_list',\n ASSET_DETAILS: 'asset_details',\n TRADING: 'trading',\n /** @deprecated Use PERPS_HOME or WALLET_HOME_PERPS_TAB instead */\n HOMESCREEN: 'homescreen',\n PERPS_HOME: 'perps_home',\n WALLET_HOME_PERPS_TAB: 'wallet_home_perps_tab',\n POSITION_CLOSE: 'position_close',\n LEVERAGE: 'leverage',\n TUTORIAL: 'tutorial',\n WITHDRAWAL: 'withdrawal',\n TP_SL: 'tp_sl',\n CREATE_TPSL: 'create_tpsl',\n EDIT_TPSL: 'edit_tpsl',\n DEPOSIT_INPUT: 'deposit_input',\n DEPOSIT_REVIEW: 'deposit_review',\n CLOSE_ALL_POSITIONS: 'close_all_positions',\n CANCEL_ALL_ORDERS: 'cancel_all_orders',\n PNL_HERO_CARD: 'pnl_hero_card',\n ORDER_BOOK: 'order_book',\n ERROR: 'error',\n // Market list tab screen types\n MARKET_LIST_ALL: 'market_list_all',\n MARKET_LIST_CRYPTO: 'market_list_crypto',\n MARKET_LIST_STOCKS: 'market_list_stocks',\n // Additional screens\n FULL_SCREEN_CHART: 'full_screen_chart',\n ACTIVITY: 'activity',\n INCREASE_EXPOSURE: 'increase_exposure',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n GEO_BLOCK_NOTIF: 'geo_block_notif',\n COMPLIANCE_BLOCK_NOTIF: 'compliance_block_notif',\n // Deposit + order (pay-with token) cancel toast\n CANCEL_TRADE_WITH_TOKEN_TOAST: 'cancel_trade_with_token_toast',\n // Search result screen states (TAT-3144)\n SEARCH_RESULTS_SHOWN: 'search_results_shown',\n SEARCH_NO_RESULTS: 'search_no_results',\n },\n SETTING_TYPE: {\n LEVERAGE: 'leverage',\n SLIPPAGE: 'slippage',\n },\n SCREEN_NAME: {\n CONNECTION_ERROR: 'connection_error',\n PERPS_HERO_CARD: 'perps_hero_card',\n PERPS_ACTIVITY_HISTORY: 'perps_activity_history',\n PERPS_HOME: 'perps_home',\n PERPS_MARKET_DETAILS: 'perps_market_details',\n PERPS_ORDER: 'perps_order',\n },\n ACTION: {\n CONNECTION_RETRY: 'connection_retry',\n CONNECTION_GO_BACK: 'connection_go_back',\n SHARE: 'share',\n // Risk management actions\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n EDIT_TP_SL: 'edit_tp_sl',\n CREATE_TP_SL: 'create_tp_sl',\n // TP/SL specific actions for risk management events\n TP: 'tp',\n SL: 'sl',\n TPSL: 'tpsl',\n // Trade transaction actions - differentiates new position from adding to existing\n CREATE_POSITION: 'create_position',\n INCREASE_EXPOSURE: 'increase_exposure',\n // Flip position actions with direction specificity\n FLIP_LONG_TO_SHORT: 'flip_long_to_short',\n FLIP_SHORT_TO_LONG: 'flip_short_to_long',\n // Order funnel abandonment (TAT-3136)\n ABANDON_ORDER: 'abandon_order',\n },\n // Risk management sources\n RISK_MANAGEMENT_SOURCE: {\n TRADE_SCREEN: 'trade_screen',\n POSITION_SCREEN: 'position_screen',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n },\n PERPS_HISTORY_TABS: {\n TRADES: 'trades',\n ORDERS: 'orders',\n FUNDING: 'funding',\n DEPOSITS: 'deposits',\n },\n /** Value for mm_pay_token_selected when user pays with Perps balance (not a token) */\n MM_PAY_TOKEN: {\n PERPS_BALANCE: 'Perps Balance',\n },\n // A/B testing values\n AB_TEST: {\n // Test IDs\n BUTTON_COLOR_TEST: 'button_color_test',\n // Button color test variants\n CONTROL: 'control',\n MONOCHROME: 'monochrome',\n },\n BUTTON_CLICKED: {\n DEPOSIT: 'deposit',\n WITHDRAW: 'withdraw',\n PERPS_HOME: 'perps_home',\n TUTORIAL: 'tutorial',\n TOOLTIP: 'tooltip',\n MARKET_LIST: 'market_list',\n OPEN_POSITION: 'open_position',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO: 'crypto',\n STOCKS: 'stocks',\n COMMODITIES: 'commodities',\n FOREX: 'forex',\n NEW: 'new',\n GIVE_FEEDBACK: 'give_feedback',\n WATCHLIST: 'watchlist',\n TOP_MOVERS: 'top_movers',\n WHATS_HAPPENING: 'whats_happening',\n // Order + position management CTAs (TAT-3135, TAT-3141)\n PLACE_ORDER: 'place_order',\n CLOSE: 'close',\n REDUCE_EXPOSURE: 'reduce_exposure',\n },\n BUTTON_LOCATION: {\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN: 'perps_asset_screen',\n PERPS_TAB: 'perps_tab',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n MARKET_LIST: 'market_list',\n SCREEN: 'screen',\n TOOLTIP: 'tooltip',\n PERP_MARKET_DETAILS: 'perp_market_details',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n ASSET_DETAILS: 'asset_details',\n },\n} as const;\n"]}
1
+ {"version":3,"file":"eventNames.mjs","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Perps event property keys and values - matching dashboard requirements exactly\n * Event names are defined in MetaMetrics.events.ts as the single source of truth\n */\n\n/**\n * Event property keys - ensures consistent property naming\n */\nexport const PERPS_EVENT_PROPERTY = {\n // Common properties\n TIMESTAMP: 'timestamp',\n ASSET: 'asset',\n DIRECTION: 'direction',\n SOURCE: 'source',\n TAB_NAME: 'tab_name',\n LOCATION: 'location',\n\n // Trade properties\n LEVERAGE: 'leverage',\n LEVERAGE_USED: 'leverage_used',\n ORDER_SIZE: 'order_size',\n MARGIN_USED: 'margin_used',\n ORDER_TYPE: 'order_type', // lowercase per dashboard\n ORDER_TIMESTAMP: 'order_timestamp',\n LIMIT_PRICE: 'limit_price',\n FEES: 'fees',\n FEE: 'fee',\n METAMASK_FEE: 'metamask_fee',\n METAMASK_FEE_RATE: 'metamask_fee_rate',\n DISCOUNT_PERCENTAGE: 'discount_percentage',\n ESTIMATED_REWARDS: 'estimated_rewards',\n ASSET_PRICE: 'asset_price',\n COMPLETION_DURATION: 'completion_duration',\n\n // Position properties\n OPEN_POSITION: 'open_position',\n OPEN_ORDER: 'open_order',\n OPEN_POSITION_SIZE: 'open_position_size',\n UNREALIZED_PNL_DOLLAR: 'unrealized_dollar_pnl',\n UNREALIZED_PNL_PERCENT: 'unrealized_percent_pnl',\n CLOSE_VALUE: 'close_value',\n CLOSE_PERCENTAGE: 'close_percentage',\n CLOSE_TYPE: 'close_type',\n PERCENTAGE_CLOSED: 'percentage_closed',\n PNL_DOLLAR: 'dollar_pnl',\n PNL_PERCENT: 'percent_pnl',\n RECEIVED_AMOUNT: 'received_amount',\n\n // Order type variations\n CURRENT_ORDER_TYPE: 'current_order_type',\n SELECTED_ORDER_TYPE: 'selected_order_type',\n\n // Funding properties\n SOURCE_CHAIN: 'source_chain',\n SOURCE_ASSET: 'source_asset',\n SOURCE_AMOUNT: 'source_amount',\n DESTINATION_AMOUNT: 'destination_amount',\n NETWORK_FEE: 'network_fee',\n WITHDRAWAL_AMOUNT: 'withdrawal_amount',\n\n // Chart properties\n INTERACTION_TYPE: 'interaction_type',\n TIME_SERIE_SELECTED: 'time_serie_selected',\n CANDLE_PERIOD: 'candle_period',\n CHART_LIBRARY: 'chart_library',\n ASSET_TYPE: 'asset_type',\n\n // Risk management properties\n STOP_LOSS_PRICE: 'stop_loss_price',\n STOP_LOSS_PERCENT: 'stop_loss_percent',\n TAKE_PROFIT_PRICE: 'take_profit_price',\n TAKE_PROFIT_PERCENT: 'take_profit_percent',\n POSITION_SIZE: 'position_size',\n POSITION_AGE: 'position_age',\n LIQUIDATION_DISTANCE_OLD: 'liquidation_distance_old',\n LIQUIDATION_DISTANCE_NEW: 'liquidation_distance_new',\n\n // Notification properties\n NOTIFICATION_TYPE: 'notification_type',\n\n // Other properties\n INPUT_METHOD: 'input_method', // camelCase per requirements\n ACTION_TYPE: 'action_type',\n SETTING_TYPE: 'setting_type',\n FAILURE_REASON: 'failure_reason',\n WARNING_TYPE: 'warning_type',\n WARNING_MESSAGE: 'warning_message',\n ERROR_TYPE: 'error_type',\n ERROR_MESSAGE: 'error_message',\n AB_TESTS: 'ab_tests',\n COMPLETION_DURATION_TUTORIAL: 'completion_duration_tutorial',\n STEPS_VIEWED: 'steps_viewed',\n VIEW_OCCURRENCES: 'view_occurrences',\n AMOUNT_FILLED: 'amount_filled',\n REMAINING_AMOUNT: 'remaining_amount',\n NUMBER_POSITIONS_CLOSED: 'number_positions_closed',\n\n // Tutorial carousel navigation properties\n PREVIOUS_SCREEN: 'previous_screen',\n CURRENT_SCREEN: 'current_screen',\n SCREEN_POSITION: 'screen_position',\n TOTAL_SCREENS: 'total_screens',\n NAVIGATION_METHOD: 'navigation_method',\n STATUS: 'status',\n SCREEN_TYPE: 'screen_type',\n SCREEN_NAME: 'screen_name',\n ACTION: 'action',\n RETRY_ATTEMPTS: 'retry_attempts',\n SHOW_BACK_BUTTON: 'show_back_button',\n ATTEMPT_NUMBER: 'attempt_number',\n\n // PnL Hero Card properties\n IMAGE_SELECTED: 'image_selected',\n TAB_NUMBER: 'tab_number',\n\n // VIP rewards properties\n VIP_TIER: 'vip_tier',\n VIP_DISCOUNT: 'vip_discount',\n\n // A/B testing properties (flat per test for multiple concurrent tests)\n // Only include AB test properties when test is enabled (event not sent when disabled)\n // Button color test\n AB_TEST_BUTTON_COLOR: 'ab_test_button_color',\n // Future tests: add as AB_TEST_{TEST_NAME} (no _ENABLED property needed)\n\n // Entry point tracking properties\n BUTTON_CLICKED: 'button_clicked',\n BUTTON_LOCATION: 'button_location',\n\n // Balance properties\n HAS_PERP_BALANCE: 'has_perp_balance',\n\n // Service interruption banner\n OUTAGE_BANNER_SHOWN: 'outage_banner_shown',\n\n // Geo-blocking properties (TAT-2337: track geo-blocked withdrawals for monitoring)\n IS_GEO_BLOCKED: 'is_geo_blocked',\n\n // TP/SL differentiation properties\n HAS_TAKE_PROFIT: 'has_take_profit',\n HAS_STOP_LOSS: 'has_stop_loss',\n TAKE_PROFIT_PERCENTAGE: 'take_profit_percentage',\n STOP_LOSS_PERCENTAGE: 'stop_loss_percentage',\n // Auto Close TP/SL RoE sign toggle (`'+'` | `'-'`)\n ROE_SIGN: 'roe_sign',\n // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\n\n // Discovery analytics properties\n SOURCE_SECTION: 'source_section',\n RESULT_COUNT: 'result_count',\n SECTION_NAME: 'section_name',\n SECTION_INDEX: 'section_index',\n SECTIONS_DISPLAYED: 'sections_displayed',\n WATCHLIST_COUNT: 'watchlist_count',\n WATCHLIST_MARKETS: 'watchlist_markets',\n\n // Order value (USD $ value of the order)\n ORDER_VALUE: 'order_value',\n\n // Market category filter (for market list screen)\n MARKET_CATEGORY: 'market_category',\n\n // Pay with any token (PERPS_TRADE_TRANSACTION)\n TRADE_WITH_TOKEN: 'trade_with_token',\n MM_PAY_TOKEN_SELECTED: 'mm_pay_token_selected',\n MM_PAY_NETWORK_SELECTED: 'mm_pay_network_selected',\n\n // Pay-with UI (PERPS_UI_INTERACTION)\n INITIAL_PAYMENT_METHOD: 'initial_payment_method',\n NEW_PAYMENT_METHOD: 'new_payment_method',\n\n // Slippage properties\n MAX_SLIPPAGE_PCT: 'max_slippage_pct',\n MAX_SLIPPAGE_SOURCE: 'max_slippage_source',\n ESTIMATED_SLIPPAGE_PCT: 'estimated_slippage_pct',\n\n // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)\n ABSTRACTION_MODE: 'abstraction_mode',\n PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',\n\n // Entry point / discovery attribution\n ENTRY_POINT: 'entry_point',\n DISCOVERY_SOURCE: 'discovery_source',\n PERP_DISCOVERY_SOURCE: 'perp_discovery_source',\n\n // UTM attribution context\n UTM_SOURCE: 'utm_source',\n UTM_MEDIUM: 'utm_medium',\n UTM_CAMPAIGN: 'utm_campaign',\n UTM_CONTENT: 'utm_content',\n UTM_TERM: 'utm_term',\n\n // Watchlist membership at event time\n WATCHLISTED: 'watchlisted',\n\n // HyperLiquid protocol fee rate on trade + close\n HL_FEE_RATE: 'hl_fee_rate',\n\n // Bulk action correlation id for batch close/cancel\n BULK_ACTION_ID: 'bulk_action_id',\n\n // Client environment (Extension supplies value)\n ENVIRONMENT_TYPE: 'environment_type',\n\n // Order funnel / consideration + quote properties\n ORDER_CONTEXT: 'order_context',\n ORDER_SIZE_PERCENT: 'order_size_percent',\n LIMIT_PRICE_INPUT_TYPE: 'limit_price_input_type',\n LIMIT_PRICE_INPUT_PRESET: 'limit_price_input_preset',\n ORDER_HAS_TP: 'order_has_tp',\n ORDER_HAS_SL: 'order_has_sl',\n QUOTE_LATENCY_MS: 'quote_latency_ms',\n ERROR_REASON: 'error_reason',\n SAVED_ORDER: 'saved_order',\n DEFAULT_PAYMENT_TOKEN: 'default_payment_token',\n DEFAULT_SIZE_AMOUNT: 'default_size_amount',\n DEFAULT_LEVERAGE: 'default_leverage',\n DEFAULT_AUTO_CLOSE: 'default_auto_close',\n ORDER_EXECUTION_LATENCY_MS: 'order_execution_latency_ms',\n SCREEN_CONTEXT: 'screen_context',\n FROM_TOKEN: 'from_token',\n FROM_CHAIN: 'from_chain',\n TO_TOKEN: 'to_token',\n TO_CHAIN: 'to_chain',\n\n // Search / discovery query properties\n SEARCH_QUERY: 'search_query',\n RESULTS_COUNT: 'results_count',\n RESULT_RANK: 'result_rank',\n MODE: 'mode',\n CURRENT_TOKEN: 'current_token',\n\n // Sort / filter properties\n SORT_FIELD: 'sort_field',\n SORT_DIRECTION: 'sort_direction',\n FILTER_CATEGORY: 'filter_category',\n\n // Time-on-screen for abandon tracking\n TIME_ON_SCREEN_MS: 'time_on_screen_ms',\n} as const;\n\n/**\n * Property value constants\n */\nexport const PERPS_EVENT_VALUE = {\n DIRECTION: {\n LONG: 'long',\n SHORT: 'short',\n },\n ORDER_TYPE: {\n MARKET: 'market',\n LIMIT: 'limit',\n // Trigger placements are emitted verbatim by TradingService, so the enum has\n // to list them for dashboards keyed on `order_type`.\n STOP_MARKET: 'stop_market',\n STOP_LIMIT: 'stop_limit',\n TAKE_PROFIT_MARKET: 'take_profit_market',\n TAKE_PROFIT_LIMIT: 'take_profit_limit',\n },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\n },\n CHART_LIBRARY: {\n LIGHTWEIGHT: 'lightweight',\n ADVANCED: 'advanced',\n },\n ASSET_TYPE: {\n SPOT: 'spot',\n PERP: 'perp',\n },\n INPUT_METHOD: {\n SLIDER: 'slider',\n KEYBOARD: 'keyboard',\n PRESET: 'preset',\n MANUAL: 'manual',\n PERCENTAGE_BUTTON: 'percentage_button',\n },\n SOURCE: {\n BANNER: 'banner',\n NOTIFICATION: 'notification',\n MAIN_ACTION_BUTTON: 'main_action_button',\n POSITION_TAB: 'position_tab',\n PERP_MARKETS: 'perp_markets',\n DEEPLINK: 'deeplink',\n TUTORIAL: 'tutorial',\n TRADE_SCREEN: 'trade_screen',\n HOMESCREEN_TAB: 'homescreen_tab',\n PERP_ASSET_SCREEN: 'perp_asset_screen',\n PERP_MARKET: 'perp_market',\n PERP_MARKET_SEARCH: 'perp_market_search',\n POSITION_SCREEN: 'position_screen',\n BOTTOM_NAV_BAR: 'bottom_nav_bar',\n TP_SL_VIEW: 'tp_sl_view',\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN_NO_FUNDS: 'perps_asset_screen_no_funds',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n HOME_SECTION: 'home_section',\n TOOLTIP: 'tooltip',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO_BUTTON: 'crypto_button',\n STOCKS_BUTTON: 'stocks_button',\n CLOSE_TOAST: 'close_toast',\n // Perps home section sources (for navigation tracking)\n PERPS_HOME_POSITION: 'perps_home_position',\n PERPS_HOME_ORDERS: 'perps_home_orders',\n PERPS_HOME_WATCHLIST: 'perps_home_watchlist',\n PERPS_HOME_EXPLORE_CRYPTO: 'perps_home_explore_crypto',\n PERPS_HOME_EXPLORE_STOCKS: 'perps_home_explore_stocks',\n PERPS_HOME_ACTIVITY: 'perps_home_activity',\n // Explore/Trending page source\n EXPLORE: 'explore',\n // Market list tab sources\n PERPS_MARKET_LIST_ALL: 'perps_market_list_all',\n PERPS_MARKET_LIST_CRYPTO: 'perps_market_list_crypto',\n PERPS_MARKET_LIST_STOCKS: 'perps_market_list_stocks',\n // Other navigation sources\n PERPS_TAB: 'perps_tab',\n WALLET_MAIN_ACTION_MENU: 'wallet_main_action_menu',\n PUSH_NOTIFICATION: 'push_notification',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n // Position management sources\n OPEN_POSITION: 'open_position',\n POSITION_CLOSE_TOAST: 'position_close_toast',\n TRADE_DETAILS: 'trade_details',\n // Geo-block trigger sources (for tracking what action was blocked)\n DEPOSIT_BUTTON: 'deposit_button',\n WITHDRAW_BUTTON: 'withdraw_button',\n TRADE_ACTION: 'trade_action',\n ADD_FUNDS_ACTION: 'add_funds_action',\n CANCEL_ORDER: 'cancel_order',\n ASSET_DETAIL_SCREEN: 'asset_detail_screen',\n MARKET_INSIGHTS: 'market_insights',\n // TAT-2449: Geo-block sources for close/modify actions\n CLOSE_POSITION_ACTION: 'close_position_action',\n MODIFY_POSITION_ACTION: 'modify_position_action',\n // Geo-block sources for order book actions\n ORDER_BOOK_LONG_BUTTON: 'order_book_long_button',\n ORDER_BOOK_SHORT_BUTTON: 'order_book_short_button',\n ORDER_BOOK_CLOSE_BUTTON: 'order_book_close_button',\n ORDER_BOOK_MODIFY_BUTTON: 'order_book_modify_button',\n // Geo-block sources for position management actions\n AUTO_CLOSE_ACTION: 'auto_close_action',\n ADJUST_MARGIN_ACTION: 'adjust_margin_action',\n STOP_LOSS_PROMPT_ADD_MARGIN: 'stop_loss_prompt_add_margin',\n STOP_LOSS_PROMPT_SET_SL: 'stop_loss_prompt_set_sl',\n // Geo-block sources for bulk actions\n CLOSE_ALL_POSITIONS_BUTTON: 'close_all_positions_button',\n CANCEL_ALL_ORDERS_BUTTON: 'cancel_all_orders_button',\n },\n WARNING_TYPE: {\n MINIMUM_DEPOSIT: 'minimum_deposit',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n },\n ERROR_TYPE: {\n NETWORK: 'network',\n APP_CRASH: 'app_crash',\n BACKEND: 'backend',\n VALIDATION: 'validation',\n WARNING: 'warning',\n },\n // Standardized error message keys for PERP_ERROR events\n // These should be used instead of localized strings for consistent analytics\n ERROR_MESSAGE_KEY: {\n ORDER_CHANGED_FROM_LIMIT_TO_MARKET: 'order_changed_from_limit_to_market',\n OPEN_CROSS_MARGIN_POSITION_DETECTED: 'open_cross_margin_position_detected',\n INSUFFICIENT_BALANCE: 'insufficient_balance',\n ORDER_FAILED: 'order_failed',\n GEO_RESTRICTION: 'geo_restriction',\n MINIMUM_ORDER_SIZE: 'minimum_order_size',\n MAXIMUM_LEVERAGE_EXCEEDED: 'maximum_leverage_exceeded',\n PRICE_DEVIATION_TOO_HIGH: 'price_deviation_too_high',\n MARKET_AT_CAPACITY: 'market_at_capacity',\n NETWORK_ERROR: 'network_error',\n CONNECTION_FAILED: 'connection_failed',\n POSITION_UPDATE_FAILED: 'position_update_failed',\n TP_SL_UPDATE_FAILED: 'tp_sl_update_failed',\n MARGIN_UPDATE_FAILED: 'margin_update_failed',\n UNKNOWN: 'unknown',\n },\n SOURCE_SECTION: {\n // Home sections\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_GAINERS: 'top_gainers',\n TOP_LOSERS: 'top_losers',\n CRYPTO: 'crypto',\n COMMODITY: 'commodity',\n STOCK: 'stock',\n FOREX: 'forex',\n // Explore sections\n PERPS_MOVERS: 'perps_movers',\n PERPS_CRYPTO: 'perps_crypto',\n PERPS_STOCKS_COMMODITIES: 'perps_stocks_commodities',\n PERPS_MARKETS: 'perps_markets',\n // Market list sections\n ALL_MARKETS: 'all_markets',\n NEW: 'new',\n ACTIVE_SEARCH: 'active_search',\n },\n SECTION_NAME: {\n BALANCE: 'balance',\n POSITIONS: 'positions',\n ORDERS: 'orders',\n WATCHLIST: 'watchlist',\n WHATS_HAPPENING: 'whats_happening',\n PRODUCTS: 'products',\n TOP_MOVERS: 'top_movers',\n EXPLORE_CRYPTO: 'explore_crypto',\n EXPLORE_COMMODITIES: 'explore_commodities',\n EXPLORE_STOCKS: 'explore_stocks',\n EXPLORE_FOREX: 'explore_forex',\n RECENT_ACTIVITY: 'recent_activity',\n },\n INTERACTION_TYPE: {\n TAP: 'tap',\n ZOOM: 'zoom',\n SLIDE: 'slide',\n SEARCH_CLICKED: 'search_clicked',\n ORDER_TYPE_VIEWED: 'order_type_viewed',\n ORDER_TYPE_SELECTED: 'order_type_selected',\n /** @deprecated Use LEVERAGE_CHANGED instead for clarity */\n SETTING_CHANGED: 'setting_changed',\n LEVERAGE_CHANGED: 'leverage_changed',\n TUTORIAL_STARTED: 'tutorial_started',\n TUTORIAL_COMPLETED: 'tutorial_completed',\n TUTORIAL_NAVIGATION: 'tutorial_navigation',\n CANDLE_PERIOD_VIEWED: 'candle_period_viewed',\n CANDLE_PERIOD_CHANGED: 'candle_period_changed',\n FAVORITE_TOGGLED: 'favorite_toggled',\n BUTTON_CLICKED: 'button_clicked',\n // Position management interactions\n CONTACT_SUPPORT: 'contact_support',\n STOP_LOSS_ONE_CLICK_PROMPT: 'stop_loss_one_click_prompt',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n INCREASE_EXPOSURE: 'increase_exposure',\n REDUCE_EXPOSURE: 'reduce_exposure',\n FLIP_POSITION: 'flip_position',\n // Hero card interactions\n DISPLAY_HERO_CARD: 'display_hero_card',\n SHARE_PNL_HERO_CARD: 'share_pnl_hero_card',\n // Chart interactions\n FULL_SCREEN_CHART: 'full_screen_chart',\n // Pay-with interactions\n PAYMENT_TOKEN_SELECTOR: 'payment_token_selector',\n PAYMENT_METHOD_CHANGED: 'payment_method_changed',\n // Deposit + order (pay-with token) cancel\n CANCEL_TRADE_WITH_TOKEN: 'cancel_trade_with_token',\n // Slippage interactions\n SLIPPAGE_CONFIG_OPENED: 'slippage_config_opened',\n SLIPPAGE_CONFIG_CHANGED: 'slippage_config_changed',\n SLIPPAGE_LIMIT_BLOCKED_ORDER: 'slippage_limit_blocked_order',\n // Auto Close TP/SL RoE sign toggle\n TPSL_ROE_SIGN_TOGGLED: 'tpsl_roe_sign_toggled',\n // Discovery analytics\n MARKET_LIST_FILTER: 'market_list_filter',\n // Sort / filter interactions\n SORT_APPLIED: 'sort_applied',\n FILTER_APPLIED: 'filter_applied',\n // Search interactions\n SEARCH_RESULT_TAPPED: 'search_result_tapped',\n SEARCH_CHIP_TAPPED: 'search_chip_tapped',\n SEARCH_SIGNAL_TILE_TAPPED: 'search_signal_tile_tapped',\n // Pay-with token selector dismissed\n PAYMENT_TOKEN_SELECTOR_DISMISSED: 'payment_token_selector_dismissed',\n },\n MAX_SLIPPAGE_SOURCE: {\n DEFAULT: 'default',\n USER_CONFIGURED: 'user_configured',\n },\n ACTION_TYPE: {\n START_TRADING: 'start_trading',\n SKIP: 'skip',\n STOP_LOSS_SET: 'stop_loss_set',\n TAKE_PROFIT_SET: 'take_profit_set',\n ADL_LEARN_MORE: 'adl_learn_more',\n LEARN_MORE: 'learn_more',\n FAVORITE_MARKET: 'favorite_market',\n UNFAVORITE_MARKET: 'unfavorite_market',\n },\n NOTIFICATION_TYPE: {\n POSITION_LIQUIDATED: 'position_liquidated',\n TP_EXECUTED: 'tp_executed',\n SL_EXECUTED: 'sl_executed',\n LIMIT_ORDER_EXECUTED: 'limit_order_executed',\n },\n CLOSE_TYPE: {\n FULL: 'full',\n PARTIAL: 'partial',\n },\n NAVIGATION_METHOD: {\n SWIPE: 'swipe',\n CONTINUE_BUTTON: 'continue_button',\n PROGRESS_DOT: 'progress_dot',\n },\n STATUS: {\n VIEWED: 'viewed',\n STARTED: 'started',\n COMPLETED: 'completed',\n INITIATED: 'initiated',\n SUBMITTED: 'submitted',\n EXECUTED: 'executed',\n PARTIALLY_FILLED: 'partially_filled',\n FAILED: 'failed',\n SUCCESS: 'success',\n ALREADY_ENABLED: 'already_enabled',\n MIGRATION_REQUIRED: 'migration_required',\n // Emitted when a migration attempt is skipped because it is not applicable\n // (e.g. the user has no Hyperliquid account yet — nothing to migrate).\n // Distinguishes expected no-ops from real failures in dashboards.\n NOT_APPLICABLE: 'not_applicable',\n },\n SCREEN_TYPE: {\n MARKETS: 'markets',\n MARKET_LIST: 'market_list',\n ASSET_DETAILS: 'asset_details',\n TRADING: 'trading',\n /** @deprecated Use PERPS_HOME or WALLET_HOME_PERPS_TAB instead */\n HOMESCREEN: 'homescreen',\n PERPS_HOME: 'perps_home',\n WALLET_HOME_PERPS_TAB: 'wallet_home_perps_tab',\n POSITION_CLOSE: 'position_close',\n LEVERAGE: 'leverage',\n TUTORIAL: 'tutorial',\n WITHDRAWAL: 'withdrawal',\n TP_SL: 'tp_sl',\n CREATE_TPSL: 'create_tpsl',\n EDIT_TPSL: 'edit_tpsl',\n DEPOSIT_INPUT: 'deposit_input',\n DEPOSIT_REVIEW: 'deposit_review',\n CLOSE_ALL_POSITIONS: 'close_all_positions',\n CANCEL_ALL_ORDERS: 'cancel_all_orders',\n PNL_HERO_CARD: 'pnl_hero_card',\n ORDER_BOOK: 'order_book',\n ERROR: 'error',\n // Market list tab screen types\n MARKET_LIST_ALL: 'market_list_all',\n MARKET_LIST_CRYPTO: 'market_list_crypto',\n MARKET_LIST_STOCKS: 'market_list_stocks',\n // Additional screens\n FULL_SCREEN_CHART: 'full_screen_chart',\n ACTIVITY: 'activity',\n INCREASE_EXPOSURE: 'increase_exposure',\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n GEO_BLOCK_NOTIF: 'geo_block_notif',\n COMPLIANCE_BLOCK_NOTIF: 'compliance_block_notif',\n // Deposit + order (pay-with token) cancel toast\n CANCEL_TRADE_WITH_TOKEN_TOAST: 'cancel_trade_with_token_toast',\n // Search result screen states\n SEARCH_RESULTS_SHOWN: 'search_results_shown',\n SEARCH_NO_RESULTS: 'search_no_results',\n },\n SETTING_TYPE: {\n LEVERAGE: 'leverage',\n SLIPPAGE: 'slippage',\n },\n SCREEN_NAME: {\n CONNECTION_ERROR: 'connection_error',\n PERPS_HERO_CARD: 'perps_hero_card',\n PERPS_ACTIVITY_HISTORY: 'perps_activity_history',\n PERPS_HOME: 'perps_home',\n PERPS_MARKET_DETAILS: 'perps_market_details',\n PERPS_ORDER: 'perps_order',\n },\n ACTION: {\n CONNECTION_RETRY: 'connection_retry',\n CONNECTION_GO_BACK: 'connection_go_back',\n SHARE: 'share',\n // Risk management actions\n ADD_MARGIN: 'add_margin',\n REMOVE_MARGIN: 'remove_margin',\n EDIT_TP_SL: 'edit_tp_sl',\n CREATE_TP_SL: 'create_tp_sl',\n // TP/SL specific actions for risk management events\n TP: 'tp',\n SL: 'sl',\n TPSL: 'tpsl',\n // Trade transaction actions - differentiates new position from adding to existing\n CREATE_POSITION: 'create_position',\n INCREASE_EXPOSURE: 'increase_exposure',\n // Flip position actions with direction specificity\n FLIP_LONG_TO_SHORT: 'flip_long_to_short',\n FLIP_SHORT_TO_LONG: 'flip_short_to_long',\n // Order funnel abandonment\n ABANDON_ORDER: 'abandon_order',\n },\n // Risk management sources\n RISK_MANAGEMENT_SOURCE: {\n TRADE_SCREEN: 'trade_screen',\n POSITION_SCREEN: 'position_screen',\n STOP_LOSS_PROMPT_BANNER: 'stop_loss_prompt_banner',\n },\n PERPS_HISTORY_TABS: {\n TRADES: 'trades',\n ORDERS: 'orders',\n FUNDING: 'funding',\n DEPOSITS: 'deposits',\n },\n /** Value for mm_pay_token_selected when user pays with Perps balance (not a token) */\n MM_PAY_TOKEN: {\n PERPS_BALANCE: 'Perps Balance',\n },\n // A/B testing values\n AB_TEST: {\n // Test IDs\n BUTTON_COLOR_TEST: 'button_color_test',\n // Button color test variants\n CONTROL: 'control',\n MONOCHROME: 'monochrome',\n },\n BUTTON_CLICKED: {\n DEPOSIT: 'deposit',\n WITHDRAW: 'withdraw',\n PERPS_HOME: 'perps_home',\n TUTORIAL: 'tutorial',\n TOOLTIP: 'tooltip',\n MARKET_LIST: 'market_list',\n OPEN_POSITION: 'open_position',\n MAGNIFYING_GLASS: 'magnifying_glass',\n CRYPTO: 'crypto',\n STOCKS: 'stocks',\n COMMODITIES: 'commodities',\n FOREX: 'forex',\n NEW: 'new',\n GIVE_FEEDBACK: 'give_feedback',\n WATCHLIST: 'watchlist',\n TOP_MOVERS: 'top_movers',\n WHATS_HAPPENING: 'whats_happening',\n // Order + position management CTAs\n PLACE_ORDER: 'place_order',\n CLOSE: 'close',\n REDUCE_EXPOSURE: 'reduce_exposure',\n },\n BUTTON_LOCATION: {\n PERPS_HOME: 'perps_home',\n PERPS_TUTORIAL: 'perps_tutorial',\n PERPS_HOME_EMPTY_STATE: 'perps_home_empty_state',\n PERPS_ASSET_SCREEN: 'perps_asset_screen',\n PERPS_TAB: 'perps_tab',\n TRADE_MENU_ACTION: 'trade_menu_action',\n WALLET_HOME: 'wallet_home',\n MARKET_LIST: 'market_list',\n SCREEN: 'screen',\n TOOLTIP: 'tooltip',\n PERP_MARKET_DETAILS: 'perp_market_details',\n ORDER_BOOK: 'order_book',\n FULL_SCREEN_CHART: 'full_screen_chart',\n ASSET_DETAILS: 'asset_details',\n },\n} as const;\n"]}
@@ -70,6 +70,10 @@ exports.PERPS_ERROR_CODES = {
70
70
  // server-side on the first USDC credit). Actionable: the user must fund the
71
71
  // account before any order can be placed.
72
72
  EXCHANGE_ACCOUNT_NOT_FOUND: 'EXCHANGE_ACCOUNT_NOT_FOUND',
73
+ // HyperLiquid exchange rejects agent-signed writes for multi-sig accounts
74
+ // without a multi-sig wrapper, or when the action nonce is stale/reused.
75
+ EXCHANGE_MULTI_SIG_REQUIRED: 'EXCHANGE_MULTI_SIG_REQUIRED',
76
+ EXCHANGE_INVALID_NONCE: 'EXCHANGE_INVALID_NONCE',
73
77
  // Transfer/swap errors
74
78
  TRANSFER_FAILED: 'TRANSFER_FAILED',
75
79
  SWAP_FAILED: 'SWAP_FAILED',