@dhedge/backend-flatcoin-core 0.2.44 → 0.2.47

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.
Files changed (38) hide show
  1. package/dist/constants/enum.d.ts +2 -0
  2. package/dist/constants/enum.js +2 -0
  3. package/dist/entity/leverageBalanceChart/leverage-balance-one-day.d.ts +3 -0
  4. package/dist/entity/leverageBalanceChart/leverage-balance-one-day.js +17 -0
  5. package/dist/entity/leverageBalanceChart/leverage-balance-one-month.d.ts +3 -0
  6. package/dist/entity/leverageBalanceChart/leverage-balance-one-month.js +17 -0
  7. package/dist/entity/leverageBalanceChart/leverage-balance-one-week.d.ts +3 -0
  8. package/dist/entity/leverageBalanceChart/leverage-balance-one-week.js +17 -0
  9. package/dist/entity/leverageBalanceChart/leverage-balance-one-year.d.ts +3 -0
  10. package/dist/entity/leverageBalanceChart/leverage-balance-one-year.js +17 -0
  11. package/dist/entity/leverageBalanceChart/leverage-balance-parent.d.ts +8 -0
  12. package/dist/entity/leverageBalanceChart/leverage-balance-parent.js +50 -0
  13. package/dist/entity/leverageBalanceChart/leverage-balance-three-months.d.ts +3 -0
  14. package/dist/entity/leverageBalanceChart/leverage-balance-three-months.js +17 -0
  15. package/dist/entity/leverageBalanceChart/leverage-balance.d.ts +3 -0
  16. package/dist/entity/leverageBalanceChart/leverage-balance.js +17 -0
  17. package/dist/entity/unitBalanceChart/unit-balance-half-year.d.ts +3 -0
  18. package/dist/entity/unitBalanceChart/unit-balance-half-year.js +17 -0
  19. package/dist/entity/unitBalanceChart/unit-balance-one-month.d.ts +3 -0
  20. package/dist/entity/unitBalanceChart/unit-balance-one-month.js +17 -0
  21. package/dist/entity/unitBalanceChart/unit-balance-one-week.d.ts +3 -0
  22. package/dist/entity/unitBalanceChart/unit-balance-one-week.js +17 -0
  23. package/dist/entity/unitBalanceChart/unit-balance-one-year.d.ts +3 -0
  24. package/dist/entity/unitBalanceChart/unit-balance-one-year.js +17 -0
  25. package/dist/entity/unitBalanceChart/unit-balance-parent.d.ts +8 -0
  26. package/dist/entity/unitBalanceChart/unit-balance-parent.js +50 -0
  27. package/dist/entity/unitBalanceChart/unit-balance-three-months.d.ts +3 -0
  28. package/dist/entity/unitBalanceChart/unit-balance-three-months.js +17 -0
  29. package/dist/entity/unitBalanceChart/unit-balance.d.ts +3 -0
  30. package/dist/entity/unitBalanceChart/unit-balance.js +17 -0
  31. package/dist/repository/leverage-balance.repository.d.ts +23 -0
  32. package/dist/repository/leverage-balance.repository.js +90 -0
  33. package/dist/repository/unit-balance.repository.d.ts +22 -0
  34. package/dist/repository/unit-balance.repository.js +90 -0
  35. package/dist/service/graph-query.service.d.ts +4 -1
  36. package/dist/service/graph-query.service.js +36 -1
  37. package/dist/utils/shared-types.d.ts +7 -0
  38. package/package.json +1 -1
@@ -2,6 +2,8 @@ declare enum HistoricalPeriod {
2
2
  ONE_DAY = "1d",
3
3
  ONE_WEEK = "1w",
4
4
  ONE_MONTH = "1m",
5
+ THREE_MONTHS = "3m",
6
+ HALF_YEAR = "6m",
5
7
  ONE_YEAR = "12m",
6
8
  ALL = "all"
7
9
  }
@@ -6,6 +6,8 @@ var HistoricalPeriod;
6
6
  HistoricalPeriod["ONE_DAY"] = "1d";
7
7
  HistoricalPeriod["ONE_WEEK"] = "1w";
8
8
  HistoricalPeriod["ONE_MONTH"] = "1m";
9
+ HistoricalPeriod["THREE_MONTHS"] = "3m";
10
+ HistoricalPeriod["HALF_YEAR"] = "6m";
9
11
  HistoricalPeriod["ONE_YEAR"] = "12m";
10
12
  HistoricalPeriod["ALL"] = "all";
