@typus/typus-perp-sdk 1.1.31-testnet → 1.1.32-testnet

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.
@@ -91,265 +91,267 @@ function parseUserHistory(raw_events) {
91
91
  }
92
92
  var json = event.contents.json;
93
93
  var timestamp = event.timestamp;
94
- var tx_digest = event.transactionBlock.digest;
94
+ var tx_digest = event.transaction.digest;
95
95
  // console.log(type);
96
96
  // console.log(tx_digest);
97
97
  // console.log(json);
98
98
  // console.log(timestamp);
99
99
  var _g = __read(type.split("::"), 3), pkg = _g[0], mod = _g[1], name = _g[2];
100
- switch (name) {
101
- case structs_2.CreateTradingOrderEvent.$typeName.split("::")[2]:
102
- case structs_2.CreateTradingOrderWithBidReceiptsEvent.$typeName.split("::")[2]:
103
- var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
104
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
105
- var market = "".concat(base_token, "/USD");
106
- var size = Number(json.size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
107
- var collateral;
108
- if (json.collateral_amount) {
109
- collateral = Number(json.collateral_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
110
- }
111
- else {
112
- collateral = Number(json.collateral_in_deposit_token) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
113
- }
114
- var order_type = "Limit";
115
- var price = json.trigger_price;
116
- if (json.filled) {
117
- order_type = "Market";
118
- price = json.filled_price;
119
- }
120
- else if (json.reduce_only && !json.is_stop_order) {
121
- order_type = "Take Profit";
122
- }
123
- else if (json.reduce_only && json.is_stop_order) {
124
- order_type = "Stop Loss";
125
- }
126
- var e = {
127
- action: "Place Order",
128
- typeName: name,
129
- order_id: json.order_id,
130
- position_id: json.linked_position_id,
131
- market: market,
132
- side: json.is_long ? "Long" : "Short",
133
- order_type: order_type,
134
- status: json.filled ? "Filled" : "Open",
135
- size: size,
136
- base_token: base_token,
137
- collateral: collateral,
138
- collateral_token: collateral_token,
139
- price: Number(price) / Math.pow(10, 8), // WARNING: fixed decimal
140
- realized_pnl: undefined,
141
- timestamp: timestamp,
142
- tx_digest: tx_digest,
143
- dov_index: json.dov_index,
144
- reduce_only: json.reduce_only,
145
- is_stop_order: json.is_stop_order,
146
- sender: "user",
147
- };
148
- events.push(e);
149
- break;
150
- case structs_1.OrderFilledEvent.$typeName.split("::")[2]:
151
- var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
152
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
153
- var market = "".concat(base_token, "/USD");
154
- var size = Number(json.filled_size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
155
- var price = json.filled_price;
156
- var action;
157
- var related;
158
- var collateral;
159
- var realized_trading_fee = Number(json.realized_trading_fee) + Number(json.realized_borrow_fee);
160
- var realized_fee_in_usd = Number(json.realized_fee_in_usd) / Math.pow(10, 9);
161
- var realized_amount = json.realized_amount_sign ? Number(json.realized_amount) : -Number(json.realized_amount);
162
- // console.log(realized_amount);
163
- var realized_pnl = realized_trading_fee > 0 ? ((realized_amount - realized_trading_fee) * realized_fee_in_usd) / realized_trading_fee : 0;
164
- if (json.linked_position_id != undefined) {
165
- action = "Order Filled (Close Position)";
166
- related = events.findLast(function (e) { return e.position_id === json.linked_position_id && e.market === market; });
167
- // the "Place Order" is emit after Order Filled if filled immediately
168
- var relatedRawEvent = raw_events.find(function (e) {
169
- var type = e.contents.type.repr;
170
- var _a = __read(type.split("::"), 3), pkg = _a[0], mod = _a[1], name = _a[2];
171
- return name === (related === null || related === void 0 ? void 0 : related.typeName) && e.transactionBlock.digest === (related === null || related === void 0 ? void 0 : related.tx_digest) && (related === null || related === void 0 ? void 0 : related.order_id) === json.order_id;
172
- });
173
- if (((_b = (_a = relatedRawEvent === null || relatedRawEvent === void 0 ? void 0 : relatedRawEvent.contents) === null || _a === void 0 ? void 0 : _a.json) === null || _b === void 0 ? void 0 : _b.reduce_only) === false) {
174
- action = "Order Filled (Increase Position)";
100
+ if (mod == 'trading') {
101
+ switch (name) {
102
+ case structs_2.CreateTradingOrderEvent.$typeName.split("::")[2]:
103
+ case structs_2.CreateTradingOrderWithBidReceiptsEvent.$typeName.split("::")[2]:
104
+ var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
105
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
106
+ var market = "".concat(base_token, "/USD");
107
+ var size = Number(json.size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
108
+ var collateral;
109
+ if (json.collateral_amount) {
110
+ collateral = Number(json.collateral_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
175
111
  }
176
- if (realized_pnl > 0) {
177
- collateral = (realized_amount - realized_trading_fee) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
112
+ else {
113
+ collateral = Number(json.collateral_in_deposit_token) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
178
114
  }
179
- }
180
- else {
181
- action = "Order Filled (Open Position)";
182
- related = events.findLast(function (e) { return e.order_id === json.order_id && e.market === market; });
183
- collateral = related === null || related === void 0 ? void 0 : related.collateral;
184
- }
185
- var e = {
186
- action: action,
187
- typeName: name,
188
- order_id: json.order_id,
189
- position_id: (_c = json.linked_position_id) !== null && _c !== void 0 ? _c : json.new_position_id,
190
- market: market,
191
- side: json.position_side ? "Long" : "Short",
192
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
193
- status: "Filled",
194
- size: size,
195
- base_token: base_token,
196
- collateral: collateral, // TODO: check for option collateral
197
- collateral_token: collateral_token,
198
- price: Number(price) / Math.pow(10, 8), // WARNING: fixed decimal
199
- realized_pnl: realized_pnl,
200
- timestamp: timestamp,
201
- tx_digest: tx_digest,
202
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
203
- sender: "user",
204
- };
205
- events.push(e);
206
- break;
207
- case structs_1.RemovePositionEvent.$typeName.split("::")[2]:
208
- // same tx with order filled
209
- var index = events.findLastIndex(function (e) { return e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)"; });
210
- // console.log(index);
211
- if (index !== -1) {
212
- // true => user paid to pool
213
- var remaining_collateral_amount = json.remaining_collateral_amount / Math.pow(10, (0, constants_1.assetToDecimal)(events[index].collateral_token));
214
- events[index] = __assign(__assign({}, events[index]), { collateral: remaining_collateral_amount + ((_d = events[index].collateral) !== null && _d !== void 0 ? _d : 0) });
215
- }
216
- break;
217
- case structs_1.RealizeFundingEvent.$typeName.split("::")[2]:
218
- var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
219
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
220
- var market = "".concat(base_token, "/USD");
221
- var related = events.find(function (e) { return e.position_id === json.position_id && e.market === market; });
222
- // if realized_funding_sign is true, user pays to pool
223
- var realized_funding_fee = json.realized_funding_sign
224
- ? -json.realized_funding_fee / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token))
225
- : json.realized_funding_fee / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
226
- var realized_funding_fee_usd = json.realized_funding_sign
227
- ? -json.realized_funding_fee_usd / Math.pow(10, 9)
228
- : json.realized_funding_fee_usd / Math.pow(10, 9);
229
- // same tx with order filled
230
- var index = events.findLastIndex(function (e) { return e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)"; });
231
- // console.log(index);
232
- if (index !== -1) {
233
- // true => user paid to pool
234
- events[index] = __assign(__assign({}, events[index]), { collateral: (_e = events[index].collateral) !== null && _e !== void 0 ? _e : 0 - realized_funding_fee, realized_pnl: (_f = events[index].realized_pnl) !== null && _f !== void 0 ? _f : 0 - realized_funding_fee_usd });
235
- }
236
- var e = {
237
- action: "Realize Funding",
238
- typeName: name,
239
- order_id: undefined,
240
- position_id: json.position_id,
241
- market: market,
242
- side: related === null || related === void 0 ? void 0 : related.side,
243
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
244
- status: "Filled",
245
- size: related === null || related === void 0 ? void 0 : related.size,
246
- base_token: base_token,
247
- collateral: realized_funding_fee,
248
- collateral_token: collateral_token,
249
- price: undefined,
250
- realized_pnl: realized_funding_fee_usd,
251
- timestamp: timestamp,
252
- tx_digest: tx_digest,
253
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
254
- sender: "user",
255
- };
256
- events.push(e);
257
- break;
258
- case structs_2.CancelTradingOrderEvent.$typeName.split("::")[2]:
259
- var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
260
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
261
- var market = "".concat(base_token, "/USD");
262
- var related = events.findLast(function (e) { return e.order_id === json.order_id && e.market === market; });
263
- var e = {
264
- action: "Cancel Order",
265
- typeName: name,
266
- order_id: json.order_id,
267
- position_id: related === null || related === void 0 ? void 0 : related.position_id,
268
- market: market,
269
- side: related === null || related === void 0 ? void 0 : related.side,
270
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
271
- status: "Canceled",
272
- size: related === null || related === void 0 ? void 0 : related.size,
273
- base_token: base_token,
274
- collateral: Number(json.released_collateral_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token)), // WARNING: fixed decimal
275
- collateral_token: collateral_token,
276
- price: Number(json.trigger_price) / Math.pow(10, 8), // WARNING: fixed decimal
277
- realized_pnl: undefined,
278
- timestamp: timestamp,
279
- tx_digest: tx_digest,
280
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
281
- sender: "user",
282
- };
283
- events.push(e);
284
- break;
285
- case structs_2.IncreaseCollateralEvent.$typeName.split("::")[2]:
286
- case structs_2.ReleaseCollateralEvent.$typeName.split("::")[2]:
287
- var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
288
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
289
- var market = "".concat(base_token, "/USD");
290
- var related = events.find(function (e) { return e.position_id === json.position_id && e.market === market; });
291
- var collateral;
292
- if (json.increased_collateral_amount) {
293
- collateral = Number(json.increased_collateral_amount) * -1;
294
- }
295
- else {
296
- collateral = Number(json.released_collateral_amount);
297
- }
298
- var e = {
299
- action: "Modify Collateral",
300
- typeName: name,
301
- order_id: undefined,
302
- position_id: json.position_id,
303
- market: market,
304
- side: !related
305
- ? undefined
306
- : related.action === "Order Filled (Open Position)"
307
- ? related.side
308
- : related.side === "Long"
309
- ? "Short"
310
- : "Long",
311
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
312
- status: "Filled",
313
- size: related === null || related === void 0 ? void 0 : related.size,
314
- base_token: base_token,
315
- collateral: collateral / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token)), // WARNING: fixed decimal
316
- collateral_token: collateral_token,
317
- price: related === null || related === void 0 ? void 0 : related.price,
318
- realized_pnl: undefined,
319
- timestamp: timestamp,
320
- tx_digest: tx_digest,
321
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
322
- sender: "user",
323
- };
324
- events.push(e);
325
- break;
326
- case structs_3.SwapEvent.$typeName.split("::")[2]:
327
- var from_token = (0, constants_1.typeArgToAsset)(json.from_token_type.name);
328
- var to_token = (0, constants_1.typeArgToAsset)(json.to_token_type.name);
329
- var from_price = Number(json.oracle_price_from_token);
330
- var to_price = Number(json.oracle_price_to_token);
331
- var e = {
332
- action: "Swap",
333
- typeName: name,
334
- order_id: undefined,
335
- position_id: undefined,
336
- market: "".concat(from_token, "/").concat(to_token),
337
- side: undefined,
338
- order_type: "Market",
339
- status: "Filled",
340
- size: Number(json.actual_to_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(to_token)),
341
- base_token: to_token,
342
- collateral: Number(json.from_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(from_token)),
343
- collateral_token: from_token,
344
- price: from_price / to_price,
345
- realized_pnl: -Number(json.fee_amount_usd) / Math.pow(10, 9),
346
- timestamp: timestamp,
347
- tx_digest: tx_digest,
348
- dov_index: undefined,
349
- sender: "user",
350
- };
351
- events.push(e);
352
- break;
115
+ var order_type = "Limit";
116
+ var price = json.trigger_price;
117
+ if (json.filled) {
118
+ order_type = "Market";
119
+ price = json.filled_price;
120
+ }
121
+ else if (json.reduce_only && !json.is_stop_order) {
122
+ order_type = "Take Profit";
123
+ }
124
+ else if (json.reduce_only && json.is_stop_order) {
125
+ order_type = "Stop Loss";
126
+ }
127
+ var e = {
128
+ action: "Place Order",
129
+ typeName: name,
130
+ order_id: json.order_id,
131
+ position_id: json.linked_position_id,
132
+ market: market,
133
+ side: json.is_long ? "Long" : "Short",
134
+ order_type: order_type,
135
+ status: json.filled ? "Filled" : "Open",
136
+ size: size,
137
+ base_token: base_token,
138
+ collateral: collateral,
139
+ collateral_token: collateral_token,
140
+ price: Number(price) / Math.pow(10, 8), // WARNING: fixed decimal
141
+ realized_pnl: undefined,
142
+ timestamp: timestamp,
143
+ tx_digest: tx_digest,
144
+ dov_index: json.dov_index,
145
+ reduce_only: json.reduce_only,
146
+ is_stop_order: json.is_stop_order,
147
+ sender: "user",
148
+ };
149
+ events.push(e);
150
+ break;
151
+ case structs_1.OrderFilledEvent.$typeName.split("::")[2]:
152
+ var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
153
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
154
+ var market = "".concat(base_token, "/USD");
155
+ var size = Number(json.filled_size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
156
+ var price = json.filled_price;
157
+ var action;
158
+ var related;
159
+ var collateral;
160
+ var realized_trading_fee = Number(json.realized_trading_fee) + Number(json.realized_borrow_fee);
161
+ var realized_fee_in_usd = Number(json.realized_fee_in_usd) / Math.pow(10, 9);
162
+ var realized_amount = json.realized_amount_sign ? Number(json.realized_amount) : -Number(json.realized_amount);
163
+ // console.log(realized_amount);
164
+ var realized_pnl = realized_trading_fee > 0 ? ((realized_amount - realized_trading_fee) * realized_fee_in_usd) / realized_trading_fee : 0;
165
+ if (json.linked_position_id != undefined) {
166
+ action = "Order Filled (Close Position)";
167
+ related = events.findLast(function (e) { return e.position_id === json.linked_position_id && e.market === market; });
168
+ // the "Place Order" is emit after Order Filled if filled immediately
169
+ var relatedRawEvent = raw_events.find(function (e) {
170
+ var type = e.contents.type.repr;
171
+ var _a = __read(type.split("::"), 3), pkg = _a[0], mod = _a[1], name = _a[2];
172
+ return name === (related === null || related === void 0 ? void 0 : related.typeName) && e.transactionBlock.digest === (related === null || related === void 0 ? void 0 : related.tx_digest) && (related === null || related === void 0 ? void 0 : related.order_id) === json.order_id;
173
+ });
174
+ if (((_b = (_a = relatedRawEvent === null || relatedRawEvent === void 0 ? void 0 : relatedRawEvent.contents) === null || _a === void 0 ? void 0 : _a.json) === null || _b === void 0 ? void 0 : _b.reduce_only) === false) {
175
+ action = "Order Filled (Increase Position)";
176
+ }
177
+ if (realized_pnl > 0) {
178
+ collateral = (realized_amount - realized_trading_fee) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
179
+ }
180
+ }
181
+ else {
182
+ action = "Order Filled (Open Position)";
183
+ related = events.findLast(function (e) { return e.order_id === json.order_id && e.market === market; });
184
+ collateral = related === null || related === void 0 ? void 0 : related.collateral;
185
+ }
186
+ var e = {
187
+ action: action,
188
+ typeName: name,
189
+ order_id: json.order_id,
190
+ position_id: (_c = json.linked_position_id) !== null && _c !== void 0 ? _c : json.new_position_id,
191
+ market: market,
192
+ side: json.position_side ? "Long" : "Short",
193
+ order_type: related === null || related === void 0 ? void 0 : related.order_type,
194
+ status: "Filled",
195
+ size: size,
196
+ base_token: base_token,
197
+ collateral: collateral, // TODO: check for option collateral
198
+ collateral_token: collateral_token,
199
+ price: Number(price) / Math.pow(10, 8), // WARNING: fixed decimal
200
+ realized_pnl: realized_pnl,
201
+ timestamp: timestamp,
202
+ tx_digest: tx_digest,
203
+ dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
204
+ sender: "user",
205
+ };
206
+ events.push(e);
207
+ break;
208
+ case structs_1.RemovePositionEvent.$typeName.split("::")[2]:
209
+ // same tx with order filled
210
+ var index = events.findLastIndex(function (e) { return e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)"; });
211
+ // console.log(index);
212
+ if (index !== -1) {
213
+ // true => user paid to pool
214
+ var remaining_collateral_amount = json.remaining_collateral_amount / Math.pow(10, (0, constants_1.assetToDecimal)(events[index].collateral_token));
215
+ events[index] = __assign(__assign({}, events[index]), { collateral: remaining_collateral_amount + ((_d = events[index].collateral) !== null && _d !== void 0 ? _d : 0) });
216
+ }
217
+ break;
218
+ case structs_1.RealizeFundingEvent.$typeName.split("::")[2]:
219
+ var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
220
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
221
+ var market = "".concat(base_token, "/USD");
222
+ var related = events.find(function (e) { return e.position_id === json.position_id && e.market === market; });
223
+ // if realized_funding_sign is true, user pays to pool
224
+ var realized_funding_fee = json.realized_funding_sign
225
+ ? -json.realized_funding_fee / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token))
226
+ : json.realized_funding_fee / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
227
+ var realized_funding_fee_usd = json.realized_funding_sign
228
+ ? -json.realized_funding_fee_usd / Math.pow(10, 9)
229
+ : json.realized_funding_fee_usd / Math.pow(10, 9);
230
+ // same tx with order filled
231
+ var index = events.findLastIndex(function (e) { return e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)"; });
232
+ // console.log(index);
233
+ if (index !== -1) {
234
+ // true => user paid to pool
235
+ events[index] = __assign(__assign({}, events[index]), { collateral: (_e = events[index].collateral) !== null && _e !== void 0 ? _e : 0 - realized_funding_fee, realized_pnl: (_f = events[index].realized_pnl) !== null && _f !== void 0 ? _f : 0 - realized_funding_fee_usd });
236
+ }
237
+ var e = {
238
+ action: "Realize Funding",
239
+ typeName: name,
240
+ order_id: undefined,
241
+ position_id: json.position_id,
242
+ market: market,
243
+ side: related === null || related === void 0 ? void 0 : related.side,
244
+ order_type: related === null || related === void 0 ? void 0 : related.order_type,
245
+ status: "Filled",
246
+ size: related === null || related === void 0 ? void 0 : related.size,
247
+ base_token: base_token,
248
+ collateral: realized_funding_fee,
249
+ collateral_token: collateral_token,
250
+ price: undefined,
251
+ realized_pnl: realized_funding_fee_usd,
252
+ timestamp: timestamp,
253
+ tx_digest: tx_digest,
254
+ dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
255
+ sender: "user",
256
+ };
257
+ events.push(e);
258
+ break;
259
+ case structs_2.CancelTradingOrderEvent.$typeName.split("::")[2]:
260
+ var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
261
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
262
+ var market = "".concat(base_token, "/USD");
263
+ var related = events.findLast(function (e) { return e.order_id === json.order_id && e.market === market; });
264
+ var e = {
265
+ action: "Cancel Order",
266
+ typeName: name,
267
+ order_id: json.order_id,
268
+ position_id: related === null || related === void 0 ? void 0 : related.position_id,
269
+ market: market,
270
+ side: related === null || related === void 0 ? void 0 : related.side,
271
+ order_type: related === null || related === void 0 ? void 0 : related.order_type,
272
+ status: "Canceled",
273
+ size: related === null || related === void 0 ? void 0 : related.size,
274
+ base_token: base_token,
275
+ collateral: Number(json.released_collateral_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token)), // WARNING: fixed decimal
276
+ collateral_token: collateral_token,
277
+ price: Number(json.trigger_price) / Math.pow(10, 8), // WARNING: fixed decimal
278
+ realized_pnl: undefined,
279
+ timestamp: timestamp,
280
+ tx_digest: tx_digest,
281
+ dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
282
+ sender: "user",
283
+ };
284
+ events.push(e);
285
+ break;
286
+ case structs_2.IncreaseCollateralEvent.$typeName.split("::")[2]:
287
+ case structs_2.ReleaseCollateralEvent.$typeName.split("::")[2]:
288
+ var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
289
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
290
+ var market = "".concat(base_token, "/USD");
291
+ var related = events.find(function (e) { return e.position_id === json.position_id && e.market === market; });
292
+ var collateral;
293
+ if (json.increased_collateral_amount) {
294
+ collateral = Number(json.increased_collateral_amount) * -1;
295
+ }
296
+ else {
297
+ collateral = Number(json.released_collateral_amount);
298
+ }
299
+ var e = {
300
+ action: "Modify Collateral",
301
+ typeName: name,
302
+ order_id: undefined,
303
+ position_id: json.position_id,
304
+ market: market,
305
+ side: !related
306
+ ? undefined
307
+ : related.action === "Order Filled (Open Position)"
308
+ ? related.side
309
+ : related.side === "Long"
310
+ ? "Short"
311
+ : "Long",
312
+ order_type: related === null || related === void 0 ? void 0 : related.order_type,
313
+ status: "Filled",
314
+ size: related === null || related === void 0 ? void 0 : related.size,
315
+ base_token: base_token,
316
+ collateral: collateral / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token)), // WARNING: fixed decimal
317
+ collateral_token: collateral_token,
318
+ price: related === null || related === void 0 ? void 0 : related.price,
319
+ realized_pnl: undefined,
320
+ timestamp: timestamp,
321
+ tx_digest: tx_digest,
322
+ dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
323
+ sender: "user",
324
+ };
325
+ events.push(e);
326
+ break;
327
+ case structs_3.SwapEvent.$typeName.split("::")[2]:
328
+ var from_token = (0, constants_1.typeArgToAsset)(json.from_token_type.name);
329
+ var to_token = (0, constants_1.typeArgToAsset)(json.to_token_type.name);
330
+ var from_price = Number(json.oracle_price_from_token);
331
+ var to_price = Number(json.oracle_price_to_token);
332
+ var e = {
333
+ action: "Swap",
334
+ typeName: name,
335
+ order_id: undefined,
336
+ position_id: undefined,
337
+ market: "".concat(from_token, "/").concat(to_token),
338
+ side: undefined,
339
+ order_type: "Market",
340
+ status: "Filled",
341
+ size: Number(json.actual_to_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(to_token)),
342
+ base_token: to_token,
343
+ collateral: Number(json.from_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(from_token)),
344
+ collateral_token: from_token,
345
+ price: from_price / to_price,
346
+ realized_pnl: -Number(json.fee_amount_usd) / Math.pow(10, 9),
347
+ timestamp: timestamp,
348
+ tx_digest: tx_digest,
349
+ dov_index: undefined,
350
+ sender: "user",
351
+ };
352
+ events.push(e);
353
+ break;
354
+ }
353
355
  }
354
356
  });
355
357
  // console.log(events);
@@ -373,7 +375,7 @@ function getGraphQLEvents(module_1, sender_1) {
373
375
  senderFilter = "sender: \"".concat(sender, "\"");
374
376
  }
375
377
  graphql = JSON.stringify({
376
- query: "\n {\n events(\n last: 50,\n ".concat(before, "\n filter: {\n module: \"").concat(module, "\",\n ").concat(senderFilter, "\n }\n ) {\n pageInfo {\n hasPreviousPage\n hasNextPage\n startCursor\n endCursor\n }\n edges { cursor }\n nodes {\n transaction { digest }\n transactionModule {\n name\n package { digest }\n }\n sender { address }\n timestamp\n contents {\n type { repr }\n json\n }\n }\n }}\n "),
378
+ query: "\n {\n events(\n last: 50,\n ".concat(before, "\n filter: {\n type: \"").concat(module, "\",\n ").concat(senderFilter, "\n }\n ) {\n pageInfo {\n hasPreviousPage\n hasNextPage\n startCursor\n endCursor\n }\n edges { cursor }\n nodes {\n transaction { digest }\n transactionModule {\n name\n package { digest }\n }\n sender { address }\n timestamp\n contents {\n type { repr }\n json\n }\n }\n }}\n "),
377
379
  });
378
380
  return [4 /*yield*/, fetch("https://graphql.".concat(src_1.NETWORK.toLowerCase(), ".sui.io/graphql"), {
379
381
  method: "POST",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typus/typus-perp-sdk",
3
- "version": "1.1.31-testnet",
3
+ "version": "1.1.32-testnet",
4
4
  "repository": "https://github.com/Typus-Lab/typus-perp-sdk.git",
5
5
  "author": "Typus",
6
6
  "description": "typus perp sdk",
@@ -35,4 +35,4 @@
35
35
  },
36
36
  "homepage": "https://github.com/Typus-Lab/typus-perp-sdk#readme",
37
37
  "packageManager": "yarn@4.10.3+sha512.c38cafb5c7bb273f3926d04e55e1d8c9dfa7d9c3ea1f36a4868fa028b9e5f72298f0b7f401ad5eb921749eb012eb1c3bb74bf7503df3ee43fd600d14a018266f"
38
- }
38
+ }