@metamask-previews/perps-controller 9.0.0-preview-e82188855 → 9.0.0-preview-ea5e7f6d0

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 (102) hide show
  1. package/CHANGELOG.md +0 -34
  2. package/dist/PerpsController-method-action-types.cjs.map +1 -1
  3. package/dist/PerpsController-method-action-types.d.cts +1 -54
  4. package/dist/PerpsController-method-action-types.d.cts.map +1 -1
  5. package/dist/PerpsController-method-action-types.d.mts +1 -54
  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 +8 -115
  9. package/dist/PerpsController.cjs.map +1 -1
  10. package/dist/PerpsController.d.cts +1 -59
  11. package/dist/PerpsController.d.cts.map +1 -1
  12. package/dist/PerpsController.d.mts +1 -59
  13. package/dist/PerpsController.d.mts.map +1 -1
  14. package/dist/PerpsController.mjs +8 -115
  15. package/dist/PerpsController.mjs.map +1 -1
  16. package/dist/constants/eventNames.cjs +0 -72
  17. package/dist/constants/eventNames.cjs.map +1 -1
  18. package/dist/constants/eventNames.d.cts +0 -54
  19. package/dist/constants/eventNames.d.cts.map +1 -1
  20. package/dist/constants/eventNames.d.mts +0 -54
  21. package/dist/constants/eventNames.d.mts.map +1 -1
  22. package/dist/constants/eventNames.mjs +0 -72
  23. package/dist/constants/eventNames.mjs.map +1 -1
  24. package/dist/constants/perpsConfig.cjs +0 -3
  25. package/dist/constants/perpsConfig.cjs.map +1 -1
  26. package/dist/constants/perpsConfig.d.cts +0 -2
  27. package/dist/constants/perpsConfig.d.cts.map +1 -1
  28. package/dist/constants/perpsConfig.d.mts +0 -2
  29. package/dist/constants/perpsConfig.d.mts.map +1 -1
  30. package/dist/constants/perpsConfig.mjs +0 -3
  31. package/dist/constants/perpsConfig.mjs.map +1 -1
  32. package/dist/index.cjs +1 -2
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.d.cts +3 -3
  35. package/dist/index.d.cts.map +1 -1
  36. package/dist/index.d.mts +3 -3
  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 +2 -1
  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 +2 -1
  45. package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
  46. package/dist/selectors.cjs +1 -21
  47. package/dist/selectors.cjs.map +1 -1
  48. package/dist/selectors.d.cts +0 -11
  49. package/dist/selectors.d.cts.map +1 -1
  50. package/dist/selectors.d.mts +0 -11
  51. package/dist/selectors.d.mts.map +1 -1
  52. package/dist/selectors.mjs +1 -20
  53. package/dist/selectors.mjs.map +1 -1
  54. package/dist/services/HyperLiquidClientService.cjs +8 -5
  55. package/dist/services/HyperLiquidClientService.cjs.map +1 -1
  56. package/dist/services/HyperLiquidClientService.d.cts.map +1 -1
  57. package/dist/services/HyperLiquidClientService.d.mts.map +1 -1
  58. package/dist/services/HyperLiquidClientService.mjs +7 -4
  59. package/dist/services/HyperLiquidClientService.mjs.map +1 -1
  60. package/dist/services/HyperLiquidSubscriptionService.cjs +33 -101
  61. package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
  62. package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
  63. package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
  64. package/dist/services/HyperLiquidSubscriptionService.mjs +33 -101
  65. package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
  66. package/dist/services/MarketDataService.cjs +0 -1
  67. package/dist/services/MarketDataService.cjs.map +1 -1
  68. package/dist/services/MarketDataService.d.cts.map +1 -1
  69. package/dist/services/MarketDataService.d.mts.map +1 -1
  70. package/dist/services/MarketDataService.mjs +0 -1
  71. package/dist/services/MarketDataService.mjs.map +1 -1
  72. package/dist/services/TerminalMarketService.cjs +0 -9
  73. package/dist/services/TerminalMarketService.cjs.map +1 -1
  74. package/dist/services/TerminalMarketService.d.cts.map +1 -1
  75. package/dist/services/TerminalMarketService.d.mts.map +1 -1
  76. package/dist/services/TerminalMarketService.mjs +1 -10
  77. package/dist/services/TerminalMarketService.mjs.map +1 -1
  78. package/dist/services/TradingService.cjs +7 -154
  79. package/dist/services/TradingService.cjs.map +1 -1
  80. package/dist/services/TradingService.d.cts +0 -4
  81. package/dist/services/TradingService.d.cts.map +1 -1
  82. package/dist/services/TradingService.d.mts +0 -4
  83. package/dist/services/TradingService.d.mts.map +1 -1
  84. package/dist/services/TradingService.mjs +7 -154
  85. package/dist/services/TradingService.mjs.map +1 -1
  86. package/dist/types/index.cjs +0 -7
  87. package/dist/types/index.cjs.map +1 -1
  88. package/dist/types/index.d.cts +1 -51
  89. package/dist/types/index.d.cts.map +1 -1
  90. package/dist/types/index.d.mts +1 -51
  91. package/dist/types/index.d.mts.map +1 -1
  92. package/dist/types/index.mjs +0 -7
  93. package/dist/types/index.mjs.map +1 -1
  94. package/dist/utils/hyperLiquidAdapter.cjs +4 -3
  95. package/dist/utils/hyperLiquidAdapter.cjs.map +1 -1
  96. package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -1
  97. package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -1
  98. package/dist/utils/hyperLiquidAdapter.mjs +4 -3
  99. package/dist/utils/hyperLiquidAdapter.mjs.map +1 -1
  100. package/dist/utils/standaloneInfoClient.cjs +1 -1
  101. package/dist/utils/standaloneInfoClient.cjs.map +1 -1
  102. package/package.json +2 -2