11
13
  })(HistoricalPeriod || (exports.HistoricalPeriod = HistoricalPeriod = {}));
@@ -0,0 +1,3 @@
1
+ import { LeverageBalanceParent } from './leverage-balance-parent';
2
+ export declare class LeverageBalanceOneDay extends LeverageBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LeverageBalanceOneDay = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const leverage_balance_parent_1 = require("./leverage-balance-parent");
12
+ let LeverageBalanceOneDay = class LeverageBalanceOneDay extends leverage_balance_parent_1.LeverageBalanceParent {
13
+ };
14
+ exports.LeverageBalanceOneDay = LeverageBalanceOneDay;
15
+ exports.LeverageBalanceOneDay = LeverageBalanceOneDay = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'leverage_balances_1d' })
17
+ ], LeverageBalanceOneDay);
@@ -0,0 +1,3 @@
1
+ import { LeverageBalanceParent } from './leverage-balance-parent';
2
+ export declare class LeverageBalanceOneMonth extends LeverageBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LeverageBalanceOneMonth = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const leverage_balance_parent_1 = require("./leverage-balance-parent");
12
+ let LeverageBalanceOneMonth = class LeverageBalanceOneMonth extends leverage_balance_parent_1.LeverageBalanceParent {
13
+ };
14
+ exports.LeverageBalanceOneMonth = LeverageBalanceOneMonth;
15
+ exports.LeverageBalanceOneMonth = LeverageBalanceOneMonth = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'leverage_balances_1m' })
17
+ ], LeverageBalanceOneMonth);
@@ -0,0 +1,3 @@
1
+ import { LeverageBalanceParent } from './leverage-balance-parent';
2
+ export declare class LeverageBalanceOneWeek extends LeverageBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LeverageBalanceOneWeek = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const leverage_balance_parent_1 = require("./leverage-balance-parent");
12
+ let LeverageBalanceOneWeek = class LeverageBalanceOneWeek extends leverage_balance_parent_1.LeverageBalanceParent {
13
+ };
14
+ exports.LeverageBalanceOneWeek = LeverageBalanceOneWeek;
15
+ exports.LeverageBalanceOneWeek = LeverageBalanceOneWeek = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'leverage_balances_1w' })
17
+ ], LeverageBalanceOneWeek);
@@ -0,0 +1,3 @@
1
+ import { LeverageBalanceParent } from './leverage-balance-parent';
2
+ export declare class LeverageBalanceOneYear extends LeverageBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LeverageBalanceOneYear = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const leverage_balance_parent_1 = require("./leverage-balance-parent");
12
+ let LeverageBalanceOneYear = class LeverageBalanceOneYear extends leverage_balance_parent_1.LeverageBalanceParent {
13
+ };
14
+ exports.LeverageBalanceOneYear = LeverageBalanceOneYear;
15
+ exports.LeverageBalanceOneYear = LeverageBalanceOneYear = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'leverage_balances_1y' })
17
+ ], LeverageBalanceOneYear);
@@ -0,0 +1,8 @@
1
+ export declare abstract class LeverageBalanceParent {
2
+ id: number;
3
+ account: string;
4
+ balance: string;
5
+ balanceUsd: string;
6
+ timestamp: number;
7
+ blockNumber: number;
8
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LeverageBalanceParent = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const graphql_1 = require("@nestjs/graphql");
15
+ const utils_1 = require("../../utils");
16
+ let LeverageBalanceParent = class LeverageBalanceParent {
17
+ };
18
+ exports.LeverageBalanceParent = LeverageBalanceParent;
19
+ __decorate([
20
+ (0, typeorm_1.PrimaryGeneratedColumn)({ name: 'id' }),
21
+ __metadata("design:type", Number)
22
+ ], LeverageBalanceParent.prototype, "id", void 0);
23
+ __decorate([
24
+ (0, graphql_1.Field)(() => String, { nullable: false }),
25
+ (0, typeorm_1.Column)({ name: 'account' }),
26
+ __metadata("design:type", String)
27
+ ], LeverageBalanceParent.prototype, "account", void 0);
28
+ __decorate([
29
+ (0, graphql_1.Field)(),
30
+ (0, typeorm_1.Column)({ name: 'balance', type: 'numeric', precision: 30 }),
31
+ __metadata("design:type", String)
32
+ ], LeverageBalanceParent.prototype, "balance", void 0);
33
+ __decorate([
34
+ (0, graphql_1.Field)(),
35
+ (0, typeorm_1.Column)({ name: 'balance_usd', type: 'numeric', precision: 30 }),
36
+ __metadata("design:type", String)
37
+ ], LeverageBalanceParent.prototype, "balanceUsd", void 0);
38
+ __decorate([
39
+ (0, graphql_1.Field)(),
40
+ (0, typeorm_1.Column)({ name: 'timestamp', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
41
+ __metadata("design:type", Number)
42
+ ], LeverageBalanceParent.prototype, "timestamp", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ name: 'block_number', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
45
+ __metadata("design:type", Number)
46
+ ], LeverageBalanceParent.prototype, "blockNumber", void 0);
47
+ exports.LeverageBalanceParent = LeverageBalanceParent = __decorate([
48
+ (0, graphql_1.ObjectType)(),
49
+ (0, typeorm_1.Entity)()
50
+ ], LeverageBalanceParent);
@@ -0,0 +1,3 @@
1
+ import { LeverageBalanceParent } from './leverage-balance-parent';
2
+ export declare class LeverageBalanceThreeMonths extends LeverageBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LeverageBalanceThreeMonths = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const leverage_balance_parent_1 = require("./leverage-balance-parent");
12
+ let LeverageBalanceThreeMonths = class LeverageBalanceThreeMonths extends leverage_balance_parent_1.LeverageBalanceParent {
13
+ };
14
+ exports.LeverageBalanceThreeMonths = LeverageBalanceThreeMonths;
15
+ exports.LeverageBalanceThreeMonths = LeverageBalanceThreeMonths = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'leverage_balances_3m' })
17
+ ], LeverageBalanceThreeMonths);
@@ -0,0 +1,3 @@
1
+ import { LeverageBalanceParent } from './leverage-balance-parent';
2
+ export declare class LeverageBalance extends LeverageBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LeverageBalance = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const leverage_balance_parent_1 = require("./leverage-balance-parent");
12
+ let LeverageBalance = class LeverageBalance extends leverage_balance_parent_1.LeverageBalanceParent {
13
+ };
14
+ exports.LeverageBalance = LeverageBalance;
15
+ exports.LeverageBalance = LeverageBalance = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'leverage_balances' })
17
+ ], LeverageBalance);
@@ -0,0 +1,3 @@
1
+ import { UnitBalanceParent } from './unit-balance-parent';
2
+ export declare class UnitBalanceHalfYear extends UnitBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UnitBalanceHalfYear = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const unit_balance_parent_1 = require("./unit-balance-parent");
12
+ let UnitBalanceHalfYear = class UnitBalanceHalfYear extends unit_balance_parent_1.UnitBalanceParent {
13
+ };
14
+ exports.UnitBalanceHalfYear = UnitBalanceHalfYear;
15
+ exports.UnitBalanceHalfYear = UnitBalanceHalfYear = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'unit_balances_6m' })
17
+ ], UnitBalanceHalfYear);
@@ -0,0 +1,3 @@
1
+ import { UnitBalanceParent } from './unit-balance-parent';
2
+ export declare class UnitBalanceOneMonth extends UnitBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UnitBalanceOneMonth = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const unit_balance_parent_1 = require("./unit-balance-parent");
12
+ let UnitBalanceOneMonth = class UnitBalanceOneMonth extends unit_balance_parent_1.UnitBalanceParent {
13
+ };
14
+ exports.UnitBalanceOneMonth = UnitBalanceOneMonth;
15
+ exports.UnitBalanceOneMonth = UnitBalanceOneMonth = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'unit_balances_1m' })
17
+ ], UnitBalanceOneMonth);
@@ -0,0 +1,3 @@
1
+ import { UnitBalanceParent } from './unit-balance-parent';
2
+ export declare class UnitBalanceOneWeek extends UnitBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UnitBalanceOneWeek = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const unit_balance_parent_1 = require("./unit-balance-parent");
12
+ let UnitBalanceOneWeek = class UnitBalanceOneWeek extends unit_balance_parent_1.UnitBalanceParent {
13
+ };
14
+ exports.UnitBalanceOneWeek = UnitBalanceOneWeek;
15
+ exports.UnitBalanceOneWeek = UnitBalanceOneWeek = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'unit_balances_1w' })
17
+ ], UnitBalanceOneWeek);
@@ -0,0 +1,3 @@
1
+ import { UnitBalanceParent } from './unit-balance-parent';
2
+ export declare class UnitBalanceOneYear extends UnitBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UnitBalanceOneYear = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const unit_balance_parent_1 = require("./unit-balance-parent");
12
+ let UnitBalanceOneYear = class UnitBalanceOneYear extends unit_balance_parent_1.UnitBalanceParent {
13
+ };
14
+ exports.UnitBalanceOneYear = UnitBalanceOneYear;
15
+ exports.UnitBalanceOneYear = UnitBalanceOneYear = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'unit-balances_1y' })
17
+ ], UnitBalanceOneYear);
@@ -0,0 +1,8 @@
1
+ export declare abstract class UnitBalanceParent {
2
+ id: number;
3
+ account: string;
4
+ balance: string;
5
+ balanceUsd: string;
6
+ timestamp: number;
7
+ blockNumber: number;
8
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UnitBalanceParent = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const graphql_1 = require("@nestjs/graphql");
15
+ const utils_1 = require("../../utils");
16
+ let UnitBalanceParent = class UnitBalanceParent {
17
+ };
18
+ exports.UnitBalanceParent = UnitBalanceParent;
19
+ __decorate([
20
+ (0, typeorm_1.PrimaryGeneratedColumn)({ name: 'id' }),
21
+ __metadata("design:type", Number)
22
+ ], UnitBalanceParent.prototype, "id", void 0);
23
+ __decorate([
24
+ (0, graphql_1.Field)(() => String, { nullable: false }),
25
+ (0, typeorm_1.Column)({ name: 'account' }),
26
+ __metadata("design:type", String)
27
+ ], UnitBalanceParent.prototype, "account", void 0);
28
+ __decorate([
29
+ (0, graphql_1.Field)(),
30
+ (0, typeorm_1.Column)({ name: 'balance', type: 'numeric', precision: 30 }),
31
+ __metadata("design:type", String)
32
+ ], UnitBalanceParent.prototype, "balance", void 0);
33
+ __decorate([
34
+ (0, graphql_1.Field)(),
35
+ (0, typeorm_1.Column)({ name: 'balance_usd', type: 'numeric', precision: 30 }),
36
+ __metadata("design:type", String)
37
+ ], UnitBalanceParent.prototype, "balanceUsd", void 0);
38
+ __decorate([
39
+ (0, graphql_1.Field)(),
40
+ (0, typeorm_1.Column)({ name: 'timestamp', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
41
+ __metadata("design:type", Number)
42
+ ], UnitBalanceParent.prototype, "timestamp", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ name: 'block_number', type: 'numeric', precision: 25, transformer: utils_1.numericTransformer }),
45
+ __metadata("design:type", Number)
46
+ ], UnitBalanceParent.prototype, "blockNumber", void 0);
47
+ exports.UnitBalanceParent = UnitBalanceParent = __decorate([
48
+ (0, graphql_1.ObjectType)(),
49
+ (0, typeorm_1.Entity)()
50
+ ], UnitBalanceParent);
@@ -0,0 +1,3 @@
1
+ import { UnitBalanceParent } from './unit-balance-parent';
2
+ export declare class UnitBalanceThreeMonths extends UnitBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UnitBalanceThreeMonths = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const unit_balance_parent_1 = require("./unit-balance-parent");
12
+ let UnitBalanceThreeMonths = class UnitBalanceThreeMonths extends unit_balance_parent_1.UnitBalanceParent {
13
+ };
14
+ exports.UnitBalanceThreeMonths = UnitBalanceThreeMonths;
15
+ exports.UnitBalanceThreeMonths = UnitBalanceThreeMonths = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'unit-balances_3m' })
17
+ ], UnitBalanceThreeMonths);
@@ -0,0 +1,3 @@
1
+ import { UnitBalanceParent } from './unit-balance-parent';
2
+ export declare class UnitBalance extends UnitBalanceParent {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UnitBalance = void 0;
10
+ const typeorm_1 = require("typeorm");
11
+ const unit_balance_parent_1 = require("./unit-balance-parent");
12
+ let UnitBalance = class UnitBalance extends unit_balance_parent_1.UnitBalanceParent {
13
+ };
14
+ exports.UnitBalance = UnitBalance;
15
+ exports.UnitBalance = UnitBalance = __decorate([
16
+ (0, typeorm_1.Entity)({ name: 'unit_balances' })
17
+ ], UnitBalance);
@@ -0,0 +1,23 @@
1
+ import { Repository } from 'typeorm';
2
+ import { FlatcoinPriceParent } from '../entity';
3
+ import { UnitBalance } from '../entity/unitBalanceChart/unit-balance';
4
+ import { LeverageBalance } from '../entity/leverageBalanceChart/leverage-balance';
5
+ import { LeverageBalanceOneWeek } from '../entity/leverageBalanceChart/leverage-balance-one-week';
6
+ import { LeverageBalanceOneMonth } from '../entity/leverageBalanceChart/leverage-balance-one-month';
7
+ import { LeverageBalanceThreeMonths } from '../entity/leverageBalanceChart/leverage-balance-three-months';
8
+ import { LeverageBalanceOneDay } from '../entity/leverageBalanceChart/leverage-balance-one-day';
9
+ import { LeverageBalanceOneYear } from '../entity/leverageBalanceChart/leverage-balance-one-year';
10
+ export declare class LeverageBalanceRepository {
11
+ private leverageBalanceOneDayRepository;
12
+ private leverageBalanceOneWeekRepository;
13
+ private leverageBalanceOneMonthRepository;
14
+ private leverageBalanceThreeMonthsRepository;
15
+ private leverageBalanceOneYearRepository;
16
+ private readonly leverageBalanceRepository;
17
+ constructor(leverageBalanceOneDayRepository: Repository<LeverageBalanceOneDay>, leverageBalanceOneWeekRepository: Repository<LeverageBalanceOneWeek>, leverageBalanceOneMonthRepository: Repository<LeverageBalanceOneMonth>, leverageBalanceThreeMonthsRepository: Repository<LeverageBalanceThreeMonths>, leverageBalanceOneYearRepository: Repository<LeverageBalanceOneYear>, leverageBalanceRepository: Repository<LeverageBalance>);
18
+ findAllByPeriod(account: string, period: string): Promise<FlatcoinPriceParent[]>;
19
+ findLast(): Promise<UnitBalance | null>;
20
+ findFirstByTimestamp(fromTimestamp: number): Promise<UnitBalance | null>;
21
+ findFirst(): Promise<UnitBalance | null>;
22
+ private getRepository;
23
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LeverageBalanceRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const constants_1 = require("../constants");
20
+ const leverage_balance_1 = require("../entity/leverageBalanceChart/leverage-balance");
21
+ const leverage_balance_one_week_1 = require("../entity/leverageBalanceChart/leverage-balance-one-week");
22
+ const leverage_balance_one_month_1 = require("../entity/leverageBalanceChart/leverage-balance-one-month");
23
+ const leverage_balance_three_months_1 = require("../entity/leverageBalanceChart/leverage-balance-three-months");
24
+ const leverage_balance_one_day_1 = require("../entity/leverageBalanceChart/leverage-balance-one-day");
25
+ const leverage_balance_one_year_1 = require("../entity/leverageBalanceChart/leverage-balance-one-year");
26
+ let LeverageBalanceRepository = class LeverageBalanceRepository {
27
+ constructor(leverageBalanceOneDayRepository, leverageBalanceOneWeekRepository, leverageBalanceOneMonthRepository, leverageBalanceThreeMonthsRepository, leverageBalanceOneYearRepository, leverageBalanceRepository) {
28
+ this.leverageBalanceOneDayRepository = leverageBalanceOneDayRepository;
29
+ this.leverageBalanceOneWeekRepository = leverageBalanceOneWeekRepository;
30
+ this.leverageBalanceOneMonthRepository = leverageBalanceOneMonthRepository;
31
+ this.leverageBalanceThreeMonthsRepository = leverageBalanceThreeMonthsRepository;
32
+ this.leverageBalanceOneYearRepository = leverageBalanceOneYearRepository;
33
+ this.leverageBalanceRepository = leverageBalanceRepository;
34
+ }
35
+ async findAllByPeriod(account, period) {
36
+ return this.getRepository(period)
37
+ .createQueryBuilder()
38
+ .where('account = :account')
39
+ .setParameter('account', account)
40
+ .orderBy('timestamp', 'ASC')
41
+ .getMany();
42
+ }
43
+ async findLast() {
44
+ return this.leverageBalanceRepository.createQueryBuilder().orderBy('timestamp', 'DESC').take(1).getOne();
45
+ }
46
+ async findFirstByTimestamp(fromTimestamp) {
47
+ return await this.leverageBalanceRepository
48
+ .createQueryBuilder()
49
+ .where('timestamp > :fromTimestamp')
50
+ .setParameter('fromTimestamp', fromTimestamp)
51
+ .orderBy('timestamp', 'ASC')
52
+ .take(1)
53
+ .getOne();
54
+ }
55
+ async findFirst() {
56
+ return await this.leverageBalanceRepository.createQueryBuilder().orderBy('timestamp', 'ASC').take(1).getOne();
57
+ }
58
+ getRepository(period) {
59
+ switch (period) {
60
+ case constants_1.HistoricalPeriod.ONE_WEEK:
61
+ return this.leverageBalanceOneWeekRepository;
62
+ case constants_1.HistoricalPeriod.ONE_MONTH:
63
+ return this.leverageBalanceOneMonthRepository;
64
+ case constants_1.HistoricalPeriod.THREE_MONTHS:
65
+ return this.leverageBalanceThreeMonthsRepository;
66
+ case constants_1.HistoricalPeriod.HALF_YEAR:
67
+ return this.leverageBalanceOneDayRepository;
68
+ case constants_1.HistoricalPeriod.ONE_YEAR:
69
+ return this.leverageBalanceOneYearRepository;
70
+ default:
71
+ throw new Error('Invalid period provided.');
72
+ }
73
+ }
74
+ };
75
+ exports.LeverageBalanceRepository = LeverageBalanceRepository;
76
+ exports.LeverageBalanceRepository = LeverageBalanceRepository = __decorate([
77
+ (0, common_1.Injectable)(),
78
+ __param(0, (0, typeorm_1.InjectRepository)(leverage_balance_one_day_1.LeverageBalanceOneDay)),
79
+ __param(1, (0, typeorm_1.InjectRepository)(leverage_balance_one_week_1.LeverageBalanceOneWeek)),
80
+ __param(2, (0, typeorm_1.InjectRepository)(leverage_balance_one_month_1.LeverageBalanceOneMonth)),
81
+ __param(3, (0, typeorm_1.InjectRepository)(leverage_balance_three_months_1.LeverageBalanceThreeMonths)),
82
+ __param(4, (0, typeorm_1.InjectRepository)(leverage_balance_one_year_1.LeverageBalanceOneYear)),
83
+ __param(5, (0, typeorm_1.InjectRepository)(leverage_balance_1.LeverageBalance)),
84
+ __metadata("design:paramtypes", [typeorm_2.Repository,
85
+ typeorm_2.Repository,
86
+ typeorm_2.Repository,
87
+ typeorm_2.Repository,
88
+ typeorm_2.Repository,
89
+ typeorm_2.Repository])
90
+ ], LeverageBalanceRepository);
@@ -0,0 +1,22 @@
1
+ import { Repository } from 'typeorm';
2
+ import { FlatcoinPriceParent } from '../entity';
3
+ import { UnitBalanceHalfYear } from '../entity/unitBalanceChart/unit-balance-half-year';
4
+ import { UnitBalanceOneWeek } from '../entity/unitBalanceChart/unit-balance-one-week';
5
+ import { UnitBalanceOneMonth } from '../entity/unitBalanceChart/unit-balance-one-month';
6
+ import { UnitBalance } from '../entity/unitBalanceChart/unit-balance';
7
+ import { UnitBalanceThreeMonths } from '../entity/unitBalanceChart/unit-balance-three-months';
8
+ import { UnitBalanceOneYear } from '../entity/unitBalanceChart/unit-balance-one-year';
9
+ export declare class UnitBalanceRepository {
10
+ private unitBalanceOneWeekRepository;
11
+ private unitBalanceOneMonthRepository;
12
+ private unitBalanceThreeMonthsRepository;
13
+ private unitBalanceHalfYearRepository;
14
+ private unitBalanceOneYearRepository;
15
+ private readonly unitBalanceRepository;
16
+ constructor(unitBalanceOneWeekRepository: Repository<UnitBalanceOneWeek>, unitBalanceOneMonthRepository: Repository<UnitBalanceOneMonth>, unitBalanceThreeMonthsRepository: Repository<UnitBalanceThreeMonths>, unitBalanceHalfYearRepository: Repository<UnitBalanceHalfYear>, unitBalanceOneYearRepository: Repository<UnitBalanceOneYear>, unitBalanceRepository: Repository<UnitBalance>);
17
+ findAllByPeriod(account: string, period: string): Promise<FlatcoinPriceParent[]>;
18
+ findLast(): Promise<UnitBalance | null>;
19
+ findFirstByTimestamp(fromTimestamp: number): Promise<UnitBalance | null>;
20
+ findFirst(): Promise<UnitBalance | null>;
21
+ private getRepository;
22
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UnitBalanceRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const constants_1 = require("../constants");
20
+ const unit_balance_half_year_1 = require("../entity/unitBalanceChart/unit-balance-half-year");
21
+ const unit_balance_one_week_1 = require("../entity/unitBalanceChart/unit-balance-one-week");
22
+ const unit_balance_one_month_1 = require("../entity/unitBalanceChart/unit-balance-one-month");
23
+ const unit_balance_1 = require("../entity/unitBalanceChart/unit-balance");
24
+ const unit_balance_three_months_1 = require("../entity/unitBalanceChart/unit-balance-three-months");
25
+ const unit_balance_one_year_1 = require("../entity/unitBalanceChart/unit-balance-one-year");
26
+ let UnitBalanceRepository = class UnitBalanceRepository {
27
+ constructor(unitBalanceOneWeekRepository, unitBalanceOneMonthRepository, unitBalanceThreeMonthsRepository, unitBalanceHalfYearRepository, unitBalanceOneYearRepository, unitBalanceRepository) {
28
+ this.unitBalanceOneWeekRepository = unitBalanceOneWeekRepository;
29
+ this.unitBalanceOneMonthRepository = unitBalanceOneMonthRepository;
30
+ this.unitBalanceThreeMonthsRepository = unitBalanceThreeMonthsRepository;
31
+ this.unitBalanceHalfYearRepository = unitBalanceHalfYearRepository;
32
+ this.unitBalanceOneYearRepository = unitBalanceOneYearRepository;
33
+ this.unitBalanceRepository = unitBalanceRepository;
34
+ }
35
+ async findAllByPeriod(account, period) {
36
+ return this.getRepository(period)
37
+ .createQueryBuilder()
38
+ .where('account = :account')
39
+ .setParameter('account', account)
40
+ .orderBy('timestamp', 'ASC')
41
+ .getMany();
42
+ }
43
+ async findLast() {
44
+ return this.unitBalanceRepository.createQueryBuilder().orderBy('timestamp', 'DESC').take(1).getOne();
45
+ }
46
+ async findFirstByTimestamp(fromTimestamp) {
47
+ return await this.unitBalanceRepository
48
+ .createQueryBuilder()
49
+ .where('timestamp > :fromTimestamp')
50
+ .setParameter('fromTimestamp', fromTimestamp)
51
+ .orderBy('timestamp', 'ASC')
52
+ .take(1)
53
+ .getOne();
54
+ }
55
+ async findFirst() {
56
+ return await this.unitBalanceRepository.createQueryBuilder().orderBy('timestamp', 'ASC').take(1).getOne();
57
+ }
58
+ getRepository(period) {
59
+ switch (period) {
60
+ case constants_1.HistoricalPeriod.ONE_WEEK:
61
+ return this.unitBalanceOneWeekRepository;
62
+ case constants_1.HistoricalPeriod.ONE_MONTH:
63
+ return this.unitBalanceOneMonthRepository;
64
+ case constants_1.HistoricalPeriod.THREE_MONTHS:
65
+ return this.unitBalanceThreeMonthsRepository;
66
+ case constants_1.HistoricalPeriod.HALF_YEAR:
67
+ return this.unitBalanceHalfYearRepository;
68
+ case constants_1.HistoricalPeriod.ONE_YEAR:
69
+ return this.unitBalanceOneYearRepository;
70
+ default:
71
+ throw new Error('Invalid period provided.');
72
+ }
73
+ }
74
+ };
75
+ exports.UnitBalanceRepository = UnitBalanceRepository;
76
+ exports.UnitBalanceRepository = UnitBalanceRepository = __decorate([
77
+ (0, common_1.Injectable)(),
78
+ __param(0, (0, typeorm_1.InjectRepository)(unit_balance_one_week_1.UnitBalanceOneWeek)),
79
+ __param(1, (0, typeorm_1.InjectRepository)(unit_balance_one_month_1.UnitBalanceOneMonth)),
80
+ __param(2, (0, typeorm_1.InjectRepository)(unit_balance_three_months_1.UnitBalanceThreeMonths)),
81
+ __param(3, (0, typeorm_1.InjectRepository)(unit_balance_half_year_1.UnitBalanceHalfYear)),
82
+ __param(4, (0, typeorm_1.InjectRepository)(unit_balance_one_year_1.UnitBalanceOneYear)),
83
+ __param(5, (0, typeorm_1.InjectRepository)(unit_balance_1.UnitBalance)),
84
+ __metadata("design:paramtypes", [typeorm_2.Repository,
85
+ typeorm_2.Repository,
86
+ typeorm_2.Repository,
87
+ typeorm_2.Repository,
88
+ typeorm_2.Repository,
89
+ typeorm_2.Repository])
90
+ ], UnitBalanceRepository);
@@ -1,5 +1,5 @@
1
1
  import { Logger } from '@nestjs/common';
2
- import { AnnouncedLimitOrder, AnnouncedOrder, DepositEvent, LeverageAdjust, LeveragePositionEvent, Position, WithdrawEvent } from '../utils';
2
+ import { AnnouncedLimitOrder, AnnouncedOrder, DepositEvent, LeverageAdjust, LeveragePositionEvent, Position, UnitHolder, WithdrawEvent } from '../utils';
3
3
  import { GraphQLClient } from 'graphql-request';
4
4
  export declare class GraphQueryService {
5
5
  private readonly graphQLClient;
@@ -24,6 +24,8 @@ export declare class GraphQueryService {
24
24
  getOpenPositions(skip: number, first: number): Promise<Position[]>;
25
25
  getClosedPositions(closeTimestampVar: number): Promise<Position[]>;
26
26
  getClosedPositionsByCloseBlockFrom(closeBlockFrom: number): Promise<Position[]>;
27
+ getAllUnitHolders(): Promise<UnitHolder[]>;
28
+ getUnitHoldersPaginated(skip: number, first: number): Promise<UnitHolder[]>;
27
29
  }
28
30
  export declare const getAnnouncedOrdersQuery: string;
29
31
  export declare const getLeverageOpensQuery: string;
@@ -43,3 +45,4 @@ export declare const getLimitOrderExecutedsByTimestampFromQuery: string;
43
45
  export declare const getOpenPositionsQuery: string;
44
46
  export declare const getClosedPositionsQuery: string;
45
47
  export declare const getClosedPositionsQueryByCloseBlockFrom: string;
48
+ 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.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.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;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const graphql_request_1 = require("graphql-request");
15
15
  const constants_1 = require("../constants");
@@ -254,6 +254,33 @@ let GraphQueryService = class GraphQueryService {
254
254
  throw error;
255
255
  }
256
256
  }
257
+ async getAllUnitHolders() {
258
+ const allUnitHolders = [];
259
+ const first = 999;
260
+ let skip = 0;
261
+ // currently thegraph allows to get only 10_000 entities
262
+ while (skip < 10000) {
263
+ const fetchedUnitHolders = await this.getUnitHoldersPaginated(skip, first);
264
+ if (fetchedUnitHolders.length === 0) {
265
+ break;
266
+ }
267
+ allUnitHolders.push(...fetchedUnitHolders);
268
+ skip += first;
269
+ }
270
+ return allUnitHolders;
271
+ }
272
+ async getUnitHoldersPaginated(skip, first) {
273
+ const variables = { skip, first };
274
+ try {
275
+ const response = await this.graphQLClient.request(exports.getUnitHoldersQueryPaginated, variables);
276
+ this.logger.log(`Fetched ${response.unitHolders.length} unit holders from the graph`);
277
+ return response.unitHolders;
278
+ }
279
+ catch (error) {
280
+ this.logger.error('Error fetching unit holders from the graph:', error);
281
+ throw error;
282
+ }
283
+ }
257
284
  };
258
285
  exports.GraphQueryService = GraphQueryService;
259
286
  exports.GraphQueryService = GraphQueryService = __decorate([
@@ -476,3 +503,11 @@ exports.getClosedPositionsQueryByCloseBlockFrom = (0, graphql_request_1.gql) `
476
503
  }
477
504
  }
478
505
  `;
506
+ exports.getUnitHoldersQueryPaginated = (0, graphql_request_1.gql) `
507
+ query GetUnitHolders($first: Int, $skip: Int) {
508
+ positions(where: { first: $first, skip: $skip }) {
509
+ account
510
+ unitAmount
511
+ }
512
+ }
513
+ `;
@@ -74,6 +74,10 @@ export interface Position {
74
74
  closeTimestamp: number;
75
75
  accruedFunding: number;
76
76
  }
77
+ export interface UnitHolder {
78
+ account: string;
79
+ unitAmount: number;
80
+ }
77
81
  export interface DepositEventsData {
78
82
  deposits: DepositEvent[];
79
83
  }
@@ -104,3 +108,6 @@ export interface LimitOrderExecutedsData {
104
108
  export interface PositionData {
105
109
  positions: Position[];
106
110
  }
111
+ export interface UnitHoldersData {
112
+ unitHolders: UnitHolder[];
113
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhedge/backend-flatcoin-core",
3
- "version": "0.2.44",
3
+ "version": "0.2.47",
4
4
  "description": "Backend Flatcoin Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",