@metamask-previews/perps-controller 6.2.0-preview-e43dfcb → 6.2.0-preview-c7c3c44

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 (128) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/PerpsController-method-action-types.cjs.map +1 -1
  3. package/dist/PerpsController-method-action-types.d.cts +19 -1
  4. package/dist/PerpsController-method-action-types.d.cts.map +1 -1
  5. package/dist/PerpsController-method-action-types.d.mts +19 -1
  6. package/dist/PerpsController-method-action-types.d.mts.map +1 -1
  7. package/dist/PerpsController-method-action-types.mjs.map +1 -1
  8. package/dist/PerpsController.cjs +43 -5
  9. package/dist/PerpsController.cjs.map +1 -1
  10. package/dist/PerpsController.d.cts +13 -0
  11. package/dist/PerpsController.d.cts.map +1 -1
  12. package/dist/PerpsController.d.mts +13 -0
  13. package/dist/PerpsController.d.mts.map +1 -1
  14. package/dist/PerpsController.mjs +45 -7
  15. package/dist/PerpsController.mjs.map +1 -1
  16. package/dist/constants/eventNames.cjs +22 -0
  17. package/dist/constants/eventNames.cjs.map +1 -1
  18. package/dist/constants/eventNames.d.cts +15 -0
  19. package/dist/constants/eventNames.d.cts.map +1 -1
  20. package/dist/constants/eventNames.d.mts +15 -0
  21. package/dist/constants/eventNames.d.mts.map +1 -1
  22. package/dist/constants/eventNames.mjs +22 -0
  23. package/dist/constants/eventNames.mjs.map +1 -1
  24. package/dist/constants/perpsConfig.cjs +22 -1
  25. package/dist/constants/perpsConfig.cjs.map +1 -1
  26. package/dist/constants/perpsConfig.d.cts +11 -0
  27. package/dist/constants/perpsConfig.d.cts.map +1 -1
  28. package/dist/constants/perpsConfig.d.mts +11 -0
  29. package/dist/constants/perpsConfig.d.mts.map +1 -1
  30. package/dist/constants/perpsConfig.mjs +21 -0
  31. package/dist/constants/perpsConfig.mjs.map +1 -1
  32. package/dist/index.cjs +4 -3
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.d.cts +1 -1
  35. package/dist/index.d.cts.map +1 -1
  36. package/dist/index.d.mts +1 -1
  37. package/dist/index.d.mts.map +1 -1
  38. package/dist/index.mjs +1 -1
  39. package/dist/index.mjs.map +1 -1
  40. package/dist/providers/HyperLiquidProvider.cjs +178 -40
  41. package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
  42. package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
  43. package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
  44. package/dist/providers/HyperLiquidProvider.mjs +179 -41
  45. package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
  46. package/dist/services/AccountService.cjs +1 -1
  47. package/dist/services/AccountService.cjs.map +1 -1
  48. package/dist/services/AccountService.d.cts.map +1 -1
  49. package/dist/services/AccountService.d.mts.map +1 -1
  50. package/dist/services/AccountService.mjs +2 -2
  51. package/dist/services/AccountService.mjs.map +1 -1
  52. package/dist/services/DataLakeService.cjs +1 -1
  53. package/dist/services/DataLakeService.cjs.map +1 -1
  54. package/dist/services/DataLakeService.d.cts.map +1 -1
  55. package/dist/services/DataLakeService.d.mts.map +1 -1
  56. package/dist/services/DataLakeService.mjs +2 -2
  57. package/dist/services/DataLakeService.mjs.map +1 -1
  58. package/dist/services/DepositService.cjs +2 -2
  59. package/dist/services/DepositService.cjs.map +1 -1
  60. package/dist/services/DepositService.d.cts.map +1 -1
  61. package/dist/services/DepositService.d.mts.map +1 -1
  62. package/dist/services/DepositService.mjs +3 -3
  63. package/dist/services/DepositService.mjs.map +1 -1
  64. package/dist/services/HyperLiquidWalletService.cjs +5 -5
  65. package/dist/services/HyperLiquidWalletService.cjs.map +1 -1
  66. package/dist/services/HyperLiquidWalletService.d.cts.map +1 -1
  67. package/dist/services/HyperLiquidWalletService.d.mts.map +1 -1
  68. package/dist/services/HyperLiquidWalletService.mjs +6 -6
  69. package/dist/services/HyperLiquidWalletService.mjs.map +1 -1
  70. package/dist/services/RewardsIntegrationService.cjs +1 -1
  71. package/dist/services/RewardsIntegrationService.cjs.map +1 -1
  72. package/dist/services/RewardsIntegrationService.d.cts.map +1 -1
  73. package/dist/services/RewardsIntegrationService.d.mts.map +1 -1
  74. package/dist/services/RewardsIntegrationService.mjs +2 -2
  75. package/dist/services/RewardsIntegrationService.mjs.map +1 -1
  76. package/dist/services/TradingReadinessCache.cjs +42 -2
  77. package/dist/services/TradingReadinessCache.cjs.map +1 -1
  78. package/dist/services/TradingReadinessCache.d.cts +29 -0
  79. package/dist/services/TradingReadinessCache.d.cts.map +1 -1
  80. package/dist/services/TradingReadinessCache.d.mts +29 -0
  81. package/dist/services/TradingReadinessCache.d.mts.map +1 -1
  82. package/dist/services/TradingReadinessCache.mjs +42 -2
  83. package/dist/services/TradingReadinessCache.mjs.map +1 -1
  84. package/dist/services/TradingService.cjs +27 -1
  85. package/dist/services/TradingService.cjs.map +1 -1
  86. package/dist/services/TradingService.d.cts +3 -1
  87. package/dist/services/TradingService.d.cts.map +1 -1
  88. package/dist/services/TradingService.d.mts +3 -1
  89. package/dist/services/TradingService.d.mts.map +1 -1
  90. package/dist/services/TradingService.mjs +27 -1
  91. package/dist/services/TradingService.mjs.map +1 -1
  92. package/dist/types/index.cjs.map +1 -1
  93. package/dist/types/index.d.cts +10 -1
  94. package/dist/types/index.d.cts.map +1 -1
  95. package/dist/types/index.d.mts +10 -1
  96. package/dist/types/index.d.mts.map +1 -1
  97. package/dist/types/index.mjs.map +1 -1
  98. package/dist/types/messenger.cjs.map +1 -1
  99. package/dist/types/messenger.d.cts +3 -2
  100. package/dist/types/messenger.d.cts.map +1 -1
  101. package/dist/types/messenger.d.mts +3 -2
  102. package/dist/types/messenger.d.mts.map +1 -1
  103. package/dist/types/messenger.mjs.map +1 -1
  104. package/dist/utils/accountUtils.cjs +38 -1
  105. package/dist/utils/accountUtils.cjs.map +1 -1
  106. package/dist/utils/accountUtils.d.cts +8 -0
  107. package/dist/utils/accountUtils.d.cts.map +1 -1
  108. package/dist/utils/accountUtils.d.mts +8 -0
  109. package/dist/utils/accountUtils.d.mts.map +1 -1
  110. package/dist/utils/accountUtils.mjs +35 -0
  111. package/dist/utils/accountUtils.mjs.map +1 -1
  112. package/dist/utils/errorUtils.cjs +15 -1
  113. package/dist/utils/errorUtils.cjs.map +1 -1
  114. package/dist/utils/errorUtils.d.cts +10 -0
  115. package/dist/utils/errorUtils.d.cts.map +1 -1
  116. package/dist/utils/errorUtils.d.mts +10 -0
  117. package/dist/utils/errorUtils.d.mts.map +1 -1
  118. package/dist/utils/errorUtils.mjs +13 -0
  119. package/dist/utils/errorUtils.mjs.map +1 -1
  120. package/dist/utils/orderCalculations.cjs +7 -3
  121. package/dist/utils/orderCalculations.cjs.map +1 -1
  122. package/dist/utils/orderCalculations.d.cts +1 -1
  123. package/dist/utils/orderCalculations.d.cts.map +1 -1
  124. package/dist/utils/orderCalculations.d.mts +1 -1
  125. package/dist/utils/orderCalculations.d.mts.map +1 -1
  126. package/dist/utils/orderCalculations.mjs +7 -3
  127. package/dist/utils/orderCalculations.mjs.map +1 -1
  128. package/package.json +1 -1