@@ -81,14 +81,12 @@ export declare class TradingService {
81
81
  * @param options.provider - The perps provider instance.
82
82
  * @param options.params - The operation parameters.
83
83
  * @param options.context - The service context for dependencies.
84
- * @param options.bulkActionId - Optional batch correlation id (TAT-3150).
85
84
  * @returns The result of the operation.
86
85
  */
87
86
  cancelOrder(options: {
88
87
  provider: PerpsProvider;
89
88
  params: CancelOrderParams;
90
89
  context: ServiceContext;
91
- bulkActionId?: string;
92
90
  }): Promise<CancelOrderResult>;
93
91
  /**
94
92
  * Cancel multiple orders with full orchestration
@@ -116,7 +114,6 @@ export declare class TradingService {
116
114
  * @param options.params - The operation parameters.
117
115
  * @param options.context - The service context for dependencies.
118
116
  * @param options.reportOrderToDataLake - The report order to data lake value.
119
- * @param options.bulkActionId - Optional batch correlation id (TAT-3150).
120
117
  * @returns The result of the operation.
121
118
  */
122
119
  closePosition(options: {
@@ -130,7 +127,6 @@ export declare class TradingService {
130
127
  success: boolean;
131
128
  error?: string;
132
129
  }>;
133
- bulkActionId?: string;
134
130
  }): Promise<OrderResult>;
135
131
  /**
136
132
  * Close multiple positions with full orchestration
@@ -1 +1 @@
1
- {"version":3,"file":"TradingService.d.cts","sourceRoot":"","sources":["../../src/services/TradingService.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,wBAAwB,EAExB,yBAAyB,EAC1B,2BAAiB;AAElB,OAAO,KAAK,EAAE,yBAAyB,EAAE,wCAAoC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,6BAAyB;AAEvD;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,yBAAyB,EAAE,yBAAyB,CAAC;CACtD,CAAC;AAYF;;;;;;;;;GASG;AACH,qBAAa,cAAc;;IAYzB;;;;OAIG;gBACS,IAAI,EAAE,yBAAyB;IAI3C;;;;;OAKG;IACH,yBAAyB,CACvB,cAAc,EAAE,4BAA4B,GAC3C,IAAI;IAsUP;;;;;;;;;;OAUG;IACG,UAAU,CAAC,OAAO,EAAE;QACxB,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,WAAW,CAAC;QACpB,OAAO,EAAE,cAAc,CAAC;QACxB,qBAAqB,EAAE,CAAC,MAAM,EAAE;YAC9B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,GAAG,OAAO,CAAC,WAAW,CAAC;IAyoBxB;;;;;;;;;OASG;IACG,SAAS,CAAC,OAAO,EAAE;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,eAAe,CAAC;QACxB,OAAO,EAAE,cAAc,CAAC;KACzB,GAAG,OAAO,CAAC,WAAW,CAAC;IA2IxB;;;;;;;;;;OAUG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,OAAO,EAAE,cAAc,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4H9B;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,EAAE;QAC1B,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,kBAAkB,CAAC;QAC3B,OAAO,EAAE,cAAc,CAAC;QACxB,eAAe,EAAE,CAAC,OAAO,EACvB,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EACjC,QAAQ,EAAE,MAAM,EAAE,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;KACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuL/B;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,OAAO,EAAE;QAC3B,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,mBAAmB,CAAC;QAC5B,OAAO,EAAE,cAAc,CAAC;QACxB,qBAAqB,EAAE,CAAC,MAAM,EAAE;YAC9B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC;SAChB,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,WAAW,CAAC;IAgJxB;;;;;;;;;OASG;IACG,cAAc,CAAC,OAAO,EAAE;QAC5B,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,oBAAoB,CAAC;QAC7B,OAAO,EAAE,cAAc,CAAC;KACzB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2LjC;;;;;;;;;OASG;IACG,kBAAkB,CAAC,OAAO,EAAE;QAChC,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,wBAAwB,CAAC;QACjC,OAAO,EAAE,cAAc,CAAC;KACzB,GAAG,OAAO,CAAC,WAAW,CAAC;IAiKxB;;;;;;;;;OASG;IACG,YAAY,CAAC,OAAO,EAAE;QAC1B,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,cAAc,CAAC;KACzB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwFjD;;;;;;;;;OASG;IACG,YAAY,CAAC,OAAO,EAAE;QAC1B,QAAQ,EAAE,aAAa,CAAC;QACxB,QAAQ,EAAE,QAAQ,CAAC;QACnB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,OAAO,EAAE,cAAc,CAAC;KACzB,GAAG,OAAO,CAAC,WAAW,CAAC;CA8KzB"}
1
+ {"version":3,"file":"TradingService.d.cts","sourceRoot":"","sources":["../../src/services/TradingService.ts"],"names":[],"mappings":"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"}
@@ -81,14 +81,12 @@ export declare class TradingService {
81
81
  * @param options.provider - The perps provider instance.
82
82
  * @param options.params - The operation parameters.
83
83
  * @param options.context - The service context for dependencies.
84
- * @param options.bulkActionId - Optional batch correlation id (TAT-3150).
85
84
  * @returns The result of the operation.
86
85
  */
87
86
  cancelOrder(options: {
88
87
  provider: PerpsProvider;
89
88
  params: CancelOrderParams;
90
89
  context: ServiceContext;
91
- bulkActionId?: string;
92
90
  }): Promise<CancelOrderResult>;
93
91
  /**
94
92
  * Cancel multiple orders with full orchestration
@@ -116,7 +114,6 @@ export declare class TradingService {
116
114
  * @param options.params - The operation parameters.
117
115
  * @param options.context - The service context for dependencies.
118
116
  * @param options.reportOrderToDataLake - The report order to data lake value.
119
- * @param options.bulkActionId - Optional batch correlation id (TAT-3150).
120
117
  * @returns The result of the operation.
121
118
  */
122
119
  closePosition(options: {
@@ -130,7 +127,6 @@ export declare class TradingService {
130
127
  success: boolean;
131
128
  error?: string;
132
129
  }>;
133
- bulkActionId?: string;
134
130
  }): Promise<OrderResult>;
135
131
  /**
136
132
  * Close multiple positions with full orchestration
@@ -1 +1 @@
1
- {"version":3,"file":"TradingService.d.mts","sourceRoot":"","sources":["../../src/services/TradingService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TradingService.d.mts","sourceRoot":"","sources":["../../src/services/TradingService.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _TradingService_instances, _TradingService_deps, _TradingService_controllerDeps, _TradingService_getErrorContext, _TradingService_buildAttributionProperties, _TradingService_trackSubmitted, _TradingService_trackOrderResult, _TradingService_handleOrderSuccess, _TradingService_withFeeDiscount, _TradingService_loadPositionData, _TradingService_calculateCloseMetrics, _TradingService_buildCloseEventProperties, _TradingService_trackPositionCloseResult, _TradingService_handleDataLakeReporting, _TradingService_calculateFeeDiscountWithMeasurement;
12
+ var _TradingService_instances, _TradingService_deps, _TradingService_controllerDeps, _TradingService_getErrorContext, _TradingService_trackOrderResult, _TradingService_handleOrderSuccess, _TradingService_withFeeDiscount, _TradingService_loadPositionData, _TradingService_calculateCloseMetrics, _TradingService_buildCloseEventProperties, _TradingService_trackPositionCloseResult, _TradingService_handleDataLakeReporting, _TradingService_calculateFeeDiscountWithMeasurement;
13
13
  import { v4 as uuidv4 } from "uuid";
14
14
  import { PERPS_EVENT_PROPERTY, PERPS_EVENT_VALUE } from "../constants/eventNames.mjs";
15
15
  import { isTPSLOrder } from "../constants/orderTypes.mjs";
@@ -121,16 +121,6 @@ export class TradingService {
121
121
  hasTP: Boolean(params.takeProfitPrice),
122
122
  hasSL: Boolean(params.stopLossPrice),
123
123
  });
124
- // Emit submitted event before the provider round-trip (TAT-3134)
125
- __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_trackSubmitted).call(this, PerpsAnalyticsEvent.TradeTransaction, {
126
- [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
127
- [PERPS_EVENT_PROPERTY.DIRECTION]: params.isBuy
128
- ? PERPS_EVENT_VALUE.DIRECTION.LONG
129
- : PERPS_EVENT_VALUE.DIRECTION.SHORT,
130
- [PERPS_EVENT_PROPERTY.ORDER_TYPE]: params.orderType,
131
- [PERPS_EVENT_PROPERTY.LEVERAGE]: parseFloat(String(params.leverage ?? 1)),
132
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData),
133
- });
134
124
  // Observational threshold: when the provider round-trip exceeds
135
125
  // PlaceOrderTimeoutMs we tag the trace and emit a breadcrumb, but we
136
126
  // intentionally do NOT cancel the in-flight order. Cancelling client-side
@@ -389,21 +379,13 @@ export class TradingService {
389
379
  * @param options.provider - The perps provider instance.
390
380
  * @param options.params - The operation parameters.
391
381
  * @param options.context - The service context for dependencies.
392
- * @param options.bulkActionId - Optional batch correlation id (TAT-3150).
393
382
  * @returns The result of the operation.
394
383
  */
395
384
  async cancelOrder(options) {
396
- const { provider, params, context, bulkActionId } = options;
385
+ const { provider, params, context } = options;
397
386
  const traceId = uuidv4();
398
387
  const startTime = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now();
399
388
  let traceData;
400
- // Shared attribution + bulk correlation props (TAT-3080, TAT-3150)
401
- const cancelExtraProps = {
402
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData),
403
- ...(bulkActionId && {
404
- [PERPS_EVENT_PROPERTY.BULK_ACTION_ID]: bulkActionId,
405
- }),
406
- };
407
389
  try {
408
390
  // Start trace for the entire operation
409
391
  __classPrivateFieldGet(this, _TradingService_deps, "f").tracer.trace({
@@ -419,11 +401,6 @@ export class TradingService {
419
401
  orderId: params.orderId,
420
402
  },
421
403
  });
422
- // Emit submitted event before the provider round-trip (TAT-3134)
423
- __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_trackSubmitted).call(this, PerpsAnalyticsEvent.OrderCancelTransaction, {
424
- [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
425
- ...cancelExtraProps,
426
- });
427
404
  // Execute order cancellation
428
405
  const result = await provider.cancelOrder(params);
429
406
  const completionDuration = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now() - startTime;
@@ -439,7 +416,6 @@ export class TradingService {
439
416
  [PERPS_EVENT_PROPERTY.STATUS]: PERPS_EVENT_VALUE.STATUS.EXECUTED,
440
417
  [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
441
418
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
442
- ...cancelExtraProps,
443
419
  });
444
420
  traceData = { success: true, orderId: params.orderId };
445
421
  }
@@ -450,7 +426,6 @@ export class TradingService {
450
426
  [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
451
427
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
452
428
  [PERPS_EVENT_PROPERTY.ERROR_MESSAGE]: result.error ?? 'Unknown error',
453
- ...cancelExtraProps,
454
429
  });
455
430
  __classPrivateFieldGet(this, _TradingService_deps, "f").logger.error(ensureError(result.error, 'TradingService.cancelOrder'), __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_getErrorContext).call(this, 'cancelOrder', {
456
431
  symbol: params.symbol,
@@ -469,7 +444,6 @@ export class TradingService {
469
444
  [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
470
445
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
471
446
  [PERPS_EVENT_PROPERTY.ERROR_MESSAGE]: error instanceof Error ? error.message : 'Unknown error',
472
- ...cancelExtraProps,
473
447
  });
474
448
  __classPrivateFieldGet(this, _TradingService_deps, "f").logger.error(ensureError(error, 'TradingService.cancelOrder'), __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_getErrorContext).call(this, 'cancelOrder', { symbol: params.symbol }));
475
449
  traceData = {
@@ -500,8 +474,6 @@ export class TradingService {
500
474
  async cancelOrders(options) {
501
475
  const { provider, params, context, withStreamPause } = options;
502
476
  const traceId = uuidv4();
503
- // Correlation id linking every per-item event to the batch summary (TAT-3150)
504
- const bulkActionId = uuidv4();
505
477
  const startTime = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now();
506
478
  let operationResult = null;
507
479
  let operationError = null;
@@ -564,7 +536,6 @@ export class TradingService {
564
536
  provider,
565
537
  params: { symbol: order.symbol, orderId: order.orderId },
566
538
  context,
567
- bulkActionId,
568
539
  })));
569
540
  // Aggregate results
570
541
  const successCount = results.filter((res) => res.status === 'fulfilled' && res.value.success).length;
@@ -622,7 +593,6 @@ export class TradingService {
622
593
  ? PERPS_EVENT_VALUE.STATUS.EXECUTED
623
594
  : PERPS_EVENT_VALUE.STATUS.FAILED,
624
595
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
625
- [PERPS_EVENT_PROPERTY.BULK_ACTION_ID]: bulkActionId,
626
596
  };
627
597
  if (operationError) {
628
598
  batchCancelProps[PERPS_EVENT_PROPERTY.ERROR_MESSAGE] =
@@ -644,11 +614,10 @@ export class TradingService {
644
614
  * @param options.params - The operation parameters.
645
615
  * @param options.context - The service context for dependencies.
646
616
  * @param options.reportOrderToDataLake - The report order to data lake value.
647
- * @param options.bulkActionId - Optional batch correlation id (TAT-3150).
648
617
  * @returns The result of the operation.
649
618
  */
650
619
  async closePosition(options) {
651
- const { provider, params, context, reportOrderToDataLake, bulkActionId } = options;
620
+ const { provider, params, context, reportOrderToDataLake } = options;
652
621
  const traceId = uuidv4();
653
622
  const startTime = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now();
654
623
  let position;
@@ -671,15 +640,6 @@ export class TradingService {
671
640
  symbol: params.symbol,
672
641
  context,
673
642
  });
674
- // Emit submitted event before the provider round-trip (TAT-3134)
675
- __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_trackSubmitted).call(this, PerpsAnalyticsEvent.PositionCloseTransaction, {
676
- [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
677
- [PERPS_EVENT_PROPERTY.ORDER_TYPE]: params.orderType ?? PERPS_EVENT_VALUE.ORDER_TYPE.MARKET,
678
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData),
679
- ...(bulkActionId && {
680
- [PERPS_EVENT_PROPERTY.BULK_ACTION_ID]: bulkActionId,
681
- }),
682
- });
683
643
  // Calculate fee discount with measurement
684
644
  const feeDiscountBips = await __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_calculateFeeDiscountWithMeasurement).call(this);
685
645
  // Execute position close with fee discount management
@@ -717,7 +677,6 @@ export class TradingService {
717
677
  params,
718
678
  context,
719
679
  duration: completionDuration,
720
- bulkActionId,
721
680
  });
722
681
  return result;
723
682
  }
