@dhedge/backend-flatcoin-core 0.2.72 → 0.2.74

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.
@@ -3,8 +3,8 @@ export declare class ProtocolMetrics {
3
3
  id: number;
4
4
  unitDepositsVolume: BigNumber;
5
5
  unitWithdrawalsVolume: BigNumber;
6
- leverageOpensVolume: BigNumber;
7
- leverageAdjustsVolume: BigNumber;
8
- leverageClosesVolume: BigNumber;
6
+ leverageTotalVolumeUsd: number;
7
+ leverageWeekVolumeUsd: number;
8
+ leverageMonthVolumeUsd: number;
9
9
  blockSynced: number;
10
10
  }
@@ -29,17 +29,35 @@ __decorate([
29
29
  __metadata("design:type", ethers_1.BigNumber)
30
30
  ], ProtocolMetrics.prototype, "unitWithdrawalsVolume", void 0);
31
31
  __decorate([
32
- (0, typeorm_1.Column)({ name: 'leverage_opens_volume', type: 'bigint', precision: 30, transformer: utils_1.bigNumberTransformer }),
33
- __metadata("design:type", ethers_1.BigNumber)
34
- ], ProtocolMetrics.prototype, "leverageOpensVolume", void 0);
32
+ (0, typeorm_1.Column)({
33
+ name: 'leverage_total_volume_usd',
34
+ type: 'decimal',
35
+ precision: 30,
36
+ scale: 2,
37
+ transformer: utils_1.numericTransformer,
38
+ }),
39
+ __metadata("design:type", Number)
40
+ ], ProtocolMetrics.prototype, "leverageTotalVolumeUsd", void 0);
35
41
  __decorate([
36
- (0, typeorm_1.Column)({ name: 'leverage_adjusts_volume', type: 'bigint', precision: 30, transformer: utils_1.bigNumberTransformer }),
37
- __metadata("design:type", ethers_1.BigNumber)
38
- ], ProtocolMetrics.prototype, "leverageAdjustsVolume", void 0);
42
+ (0, typeorm_1.Column)({
43
+ name: 'leverage_week_volume_usd',
44
+ type: 'decimal',
45
+ precision: 30,
46
+ scale: 2,
47
+ transformer: utils_1.numericTransformer,
48
+ }),
49
+ __metadata("design:type", Number)
50
+ ], ProtocolMetrics.prototype, "leverageWeekVolumeUsd", void 0);
39
51
  __decorate([
40
- (0, typeorm_1.Column)({ name: 'leverage_closes_volume', type: 'bigint', precision: 30, transformer: utils_1.bigNumberTransformer }),
41
- __metadata("design:type", ethers_1.BigNumber)
42
- ], ProtocolMetrics.prototype, "leverageClosesVolume", void 0);
52
+ (0, typeorm_1.Column)({
53
+ name: 'leverage_month_volume_usd',
54
+ type: 'decimal',
55
+ precision: 30,
56
+ scale: 2,
57
+ transformer: utils_1.numericTransformer,
58
+ }),
59
+ __metadata("design:type", Number)
60
+ ], ProtocolMetrics.prototype, "leverageMonthVolumeUsd", void 0);
43
61
  __decorate([
44
62
  (0, typeorm_1.Column)({ name: 'block_synced', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
45
63
  __metadata("design:type", Number)
@@ -25,7 +25,7 @@ let ProtocolMetricsRepository = class ProtocolMetricsRepository {
25
25
  return this.repository.save(protocolMetrics);
26
26
  }
27
27
  async getLatestRecord() {
28
- return this.repository.createQueryBuilder().orderBy('block_synced', 'DESC').limit(1).getOne();
28
+ return this.repository.createQueryBuilder().limit(1).getOne();
29
29
  }
30
30
  };
31
31
  exports.ProtocolMetricsRepository = ProtocolMetricsRepository;
@@ -1,5 +1,5 @@
1
1
  import { Logger } from '@nestjs/common';
2
- import { AnnouncedLimitOrder, AnnouncedOrder, DepositEvent, LeverageAdjust, LeveragePositionEvent, LimitOrderExecuted, Position, UnitHolder, WithdrawEvent } from '../utils';
2
+ import { AnnouncedLimitOrder, AnnouncedOrder, DepositEvent, LeverageAdjust, LeverageClose, LeverageOpen, LeveragePositionEvent, LimitOrderExecuted, Position, UnitHolder, WithdrawEvent } from '../utils';
3
3
  import { GraphQLClient } from 'graphql-request';
4
4
  export declare class GraphQueryService {
5
5
  private readonly graphQLClient;
@@ -7,8 +7,10 @@ export declare class GraphQueryService {
7
7
  constructor(graphQLClient: GraphQLClient, logger: Logger);
8
8
  getAnnouncedOrders(timestampFrom: number): Promise<AnnouncedOrder[]>;
9
9
  getLeverageOpens(blockFrom: number): Promise<LeveragePositionEvent[]>;
10
+ getLeverageOpensFromBLock(blockFrom: number): Promise<LeverageOpen[]>;
10
11
  getLeverageOpensByTimestampFrom(timestampFrom: number): Promise<LeveragePositionEvent[]>;
11
12
  getLeverageCloses(blockFrom: number): Promise<LeveragePositionEvent[]>;
13
+ getLeverageClosesFromBlock(blockFrom: number): Promise<LeverageClose[]>;
12
14
  getLeverageClosesByTimestampFrom(timestampFrom: number): Promise<LeveragePositionEvent[]>;
13
15
  getLeverageAdjustsByTimestampFrom(timestampFrom: number): Promise<LeverageAdjust[]>;
14
16
  getLeverageAdjustsByBlockNumberFrom(blockNumber: number): Promise<LeverageAdjust[]>;
@@ -43,6 +43,18 @@ let GraphQueryService = class GraphQueryService {
43
43
  throw error;
44
44
  }
45
45
  }
46
+ async getLeverageOpensFromBLock(blockFrom) {
47
+ const variables = { fromBlock: blockFrom };
48
+ try {
49
+ const response = await this.graphQLClient.request(exports.getLeverageOpensQuery, variables);
50
+ this.logger.log(`Fetched ${response.leverageOpens.length} leverageOpens events from the graph`);
51
+ return response.leverageOpens;
52
+ }
53
+ catch (error) {
54
+ this.logger.error('Error fetching leverageOpens events from the graph:', error);
55
+ throw error;
56
+ }
57
+ }
46
58
  async getLeverageOpensByTimestampFrom(timestampFrom) {
47
59
  const variables = { blockTimestamp: timestampFrom };
48
60
  try {
@@ -69,6 +81,18 @@ let GraphQueryService = class GraphQueryService {
69
81
  throw error;
70
82
  }
71
83
  }
84
+ async getLeverageClosesFromBlock(blockFrom) {
85
+ const variables = { fromBlock: blockFrom };
86
+ try {
87
+ const response = await this.graphQLClient.request(exports.getLeverageClosesQuery, variables);
88
+ this.logger.log(`Fetched ${response.leverageCloses.length} leverageCloses events from the graph`);
89
+ return response.leverageCloses;
90
+ }
91
+ catch (error) {
92
+ this.logger.error('Error fetching leverageCloses events from the graph:', error);
93
+ throw error;
94
+ }
95
+ }
72
96
  async getLeverageClosesByTimestampFrom(timestampFrom) {
73
97
  const variables = { blockTimestamp: timestampFrom };
74
98
  try {
@@ -339,11 +363,13 @@ exports.getAnnouncedOrdersQuery = (0, graphql_request_1.gql) `
339
363
  `;
340
364
  exports.getLeverageOpensQuery = (0, graphql_request_1.gql) `
341
365
  query GetLeverageOpens($fromBlock: Int) {
342
- leverageOpens(where: { blockNumber_gt: $fromBlock }) {
366
+ leverageOpens(where: { blockNumber_gt: $fromBlock }, first: 1000) {
343
367
  blockNumber
344
368
  blockTimestamp
345
369
  tokenId
346
370
  account
371
+ margin
372
+ size
347
373
  }
348
374
  }
349
375
  `;
@@ -361,10 +387,12 @@ exports.getLeverageOpensByTimestampFromQuery = (0, graphql_request_1.gql) `
361
387
  `;
362
388
  exports.getLeverageClosesQuery = (0, graphql_request_1.gql) `
363
389
  query GetLeverageCloses($fromBlock: Int) {
364
- leverageCloses(where: { blockNumber_gt: $fromBlock }) {
390
+ leverageCloses(where: { blockNumber_gt: $fromBlock }, first: 1000) {
365
391
  blockNumber
366
392
  blockTimestamp
367
393
  tokenId
394
+ settledMargin
395
+ size
368
396
  }
369
397
  }
370
398
  `;
@@ -392,8 +420,10 @@ exports.getLeverageAdjustsByTimestampFromQuery = (0, graphql_request_1.gql) `
392
420
  `;
393
421
  exports.getLeverageAdjustsByBlockFromQuery = (0, graphql_request_1.gql) `
394
422
  query GetLeverageAdhusts($blockNumber: Int) {
395
- leverageAdjusts(where: { blockNumber_gt: $blockNumber }) {
423
+ leverageAdjusts(where: { blockNumber_gt: $blockNumber }, first: 1000) {
396
424
  tokenId
425
+ marginDelta
426
+ sizeDelta
397
427
  blockNumber
398
428
  transactionHash
399
429
  executedBy
@@ -46,12 +46,29 @@ export interface LeveragePositionEvent {
46
46
  transactionHash: string;
47
47
  executedBy: string;
48
48
  }
49
+ export interface LeverageOpen {
50
+ tokenId: number;
51
+ blockTimestamp: number;
52
+ account: string;
53
+ blockNumber: number;
54
+ margin: string;
55
+ size: string;
56
+ }
49
57
  export interface LeverageAdjust {
50
58
  tokenId: number;
51
59
  blockTimestamp: number;
52
60
  transactionHash: string;
53
61
  executedBy: string;
54
62
  blockNumber: number;
63
+ margin: string;
64
+ size: string;
65
+ }
66
+ export interface LeverageClose {
67
+ tokenId: number;
68
+ blockTimestamp: number;
69
+ blockNumber: number;
70
+ settledMargin: string;
71
+ size: string;
55
72
  }
56
73
  export interface AnnouncedLimitOrder {
57
74
  id: string;
@@ -87,12 +104,18 @@ export interface DepositEventsData {
87
104
  export interface WithdrawEventsData {
88
105
  withdraws: WithdrawEvent[];
89
106
  }
90
- export interface LeverageClosesData {
107
+ export interface LeverageClosesDataOld {
91
108
  leverageCloses: LeveragePositionEvent[];
92
109
  }
93
- export interface LeverageOpensData {
110
+ export interface LeverageClosesData {
111
+ leverageCloses: LeverageClose[];
112
+ }
113
+ export interface LeverageOpensDataOld {
94
114
  leverageOpens: LeveragePositionEvent[];
95
115
  }
116
+ export interface LeverageOpensData {
117
+ leverageOpens: LeverageOpen[];
118
+ }
96
119
  export interface PositionLiquidatedsData {
97
120
  positionLiquidateds: LeveragePositionEvent[];
98
121
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhedge/backend-flatcoin-core",
3
- "version": "0.2.72",
3
+ "version": "0.2.74",
4
4
  "description": "Backend Flatcoin Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",