@metamask-previews/perps-controller 1.3.0-preview-2d89a26 → 1.3.0-preview-afe010990
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.
- package/CHANGELOG.md +9 -0
- package/dist/PerpsController-method-action-types.cjs +3 -0
- package/dist/PerpsController-method-action-types.cjs.map +1 -0
- package/dist/PerpsController-method-action-types.d.cts +147 -0
- package/dist/PerpsController-method-action-types.d.cts.map +1 -0
- package/dist/PerpsController-method-action-types.d.mts +147 -0
- package/dist/PerpsController-method-action-types.d.mts.map +1 -0
- package/dist/PerpsController-method-action-types.mjs +2 -0
- package/dist/PerpsController-method-action-types.mjs.map +1 -0
- package/dist/PerpsController.cjs +488 -183
- package/dist/PerpsController.cjs.map +1 -1
- package/dist/PerpsController.d.cts +91 -131
- package/dist/PerpsController.d.cts.map +1 -1
- package/dist/PerpsController.d.mts +91 -131
- package/dist/PerpsController.d.mts.map +1 -1
- package/dist/PerpsController.mjs +485 -182
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/constants/eventNames.cjs +26 -0
- package/dist/constants/eventNames.cjs.map +1 -1
- package/dist/constants/eventNames.d.cts +19 -0
- package/dist/constants/eventNames.d.cts.map +1 -1
- package/dist/constants/eventNames.d.mts +19 -0
- package/dist/constants/eventNames.d.mts.map +1 -1
- package/dist/constants/eventNames.mjs +26 -0
- package/dist/constants/eventNames.mjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.cjs +24 -4
- package/dist/constants/hyperLiquidConfig.cjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.d.cts +8 -3
- package/dist/constants/hyperLiquidConfig.d.cts.map +1 -1
- package/dist/constants/hyperLiquidConfig.d.mts +8 -3
- package/dist/constants/hyperLiquidConfig.d.mts.map +1 -1
- package/dist/constants/hyperLiquidConfig.mjs +23 -3
- package/dist/constants/hyperLiquidConfig.mjs.map +1 -1
- package/dist/constants/myxConfig.cjs +75 -51
- package/dist/constants/myxConfig.cjs.map +1 -1
- package/dist/constants/myxConfig.d.cts +58 -19
- package/dist/constants/myxConfig.d.cts.map +1 -1
- package/dist/constants/myxConfig.d.mts +58 -19
- package/dist/constants/myxConfig.d.mts.map +1 -1
- package/dist/constants/myxConfig.mjs +74 -50
- package/dist/constants/myxConfig.mjs.map +1 -1
- package/dist/constants/perpsConfig.cjs +6 -2
- package/dist/constants/perpsConfig.cjs.map +1 -1
- package/dist/constants/perpsConfig.d.cts +5 -1
- package/dist/constants/perpsConfig.d.cts.map +1 -1
- package/dist/constants/perpsConfig.d.mts +5 -1
- package/dist/constants/perpsConfig.d.mts.map +1 -1
- package/dist/constants/perpsConfig.mjs +5 -1
- package/dist/constants/perpsConfig.mjs.map +1 -1
- package/dist/index.cjs +243 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +48 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +48 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +36 -10
- package/dist/index.mjs.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.cjs +24 -0
- package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.d.cts +4 -0
- package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.d.mts +4 -0
- package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -1
- package/dist/providers/AggregatedPerpsProvider.mjs +24 -0
- package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.cjs +470 -154
- package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.cts +11 -2
- package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.mts +11 -2
- package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
- package/dist/providers/HyperLiquidProvider.mjs +471 -155
- package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
- package/dist/selectors.cjs +1 -1
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.mjs +1 -1
- package/dist/selectors.mjs.map +1 -1
- package/dist/services/AccountService.cjs +1 -1
- package/dist/services/AccountService.cjs.map +1 -1
- package/dist/services/AccountService.d.cts.map +1 -1
- package/dist/services/AccountService.d.mts.map +1 -1
- package/dist/services/AccountService.mjs +2 -2
- package/dist/services/AccountService.mjs.map +1 -1
- package/dist/services/DepositService.cjs +2 -1
- package/dist/services/DepositService.cjs.map +1 -1
- package/dist/services/DepositService.d.cts.map +1 -1
- package/dist/services/DepositService.d.mts.map +1 -1
- package/dist/services/DepositService.mjs +2 -1
- package/dist/services/DepositService.mjs.map +1 -1
- package/dist/services/EligibilityService.cjs +8 -103
- package/dist/services/EligibilityService.cjs.map +1 -1
- package/dist/services/EligibilityService.d.cts +4 -15
- package/dist/services/EligibilityService.d.cts.map +1 -1
- package/dist/services/EligibilityService.d.mts +4 -15
- package/dist/services/EligibilityService.d.mts.map +1 -1
- package/dist/services/EligibilityService.mjs +8 -103
- package/dist/services/EligibilityService.mjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.cjs +252 -46
- package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.cts +1 -0
- package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.mts +1 -0
- package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.mjs +252 -46
- package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
- package/dist/services/MarketDataService.cjs +2 -4
- package/dist/services/MarketDataService.cjs.map +1 -1
- package/dist/services/MarketDataService.d.cts.map +1 -1
- package/dist/services/MarketDataService.d.mts.map +1 -1
- package/dist/services/MarketDataService.mjs +2 -4
- package/dist/services/MarketDataService.mjs.map +1 -1
- package/dist/services/TradingService.cjs +72 -6
- package/dist/services/TradingService.cjs.map +1 -1
- package/dist/services/TradingService.d.cts.map +1 -1
- package/dist/services/TradingService.d.mts.map +1 -1
- package/dist/services/TradingService.mjs +72 -6
- package/dist/services/TradingService.mjs.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +51 -3
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.mts +51 -3
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/types/messenger.cjs.map +1 -1
- package/dist/types/messenger.d.cts +2 -1
- package/dist/types/messenger.d.cts.map +1 -1
- package/dist/types/messenger.d.mts +2 -1
- package/dist/types/messenger.d.mts.map +1 -1
- package/dist/types/messenger.mjs.map +1 -1
- package/dist/types/myx-types.cjs +19 -3
- package/dist/types/myx-types.cjs.map +1 -1
- package/dist/types/myx-types.d.cts +33 -2
- package/dist/types/myx-types.d.cts.map +1 -1
- package/dist/types/myx-types.d.mts +33 -2
- package/dist/types/myx-types.d.mts.map +1 -1
- package/dist/types/myx-types.mjs +6 -2
- package/dist/types/myx-types.mjs.map +1 -1
- package/dist/types/perps-types.cjs +3 -0
- package/dist/types/perps-types.cjs.map +1 -1
- package/dist/types/perps-types.d.cts +3 -3
- package/dist/types/perps-types.d.cts.map +1 -1
- package/dist/types/perps-types.d.mts +3 -3
- package/dist/types/perps-types.d.mts.map +1 -1
- package/dist/types/perps-types.mjs +3 -0
- package/dist/types/perps-types.mjs.map +1 -1
- package/dist/utils/accountUtils.cjs.map +1 -1
- package/dist/utils/accountUtils.d.cts.map +1 -1
- package/dist/utils/accountUtils.d.mts.map +1 -1
- package/dist/utils/accountUtils.mjs.map +1 -1
- package/dist/utils/myxAdapter.cjs +360 -15
- package/dist/utils/myxAdapter.cjs.map +1 -1
- package/dist/utils/myxAdapter.d.cts +94 -7
- package/dist/utils/myxAdapter.d.cts.map +1 -1
- package/dist/utils/myxAdapter.d.mts +94 -7
- package/dist/utils/myxAdapter.d.mts.map +1 -1
- package/dist/utils/myxAdapter.mjs +351 -16
- package/dist/utils/myxAdapter.mjs.map +1 -1
- package/package.json +4 -2
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.TradingService = void 0;
|
|
16
16
|
const uuid_1 = require("uuid");
|
|
17
17
|
const eventNames_1 = require("../constants/eventNames.cjs");
|
|
18
|
+
const hyperLiquidConfig_1 = require("../constants/hyperLiquidConfig.cjs");
|
|
18
19
|
const orderTypes_1 = require("../constants/orderTypes.cjs");
|
|
19
20
|
const performanceMetrics_1 = require("../constants/performanceMetrics.cjs");
|
|
20
21
|
const perpsConfig_1 = require("../constants/perpsConfig.cjs");
|
|
@@ -74,7 +75,20 @@ class TradingService {
|
|
|
74
75
|
const traceId = (0, uuid_1.v4)();
|
|
75
76
|
const startTime = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now();
|
|
76
77
|
let traceData;
|
|
78
|
+
const paymentToken = params.trackingData?.tradeWithToken === true
|
|
79
|
+
? (params.trackingData.mmPayTokenSelected ?? 'unknown_token')
|
|
80
|
+
: 'perps_balance';
|
|
77
81
|
try {
|
|
82
|
+
__classPrivateFieldGet(this, _TradingService_deps, "f").tracer.addBreadcrumb({
|
|
83
|
+
category: 'perps',
|
|
84
|
+
message: 'Order execution started',
|
|
85
|
+
level: 'info',
|
|
86
|
+
data: {
|
|
87
|
+
payment_token: paymentToken,
|
|
88
|
+
market: params.symbol,
|
|
89
|
+
orderType: params.orderType,
|
|
90
|
+
},
|
|
91
|
+
});
|
|
78
92
|
// Start trace for the entire operation
|
|
79
93
|
__classPrivateFieldGet(this, _TradingService_deps, "f").tracer.trace({
|
|
80
94
|
name: types_1.PerpsTraceNames.PlaceOrder,
|
|
@@ -86,10 +100,12 @@ class TradingService {
|
|
|
86
100
|
market: params.symbol,
|
|
87
101
|
leverage: String(params.leverage ?? 1),
|
|
88
102
|
isTestnet: String(context.tracingContext.isTestnet),
|
|
103
|
+
payment_token: paymentToken,
|
|
89
104
|
},
|
|
90
105
|
data: {
|
|
91
106
|
isBuy: params.isBuy,
|
|
92
107
|
orderPrice: params.price ?? '',
|
|
108
|
+
payment_token: paymentToken,
|
|
93
109
|
},
|
|
94
110
|
});
|
|
95
111
|
// Calculate fee discount at execution time (fresh, secure)
|
|
@@ -854,6 +870,17 @@ class TradingService {
|
|
|
854
870
|
// Determine if TP/SL are set
|
|
855
871
|
const hasTakeProfit = Boolean(params.takeProfitPrice);
|
|
856
872
|
const hasStopLoss = Boolean(params.stopLossPrice);
|
|
873
|
+
// Determine TP/SL action type
|
|
874
|
+
let tpslAction;
|
|
875
|
+
if (hasTakeProfit && hasStopLoss) {
|
|
876
|
+
tpslAction = eventNames_1.PERPS_EVENT_VALUE.ACTION.TPSL;
|
|
877
|
+
}
|
|
878
|
+
else if (hasTakeProfit) {
|
|
879
|
+
tpslAction = eventNames_1.PERPS_EVENT_VALUE.ACTION.TP;
|
|
880
|
+
}
|
|
881
|
+
else if (hasStopLoss) {
|
|
882
|
+
tpslAction = eventNames_1.PERPS_EVENT_VALUE.ACTION.SL;
|
|
883
|
+
}
|
|
857
884
|
// Build comprehensive event properties
|
|
858
885
|
const eventProperties = {
|
|
859
886
|
[eventNames_1.PERPS_EVENT_PROPERTY.STATUS]: result?.success
|
|
@@ -865,6 +892,9 @@ class TradingService {
|
|
|
865
892
|
[eventNames_1.PERPS_EVENT_PROPERTY.SCREEN_TYPE]: screenType,
|
|
866
893
|
[eventNames_1.PERPS_EVENT_PROPERTY.HAS_TAKE_PROFIT]: hasTakeProfit,
|
|
867
894
|
[eventNames_1.PERPS_EVENT_PROPERTY.HAS_STOP_LOSS]: hasStopLoss,
|
|
895
|
+
...(tpslAction && {
|
|
896
|
+
[eventNames_1.PERPS_EVENT_PROPERTY.ACTION]: tpslAction,
|
|
897
|
+
}),
|
|
868
898
|
...(direction && {
|
|
869
899
|
[eventNames_1.PERPS_EVENT_PROPERTY.DIRECTION]: direction === 'long'
|
|
870
900
|
? eventNames_1.PERPS_EVENT_VALUE.DIRECTION.LONG
|
|
@@ -1016,7 +1046,7 @@ class TradingService {
|
|
|
1016
1046
|
const entryPrice = parseFloat(position.entryPrice);
|
|
1017
1047
|
const flipSize = positionSize * 2;
|
|
1018
1048
|
const notionalValue = flipSize * entryPrice;
|
|
1019
|
-
const estimatedFees = notionalValue *
|
|
1049
|
+
const estimatedFees = notionalValue * hyperLiquidConfig_1.ESTIMATED_FEE_RATE;
|
|
1020
1050
|
if (estimatedFees > availableBalance) {
|
|
1021
1051
|
throw new Error(`Insufficient balance for flip fees. Need $${estimatedFees.toFixed(2)}, have $${availableBalance.toFixed(2)}`);
|
|
1022
1052
|
}
|
|
@@ -1040,7 +1070,10 @@ class TradingService {
|
|
|
1040
1070
|
state.lastUpdateTimestamp = Date.now();
|
|
1041
1071
|
});
|
|
1042
1072
|
}
|
|
1043
|
-
// Track success analytics
|
|
1073
|
+
// Track success analytics with direction-specific flip action
|
|
1074
|
+
const flipAction = isCurrentlyLong
|
|
1075
|
+
? eventNames_1.PERPS_EVENT_VALUE.ACTION.FLIP_LONG_TO_SHORT
|
|
1076
|
+
: eventNames_1.PERPS_EVENT_VALUE.ACTION.FLIP_SHORT_TO_LONG;
|
|
1044
1077
|
__classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(types_1.PerpsAnalyticsEvent.TradeTransaction, {
|
|
1045
1078
|
[eventNames_1.PERPS_EVENT_PROPERTY.STATUS]: eventNames_1.PERPS_EVENT_VALUE.STATUS.EXECUTED,
|
|
1046
1079
|
[eventNames_1.PERPS_EVENT_PROPERTY.ASSET]: position.symbol,
|
|
@@ -1051,7 +1084,8 @@ class TradingService {
|
|
|
1051
1084
|
[eventNames_1.PERPS_EVENT_PROPERTY.LEVERAGE]: position.leverage?.value || 1,
|
|
1052
1085
|
[eventNames_1.PERPS_EVENT_PROPERTY.ORDER_SIZE]: positionSize,
|
|
1053
1086
|
[eventNames_1.PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
|
|
1054
|
-
[eventNames_1.PERPS_EVENT_PROPERTY.ACTION]:
|
|
1087
|
+
[eventNames_1.PERPS_EVENT_PROPERTY.ACTION]: flipAction,
|
|
1088
|
+
[eventNames_1.PERPS_EVENT_PROPERTY.ORDER_VALUE]: positionSize * parseFloat(position.entryPrice),
|
|
1055
1089
|
});
|
|
1056
1090
|
// Invalidate standalone caches so external hooks refresh
|
|
1057
1091
|
__classPrivateFieldGet(this, _TradingService_deps, "f").cacheInvalidator.invalidate({ cacheType: 'positions' });
|
|
@@ -1068,11 +1102,15 @@ class TradingService {
|
|
|
1068
1102
|
const completionDuration = __classPrivateFieldGet(this, _TradingService_deps, "f").performance.now() - startTime;
|
|
1069
1103
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1070
1104
|
__classPrivateFieldGet(this, _TradingService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'TradingService.flipPosition'), __classPrivateFieldGet(this, _TradingService_instances, "m", _TradingService_getErrorContext).call(this, 'flipPosition', { symbol: position.symbol }));
|
|
1071
|
-
// Track failure analytics
|
|
1105
|
+
// Track failure analytics with direction-specific flip action
|
|
1106
|
+
const wasLong = parseFloat(position.size) > 0;
|
|
1107
|
+
const failFlipAction = wasLong
|
|
1108
|
+
? eventNames_1.PERPS_EVENT_VALUE.ACTION.FLIP_LONG_TO_SHORT
|
|
1109
|
+
: eventNames_1.PERPS_EVENT_VALUE.ACTION.FLIP_SHORT_TO_LONG;
|
|
1072
1110
|
__classPrivateFieldGet(this, _TradingService_deps, "f").metrics.trackPerpsEvent(types_1.PerpsAnalyticsEvent.TradeTransaction, {
|
|
1073
1111
|
[eventNames_1.PERPS_EVENT_PROPERTY.STATUS]: eventNames_1.PERPS_EVENT_VALUE.STATUS.FAILED,
|
|
1074
1112
|
[eventNames_1.PERPS_EVENT_PROPERTY.ASSET]: position.symbol,
|
|
1075
|
-
[eventNames_1.PERPS_EVENT_PROPERTY.ACTION]:
|
|
1113
|
+
[eventNames_1.PERPS_EVENT_PROPERTY.ACTION]: failFlipAction,
|
|
1076
1114
|
[eventNames_1.PERPS_EVENT_PROPERTY.COMPLETION_DURATION]: completionDuration,
|
|
1077
1115
|
[eventNames_1.PERPS_EVENT_PROPERTY.ERROR_MESSAGE]: errorMessage,
|
|
1078
1116
|
});
|
|
@@ -1131,7 +1169,7 @@ _TradingService_deps = new WeakMap(), _TradingService_controllerDeps = new WeakM
|
|
|
1131
1169
|
if (params.trackingData?.tradeAction) {
|
|
1132
1170
|
properties[eventNames_1.PERPS_EVENT_PROPERTY.ACTION] = params.trackingData.tradeAction;
|
|
1133
1171
|
}
|
|
1134
|
-
// Pay with any token: trade_with_token (boolean); when true, include mm_pay_token_selected and mm_pay_network_selected
|
|
1172
|
+
// Pay with any token: trade_with_token (boolean); when true, include mm_pay_token_selected and mm_pay_network_selected; when false (Perps balance), include mm_pay_token_selected: "Perps Balance"
|
|
1135
1173
|
properties[eventNames_1.PERPS_EVENT_PROPERTY.TRADE_WITH_TOKEN] =
|
|
1136
1174
|
params.trackingData?.tradeWithToken === true;
|
|
1137
1175
|
if (params.trackingData?.tradeWithToken === true) {
|
|
@@ -1144,6 +1182,18 @@ _TradingService_deps = new WeakMap(), _TradingService_controllerDeps = new WeakM
|
|
|
1144
1182
|
params.trackingData.mmPayNetworkSelected;
|
|
1145
1183
|
}
|
|
1146
1184
|
}
|
|
1185
|
+
else if (params.trackingData !== undefined) {
|
|
1186
|
+
properties[eventNames_1.PERPS_EVENT_PROPERTY.MM_PAY_TOKEN_SELECTED] =
|
|
1187
|
+
eventNames_1.PERPS_EVENT_VALUE.MM_PAY_TOKEN.PERPS_BALANCE;
|
|
1188
|
+
}
|
|
1189
|
+
// Calculate order value in USD (size * price)
|
|
1190
|
+
const orderSize = parseFloat(result?.filledSize ?? params.size);
|
|
1191
|
+
const assetPrice = result?.averagePrice
|
|
1192
|
+
? parseFloat(result.averagePrice)
|
|
1193
|
+
: params.trackingData?.marketPrice;
|
|
1194
|
+
if (assetPrice && orderSize) {
|
|
1195
|
+
properties[eventNames_1.PERPS_EVENT_PROPERTY.ORDER_VALUE] = orderSize * assetPrice;
|
|
1196
|
+
}
|
|
1147
1197
|
// Add success-specific properties
|
|
1148
1198
|
if (status === eventNames_1.PERPS_EVENT_VALUE.STATUS.EXECUTED) {
|
|
1149
1199
|
if (params.trackingData?.metamaskFee !== undefined) {
|
|
@@ -1349,18 +1399,34 @@ async function _TradingService_loadPositionData(options) {
|
|
|
1349
1399
|
...(params.trackingData?.receivedAmount !== undefined && {
|
|
1350
1400
|
[eventNames_1.PERPS_EVENT_PROPERTY.RECEIVED_AMOUNT]: params.trackingData.receivedAmount,
|
|
1351
1401
|
}),
|
|
1402
|
+
...(params.trackingData?.source && {
|
|
1403
|
+
[eventNames_1.PERPS_EVENT_PROPERTY.SOURCE]: params.trackingData.source,
|
|
1404
|
+
}),
|
|
1352
1405
|
};
|
|
1406
|
+
// Calculate and add order value in USD (size * price)
|
|
1407
|
+
const closeAssetPrice = result?.averagePrice
|
|
1408
|
+
? parseFloat(result.averagePrice)
|
|
1409
|
+
: params.trackingData?.marketPrice;
|
|
1410
|
+
const orderValue = closeAssetPrice && metrics.requestedSize
|
|
1411
|
+
? metrics.requestedSize * closeAssetPrice
|
|
1412
|
+
: undefined;
|
|
1353
1413
|
// Add success-specific properties
|
|
1354
1414
|
if (status === eventNames_1.PERPS_EVENT_VALUE.STATUS.EXECUTED) {
|
|
1355
1415
|
return {
|
|
1356
1416
|
...baseProperties,
|
|
1357
1417
|
[eventNames_1.PERPS_EVENT_PROPERTY.CLOSE_TYPE]: metrics.closeType,
|
|
1418
|
+
...(orderValue !== undefined && {
|
|
1419
|
+
[eventNames_1.PERPS_EVENT_PROPERTY.ORDER_VALUE]: orderValue,
|
|
1420
|
+
}),
|
|
1358
1421
|
};
|
|
1359
1422
|
}
|
|
1360
1423
|
// Add error for failures
|
|
1361
1424
|
return {
|
|
1362
1425
|
...baseProperties,
|
|
1363
1426
|
...(error && { [eventNames_1.PERPS_EVENT_PROPERTY.ERROR_MESSAGE]: error }),
|
|
1427
|
+
...(orderValue !== undefined && {
|
|
1428
|
+
[eventNames_1.PERPS_EVENT_PROPERTY.ORDER_VALUE]: orderValue,
|
|
1429
|
+
}),
|
|
1364
1430
|
};
|
|
1365
1431
|
}, _TradingService_trackPositionCloseResult = function _TradingService_trackPositionCloseResult(options) {
|
|
1366
1432
|
const { position, result, error, params, duration } = options;
|