@@ -735,7 +694,6 @@ export class TradingService {
735
694
  params,
736
695
  context,
737
696
  duration: completionDuration,
738
- bulkActionId,
739
697
  });
740
698
  __classPrivateFieldGet(this, _TradingService_deps, "f").logger.error(ensureError(error, 'TradingService.closePosition'), {
741
699
  tags: {
@@ -775,8 +733,6 @@ export class TradingService {
775
733
  async closePositions(options) {
776
734
  const { provider, params, context } = options;
777
735
  const traceId = uuidv4();
778
- // Correlation id linking every per-item event to the batch summary (TAT-3150)
779
- const bulkActionId = uuidv4();
780
736
  const startTime = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now();
781
737
  let operationResult = null;
782
738
  let operationError = null;
@@ -839,7 +795,6 @@ export class TradingService {
839
795
  params: { symbol: position.symbol },
840
796
  context,
841
797
  reportOrderToDataLake: () => Promise.resolve({ success: true }), // No-op for batch fallback
842
- bulkActionId,
843
798
  })));
844
799
  // Aggregate results
845
800
  const successCount = results.filter((res) => res.status === 'fulfilled' && res.value.success).length;
@@ -900,7 +855,6 @@ export class TradingService {
900
855
  ? PERPS_EVENT_VALUE.STATUS.EXECUTED
901
856
  : PERPS_EVENT_VALUE.STATUS.FAILED,
902
857
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
903
- [PERPS_EVENT_PROPERTY.BULK_ACTION_ID]: bulkActionId,
904
858
  };
905
859
  if (operationError) {
906
860
  batchCloseProps[PERPS_EVENT_PROPERTY.ERROR_MESSAGE] =
@@ -957,12 +911,6 @@ export class TradingService {
957
911
  stopLossPrice: params.stopLossPrice ?? '',
958
912
  },
959
913
  });
960
- // Emit submitted event before the provider round-trip (TAT-3134)
961
- __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_trackSubmitted).call(this, PerpsAnalyticsEvent.RiskManagement, {
962
- [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
963
- [PERPS_EVENT_PROPERTY.SOURCE]: source,
964
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData),
965
- });
966
914
  // Get fee discount from rewards