@@ -101,6 +101,9 @@ exports.PERPS_EVENT_PROPERTY = {
101
101
  // PnL Hero Card properties
102
102
  IMAGE_SELECTED: 'image_selected',
103
103
  TAB_NUMBER: 'tab_number',
104
+ // VIP rewards properties
105
+ VIP_TIER: 'vip_tier',
106
+ VIP_DISCOUNT: 'vip_discount',
104
107
  // A/B testing properties (flat per test for multiple concurrent tests)
105
108
  // Only include AB test properties when test is enabled (event not sent when disabled)
106
109
  // Button color test (TAT-1937)
@@ -111,6 +114,8 @@ exports.PERPS_EVENT_PROPERTY = {
111
114
  BUTTON_LOCATION: 'button_location',
112
115
  // Balance properties
113
116
  HAS_PERP_BALANCE: 'has_perp_balance',
117
+ // Service interruption banner
118
+ OUTAGE_BANNER_SHOWN: 'outage_banner_shown',
114
119
  // Geo-blocking properties (TAT-2337: track geo-blocked withdrawals for monitoring)
115
120
  IS_GEO_BLOCKED: 'is_geo_blocked',
116
121
  // TP/SL differentiation properties
@@ -133,6 +138,10 @@ exports.PERPS_EVENT_PROPERTY = {
133
138
  // Pay-with UI (PERPS_UI_INTERACTION)
134
139
  INITIAL_PAYMENT_METHOD: 'initial_payment_method',
135
140
  NEW_PAYMENT_METHOD: 'new_payment_method',
141
+ // Slippage properties
142
+ MAX_SLIPPAGE_PCT: 'max_slippage_pct',
143
+ MAX_SLIPPAGE_SOURCE: 'max_slippage_source',
144
+ ESTIMATED_SLIPPAGE_PCT: 'estimated_slippage_pct',
136
145
  // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)
137
146
  ABSTRACTION_MODE: 'abstraction_mode',
138
147
  PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',
@@ -302,6 +311,14 @@ exports.PERPS_EVENT_VALUE = {
302
311
  PAYMENT_METHOD_CHANGED: 'payment_method_changed',
303
312
  // Deposit + order (pay-with token) cancel
304
313
  CANCEL_TRADE_WITH_TOKEN: 'cancel_trade_with_token',
314
+ // Slippage interactions
315
+ SLIPPAGE_CONFIG_OPENED: 'slippage_config_opened',
316
+ SLIPPAGE_CONFIG_CHANGED: 'slippage_config_changed',
317
+ SLIPPAGE_LIMIT_BLOCKED_ORDER: 'slippage_limit_blocked_order',
318
+ },
319
+ MAX_SLIPPAGE_SOURCE: {
320
+ DEFAULT: 'default',
321
+ USER_CONFIGURED: 'user_configured',
305
322
  },
306
323
  ACTION_TYPE: {
307
324
  START_TRADING: 'start_trading',
@@ -340,6 +357,10 @@ exports.PERPS_EVENT_VALUE = {
340
357
  SUCCESS: 'success',
341
358
  ALREADY_ENABLED: 'already_enabled',
342
359
  MIGRATION_REQUIRED: 'migration_required',
360
+ // Emitted when a migration attempt is skipped because it is not applicable
361
+ // (e.g. the user has no Hyperliquid account yet — nothing to migrate).
362
+ // Distinguishes expected no-ops from real failures in dashboards.
363
+ NOT_APPLICABLE: 'not_applicable',
343
364
  },
344
365
  SCREEN_TYPE: {
345
366
  MARKETS: 'markets',
@@ -381,6 +402,7 @@ exports.PERPS_EVENT_VALUE = {
381
402
  },
382
403
  SETTING_TYPE: {
383
404
  LEVERAGE: 'leverage',
405
+ SLIPPAGE: 'slippage',
384
406
  },
385
407
  SCREEN_NAME: {
386
408
  CONNECTION_ERROR: 'connection_error',
@@ -1 +1 @@
1
- {"version":3,"file":"eventNames.cjs","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IAEpB,mBAAmB;IACnB,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY,EAAE,0BAA0B;IACpD,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,aAAa;IAC1B,mBAAmB,EAAE,qBAAqB;IAE1C,sBAAsB;IACtB,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IACxB,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAElC,wBAAwB;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAE1C,qBAAqB;IACrB,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,mBAAmB;IAEtC,mBAAmB;IACnB,gBAAgB,EAAE,kBAAkB;IACpC,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAE9B,6BAA6B;IAC7B,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IAEpD,0BAA0B;IAC1B,iBAAiB,EAAE,mBAAmB;IAEtC,mBAAmB;IACnB,YAAY,EAAE,cAAc,EAAE,6BAA6B;IAC3D,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,4BAA4B,EAAE,8BAA8B;IAC5D,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IAEpC,0CAA0C;IAC1C,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAEhC,2BAA2B;IAC3B,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IAExB,uEAAuE;IACvE,sFAAsF;IACtF,+BAA+B;IAC/B,oBAAoB,EAAE,sBAAsB;IAC5C,yEAAyE;IAEzE,kCAAkC;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAElC,qBAAqB;IACrB,gBAAgB,EAAE,kBAAkB;IAEpC,mFAAmF;IACnF,cAAc,EAAE,gBAAgB;IAEhC,mCAAmC;IACnC,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,iCAAiC;IACjC,eAAe,EAAE,iBAAiB;IAElC,6BAA6B;IAC7B,cAAc,EAAE,gBAAgB;IAEhC,yCAAyC;IACzC,WAAW,EAAE,aAAa;IAE1B,kDAAkD;IAClD,eAAe,EAAE,iBAAiB;IAElC,+CAA+C;IAC/C,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAElD,qCAAqC;IACrC,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IAExC,yDAAyD;IACzD,gBAAgB,EAAE,kBAAkB;IACpC,yBAAyB,EAAE,2BAA2B;CAC9C,CAAC;AAEX;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO;KACf;IACD,UAAU,EAAE;QACV,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;KACf;IACD,sBAAsB,EAAE;QACtB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;KACf;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,iBAAiB,EAAE,mBAAmB;KACvC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,cAAc;QAC5B,kBAAkB,EAAE,oBAAoB;QACxC,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,cAAc;QAC5B,cAAc,EAAE,gBAAgB;QAChC,iBAAiB,EAAE,mBAAmB;QACtC,WAAW,EAAE,aAAa;QAC1B,kBAAkB,EAAE,oBAAoB;QACxC,eAAe,EAAE,iBAAiB;QAClC,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,gBAAgB;QAChC,sBAAsB,EAAE,wBAAwB;QAChD,2BAA2B,EAAE,6BAA6B;QAC1D,iBAAiB,EAAE,mBAAmB;QACtC,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,SAAS;QAClB,gBAAgB,EAAE,kBAAkB;QACpC,aAAa,EAAE,eAAe;QAC9B,aAAa,EAAE,eAAe;QAC9B,WAAW,EAAE,aAAa;QAC1B,uDAAuD;QACvD,mBAAmB,EAAE,qBAAqB;QAC1C,iBAAiB,EAAE,mBAAmB;QACtC,oBAAoB,EAAE,sBAAsB;QAC5C,yBAAyB,EAAE,2BAA2B;QACtD,yBAAyB,EAAE,2BAA2B;QACtD,mBAAmB,EAAE,qBAAqB;QAC1C,+BAA+B;QAC/B,OAAO,EAAE,SAAS;QAClB,0BAA0B;QAC1B,qBAAqB,EAAE,uBAAuB;QAC9C,wBAAwB,EAAE,0BAA0B;QACpD,wBAAwB,EAAE,0BAA0B;QACpD,2BAA2B;QAC3B,SAAS,EAAE,WAAW;QACtB,uBAAuB,EAAE,yBAAyB;QAClD,iBAAiB,EAAE,mBAAmB;QACtC,UAAU,EAAE,YAAY;QACxB,iBAAiB,EAAE,mBAAmB;QACtC,uBAAuB,EAAE,yBAAyB;QAClD,8BAA8B;QAC9B,aAAa,EAAE,eAAe;QAC9B,oBAAoB,EAAE,sBAAsB;QAC5C,aAAa,EAAE,eAAe;QAC9B,mEAAmE;QACnE,cAAc,EAAE,gBAAgB;QAChC,eAAe,EAAE,iBAAiB;QAClC,YAAY,EAAE,cAAc;QAC5B,gBAAgB,EAAE,kBAAkB;QACpC,YAAY,EAAE,cAAc;QAC5B,mBAAmB,EAAE,qBAAqB;QAC1C,eAAe,EAAE,iBAAiB;QAClC,uDAAuD;QACvD,qBAAqB,EAAE,uBAAuB;QAC9C,sBAAsB,EAAE,wBAAwB;QAChD,2CAA2C;QAC3C,sBAAsB,EAAE,wBAAwB;QAChD,uBAAuB,EAAE,yBAAyB;QAClD,uBAAuB,EAAE,yBAAyB;QAClD,wBAAwB,EAAE,0BAA0B;QACpD,oDAAoD;QACpD,iBAAiB,EAAE,mBAAmB;QACtC,oBAAoB,EAAE,sBAAsB;QAC5C,2BAA2B,EAAE,6BAA6B;QAC1D,uBAAuB,EAAE,yBAAyB;QAClD,qCAAqC;QACrC,0BAA0B,EAAE,4BAA4B;QACxD,wBAAwB,EAAE,0BAA0B;KACrD;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,oBAAoB;QACxC,oBAAoB,EAAE,sBAAsB;KAC7C;IACD,UAAU,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,SAAS;KACnB;IACD,wDAAwD;IACxD,6EAA6E;IAC7E,iBAAiB,EAAE;QACjB,kCAAkC,EAAE,oCAAoC;QACxE,mCAAmC,EAAE,qCAAqC;QAC1E,oBAAoB,EAAE,sBAAsB;QAC5C,YAAY,EAAE,cAAc;QAC5B,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,oBAAoB;QACxC,yBAAyB,EAAE,2BAA2B;QACtD,wBAAwB,EAAE,0BAA0B;QACpD,kBAAkB,EAAE,oBAAoB;QACxC,aAAa,EAAE,eAAe;QAC9B,iBAAiB,EAAE,mBAAmB;QACtC,sBAAsB,EAAE,wBAAwB;QAChD,mBAAmB,EAAE,qBAAqB;QAC1C,oBAAoB,EAAE,sBAAsB;QAC5C,OAAO,EAAE,SAAS;KACnB;IACD,gBAAgB,EAAE;QAChB,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO;QACd,cAAc,EAAE,gBAAgB;QAChC,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,qBAAqB;QAC1C,2DAA2D;QAC3D,eAAe,EAAE,iBAAiB;QAClC,gBAAgB,EAAE,kBAAkB;QACpC,gBAAgB,EAAE,kBAAkB;QACpC,kBAAkB,EAAE,oBAAoB;QACxC,mBAAmB,EAAE,qBAAqB;QAC1C,oBAAoB,EAAE,sBAAsB;QAC5C,qBAAqB,EAAE,uBAAuB;QAC9C,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,gBAAgB;QAChC,mCAAmC;QACnC,eAAe,EAAE,iBAAiB;QAClC,0BAA0B,EAAE,4BAA4B;QACxD,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,eAAe;QAC9B,iBAAiB,EAAE,mBAAmB;QACtC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,eAAe;QAC9B,yBAAyB;QACzB,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,qBAAqB;QAC1C,qBAAqB;QACrB,iBAAiB,EAAE,mBAAmB;QACtC,wBAAwB;QACxB,sBAAsB,EAAE,wBAAwB;QAChD,sBAAsB,EAAE,wBAAwB;QAChD,0CAA0C;QAC1C,uBAAuB,EAAE,yBAAyB;KACnD;IACD,WAAW,EAAE;QACX,aAAa,EAAE,eAAe;QAC9B,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,eAAe;QAC9B,eAAe,EAAE,iBAAiB;QAClC,cAAc,EAAE,gBAAgB;QAChC,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,iBAAiB;QAClC,iBAAiB,EAAE,mBAAmB;KACvC;IACD,iBAAiB,EAAE;QACjB,mBAAmB,EAAE,qBAAqB;QAC1C,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,aAAa;QAC1B,oBAAoB,EAAE,sBAAsB;KAC7C;IACD,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,SAAS;KACnB;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,OAAO;QACd,eAAe,EAAE,iBAAiB;QAClC,YAAY,EAAE,cAAc;KAC7B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,kBAAkB;QACpC,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,oBAAoB;KACzC;IACD,WAAW,EAAE;QACX,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,SAAS;QAClB,kEAAkE;QAClE,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,YAAY;QACxB,qBAAqB,EAAE,uBAAuB;QAC9C,cAAc,EAAE,gBAAgB;QAChC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,WAAW;QACtB,aAAa,EAAE,eAAe;QAC9B,cAAc,EAAE,gBAAgB;QAChC,mBAAmB,EAAE,qBAAqB;QAC1C,iBAAiB,EAAE,mBAAmB;QACtC,aAAa,EAAE,eAAe;QAC9B,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,OAAO;QACd,+BAA+B;QAC/B,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,oBAAoB;QACxC,kBAAkB,EAAE,oBAAoB;QACxC,qBAAqB;QACrB,iBAAiB,EAAE,mBAAmB;QACtC,QAAQ,EAAE,UAAU;QACpB,iBAAiB,EAAE,mBAAmB;QACtC,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,eAAe;QAC9B,eAAe,EAAE,iBAAiB;QAClC,sBAAsB,EAAE,wBAAwB;QAChD,gDAAgD;QAChD,6BAA6B,EAAE,+BAA+B;KAC/D;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,UAAU;KACrB;IACD,WAAW,EAAE;QACX,gBAAgB,EAAE,kBAAkB;QACpC,eAAe,EAAE,iBAAiB;QAClC,sBAAsB,EAAE,wBAAwB;QAChD,UAAU,EAAE,YAAY;QACxB,oBAAoB,EAAE,sBAAsB;QAC5C,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,kBAAkB;QACpC,kBAAkB,EAAE,oBAAoB;QACxC,KAAK,EAAE,OAAO;QACd,0BAA0B;QAC1B,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,eAAe;QAC9B,UAAU,EAAE,YAAY;QACxB,YAAY,EAAE,cAAc;QAC5B,oDAAoD;QACpD,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM;QACZ,kFAAkF;QAClF,eAAe,EAAE,iBAAiB;QAClC,iBAAiB,EAAE,mBAAmB;QACtC,mDAAmD;QACnD,kBAAkB,EAAE,oBAAoB;QACxC,kBAAkB,EAAE,oBAAoB;KACzC;IACD,0BAA0B;IAC1B,sBAAsB,EAAE;QACtB,YAAY,EAAE,cAAc;QAC5B,eAAe,EAAE,iBAAiB;QAClC,uBAAuB,EAAE,yBAAyB;KACnD;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;KACrB;IACD,sFAAsF;IACtF,YAAY,EAAE;QACZ,aAAa,EAAE,eAAe;KAC/B;IACD,qBAAqB;IACrB,OAAO,EAAE;QACP,WAAW;QACX,iBAAiB,EAAE,mBAAmB;QACtC,6BAA6B;QAC7B,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,YAAY;KACzB;IACD,cAAc,EAAE;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,eAAe;QAC9B,gBAAgB,EAAE,kBAAkB;QACpC,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,KAAK;QACV,aAAa,EAAE,eAAe;KAC/B;IACD,eAAe,EAAE;QACf,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,gBAAgB;QAChC,sBAAsB,EAAE,wBAAwB;QAChD,kBAAkB,EAAE,oBAAoB;QACxC,SAAS,EAAE,WAAW;QACtB,iBAAiB,EAAE,mBAAmB;QACtC,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,mBAAmB,EAAE,qBAAqB;QAC1C,UAAU,EAAE,YAAY;QACxB,iBAAiB,EAAE,mBAAmB;KACvC;CACO,CAAC","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\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\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 // 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 // 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 // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\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 // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)\n ABSTRACTION_MODE: 'abstraction_mode',\n PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',\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 },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\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 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 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 },\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 },\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 },\n SETTING_TYPE: {\n LEVERAGE: 'leverage',\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 },\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 },\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 },\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\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\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 // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\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} 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 },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\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 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 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 },\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 },\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 },\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 },\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 },\n} as const;\n"]}
@@ -87,10 +87,13 @@ export declare const PERPS_EVENT_PROPERTY: {
87
87
  readonly ATTEMPT_NUMBER: "attempt_number";
88
88
  readonly IMAGE_SELECTED: "image_selected";
89
89
  readonly TAB_NUMBER: "tab_number";
90
+ readonly VIP_TIER: "vip_tier";
91
+ readonly VIP_DISCOUNT: "vip_discount";
90
92
  readonly AB_TEST_BUTTON_COLOR: "ab_test_button_color";
91
93
  readonly BUTTON_CLICKED: "button_clicked";
92
94
  readonly BUTTON_LOCATION: "button_location";
93
95
  readonly HAS_PERP_BALANCE: "has_perp_balance";
96
+ readonly OUTAGE_BANNER_SHOWN: "outage_banner_shown";
94
97
  readonly IS_GEO_BLOCKED: "is_geo_blocked";
95
98
  readonly HAS_TAKE_PROFIT: "has_take_profit";
96
99
  readonly HAS_STOP_LOSS: "has_stop_loss";
@@ -105,6 +108,9 @@ export declare const PERPS_EVENT_PROPERTY: {
105
108
  readonly MM_PAY_NETWORK_SELECTED: "mm_pay_network_selected";
106
109
  readonly INITIAL_PAYMENT_METHOD: "initial_payment_method";
107
110
  readonly NEW_PAYMENT_METHOD: "new_payment_method";
111
+ readonly MAX_SLIPPAGE_PCT: "max_slippage_pct";
112
+ readonly MAX_SLIPPAGE_SOURCE: "max_slippage_source";
113
+ readonly ESTIMATED_SLIPPAGE_PCT: "estimated_slippage_pct";
108
114
  readonly ABSTRACTION_MODE: "abstraction_mode";
109
115
  readonly PREVIOUS_ABSTRACTION_MODE: "previous_abstraction_mode";
110
116
  };
@@ -256,6 +262,13 @@ export declare const PERPS_EVENT_VALUE: {
256
262
  readonly PAYMENT_TOKEN_SELECTOR: "payment_token_selector";
257
263
  readonly PAYMENT_METHOD_CHANGED: "payment_method_changed";
258
264
  readonly CANCEL_TRADE_WITH_TOKEN: "cancel_trade_with_token";
265
+ readonly SLIPPAGE_CONFIG_OPENED: "slippage_config_opened";
266
+ readonly SLIPPAGE_CONFIG_CHANGED: "slippage_config_changed";
267
+ readonly SLIPPAGE_LIMIT_BLOCKED_ORDER: "slippage_limit_blocked_order";
268
+ };
269
+ readonly MAX_SLIPPAGE_SOURCE: {
270
+ readonly DEFAULT: "default";
271
+ readonly USER_CONFIGURED: "user_configured";
259
272
  };
260
273
  readonly ACTION_TYPE: {
261
274
  readonly START_TRADING: "start_trading";
@@ -294,6 +307,7 @@ export declare const PERPS_EVENT_VALUE: {
294
307
  readonly SUCCESS: "success";
295
308
  readonly ALREADY_ENABLED: "already_enabled";
296
309
  readonly MIGRATION_REQUIRED: "migration_required";
310
+ readonly NOT_APPLICABLE: "not_applicable";
297
311
  };
298
312
  readonly SCREEN_TYPE: {
299
313
  readonly MARKETS: "markets";
@@ -332,6 +346,7 @@ export declare const PERPS_EVENT_VALUE: {
332
346
  };
333
347
  readonly SETTING_TYPE: {
334
348
  readonly LEVERAGE: "leverage";
349
+ readonly SLIPPAGE: "slippage";
335
350
  };
336
351
  readonly SCREEN_NAME: {
337
352
  readonly CONNECTION_ERROR: "connection_error";
@@ -1 +1 @@
1
- {"version":3,"file":"eventNames.d.cts","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJvB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsI1B,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwE3D,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4EpE,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C9E,CAAC"}
1
+ {"version":3,"file":"eventNames.d.cts","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKvB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsI1B,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoF3D,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6EpE,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C9E,CAAC"}
@@ -87,10 +87,13 @@ export declare const PERPS_EVENT_PROPERTY: {
87
87
  readonly ATTEMPT_NUMBER: "attempt_number";
88
88
  readonly IMAGE_SELECTED: "image_selected";
89
89
  readonly TAB_NUMBER: "tab_number";
90
+ readonly VIP_TIER: "vip_tier";
91
+ readonly VIP_DISCOUNT: "vip_discount";
90
92
  readonly AB_TEST_BUTTON_COLOR: "ab_test_button_color";
91
93
  readonly BUTTON_CLICKED: "button_clicked";
92
94
  readonly BUTTON_LOCATION: "button_location";
93
95
  readonly HAS_PERP_BALANCE: "has_perp_balance";
96
+ readonly OUTAGE_BANNER_SHOWN: "outage_banner_shown";
94
97
  readonly IS_GEO_BLOCKED: "is_geo_blocked";
95
98
  readonly HAS_TAKE_PROFIT: "has_take_profit";
96
99
  readonly HAS_STOP_LOSS: "has_stop_loss";
@@ -105,6 +108,9 @@ export declare const PERPS_EVENT_PROPERTY: {
105
108
  readonly MM_PAY_NETWORK_SELECTED: "mm_pay_network_selected";
106
109
  readonly INITIAL_PAYMENT_METHOD: "initial_payment_method";
107
110
  readonly NEW_PAYMENT_METHOD: "new_payment_method";
111
+ readonly MAX_SLIPPAGE_PCT: "max_slippage_pct";
112
+ readonly MAX_SLIPPAGE_SOURCE: "max_slippage_source";
113
+ readonly ESTIMATED_SLIPPAGE_PCT: "estimated_slippage_pct";
108
114
  readonly ABSTRACTION_MODE: "abstraction_mode";
109
115
  readonly PREVIOUS_ABSTRACTION_MODE: "previous_abstraction_mode";
110
116
  };
@@ -256,6 +262,13 @@ export declare const PERPS_EVENT_VALUE: {
256
262
  readonly PAYMENT_TOKEN_SELECTOR: "payment_token_selector";
257
263
  readonly PAYMENT_METHOD_CHANGED: "payment_method_changed";
258
264
  readonly CANCEL_TRADE_WITH_TOKEN: "cancel_trade_with_token";
265
+ readonly SLIPPAGE_CONFIG_OPENED: "slippage_config_opened";
266
+ readonly SLIPPAGE_CONFIG_CHANGED: "slippage_config_changed";
267
+ readonly SLIPPAGE_LIMIT_BLOCKED_ORDER: "slippage_limit_blocked_order";
268
+ };
269
+ readonly MAX_SLIPPAGE_SOURCE: {
270
+ readonly DEFAULT: "default";
271
+ readonly USER_CONFIGURED: "user_configured";
259
272
  };
260
273
  readonly ACTION_TYPE: {
261
274
  readonly START_TRADING: "start_trading";
@@ -294,6 +307,7 @@ export declare const PERPS_EVENT_VALUE: {
294
307
  readonly SUCCESS: "success";
295
308
  readonly ALREADY_ENABLED: "already_enabled";
296
309
  readonly MIGRATION_REQUIRED: "migration_required";
310
+ readonly NOT_APPLICABLE: "not_applicable";
297
311
  };
298
312
  readonly SCREEN_TYPE: {
299
313
  readonly MARKETS: "markets";
@@ -332,6 +346,7 @@ export declare const PERPS_EVENT_VALUE: {
332
346
  };
333
347
  readonly SETTING_TYPE: {
334
348
  readonly LEVERAGE: "leverage";
349
+ readonly SLIPPAGE: "slippage";
335
350
  };
336
351
  readonly SCREEN_NAME: {
337
352
  readonly CONNECTION_ERROR: "connection_error";
@@ -1 +1 @@
1
- {"version":3,"file":"eventNames.d.mts","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJvB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsI1B,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwE3D,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4EpE,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C9E,CAAC"}
1
+ {"version":3,"file":"eventNames.d.mts","sourceRoot":"","sources":["../../src/constants/eventNames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKvB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsI1B,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoF3D,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6EpE,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C9E,CAAC"}
@@ -98,6 +98,9 @@ export const PERPS_EVENT_PROPERTY = {
98
98
  // PnL Hero Card properties
99
99
  IMAGE_SELECTED: 'image_selected',
100
100
  TAB_NUMBER: 'tab_number',
101
+ // VIP rewards properties
102
+ VIP_TIER: 'vip_tier',
103
+ VIP_DISCOUNT: 'vip_discount',
101
104
  // A/B testing properties (flat per test for multiple concurrent tests)
102
105
  // Only include AB test properties when test is enabled (event not sent when disabled)
103
106
  // Button color test (TAT-1937)
@@ -108,6 +111,8 @@ export const PERPS_EVENT_PROPERTY = {
108
111
  BUTTON_LOCATION: 'button_location',
109
112
  // Balance properties
110
113
  HAS_PERP_BALANCE: 'has_perp_balance',
114
+ // Service interruption banner
115
+ OUTAGE_BANNER_SHOWN: 'outage_banner_shown',
111
116
  // Geo-blocking properties (TAT-2337: track geo-blocked withdrawals for monitoring)
112
117
  IS_GEO_BLOCKED: 'is_geo_blocked',
113
118
  // TP/SL differentiation properties
@@ -130,6 +135,10 @@ export const PERPS_EVENT_PROPERTY = {
130
135
  // Pay-with UI (PERPS_UI_INTERACTION)
131
136
  INITIAL_PAYMENT_METHOD: 'initial_payment_method',
132
137
  NEW_PAYMENT_METHOD: 'new_payment_method',
138
+ // Slippage properties
139
+ MAX_SLIPPAGE_PCT: 'max_slippage_pct',
140
+ MAX_SLIPPAGE_SOURCE: 'max_slippage_source',
141
+ ESTIMATED_SLIPPAGE_PCT: 'estimated_slippage_pct',
133
142
  // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)
134
143
  ABSTRACTION_MODE: 'abstraction_mode',
135
144
  PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',
@@ -299,6 +308,14 @@ export const PERPS_EVENT_VALUE = {
299
308
  PAYMENT_METHOD_CHANGED: 'payment_method_changed',
300
309
  // Deposit + order (pay-with token) cancel
301
310
  CANCEL_TRADE_WITH_TOKEN: 'cancel_trade_with_token',
311
+ // Slippage interactions
312
+ SLIPPAGE_CONFIG_OPENED: 'slippage_config_opened',
313
+ SLIPPAGE_CONFIG_CHANGED: 'slippage_config_changed',
314
+ SLIPPAGE_LIMIT_BLOCKED_ORDER: 'slippage_limit_blocked_order',
315
+ },
316
+ MAX_SLIPPAGE_SOURCE: {
317
+ DEFAULT: 'default',
318
+ USER_CONFIGURED: 'user_configured',
302
319
  },
303
320
  ACTION_TYPE: {
304
321
  START_TRADING: 'start_trading',
@@ -337,6 +354,10 @@ export const PERPS_EVENT_VALUE = {
337
354
  SUCCESS: 'success',
338
355
  ALREADY_ENABLED: 'already_enabled',
339
356
  MIGRATION_REQUIRED: 'migration_required',
357
+ // Emitted when a migration attempt is skipped because it is not applicable
358
+ // (e.g. the user has no Hyperliquid account yet — nothing to migrate).
359
+ // Distinguishes expected no-ops from real failures in dashboards.
360
+ NOT_APPLICABLE: 'not_applicable',
340
361
  },
341
362
  SCREEN_TYPE: {
342
363
  MARKETS: 'markets',
@@ -378,6 +399,7 @@ export const PERPS_EVENT_VALUE = {
378
399
  },
379
400
  SETTING_TYPE: {
380
401
  LEVERAGE: 'leverage',
402
+ SLIPPAGE: 'slippage',
381
403
  },
382
404
  SCREEN_NAME: {
383
405
  CONNECTION_ERROR: 'connection_error',
@@ -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\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\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 // 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 // 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 // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\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 // Account setup / abstraction mode (PERPS_ACCOUNT_SETUP)\n ABSTRACTION_MODE: 'abstraction_mode',\n PREVIOUS_ABSTRACTION_MODE: 'previous_abstraction_mode',\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 },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\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 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 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 },\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 },\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 },\n SETTING_TYPE: {\n LEVERAGE: 'leverage',\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 },\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 },\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 },\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\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\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 // Watchlist/Favorites properties\n FAVORITES_COUNT: 'favorites_count',\n\n // Scroll tracking properties\n SECTION_VIEWED: 'section_viewed',\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} 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 },\n ORDER_TYPE_CAPITALIZED: {\n MARKET: 'market',\n LIMIT: 'limit',\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 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 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 },\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 },\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 },\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 },\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 },\n} as const;\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildProviderCacheKey = exports.getProviderNetworkKey = exports.ABSTRACTION_MODE_REFRESH_THROTTLE_MS = exports.PERPS_DISK_CACHE_THROTTLE_MS = exports.PERPS_DISK_CACHE_USER_DATA = exports.PERPS_DISK_CACHE_MARKETS = exports.PROVIDER_CONFIG = exports.FUNDING_RATE_CONFIG = exports.MARKET_SORTING_CONFIG = exports.DECIMAL_PRECISION_CONFIG = exports.DATA_LAKE_API_CONFIG = exports.MARGIN_ADJUSTMENT_CONFIG = exports.CLOSE_POSITION_CONFIG = exports.HYPERLIQUID_ORDER_LIMITS = exports.TP_SL_CONFIG = exports.PERFORMANCE_CONFIG = exports.MAX_ORDER_MARGIN_BUFFER = exports.ORDER_SLIPPAGE_CONFIG = exports.VALIDATION_THRESHOLDS = exports.WITHDRAWAL_CONSTANTS = exports.PERPS_CONSTANTS = exports.ZERO_BALANCE = exports.ZERO_ADDRESS = void 0;
3
+ exports.buildProviderCacheKey = exports.getProviderNetworkKey = exports.ABSTRACTION_MODE_REFRESH_THROTTLE_MS = exports.PERPS_DISK_CACHE_THROTTLE_MS = exports.PERPS_DISK_CACHE_USER_DATA = exports.PERPS_DISK_CACHE_MARKETS = exports.PROVIDER_CONFIG = exports.FUNDING_RATE_CONFIG = exports.MARKET_SORTING_CONFIG = exports.DECIMAL_PRECISION_CONFIG = exports.DATA_LAKE_API_CONFIG = exports.MARGIN_ADJUSTMENT_CONFIG = exports.CLOSE_POSITION_CONFIG = exports.HYPERLIQUID_ORDER_LIMITS = exports.TP_SL_CONFIG = exports.PERFORMANCE_CONFIG = exports.MAX_ORDER_MARGIN_BUFFER = exports.MAX_SLIPPAGE_BOUNDS = exports.ORDER_SLIPPAGE_CONFIG = exports.VALIDATION_THRESHOLDS = exports.WITHDRAWAL_CONSTANTS = exports.PERPS_CONSTANTS = exports.ZERO_BALANCE = exports.ZERO_ADDRESS = void 0;
4
4
  /**
5
5
  * Perps feature constants - Controller layer (portable)
6
6
  *
@@ -94,6 +94,15 @@ exports.ORDER_SLIPPAGE_CONFIG = {
94
94
  // Kept conservative as limit orders rest on book (not IOC/immediate execution)
95
95
  DefaultLimitSlippageBps: 100,
96
96
  };
97
+ /**
98
+ * Bounds and step for the user-configurable max slippage preference (basis points).
99
+ * Shared by the controller (`setMaxSlippage`) and UI (`slippageConfig.ts`).
100
+ */
101
+ exports.MAX_SLIPPAGE_BOUNDS = {
102
+ MinBps: 10,
103
+ MaxBps: 1000,
104
+ StepBps: 10,
105
+ };
97
106
  /**
98
107
  * Max order amount buffer to reduce "Insufficient margin" rejections from the exchange.
99
108
  * When the user selects 100% (slider or Max), we cap the order at (1 - this) of the
@@ -118,6 +127,18 @@ exports.PERFORMANCE_CONFIG = {
118
127
  // Candle subscription debounce delay (milliseconds)
119
128
  // Prevents WS subscription churn during rapid market switching (#28141)
120
129
  CandleConnectDebounceMs: 500,
130
+ // Order-form slippage estimate throttle (milliseconds)
131
+ // Updates the estimated-slippage value derived from the live L2 order book
132
+ // no more than once per window. Aggressive enough to keep the row reactive
133
+ // while the user edits the amount, conservative enough to avoid re-render
134
+ // pressure on every book tick.
135
+ SlippageEstimateThrottleMs: 250,
136
+ // Order-book levels sampled when estimating slippage
137
+ // Number of price levels (per side) walked by `calculateEstimatedSlippageBps`
138
+ // to fill the requested USD notional. Matches the L2 sample size used by the
139
+ // order-book panel and is enough depth for the typical order sizes we
140
+ // surface in the order form.
141
+ SlippageEstimateBookLevels: 10,
121
142
  // Candle WS teardown delay (milliseconds)
122
143
  // When the last subscriber for a cacheKey unsubscribes, wait this long before
123
144
  // tearing down the WS. A subsequent subscribe inside the window cancels the