@dhedge/backend-flatcoin-core 0.3.39 → 0.3.41
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 { Logger } from '@nestjs/common';
|
|
2
|
-
import { AnnouncedLimitOrder, AnnouncedOrder, DepositEvent, LeverageAdjust, LeverageClose, LeverageOpen, LimitOrderExecuted, Position, PositionLiquidated, UnitHolder, WithdrawEvent } from '../utils';
|
|
2
|
+
import { AnnouncedLimitOrder, AnnouncedOrder, DepositEvent, LeverageAdjust, LeverageClose, LeverageOpen, LimitOrderExecuted, Position, PositionLiquidated, UnitHolder, UnitTransfer, WithdrawEvent } from '../utils';
|
|
3
3
|
import { GraphQLClient } from 'graphql-request';
|
|
4
4
|
export declare class GraphQueryService {
|
|
5
5
|
private readonly graphQLClient;
|
|
@@ -30,6 +30,12 @@ export declare class GraphQueryService {
|
|
|
30
30
|
getLiquidatedPositionsByCloseBlockFrom(closeBlockFrom: number): Promise<Position[]>;
|
|
31
31
|
getAllUnitHolders(): Promise<UnitHolder[]>;
|
|
32
32
|
getUnitHoldersPaginated(skip: number, first: number): Promise<UnitHolder[]>;
|
|
33
|
+
private getOutgoingUnitTransfersByBlockNumberFrom;
|
|
34
|
+
private getIncomingUnitTransfersByBlockNumberFrom;
|
|
35
|
+
getAllOutgoingUnitTransfersForAccount(account: string): Promise<UnitTransfer[]>;
|
|
36
|
+
getAllIncomingUnitTransfersForAccount(account: string): Promise<UnitTransfer[]>;
|
|
37
|
+
private getOutgoingUnitTransfersPaginated;
|
|
38
|
+
private getIncomingUnitTransfersPaginated;
|
|
33
39
|
}
|
|
34
40
|
export declare const getAnnouncedOrdersQuery: string;
|
|
35
41
|
export declare const getLeverageOpensQuery: string;
|
|
@@ -53,3 +59,7 @@ export declare const getClosedPositionsQuery: string;
|
|
|
53
59
|
export declare const getClosedPositionsQueryByCloseBlockFrom: string;
|
|
54
60
|
export declare const getLiquidatedPositionsQueryByCloseBlockFrom: string;
|
|
55
61
|
export declare const getUnitHoldersQueryPaginated: string;
|
|
62
|
+
export declare const getOutgoingUnitTransfersByBlockNumberFromQuery: string;
|
|
63
|
+
export declare const getIncomingUnitTransfersByBlockNumberFromQuery: string;
|
|
64
|
+
export declare const getOutgoingUnitTransfersQueryPaginated: string;
|
|
65
|
+
export declare const getIncomingUnitTransfersQueryPaginated: 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.getLiquidatedPositionsQueryByCloseBlockFrom = 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.getLeverageAdjustsByBlockFromQuery = exports.getLeverageAdjustsByTimestampFromQuery = exports.getLeverageClosesByTimestampFromQuery = exports.getLeverageClosesQuery = exports.getLeverageOpensByTimestampFromQuery = exports.getLeverageOpensQuery = exports.getAnnouncedOrdersQuery = exports.GraphQueryService = void 0;
|
|
12
|
+
exports.getIncomingUnitTransfersQueryPaginated = exports.getOutgoingUnitTransfersQueryPaginated = exports.getIncomingUnitTransfersByBlockNumberFromQuery = exports.getOutgoingUnitTransfersByBlockNumberFromQuery = exports.getUnitHoldersQueryPaginated = exports.getLiquidatedPositionsQueryByCloseBlockFrom = 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.getLeverageAdjustsByBlockFromQuery = 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
|
let GraphQueryService = class GraphQueryService {
|
|
@@ -326,6 +326,84 @@ let GraphQueryService = class GraphQueryService {
|
|
|
326
326
|
throw error;
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
|
+
async getOutgoingUnitTransfersByBlockNumberFrom(account, blockNumberFrom) {
|
|
330
|
+
const variables = { account, blockNumberFrom };
|
|
331
|
+
try {
|
|
332
|
+
const response = await this.graphQLClient.request(exports.getOutgoingUnitTransfersByBlockNumberFromQuery, variables);
|
|
333
|
+
this.logger.log(`Fetched ${response.unitTransfers.length} outgoing unit transfers by block number from the graph`);
|
|
334
|
+
return response.unitTransfers;
|
|
335
|
+
}
|
|
336
|
+
catch (error) {
|
|
337
|
+
this.logger.error('Error fetching outgoing unit transfers by bock number from the graph:', error);
|
|
338
|
+
throw error;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
async getIncomingUnitTransfersByBlockNumberFrom(account, blockNumberFrom) {
|
|
342
|
+
const variables = { account, blockNumberFrom };
|
|
343
|
+
try {
|
|
344
|
+
const response = await this.graphQLClient.request(exports.getIncomingUnitTransfersByBlockNumberFromQuery, variables);
|
|
345
|
+
this.logger.log(`Fetched ${response.unitTransfers.length} incoming unit transfers by block number from the graph`);
|
|
346
|
+
return response.unitTransfers;
|
|
347
|
+
}
|
|
348
|
+
catch (error) {
|
|
349
|
+
this.logger.error('Error fetching incoming unit transfers by bock number from the graph:', error);
|
|
350
|
+
throw error;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
async getAllOutgoingUnitTransfersForAccount(account) {
|
|
354
|
+
const allTransfers = [];
|
|
355
|
+
const first = 999;
|
|
356
|
+
let skip = 0;
|
|
357
|
+
// currently thegraph allows to get only 10_000 entities
|
|
358
|
+
while (skip < 10000) {
|
|
359
|
+
const fetchedTransfers = await this.getOutgoingUnitTransfersPaginated(account.toLowerCase(), skip, first);
|
|
360
|
+
if (fetchedTransfers.length === 0) {
|
|
361
|
+
break;
|
|
362
|
+
}
|
|
363
|
+
allTransfers.push(...fetchedTransfers);
|
|
364
|
+
skip += first;
|
|
365
|
+
}
|
|
366
|
+
return allTransfers;
|
|
367
|
+
}
|
|
368
|
+
async getAllIncomingUnitTransfersForAccount(account) {
|
|
369
|
+
const allTransfers = [];
|
|
370
|
+
const first = 999;
|
|
371
|
+
let skip = 0;
|
|
372
|
+
// currently thegraph allows to get only 10_000 entities
|
|
373
|
+
while (skip < 10000) {
|
|
374
|
+
const fetchedTransfers = await this.getIncomingUnitTransfersPaginated(account.toLowerCase(), skip, first);
|
|
375
|
+
if (fetchedTransfers.length === 0) {
|
|
376
|
+
break;
|
|
377
|
+
}
|
|
378
|
+
allTransfers.push(...fetchedTransfers);
|
|
379
|
+
skip += first;
|
|
380
|
+
}
|
|
381
|
+
return allTransfers;
|
|
382
|
+
}
|
|
383
|
+
async getOutgoingUnitTransfersPaginated(account, skip, first) {
|
|
384
|
+
const variables = { account, skip, first };
|
|
385
|
+
try {
|
|
386
|
+
const response = await this.graphQLClient.request(exports.getOutgoingUnitTransfersQueryPaginated, variables);
|
|
387
|
+
this.logger.log(`Fetched ${response.unitTransfers.length} outgoing unit transfers from the graph`);
|
|
388
|
+
return response.unitTransfers;
|
|
389
|
+
}
|
|
390
|
+
catch (error) {
|
|
391
|
+
this.logger.error('Error fetching outgoing unit transfers from the graph:', error);
|
|
392
|
+
throw error;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
async getIncomingUnitTransfersPaginated(account, skip, first) {
|
|
396
|
+
const variables = { account, skip, first };
|
|
397
|
+
try {
|
|
398
|
+
const response = await this.graphQLClient.request(exports.getIncomingUnitTransfersQueryPaginated, variables);
|
|
399
|
+
this.logger.log(`Fetched ${response.unitTransfers.length} incoming unit transfers from the graph`);
|
|
400
|
+
return response.unitTransfers;
|
|
401
|
+
}
|
|
402
|
+
catch (error) {
|
|
403
|
+
this.logger.error('Error fetching incoming unit transfers from the graph:', error);
|
|
404
|
+
throw error;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
329
407
|
};
|
|
330
408
|
exports.GraphQueryService = GraphQueryService;
|
|
331
409
|
exports.GraphQueryService = GraphQueryService = __decorate([
|
|
@@ -635,3 +713,35 @@ exports.getUnitHoldersQueryPaginated = (0, graphql_request_1.gql) `
|
|
|
635
713
|
}
|
|
636
714
|
}
|
|
637
715
|
`;
|
|
716
|
+
exports.getOutgoingUnitTransfersByBlockNumberFromQuery = (0, graphql_request_1.gql) `
|
|
717
|
+
query GetUnitTransfers($account: String, $blockNumberFrom: String) {
|
|
718
|
+
unitTransfers(where: { from: $account, blockNumber_gt: $blockNumberFrom }, first: 1000) {
|
|
719
|
+
value
|
|
720
|
+
blockNumber
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
`;
|
|
724
|
+
exports.getIncomingUnitTransfersByBlockNumberFromQuery = (0, graphql_request_1.gql) `
|
|
725
|
+
query GetUnitTransfers($account: String, $blockNumberFrom: String) {
|
|
726
|
+
unitTransfers(where: { to: $account, blockNumber_gt: $blockNumberFrom }, first: 1000) {
|
|
727
|
+
value
|
|
728
|
+
blockNumber
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
`;
|
|
732
|
+
exports.getOutgoingUnitTransfersQueryPaginated = (0, graphql_request_1.gql) `
|
|
733
|
+
query GetUnitTransfers($account: String, $skip: Int, $first: Int) {
|
|
734
|
+
unitTransfers(where: { from: $account }, skip: $skip, first: $first) {
|
|
735
|
+
value
|
|
736
|
+
blockNumber
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
`;
|
|
740
|
+
exports.getIncomingUnitTransfersQueryPaginated = (0, graphql_request_1.gql) `
|
|
741
|
+
query GetUnitTransfers($account: String, $skip: Int, $first: Int) {
|
|
742
|
+
unitTransfers(where: { to: $account }, skip: $skip, first: $first) {
|
|
743
|
+
value
|
|
744
|
+
blockNumber
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
`;
|
|
@@ -103,6 +103,10 @@ export interface UnitHolder {
|
|
|
103
103
|
address: string;
|
|
104
104
|
unitAmount: number;
|
|
105
105
|
}
|
|
106
|
+
export interface UnitTransfer {
|
|
107
|
+
value: number;
|
|
108
|
+
blockNumber: number;
|
|
109
|
+
}
|
|
106
110
|
export interface DepositEventsData {
|
|
107
111
|
deposits: DepositEvent[];
|
|
108
112
|
}
|
|
@@ -136,3 +140,6 @@ export interface PositionData {
|
|
|
136
140
|
export interface UnitHoldersData {
|
|
137
141
|
unitHolders: UnitHolder[];
|
|
138
142
|
}
|
|
143
|
+
export interface UnitTransferData {
|
|
144
|
+
unitTransfers: UnitTransfer[];
|
|
145
|
+
}
|