967
915
  const feeDiscountBips = await __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_calculateFeeDiscountWithMeasurement).call(this);
968
916
  // Execute with fee discount management
@@ -1053,8 +1001,6 @@ export class TradingService {
1053
1001
  ...(errorMessage && {
1054
1002
  [PERPS_EVENT_PROPERTY.ERROR_MESSAGE]: errorMessage,
1055
1003
  }),
1056
- // Discovery attribution (TAT-3080)
1057
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData),
1058
1004
  };
1059
1005
  // Track event once with all properties
1060
1006
  __classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(PerpsAnalyticsEvent.RiskManagement, eventProperties);
@@ -1174,10 +1120,6 @@ export class TradingService {
1174
1120
  const isCurrentlyLong = parseFloat(position.size) > 0;
1175
1121
  const oppositeDirection = !isCurrentlyLong;
1176
1122
  const flipSize = positionSize * 2;
1177
- // Direction-specific flip action, shared by the submitted and terminal events
1178
- const flipAction = isCurrentlyLong
1179
- ? PERPS_EVENT_VALUE.ACTION.FLIP_LONG_TO_SHORT
1180
- : PERPS_EVENT_VALUE.ACTION.FLIP_SHORT_TO_LONG;
1181
1123
  // Create order params for flip
1182
1124
  // Use 2x position size: 1x to close current position + 1x to open opposite position.
1183
1125
  // Do not pass the position entry price as currentPrice: the provider must fetch
@@ -1189,19 +1131,6 @@ export class TradingService {
1189
1131
  orderType: 'market',
1190
1132
  leverage: position.leverage?.value,
1191
1133
  };
1192
- // Emit submitted event before the provider round-trip, keeping flip
1193
- // trades aligned with the consolidated placeOrder pipeline.
1194
- __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_trackSubmitted).call(this, PerpsAnalyticsEvent.TradeTransaction, {
1195
- [PERPS_EVENT_PROPERTY.ASSET]: position.symbol,
1196
- [PERPS_EVENT_PROPERTY.DIRECTION]: oppositeDirection
1197
- ? PERPS_EVENT_VALUE.DIRECTION.LONG
1198
- : PERPS_EVENT_VALUE.DIRECTION.SHORT,
1199
- [PERPS_EVENT_PROPERTY.ORDER_TYPE]: 'market',
1200
- [PERPS_EVENT_PROPERTY.LEVERAGE]: position.leverage?.value || 1,
1201
- [PERPS_EVENT_PROPERTY.ORDER_SIZE]: positionSize,
1202
- [PERPS_EVENT_PROPERTY.ACTION]: flipAction,
1203
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, trackingData),
1204
- });
1205
1134
  // Place flip order (HyperLiquid handles margin transfer automatically)
