@typus/typus-perp-sdk 1.1.49 → 1.1.50

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.
@@ -1,5 +1,5 @@
1
1
  import { TOKEN } from "@typus/typus-sdk/dist/src/constants";
2
- export declare function getFromSentio(event: string, userAddress: string, startTimestamp: string, cranker?: boolean): Promise<any[]>;
2
+ export declare function getFromSentio(event: string, userAddress: string, startTimestamp: string, endTimestamp?: string, cranker?: boolean): Promise<any[]>;
3
3
  export declare function getRecentTradesFromSentio(base_token?: TOKEN): Promise<any[]>;
4
4
  /**
5
5
  * Inputs:
@@ -17,7 +17,7 @@ const headers = {
17
17
  "api-key": "hCsD8shJaUbbiNLMKBG3oKhr9PL3H5EJ5",
18
18
  "Content-Type": "application/json",
19
19
  };
20
- async function getFromSentio(event, userAddress, startTimestamp, cranker) {
20
+ async function getFromSentio(event, userAddress, startTimestamp, endTimestamp, cranker) {
21
21
  let apiUrl = "https://app.sentio.xyz/api/v1/analytics/typus/typus_perp/sql/execute";
22
22
  // add cranker fileter
23
23
  let crankerFilter = "";
@@ -29,7 +29,7 @@ async function getFromSentio(event, userAddress, startTimestamp, cranker) {
29
29
  sql: `
30
30
  SELECT *
31
31
  FROM ${event}
32
- WHERE distinct_id = '${userAddress}' AND timestamp >= ${startTimestamp} ${crankerFilter}
32
+ WHERE distinct_id = '${userAddress}' AND timestamp >= ${startTimestamp} ${endTimestamp ? `AND timestamp <= ${endTimestamp}` : ''} ${crankerFilter}
33
33
  ORDER BY timestamp DESC;
34
34
  `,
35
35
  size: 1000,
@@ -27,10 +27,11 @@ export interface Event {
27
27
  }
28
28
  export declare function parseUserHistory(raw_events: any, matchingDatas: any): Promise<Event[]>;
29
29
  export declare function getGraphQLEvents(module: string, sender: string | null, beforeCursor?: string | null): Promise<any>;
30
+ export declare function getArchivePlaceOrderEvents(userAddress: string, startTimestamp: number, endTimestamp: number, events: Event[]): Promise<Event[]>;
30
31
  export declare function getLiquidateFromSentio(userAddress: string, startTimestamp: number, events: Event[]): Promise<Event[]>;
31
32
  export declare function getRealizeFundingFromSentio(userAddress: string, startTimestamp: number, events: Event[]): Promise<Event[]>;
32
33
  export declare function getRemovePositionFromSentio(userAddress: string, startTimestamp: number, events: Event[]): Promise<Event[]>;
33
34
  export declare function getCancelOrderFromSentio(userAddress: string, startTimestamp: number, events: Event[]): Promise<Event[]>;
34
- export declare function getOrderMatchFromSentio(userAddress: string, startTimestamp: number, events: Event[], datas?: any[]): Promise<Event[]>;
35
+ export declare function getOrderMatchFromSentio(userAddress: string, startTimestamp: number, events: Event[], datas?: any[], archiveDatas?: Event[]): Promise<Event[]>;
35
36
  export declare function getRealizeOptionFromSentio(userAddress: string, startTimestamp: number, events: Event[]): Promise<Event[]>;
36
37
  export declare function toSentioToken(name: TOKEN): string;
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parseUserHistory = parseUserHistory;
7
7
  exports.getGraphQLEvents = getGraphQLEvents;
8
+ exports.getArchivePlaceOrderEvents = getArchivePlaceOrderEvents;
8
9
  exports.getLiquidateFromSentio = getLiquidateFromSentio;
9
10
  exports.getRealizeFundingFromSentio = getRealizeFundingFromSentio;
10
11
  exports.getRemovePositionFromSentio = getRemovePositionFromSentio;
@@ -424,6 +425,34 @@ async function getGraphQLEvents(module, sender, beforeCursor = null) {
424
425
  return data.data.events;
425
426
  }
426
427
  }
428
+ async function getArchivePlaceOrderEvents(userAddress, startTimestamp, endTimestamp, events) {
429
+ const datas = await (0, sentio_1.getFromSentio)("PlaceOrder", userAddress, startTimestamp.toString(), endTimestamp.toString(), false);
430
+ let placeOrders = datas.map((x) => {
431
+ let base_token = toToken(x.base_token);
432
+ let txHistory = {
433
+ action: "Place Order",
434
+ typeName: "PlaceOrderEvent",
435
+ order_id: x.order_id,
436
+ position_id: x.position_id,
437
+ market: `${base_token}/USD`,
438
+ side: undefined,
439
+ order_type: x.order_type,
440
+ status: x.status,
441
+ size: Number(x.position_size),
442
+ base_token,
443
+ collateral: x.collateral,
444
+ collateral_token: x.collateral_token,
445
+ price: Number(x.trading_price),
446
+ realized_pnl: undefined,
447
+ timestamp: x.timestamp,
448
+ tx_digest: x.transaction_hash,
449
+ dov_index: undefined,
450
+ sender: "user",
451
+ };
452
+ return txHistory;
453
+ });
454
+ return placeOrders;
455
+ }
427
456
  async function getLiquidateFromSentio(userAddress, startTimestamp, events) {
428
457
  const datas = await (0, sentio_1.getFromSentio)("Liquidate", userAddress, startTimestamp.toString());
429
458
  // console.log(datas);
@@ -544,7 +573,7 @@ async function getRemovePositionFromSentio(userAddress, startTimestamp, events)
544
573
  return events;
545
574
  }
546
575
  async function getCancelOrderFromSentio(userAddress, startTimestamp, events) {
547
- const datas = await (0, sentio_1.getFromSentio)("CancelOrder", userAddress, startTimestamp.toString(), true);
576
+ const datas = await (0, sentio_1.getFromSentio)("CancelOrder", userAddress, startTimestamp.toString(), undefined, true);
548
577
  // console.log(datas);
549
578
  let cancelOrder = datas.map((x) => {
550
579
  let collateral = Number(x.released_collateral_amount);
@@ -590,9 +619,9 @@ async function getCancelOrderFromSentio(userAddress, startTimestamp, events) {
590
619
  events = events.sort((a, b) => Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)));
591
620
  return events;
592
621
  }
593
- async function getOrderMatchFromSentio(userAddress, startTimestamp, events, datas) {
622
+ async function getOrderMatchFromSentio(userAddress, startTimestamp, events, datas, archiveDatas) {
594
623
  if (!datas)
595
- datas = await (0, sentio_1.getFromSentio)("OrderFilled", userAddress, startTimestamp.toString(), true);
624
+ datas = await (0, sentio_1.getFromSentio)("OrderFilled", userAddress, startTimestamp.toString(), undefined, true);
596
625
  let order_match = datas.map((x) => {
597
626
  let base_token = toToken(x.base_token);
598
627
  let txHistory = {
@@ -626,14 +655,17 @@ async function getOrderMatchFromSentio(userAddress, startTimestamp, events, data
626
655
  order_match = order_match.map((x) => {
627
656
  // find related order
628
657
  let related = events.findLast((e) => e.order_id == x.order_id && e.market == x.market);
629
- // console.log(x, related);
630
658
  if (related) {
631
659
  x.order_type = related.order_type;
632
660
  if (related?.position_id !== null) {
633
661
  const origin_order_filled_event = order_match.findLast(e => e.market == x.market && e.position_id == related?.position_id);
634
662
  if (origin_order_filled_event) {
635
- const origin_order_place_event = events.findLast((e) => e.order_id == origin_order_filled_event?.order_id && e.market == origin_order_filled_event?.market);
636
- x.collateral = origin_order_place_event?.collateral ?? related.collateral;
663
+ let origin_order_place_event = events.findLast((e) => e.order_id == origin_order_filled_event?.order_id && e.market == origin_order_filled_event.market);
664
+ if (!origin_order_place_event && archiveDatas) {
665
+ origin_order_place_event = archiveDatas.findLast((e) => e.order_id == origin_order_filled_event?.order_id && e.base_token == origin_order_filled_event.base_token);
666
+ }
667
+ const related_collateral = origin_order_place_event?.collateral ?? 0;
668
+ x.collateral = (0, bignumber_js_1.default)(x.collateral ?? 0).plus(related_collateral).toNumber();
637
669
  }
638
670
  }
639
671
  x.dov_index = related.dov_index;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typus/typus-perp-sdk",
3
- "version": "1.1.49",
3
+ "version": "1.1.50",
4
4
  "repository": "https://github.com/Typus-Lab/typus-perp-sdk.git",
5
5
  "author": "Typus",
6
6
  "description": "typus perp sdk",
@@ -45,4 +45,4 @@
45
45
  },
46
46
  "homepage": "https://github.com/Typus-Lab/typus-perp-sdk#readme",
47
47
  "packageManager": "yarn@4.10.3+sha512.c38cafb5c7bb273f3926d04e55e1d8c9dfa7d9c3ea1f36a4868fa028b9e5f72298f0b7f401ad5eb921749eb012eb1c3bb74bf7503df3ee43fd600d14a018266f"
48
- }
48
+ }