@typus/typus-perp-sdk 1.0.41 → 1.0.43

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.
@@ -119,6 +119,7 @@ function parseUserHistory(raw_events) {
119
119
  var market;
120
120
  var size;
121
121
  var collateral;
122
+ var reverseSide;
122
123
  var order_type;
123
124
  var price;
124
125
  var action;
@@ -138,6 +139,7 @@ function parseUserHistory(raw_events) {
138
139
  collateral = -(Number(json.collateral_in_deposit_token) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token)));
139
140
  }
140
141
  order_type = checkOrderType(json.filled, json.reduce_only, json.is_stop_order);
142
+ reverseSide = (order_type === "Stop Loss" || order_type === "Take Profit") && json.linked_position_id;
141
143
  price = json.filled ? json.filled_price : json.trigger_price;
142
144
  e = {
143
145
  action: "Place Order",
@@ -145,7 +147,7 @@ function parseUserHistory(raw_events) {
145
147
  order_id: json.order_id,
146
148
  position_id: json.linked_position_id,
147
149
  market: market,
148
- side: json.is_long ? "Long" : "Short",
150
+ side: reverseSide ? (json.is_long ? "Short" : "Long") : json.is_long ? "Long" : "Short",
149
151
  order_type: order_type,
150
152
  status: json.filled ? "Filled" : "Open",
151
153
  size: size,
@@ -260,13 +262,20 @@ function parseUserHistory(raw_events) {
260
262
  });
261
263
  order_type = checkOrderType(related.contents.json.filled, related.contents.json.reduce_only, related.contents.json.is_stop_order);
262
264
  size = Number(related.contents.json.size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
265
+ reverseSide = (order_type === "Stop Loss" || order_type === "Take Profit") && json.linked_position_id;
263
266
  e = {
264
267
  action: "Cancel Order",
265
268
  typeName: name,
266
269
  order_id: json.order_id,
267
270
  position_id: related.contents.json.linked_position_id,
268
271
  market: market,
269
- side: related.contents.json.is_long ? "Long" : "Short",
272
+ side: reverseSide
273
+ ? related.contents.json.is_long
274
+ ? "Short"
275
+ : "Long"
276
+ : related.contents.json.is_long
277
+ ? "Long"
278
+ : "Short",
270
279
  order_type: order_type,
271
280
  status: "Canceled",
272
281
  size: size,
@@ -290,11 +299,24 @@ function parseUserHistory(raw_events) {
290
299
  var eventType = e.contents.type.repr.split("::")[2];
291
300
  var orderFilledEvent = structs_1.OrderFilledEvent.$typeName.split("::")[2];
292
301
  var checkEventType = eventType == orderFilledEvent;
302
+ //console.log(e);
293
303
  return (checkEventType &&
294
304
  rawEventJson.new_position_id == json.position_id &&
295
- rawEventJson.symbol.base_token.name == json.base_token.name);
305
+ rawEventJson.symbol.base_token.name == json.base_token.name &&
306
+ rawEventJson.linked_position_id == null);
296
307
  });
297
- size = Number(related.contents.json.size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
308
+ var relatedOrder = raw_events.findLast(function (e) {
309
+ var _a, _b;
310
+ var rawEventJson = e.contents.json;
311
+ var eventType = e.contents.type.repr.split("::")[2];
312
+ var createTradingOrderEvent = structs_2.CreateTradingOrderEvent.$typeName.split("::")[2];
313
+ var createTradingOrderWithBidReceiptsEvent = structs_2.CreateTradingOrderWithBidReceiptsEvent.$typeName.split("::")[2];
314
+ var checkEventType = eventType == createTradingOrderEvent || eventType == createTradingOrderWithBidReceiptsEvent;
315
+ return (checkEventType &&
316
+ rawEventJson.order_id == (related === null || related === void 0 ? void 0 : related.contents.json.order_id) &&
317
+ ((_a = rawEventJson === null || rawEventJson === void 0 ? void 0 : rawEventJson.base_token) === null || _a === void 0 ? void 0 : _a.name) == ((_b = json === null || json === void 0 ? void 0 : json.base_token) === null || _b === void 0 ? void 0 : _b.name));
318
+ });
319
+ size = Number(related === null || related === void 0 ? void 0 : related.contents.json.filled_size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
298
320
  if (json.increased_collateral_amount) {
299
321
  collateral = Number(json.increased_collateral_amount);
300
322
  }
@@ -307,7 +329,7 @@ function parseUserHistory(raw_events) {
307
329
  order_id: undefined,
308
330
  position_id: json.position_id,
309
331
  market: market,
310
- side: (related === null || related === void 0 ? void 0 : related.contents.json.is_long) ? "Long" : "Short",
332
+ side: (relatedOrder === null || relatedOrder === void 0 ? void 0 : relatedOrder.contents.json.is_long) ? "Long" : "Short",
311
333
  order_type: undefined,
312
334
  status: undefined,
313
335
  size: size,
@@ -320,6 +342,7 @@ function parseUserHistory(raw_events) {
320
342
  tx_digest: tx_digest,
321
343
  };
322
344
  events.push(e);
345
+ //console.log(e, related, related.contents.json.symbol, base_token, assetToDecimal(base_token));
323
346
  break;
324
347
  case structs_3.SwapEvent.$typeName.split("::")[2]:
325
348
  var from_token = (0, constants_1.typeArgToAsset)(json.from_token_type.name);
@@ -337,7 +360,7 @@ function parseUserHistory(raw_events) {
337
360
  status: "Filled",
338
361
  size: Number(json.actual_to_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(to_token)),
339
362
  base_token: to_token,
340
- collateral: Number(json.from_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(from_token)),
363
+ collateral: -Number(json.from_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(from_token)),
341
364
  collateral_token: from_token,
342
365
  price: from_price / to_price,
343
366
  realized_pnl: -Number(json.fee_amount_usd) / Math.pow(10, 9),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typus/typus-perp-sdk",
3
- "version": "1.0.41",
3
+ "version": "1.0.43",
4
4
  "repository": "https://github.com/Typus-Lab/typus-perp-sdk.git",
5
5
  "author": "Typus",
6
6
  "description": "typus perp sdk",