1206
1135
  const result = await provider.placeOrder(orderParams);
1207
1136
  const completionDuration = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now() - startTime;
@@ -1214,6 +1143,9 @@ export class TradingService {
1214
1143
  });
1215
1144
  }
1216
1145
  // Track success analytics with direction-specific flip action
1146
+ const flipAction = isCurrentlyLong
1147
+ ? PERPS_EVENT_VALUE.ACTION.FLIP_LONG_TO_SHORT
1148
+ : PERPS_EVENT_VALUE.ACTION.FLIP_SHORT_TO_LONG;
1217
1149
  __classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(PerpsAnalyticsEvent.TradeTransaction, {
1218
1150
  [PERPS_EVENT_PROPERTY.STATUS]: PERPS_EVENT_VALUE.STATUS.EXECUTED,
1219
1151
  [PERPS_EVENT_PROPERTY.ASSET]: position.symbol,
@@ -1226,40 +1158,17 @@ export class TradingService {
1226
1158
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
1227
1159
  [PERPS_EVENT_PROPERTY.ACTION]: flipAction,
1228
1160
  [PERPS_EVENT_PROPERTY.ORDER_VALUE]: positionSize * executedPrice,
1229
- // MetaMask fee on flip trades (TAT-3146)
1230
- ...(trackingData?.metamaskFee !== undefined && {
1231
- [PERPS_EVENT_PROPERTY.METAMASK_FEE]: trackingData.metamaskFee,
1232
- }),
1233
1161
  ...(trackingData?.vipTier !== undefined && {
1234
1162
  [PERPS_EVENT_PROPERTY.VIP_TIER]: trackingData.vipTier,
1235
1163
  }),
1236
1164
  ...(trackingData?.vipDiscount !== undefined && {
1237
1165
  [PERPS_EVENT_PROPERTY.VIP_DISCOUNT]: trackingData.vipDiscount,
1238
1166
  }),
1239
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, trackingData),
1240
1167
  });
