@dhedge/backend-flatcoin-core 0.2.49 → 0.2.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.
@@ -22,6 +22,8 @@ export declare class GraphQueryService {
22
22
  getLimitOrderExecutedsByTimestampFrom(timestampFrom: number): Promise<LeverageAdjust[]>;
23
23
  getAllOpenPositions(): Promise<Position[]>;
24
24
  getOpenPositions(skip: number, first: number): Promise<Position[]>;
25
+ getAllClosedPositions(): Promise<Position[]>;
26
+ getClosedPositionsPaginated(skip: number, first: number): Promise<Position[]>;
25
27
  getClosedPositions(closeTimestampVar: number): Promise<Position[]>;
26
28
  getClosedPositionsByCloseBlockFrom(closeBlockFrom: number): Promise<Position[]>;
27
29
  getAllUnitHolders(): Promise<UnitHolder[]>;
@@ -42,7 +44,8 @@ export declare const getWithdrawsByTimestampFromQuery: string;
42
44
  export declare const getWithdrawsByWithdrawerAddressQuery: string;
43
45
  export declare const getLimitOrderAnnouncedsQuery: string;
44
46
  export declare const getLimitOrderExecutedsByTimestampFromQuery: string;
45
- export declare const getOpenPositionsQuery: string;
47
+ export declare const getOpenPositionsQueryPaginated: string;
48
+ export declare const getClosedPositionsQueryPaginated: string;
46
49
  export declare const getClosedPositionsQuery: string;
47
50
  export declare const getClosedPositionsQueryByCloseBlockFrom: string;
48
51
  export declare const getUnitHoldersQueryPaginated: string;
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getUnitHoldersQueryPaginated = exports.getClosedPositionsQueryByCloseBlockFrom = exports.getClosedPositionsQuery = exports.getOpenPositionsQuery = exports.getLimitOrderExecutedsByTimestampFromQuery = exports.getLimitOrderAnnouncedsQuery = exports.getWithdrawsByWithdrawerAddressQuery = exports.getWithdrawsByTimestampFromQuery = exports.getWithdrawsQuery = exports.getDepositsByDepositorAddressQuery = exports.getDepositsByTimestampFromQuery = exports.getDepositsQuery = exports.getPositionLiquidatedsQuery = exports.getLeverageAdjustsByTimestampFromQuery = exports.getLeverageClosesByTimestampFromQuery = exports.getLeverageClosesQuery = exports.getLeverageOpensByTimestampFromQuery = exports.getLeverageOpensQuery = exports.getAnnouncedOrdersQuery = exports.GraphQueryService = void 0;
12
+ exports.getUnitHoldersQueryPaginated = exports.getClosedPositionsQueryByCloseBlockFrom = exports.getClosedPositionsQuery = exports.getClosedPositionsQueryPaginated = exports.getOpenPositionsQueryPaginated = exports.getLimitOrderExecutedsByTimestampFromQuery = exports.getLimitOrderAnnouncedsQuery = exports.getWithdrawsByWithdrawerAddressQuery = exports.getWithdrawsByTimestampFromQuery = exports.getWithdrawsQuery = exports.getDepositsByDepositorAddressQuery = exports.getDepositsByTimestampFromQuery = exports.getDepositsQuery = exports.getPositionLiquidatedsQuery = exports.getLeverageAdjustsByTimestampFromQuery = exports.getLeverageClosesByTimestampFromQuery = exports.getLeverageClosesQuery = exports.getLeverageOpensByTimestampFromQuery = exports.getLeverageOpensQuery = exports.getAnnouncedOrdersQuery = exports.GraphQueryService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const graphql_request_1 = require("graphql-request");
15
15
  const constants_1 = require("../constants");
@@ -221,7 +221,7 @@ let GraphQueryService = class GraphQueryService {
221
221
  async getOpenPositions(skip, first) {
222
222
  const variables = { skip, first };
223
223
  try {
224
- const response = await this.graphQLClient.request(exports.getOpenPositionsQuery, variables);
224
+ const response = await this.graphQLClient.request(exports.getOpenPositionsQueryPaginated, variables);
225
225
  this.logger.log(`Fetched ${response.positions.length} open positions from the graph`);
226
226
  return response.positions;
227
227
  }
@@ -230,6 +230,33 @@ let GraphQueryService = class GraphQueryService {
230
230
  throw error;
231
231
  }
232
232
  }
233
+ async getAllClosedPositions() {
234
+ const allPositions = [];
235
+ const first = 999;
236
+ let skip = 0;
237
+ // currently thegraph allows to get only 10_000 entities
238
+ while (skip < 10000) {
239
+ const fetchedPositions = await this.getClosedPositionsPaginated(skip, first);
240
+ if (fetchedPositions.length === 0) {
241
+ break;
242
+ }
243
+ allPositions.push(...fetchedPositions);
244
+ skip += first;
245
+ }
246
+ return allPositions;
247
+ }
248
+ async getClosedPositionsPaginated(skip, first) {
249
+ const variables = { skip, first };
250
+ try {
251
+ const response = await this.graphQLClient.request(exports.getClosedPositionsQueryPaginated, variables);
252
+ this.logger.log(`Fetched ${response.positions.length} closed positions from the graph`);
253
+ return response.positions;
254
+ }
255
+ catch (error) {
256
+ this.logger.error('Error fetching closed positions from the graph:', error);
257
+ throw error;
258
+ }
259
+ }
233
260
  async getClosedPositions(closeTimestampVar) {
234
261
  const variables = { closeTimestampVar };
235
262
  try {
@@ -464,13 +491,20 @@ exports.getLimitOrderExecutedsByTimestampFromQuery = (0, graphql_request_1.gql)
464
491
  }
465
492
  }
466
493
  `;
467
- exports.getOpenPositionsQuery = (0, graphql_request_1.gql) `
494
+ exports.getOpenPositionsQueryPaginated = (0, graphql_request_1.gql) `
468
495
  query GetOpenPositions($skip: Int, $first: Int) {
469
496
  positions(where: { status: 0 }, skip: $skip, first: $first) {
470
497
  tokenId
471
498
  }
472
499
  }
473
500
  `;
501
+ exports.getClosedPositionsQueryPaginated = (0, graphql_request_1.gql) `
502
+ query GetClosedPositions($skip: Int, $first: Int) {
503
+ positions(where: { status_in: [1, 2, 3] }, skip: $skip, first: $first) {
504
+ tokenId
505
+ }
506
+ }
507
+ `;
474
508
  exports.getClosedPositionsQuery = (0, graphql_request_1.gql) `
475
509
  query GetClosedPositions($closeTimestampVar: Int) {
476
510
  positions(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhedge/backend-flatcoin-core",
3
- "version": "0.2.49",
3
+ "version": "0.2.50",
4
4
  "description": "Backend Flatcoin Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",