@typus/typus-perp-sdk 1.1.11 → 1.1.13
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/dist/src/user/history.js +15 -17
- package/package.json +1 -1
package/dist/src/user/history.js
CHANGED
|
@@ -84,7 +84,7 @@ function parseUserHistory(raw_events) {
|
|
|
84
84
|
return __generator(this, function (_a) {
|
|
85
85
|
events = [];
|
|
86
86
|
raw_events.forEach(function (event) {
|
|
87
|
-
var _a;
|
|
87
|
+
var _a, _b;
|
|
88
88
|
var type = event.contents.type.repr;
|
|
89
89
|
if (type.endsWith("PythPrice")) {
|
|
90
90
|
return;
|
|
@@ -96,7 +96,7 @@ function parseUserHistory(raw_events) {
|
|
|
96
96
|
// console.log(tx_digest);
|
|
97
97
|
// console.log(json);
|
|
98
98
|
// console.log(timestamp);
|
|
99
|
-
var
|
|
99
|
+
var _c = __read(type.split("::"), 3), pkg = _c[0], mod = _c[1], name = _c[2];
|
|
100
100
|
switch (name) {
|
|
101
101
|
case structs_2.CreateTradingOrderEvent.$typeName.split("::")[2]:
|
|
102
102
|
case structs_2.CreateTradingOrderWithBidReceiptsEvent.$typeName.split("::")[2]:
|
|
@@ -163,7 +163,9 @@ function parseUserHistory(raw_events) {
|
|
|
163
163
|
action = "Order Filled (Close Position)";
|
|
164
164
|
related = events.findLast(function (e) { return e.position_id === json.linked_position_id && e.market === market; });
|
|
165
165
|
// the "Place Order" is emit after Order Filled if filled immediately
|
|
166
|
-
|
|
166
|
+
if (realized_pnl > 0) {
|
|
167
|
+
collateral = (realized_amount - realized_trading_fee) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
|
|
168
|
+
}
|
|
167
169
|
}
|
|
168
170
|
else {
|
|
169
171
|
action = "Order Filled (Open Position)";
|
|
@@ -199,21 +201,10 @@ function parseUserHistory(raw_events) {
|
|
|
199
201
|
if (index !== -1) {
|
|
200
202
|
// true => user paid to pool
|
|
201
203
|
var remaining_collateral_amount = json.remaining_collateral_amount / Math.pow(10, (0, constants_1.assetToDecimal)(events[index].collateral_token));
|
|
202
|
-
events[index] = __assign(__assign({}, events[index]), { collateral: remaining_collateral_amount +
|
|
204
|
+
events[index] = __assign(__assign({}, events[index]), { collateral: remaining_collateral_amount + events[index].collateral });
|
|
203
205
|
}
|
|
204
206
|
break;
|
|
205
207
|
case structs_1.RealizeFundingEvent.$typeName.split("::")[2]:
|
|
206
|
-
// // same tx with order filled
|
|
207
|
-
// var index = events.findLastIndex((e) => e.tx_digest == tx_digest);
|
|
208
|
-
// // console.log(index);
|
|
209
|
-
// if (index !== -1) {
|
|
210
|
-
// // true => user paid to pool
|
|
211
|
-
// let x = json.realized_funding_sign ? json.realized_funding_fee_usd / 10 ** 9 : -json.realized_funding_fee_usd / 10 ** 9;
|
|
212
|
-
// events[index] = {
|
|
213
|
-
// ...events[index],
|
|
214
|
-
// realized_pnl: (events[index].realized_pnl ?? 0) - x,
|
|
215
|
-
// };
|
|
216
|
-
// }
|
|
217
208
|
var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
|
|
218
209
|
var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
|
|
219
210
|
var market = "".concat(base_token, "/USD");
|
|
@@ -225,6 +216,13 @@ function parseUserHistory(raw_events) {
|
|
|
225
216
|
var realized_funding_fee_usd = json.realized_funding_sign
|
|
226
217
|
? -json.realized_funding_fee_usd / Math.pow(10, 9)
|
|
227
218
|
: json.realized_funding_fee_usd / Math.pow(10, 9);
|
|
219
|
+
// same tx with order filled
|
|
220
|
+
var index = events.findLastIndex(function (e) { return e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)"; });
|
|
221
|
+
// console.log(index);
|
|
222
|
+
if (index !== -1 && realized_funding_fee < 0) {
|
|
223
|
+
// true => user paid to pool
|
|
224
|
+
events[index] = __assign(__assign({}, events[index]), { collateral: (_b = events[index].collateral) !== null && _b !== void 0 ? _b : 0 - realized_funding_fee });
|
|
225
|
+
}
|
|
228
226
|
var e = {
|
|
229
227
|
action: "Realize Funding",
|
|
230
228
|
typeName: name,
|
|
@@ -457,10 +455,10 @@ function getRealizeFundingFromSentio(userAddress, startTimestamp, events) {
|
|
|
457
455
|
status: "Filled",
|
|
458
456
|
size: undefined,
|
|
459
457
|
base_token: base_token,
|
|
460
|
-
collateral: Number(x.realized_funding_fee),
|
|
458
|
+
collateral: -Number(x.realized_funding_fee),
|
|
461
459
|
collateral_token: x.collateral_token,
|
|
462
460
|
price: undefined,
|
|
463
|
-
realized_pnl: Number(x.realized_funding_fee_usd),
|
|
461
|
+
realized_pnl: -Number(x.realized_funding_fee_usd),
|
|
464
462
|
timestamp: x.timestamp,
|
|
465
463
|
tx_digest: x.transaction_hash,
|
|
466
464
|
dov_index: undefined,
|