1241
1168
  // Invalidate standalone caches so external hooks refresh
1242
1169
  __classPrivateFieldGet(this, _TradingService_deps, "f").cacheInvalidator.invalidate({ cacheType: 'positions' });
1243
1170
  __classPrivateFieldGet(this, _TradingService_deps, "f").cacheInvalidator.invalidate({ cacheType: 'accountState' });
1244
1171
  }
1245
- else {
1246
- // Provider rejected the flip without throwing: emit a terminal failed
1247
- // event so every submitted flip is paired with executed or failed.
1248
- __classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(PerpsAnalyticsEvent.TradeTransaction, {
1249
- [PERPS_EVENT_PROPERTY.STATUS]: PERPS_EVENT_VALUE.STATUS.FAILED,
1250
- [PERPS_EVENT_PROPERTY.ASSET]: position.symbol,
1251
- [PERPS_EVENT_PROPERTY.ACTION]: flipAction,
1252
- [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
1253
- [PERPS_EVENT_PROPERTY.ERROR_MESSAGE]: result.error ?? 'Unknown error',
1254
- ...(trackingData?.vipTier !== undefined && {
1255
- [PERPS_EVENT_PROPERTY.VIP_TIER]: trackingData.vipTier,
1256
- }),
1257
- ...(trackingData?.vipDiscount !== undefined && {
1258
- [PERPS_EVENT_PROPERTY.VIP_DISCOUNT]: trackingData.vipDiscount,
1259
- }),
1260
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, trackingData),
1261
- });
1262
- }
1263
1172
  __classPrivateFieldGet(this, _TradingService_deps, "f").tracer.endTrace({
1264
1173
  name: PerpsTraceNames.FlipPosition,
1265
1174
  id: traceId,
@@ -1288,7 +1197,6 @@ export class TradingService {
1288
1197
  ...(trackingData?.vipDiscount !== undefined && {
1289
1198
  [PERPS_EVENT_PROPERTY.VIP_DISCOUNT]: trackingData.vipDiscount,
1290
1199
  }),
1291
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, trackingData),
1292
1200
  });
