@typus/typus-perp-sdk 1.1.30 → 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.
- package/dist/src/user/history.js +255 -253
- package/package.json +3 -3
package/dist/src/user/history.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
177
|
-
collateral = (
|
|
112
|
+
else {
|
|
113
|
+
collateral = Number(json.collateral_in_deposit_token) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
|
|
178
114
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
:
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
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
|
|
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,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typus/typus-perp-sdk",
|
|
3
|
-
"version": "1.1.
|
|
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",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@typus/typus-sdk": "1.8.21"
|
|
9
|
+
"@typus/typus-sdk": "1.8.21-testnet"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"@types/bs58": "^4.0.1",
|
|
@@ -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
|
+
}
|