1293
1201
  __classPrivateFieldGet(this, _TradingService_deps, "f").tracer.endTrace({
1294
1202
  name: PerpsTraceNames.FlipPosition,
@@ -1305,28 +1213,6 @@ _TradingService_deps = new WeakMap(), _TradingService_controllerDeps = new WeakM
1305
1213
  method,
1306
1214
  ...additionalContext,
1307
1215
  };
1308
- }, _TradingService_buildAttributionProperties = function _TradingService_buildAttributionProperties(trackingData) {
1309
- const properties = {};
1310
- if (trackingData?.entryPoint !== undefined) {
1311
- properties[PERPS_EVENT_PROPERTY.ENTRY_POINT] = trackingData.entryPoint;
1312
- }
1313
- if (trackingData?.discoverySource !== undefined) {
1314
- properties[PERPS_EVENT_PROPERTY.DISCOVERY_SOURCE] =
1315
- trackingData.discoverySource;
1316
- }
1317
- if (trackingData?.perpDiscoverySource !== undefined) {
1318
- properties[PERPS_EVENT_PROPERTY.PERP_DISCOVERY_SOURCE] =
1319
- trackingData.perpDiscoverySource;
1320
- }
1321
- if (trackingData?.hlFeeRate !== undefined) {
1322
- properties[PERPS_EVENT_PROPERTY.HL_FEE_RATE] = trackingData.hlFeeRate;
1323
- }
1324
- return properties;
1325
- }, _TradingService_trackSubmitted = function _TradingService_trackSubmitted(event, properties) {
1326
- __classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(event, {
1327
- [PERPS_EVENT_PROPERTY.STATUS]: PERPS_EVENT_VALUE.STATUS.SUBMITTED,
1328
- ...properties,
1329
- });
1330
1216
  }, _TradingService_trackOrderResult = function _TradingService_trackOrderResult(options) {
1331
1217
  const { result, error, params, duration } = options;
1332
1218
  const status = result?.success === true
@@ -1436,8 +1322,6 @@ _TradingService_deps = new WeakMap(), _TradingService_controllerDeps = new WeakM
1436
1322
  Object.keys(params.trackingData.abTests).length > 0) {
1437
1323
  properties[PERPS_EVENT_PROPERTY.AB_TESTS] = params.trackingData.abTests;
1438
1324
  }
1439
- // Propagate discovery attribution + hl_fee_rate (TAT-3080, TAT-3149)
1440
- Object.assign(properties, __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData));
1441
1325
  __classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(PerpsAnalyticsEvent.TradeTransaction, properties);
1442
1326
  }, _TradingService_handleOrderSuccess =
1443
1327
  /**
@@ -1618,12 +1502,6 @@ async function _TradingService_loadPositionData(options) {
1618
1502
  ...(params.trackingData?.vipDiscount !== undefined && {
1619
1503
  [PERPS_EVENT_PROPERTY.VIP_DISCOUNT]: params.trackingData.vipDiscount,
1620
1504
  }),
1621
- // Leverage on close events (TAT-3147)
1622
- ...(position.leverage?.value !== undefined && {
1623
- [PERPS_EVENT_PROPERTY.LEVERAGE]: position.leverage.value,
1624
- }),
1625
- // Discovery attribution + hl_fee_rate (TAT-3080, TAT-3149)
1626
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData),
1627
1505
  };
1628
1506
  // Calculate and add order value in USD (size * price)
1629
1507
  const closeAssetPrice = result?.averagePrice
@@ -1651,31 +1529,8 @@ async function _TradingService_loadPositionData(options) {
1651
1529
  }),
1652
1530
  };
1653
1531
  }, _TradingService_trackPositionCloseResult = function _TradingService_trackPositionCloseResult(options) {
1654
- const { position, result, error, params, duration, bulkActionId } = options;
1655
- // Bulk action correlation id for batch close events (TAT-3150)
1656
- const bulkActionProps = bulkActionId
1657
- ? { [PERPS_EVENT_PROPERTY.BULK_ACTION_ID]: bulkActionId }
1658
- : {};
1532
+ const { position, result, error, params, duration } = options;
1659
1533
  if (!position) {
1660
- // No local position record, yet closePosition already emitted a
1661
- // submitted event and the close may still complete at the provider.
1662
- // Emit a terminal (executed/failed) event so every submitted close has a
1663
- // matching outcome, even without position-derived metrics.
1664
- const status = result?.success === true
1665
- ? PERPS_EVENT_VALUE.STATUS.EXECUTED
1666
- : PERPS_EVENT_VALUE.STATUS.FAILED;
1667
- const errorMessage = error?.message ?? result?.error;
1668
- __classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(PerpsAnalyticsEvent.PositionCloseTransaction, {
1669
- [PERPS_EVENT_PROPERTY.STATUS]: status,
1670
- [PERPS_EVENT_PROPERTY.ASSET]: params.symbol,
1671
- [PERPS_EVENT_PROPERTY.ORDER_TYPE]: params.orderType ?? PERPS_EVENT_VALUE.ORDER_TYPE.MARKET,
1672
- [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: duration,
1673
- ...(errorMessage && {
1674
- [PERPS_EVENT_PROPERTY.ERROR_MESSAGE]: errorMessage,
1675
- }),
1676
- ...__classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_buildAttributionProperties).call(this, params.trackingData),
1677
- ...bulkActionProps,
1678
- });
1679
1534
  return;
1680
1535
  }
1681
1536
  const metrics = result
@@ -1704,7 +1559,6 @@ async function _TradingService_loadPositionData(options) {
1704
1559
  [PERPS_EVENT_PROPERTY.AMOUNT_FILLED]: metrics.filledSize,
1705
1560
  [PERPS_EVENT_PROPERTY.REMAINING_AMOUNT]: metrics.requestedSize - metrics.filledSize,
1706
1561
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: duration,
1707
- ...bulkActionProps,
1708
1562
  });
1709
1563
  }
1710
1564
  // Determine status
@@ -1717,7 +1571,6 @@ async function _TradingService_loadPositionData(options) {
1717
1571
  __classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(PerpsAnalyticsEvent.PositionCloseTransaction, {
1718
1572
  ...eventProperties,
1719
1573
  [PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: duration,
1720
- ...bulkActionProps,
1721
1574
  });
1722
1575
  }, _TradingService_handleDataLakeReporting = function _TradingService_handleDataLakeReporting(reportOrderToDataLake, symbol, context) {
1723
1576
  reportOrderToDataLake({