@sui-tracker/shared 1.0.49 → 1.0.51
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.
- package/dist/modules/grpc-services/data-center-grpc.service.d.ts +12 -0
- package/dist/modules/grpc-services/data-center-grpc.service.js +106 -0
- package/dist/modules/grpc-services/data-center-grpc.service.js.map +1 -0
- package/dist/modules/grpc-services/index.d.ts +1 -0
- package/dist/modules/grpc-services/index.js +1 -0
- package/dist/modules/grpc-services/index.js.map +1 -1
- package/dist/modules/grpc-services/swap-order-grpc.service.d.ts +2 -1
- package/dist/modules/grpc-services/swap-order-grpc.service.js +14 -0
- package/dist/modules/grpc-services/swap-order-grpc.service.js.map +1 -1
- package/dist/modules/interfaces/index.d.ts +1 -0
- package/dist/modules/interfaces/index.js +1 -0
- package/dist/modules/interfaces/index.js.map +1 -1
- package/dist/modules/interfaces/sui-data-center.interface.d.ts +89 -0
- package/dist/modules/interfaces/sui-data-center.interface.js +3 -0
- package/dist/modules/interfaces/sui-data-center.interface.js.map +1 -0
- package/dist/modules/interfaces/swap-order.interface.d.ts +45 -16
- package/dist/modules/shared.module.js +10 -0
- package/dist/modules/shared.module.js.map +1 -1
- package/dist/protos/sui-data-center.proto +116 -62
- package/dist/protos/swap-order.proto +74 -49
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ClientGrpc } from "@nestjs/microservices";
|
|
2
|
+
import { IGetTopHoldersRequest, IGetTopHoldersResponse, IGetPortfolioRequest, IGetPortfolioResponse, IGetTokenBalanceRequest, IGetTokenBalanceResponse, IGetTotalHolderOfTokenRequest, IGetTotalHolderOfTokenResponse, IGetBubbleMapDataRequest, IGetBubbleMapDataResponse, IGetTokenTransfersResponse, IGetTokenTransfersRequest } from "../interfaces/sui-data-center.interface";
|
|
3
|
+
export declare class DataCenterGrpcService {
|
|
4
|
+
private grpcClient;
|
|
5
|
+
constructor(grpcClient: ClientGrpc);
|
|
6
|
+
getTopHolders(data: IGetTopHoldersRequest): Promise<IGetTopHoldersResponse>;
|
|
7
|
+
getPortfolio(data: IGetPortfolioRequest): Promise<IGetPortfolioResponse>;
|
|
8
|
+
getTokenBalance(data: IGetTokenBalanceRequest): Promise<IGetTokenBalanceResponse>;
|
|
9
|
+
getTotalHolderOfToken(data: IGetTotalHolderOfTokenRequest): Promise<IGetTotalHolderOfTokenResponse>;
|
|
10
|
+
getBubbleMapData(data: IGetBubbleMapDataRequest): Promise<IGetBubbleMapDataResponse>;
|
|
11
|
+
getTokenTransfers(data: IGetTokenTransfersRequest): Promise<IGetTokenTransfersResponse>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
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.DataCenterGrpcService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
let DataCenterGrpcService = class DataCenterGrpcService {
|
|
18
|
+
constructor(grpcClient) {
|
|
19
|
+
this.grpcClient = grpcClient;
|
|
20
|
+
}
|
|
21
|
+
async getTopHolders(data) {
|
|
22
|
+
const dataCenterService = this.grpcClient.getService("DataCenterService");
|
|
23
|
+
const res = await new Promise((resolve, reject) => {
|
|
24
|
+
dataCenterService.getTopHolders(data).subscribe({
|
|
25
|
+
next: (response) => resolve(response),
|
|
26
|
+
error: (error) => reject(error),
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
if (!res.success) {
|
|
30
|
+
throw new Error(res.message);
|
|
31
|
+
}
|
|
32
|
+
return res;
|
|
33
|
+
}
|
|
34
|
+
async getPortfolio(data) {
|
|
35
|
+
const dataCenterService = this.grpcClient.getService("DataCenterService");
|
|
36
|
+
const res = await new Promise((resolve, reject) => {
|
|
37
|
+
dataCenterService.getPortfolio(data).subscribe({
|
|
38
|
+
next: (response) => resolve(response),
|
|
39
|
+
error: (error) => reject(error),
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
if (!res.success) {
|
|
43
|
+
throw new Error(res.message);
|
|
44
|
+
}
|
|
45
|
+
return res;
|
|
46
|
+
}
|
|
47
|
+
async getTokenBalance(data) {
|
|
48
|
+
const dataCenterService = this.grpcClient.getService("DataCenterService");
|
|
49
|
+
const res = await new Promise((resolve, reject) => {
|
|
50
|
+
dataCenterService.getTokenBalance(data).subscribe({
|
|
51
|
+
next: (response) => resolve(response),
|
|
52
|
+
error: (error) => reject(error),
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
if (!res.success) {
|
|
56
|
+
throw new Error(res.message);
|
|
57
|
+
}
|
|
58
|
+
return res;
|
|
59
|
+
}
|
|
60
|
+
async getTotalHolderOfToken(data) {
|
|
61
|
+
const dataCenterService = this.grpcClient.getService("DataCenterService");
|
|
62
|
+
const res = await new Promise((resolve, reject) => {
|
|
63
|
+
dataCenterService.getTotalHolderOfToken(data).subscribe({
|
|
64
|
+
next: (response) => resolve(response),
|
|
65
|
+
error: (error) => reject(error),
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
if (!res.success) {
|
|
69
|
+
throw new Error(res.message);
|
|
70
|
+
}
|
|
71
|
+
return res;
|
|
72
|
+
}
|
|
73
|
+
async getBubbleMapData(data) {
|
|
74
|
+
const dataCenterService = this.grpcClient.getService("DataCenterService");
|
|
75
|
+
const res = await new Promise((resolve, reject) => {
|
|
76
|
+
dataCenterService.getBubbleMapData(data).subscribe({
|
|
77
|
+
next: (response) => resolve(response),
|
|
78
|
+
error: (error) => reject(error),
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
if (!res.success) {
|
|
82
|
+
throw new Error(res.message);
|
|
83
|
+
}
|
|
84
|
+
return res;
|
|
85
|
+
}
|
|
86
|
+
async getTokenTransfers(data) {
|
|
87
|
+
const dataCenterService = this.grpcClient.getService("DataCenterService");
|
|
88
|
+
const res = await new Promise((resolve, reject) => {
|
|
89
|
+
dataCenterService.getTokenTransfers(data).subscribe({
|
|
90
|
+
next: (response) => resolve(response),
|
|
91
|
+
error: (error) => reject(error),
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
if (!res.success) {
|
|
95
|
+
throw new Error(res.message);
|
|
96
|
+
}
|
|
97
|
+
return res;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
exports.DataCenterGrpcService = DataCenterGrpcService;
|
|
101
|
+
exports.DataCenterGrpcService = DataCenterGrpcService = __decorate([
|
|
102
|
+
(0, common_1.Injectable)(),
|
|
103
|
+
__param(0, (0, common_1.Inject)("SUI_DATA_CENTER")),
|
|
104
|
+
__metadata("design:paramtypes", [Object])
|
|
105
|
+
], DataCenterGrpcService);
|
|
106
|
+
//# sourceMappingURL=data-center-grpc.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-center-grpc.service.js","sourceRoot":"","sources":["../../../src/modules/grpc-services/data-center-grpc.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./checkpoint-grpc.service"), exports);
|
|
|
19
19
|
__exportStar(require("./proxy-grpc.service"), exports);
|
|
20
20
|
__exportStar(require("./swap-order-grpc.service"), exports);
|
|
21
21
|
__exportStar(require("./price-grpc.service"), exports);
|
|
22
|
+
__exportStar(require("./data-center-grpc.service"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/grpc-services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,4DAA0C;AAC1C,uDAAqC;AACrC,4DAA0C;AAC1C,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/grpc-services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,4DAA0C;AAC1C,uDAAqC;AACrC,4DAA0C;AAC1C,uDAAqC;AACrC,6DAA2C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ClientGrpc } from "@nestjs/microservices";
|
|
2
|
-
import { GetTrendingPoolsRequest, GetTrendingPoolsResponse, GetNewPoolsRequest, GetNewPoolsResponse, GetPoolRequest, GetPoolResponse, GetCandleChartRequest, GetCandleChartResponse } from "../interfaces/swap-order.interface";
|
|
2
|
+
import { GetTrendingPoolsRequest, GetTrendingPoolsResponse, GetNewPoolsRequest, GetNewPoolsResponse, GetPoolRequest, GetPoolResponse, GetCandleChartRequest, GetCandleChartResponse, GetLastSwapOrderResponse, GetLastSwapOrderRequest } from "../interfaces/swap-order.interface";
|
|
3
3
|
export declare class SwapOrderGrpcService {
|
|
4
4
|
private grpcClient;
|
|
5
5
|
private readonly logger;
|
|
@@ -8,4 +8,5 @@ export declare class SwapOrderGrpcService {
|
|
|
8
8
|
getNewPools(data: GetNewPoolsRequest): Promise<GetNewPoolsResponse>;
|
|
9
9
|
getPool(data: GetPoolRequest): Promise<GetPoolResponse>;
|
|
10
10
|
getCandleChart(data: GetCandleChartRequest): Promise<GetCandleChartResponse>;
|
|
11
|
+
getLastSwapOrder(data: GetLastSwapOrderRequest): Promise<GetLastSwapOrderResponse>;
|
|
11
12
|
}
|
|
@@ -72,6 +72,20 @@ let SwapOrderGrpcService = SwapOrderGrpcService_1 = class SwapOrderGrpcService {
|
|
|
72
72
|
}
|
|
73
73
|
return res;
|
|
74
74
|
}
|
|
75
|
+
async getLastSwapOrder(data) {
|
|
76
|
+
console.log("test");
|
|
77
|
+
const swapOrderService = this.grpcClient.getService("SwapOrderService");
|
|
78
|
+
const res = await new Promise((resolve, reject) => {
|
|
79
|
+
swapOrderService.getLastSwapOrder(data).subscribe({
|
|
80
|
+
next: (response) => resolve(response),
|
|
81
|
+
error: (error) => reject(error),
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
if (!res.success) {
|
|
85
|
+
throw new Error(res.message);
|
|
86
|
+
}
|
|
87
|
+
return res;
|
|
88
|
+
}
|
|
75
89
|
};
|
|
76
90
|
exports.SwapOrderGrpcService = SwapOrderGrpcService;
|
|
77
91
|
exports.SwapOrderGrpcService = SwapOrderGrpcService = SwapOrderGrpcService_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap-order-grpc.service.js","sourceRoot":"","sources":["../../../src/modules/grpc-services/swap-order-grpc.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA0E;
|
|
1
|
+
{"version":3,"file":"swap-order-grpc.service.js","sourceRoot":"","sources":["../../../src/modules/grpc-services/swap-order-grpc.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./checkpoint.interface"), exports);
|
|
|
19
19
|
__exportStar(require("./proxy.interface"), exports);
|
|
20
20
|
__exportStar(require("./swap-order.interface"), exports);
|
|
21
21
|
__exportStar(require("./price.interface"), exports);
|
|
22
|
+
__exportStar(require("./sui-data-center.interface"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,yDAAsC;AACtC,oDAAiC;AACjC,yDAAsC;AACtC,oDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,yDAAsC;AACtC,oDAAiC;AACjC,yDAAsC;AACtC,oDAAiC;AACjC,8DAA2C"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { BaseResponse } from "./base-request.interface";
|
|
3
|
+
export interface IGetTopHoldersRequest {
|
|
4
|
+
tokenAddress: string;
|
|
5
|
+
limit?: number;
|
|
6
|
+
page?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface IGetTopHoldersResponse extends BaseResponse {
|
|
9
|
+
data: Array<{
|
|
10
|
+
accountAddress: string;
|
|
11
|
+
balance: string;
|
|
12
|
+
tokenAddress: string;
|
|
13
|
+
rank?: number;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface IGetPortfolioRequest {
|
|
17
|
+
accountAddress: string;
|
|
18
|
+
}
|
|
19
|
+
export interface IGetPortfolioResponse extends BaseResponse {
|
|
20
|
+
data: {
|
|
21
|
+
accountAddress: string;
|
|
22
|
+
portfolio: Array<{
|
|
23
|
+
tokenAddress: string;
|
|
24
|
+
balance: string;
|
|
25
|
+
symbol?: string;
|
|
26
|
+
decimals?: number;
|
|
27
|
+
usdValue?: number;
|
|
28
|
+
}>;
|
|
29
|
+
totalUsdValue?: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface IGetTokenBalanceRequest {
|
|
33
|
+
accountAddress: string;
|
|
34
|
+
tokenAddress: string;
|
|
35
|
+
}
|
|
36
|
+
export interface IGetTokenBalanceResponse extends BaseResponse {
|
|
37
|
+
data: {
|
|
38
|
+
accountAddress: string;
|
|
39
|
+
tokenAddress: string;
|
|
40
|
+
balance: string;
|
|
41
|
+
symbol?: string;
|
|
42
|
+
decimals?: number;
|
|
43
|
+
usdValue?: number;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export interface IGetTotalHolderOfTokenRequest {
|
|
47
|
+
tokenAddress: string;
|
|
48
|
+
}
|
|
49
|
+
export interface IGetTotalHolderOfTokenResponse extends BaseResponse {
|
|
50
|
+
data: {
|
|
51
|
+
tokenAddress: string;
|
|
52
|
+
totalHolders: number;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export interface INode {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
size: string;
|
|
59
|
+
}
|
|
60
|
+
export interface ILink {
|
|
61
|
+
source: string;
|
|
62
|
+
target: string;
|
|
63
|
+
value: number;
|
|
64
|
+
hash: string;
|
|
65
|
+
}
|
|
66
|
+
export interface IGetBubbleMapDataRequest {
|
|
67
|
+
tokenAddress: string;
|
|
68
|
+
}
|
|
69
|
+
export interface IGetBubbleMapDataResponse extends BaseResponse {
|
|
70
|
+
data: {
|
|
71
|
+
nodes: INode[];
|
|
72
|
+
links: ILink[];
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export interface IGetTokenTransfersRequest {
|
|
76
|
+
tokenAddress: string;
|
|
77
|
+
holders: string[];
|
|
78
|
+
}
|
|
79
|
+
export interface IGetTokenTransfersResponse extends BaseResponse {
|
|
80
|
+
data: ILink[];
|
|
81
|
+
}
|
|
82
|
+
export interface ISuiDataCenterService {
|
|
83
|
+
getTopHolders(request: IGetTopHoldersRequest): Observable<IGetTopHoldersResponse>;
|
|
84
|
+
getPortfolio(request: IGetPortfolioRequest): Observable<IGetPortfolioResponse>;
|
|
85
|
+
getTokenBalance(request: IGetTokenBalanceRequest): Observable<IGetTokenBalanceResponse>;
|
|
86
|
+
getTotalHolderOfToken(request: IGetTotalHolderOfTokenRequest): Observable<IGetTotalHolderOfTokenResponse>;
|
|
87
|
+
getBubbleMapData(request: IGetBubbleMapDataRequest): Observable<IGetBubbleMapDataResponse>;
|
|
88
|
+
getTokenTransfers(request: IGetTokenTransfersRequest): Observable<IGetTokenTransfersResponse>;
|
|
89
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sui-data-center.interface.js","sourceRoot":"","sources":["../../../src/modules/interfaces/sui-data-center.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
2
|
import { BaseResponse } from "./base-request.interface";
|
|
3
|
+
import { TradeType } from "src/interfaces/ISwapOrder.type";
|
|
4
|
+
export interface TokenData {
|
|
5
|
+
id: string;
|
|
6
|
+
name?: string | null;
|
|
7
|
+
symbol?: string | null;
|
|
8
|
+
address?: string | null;
|
|
9
|
+
decimals?: number | null;
|
|
10
|
+
iconUrl?: string | null;
|
|
11
|
+
isActive?: boolean | null;
|
|
12
|
+
totalSupply?: string | null;
|
|
13
|
+
description?: string | null;
|
|
14
|
+
}
|
|
3
15
|
export interface PoolData {
|
|
4
16
|
id: string;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
reserve0: string;
|
|
10
|
-
reserve1: string;
|
|
11
|
-
totalSupply: string;
|
|
17
|
+
tokenA?: TokenData;
|
|
18
|
+
tokenB: TokenData;
|
|
19
|
+
reserveA: number;
|
|
20
|
+
reserveB: number;
|
|
12
21
|
volume: string;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
priceChange24h: string;
|
|
16
|
-
volume24h: string;
|
|
17
|
-
tvl: string;
|
|
18
|
-
isActive: boolean;
|
|
19
|
-
createdAt: string;
|
|
20
|
-
updatedAt: string;
|
|
22
|
+
oldPrice: string;
|
|
23
|
+
totalTx: string;
|
|
21
24
|
}
|
|
22
25
|
export interface CandleData {
|
|
23
26
|
timestamp: string;
|
|
@@ -54,14 +57,40 @@ export interface GetNewPoolsResponse extends BaseResponse {
|
|
|
54
57
|
data: PoolData[];
|
|
55
58
|
}
|
|
56
59
|
export interface GetPoolResponse extends BaseResponse {
|
|
57
|
-
data: PoolData;
|
|
60
|
+
data: PoolData | null;
|
|
58
61
|
}
|
|
59
62
|
export interface GetCandleChartResponse extends BaseResponse {
|
|
60
63
|
data: CandleData[];
|
|
61
64
|
}
|
|
65
|
+
export interface SwapOrderData {
|
|
66
|
+
id: number;
|
|
67
|
+
pool: string;
|
|
68
|
+
trader: string;
|
|
69
|
+
transactionHash: string;
|
|
70
|
+
amountA: string;
|
|
71
|
+
amountB: string;
|
|
72
|
+
usdAmount: string;
|
|
73
|
+
usdPrice: string;
|
|
74
|
+
a2b: boolean;
|
|
75
|
+
type: TradeType;
|
|
76
|
+
liquidity?: string;
|
|
77
|
+
createdAt: string;
|
|
78
|
+
swapAt: string;
|
|
79
|
+
}
|
|
80
|
+
export interface GetLastSwapOrderRequest {
|
|
81
|
+
poolAddress: string;
|
|
82
|
+
time?: string;
|
|
83
|
+
limit?: number;
|
|
84
|
+
type?: string;
|
|
85
|
+
page?: number;
|
|
86
|
+
}
|
|
87
|
+
export interface GetLastSwapOrderResponse extends BaseResponse {
|
|
88
|
+
data: SwapOrderData[];
|
|
89
|
+
}
|
|
62
90
|
export interface SwapOrderService {
|
|
63
91
|
getTrendingPools(request: GetTrendingPoolsRequest): Observable<GetTrendingPoolsResponse>;
|
|
64
92
|
getNewPools(request: GetNewPoolsRequest): Observable<GetNewPoolsResponse>;
|
|
65
93
|
getPool(request: GetPoolRequest): Observable<GetPoolResponse>;
|
|
66
94
|
getCandleChart(request: GetCandleChartRequest): Observable<GetCandleChartResponse>;
|
|
95
|
+
getLastSwapOrder(request: GetLastSwapOrderRequest): Observable<GetLastSwapOrderResponse>;
|
|
67
96
|
}
|
|
@@ -16,6 +16,7 @@ const swap_order_grpc_service_1 = require("./grpc-services/swap-order-grpc.servi
|
|
|
16
16
|
const microservices_1 = require("@nestjs/microservices");
|
|
17
17
|
const path_1 = require("path");
|
|
18
18
|
const price_grpc_service_1 = require("./grpc-services/price-grpc.service");
|
|
19
|
+
const data_center_grpc_service_1 = require("./grpc-services/data-center-grpc.service");
|
|
19
20
|
const providers = [
|
|
20
21
|
sui_client_service_1.SuiClientService,
|
|
21
22
|
account_grpc_service_1.AccountGrpcService,
|
|
@@ -23,6 +24,7 @@ const providers = [
|
|
|
23
24
|
checkpoint_grpc_service_1.CheckpointGrpcService,
|
|
24
25
|
swap_order_grpc_service_1.SwapOrderGrpcService,
|
|
25
26
|
price_grpc_service_1.PriceGrpcService,
|
|
27
|
+
data_center_grpc_service_1.DataCenterGrpcService,
|
|
26
28
|
];
|
|
27
29
|
let SharedModule = class SharedModule {
|
|
28
30
|
};
|
|
@@ -39,6 +41,14 @@ exports.SharedModule = SharedModule = __decorate([
|
|
|
39
41
|
protoPath: (0, path_1.join)(__dirname, "../protos/proxy.proto"),
|
|
40
42
|
url: process.env.PROXY_SERVICE_URL || "localhost:50052",
|
|
41
43
|
},
|
|
44
|
+
}, {
|
|
45
|
+
name: 'SUI_DATA_CENTER',
|
|
46
|
+
transport: microservices_1.Transport.GRPC,
|
|
47
|
+
options: {
|
|
48
|
+
package: 'sui_data_center',
|
|
49
|
+
protoPath: (0, path_1.join)(__dirname, "../protos/sui-data-center.proto"),
|
|
50
|
+
url: process.env.SUI_DATA_CENTER_SERVICE_URL || "localhost:50056",
|
|
51
|
+
},
|
|
42
52
|
},
|
|
43
53
|
{
|
|
44
54
|
name: 'ACCOUNT',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../src/modules/shared.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsD;AAEtD,6DAAuD;AACvD,+EAAyE;AACzE,2EAAqE;AACrE,qFAA+E;AAC/E,qFAA8E;AAC9E,yDAAgE;AAChE,+BAA2B;AAC3B,2EAAqE;
|
|
1
|
+
{"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../src/modules/shared.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsD;AAEtD,6DAAuD;AACvD,+EAAyE;AACzE,2EAAqE;AACrE,qFAA+E;AAC/E,qFAA8E;AAC9E,yDAAgE;AAChE,+BAA2B;AAC3B,2EAAqE;AACrE,uFAAgF;AAEhF,MAAM,SAAS,GAAe;IAC5B,qCAAgB;IAChB,yCAAkB;IAClB,qCAAgB;IAChB,+CAAqB;IACrB,8CAAoB;IACpB,qCAAgB;IAChB,gDAAqB;CACtB,CAAA;AA+DM,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAI,CAAA;AAAhB,oCAAY;uBAAZ,YAAY;IA7DxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,6BAAa,CAAC,QAAQ,CAAC;gBACrB;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,yBAAS,CAAC,IAAI;oBACzB,OAAO,EAAE;wBACP,OAAO,EAAE,OAAO;wBAChB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,uBAAuB,CAAC;wBACnD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,iBAAiB;qBACxD;iBACF,EAAE;oBACD,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,yBAAS,CAAC,IAAI;oBACzB,OAAO,EAAE;wBACP,OAAO,EAAE,iBAAiB;wBAC1B,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,iCAAiC,CAAC;wBAC7D,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,iBAAiB;qBAClE;iBACF;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,yBAAS,CAAC,IAAI;oBACzB,OAAO,EAAE;wBACP,OAAO,EAAE,SAAS;wBAClB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,yBAAyB,CAAC;wBACrD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,iBAAiB;qBAC1D;iBACF;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,yBAAS,CAAC,IAAI;oBACzB,OAAO,EAAE;wBACP,OAAO,EAAE,YAAY;wBACrB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,4BAA4B,CAAC;wBACxD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,iBAAiB;qBAC7D;iBACF;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,yBAAS,CAAC,IAAI;oBACzB,OAAO,EAAE;wBACP,OAAO,EAAE,YAAY;wBACrB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,4BAA4B,CAAC;wBACxD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,iBAAiB;qBAC7D;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,yBAAS,CAAC,IAAI;oBACzB,OAAO,EAAE;wBACP,OAAO,EAAE,OAAO;wBAChB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,uBAAuB,CAAC;wBACnD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,iBAAiB;qBACxD;iBACF;aACF,CAAC;SACH;QACD,SAAS;QACT,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;KACxB,CAAC;GACW,YAAY,CAAI"}
|
|
@@ -2,94 +2,148 @@ syntax = "proto3";
|
|
|
2
2
|
|
|
3
3
|
package sui_data_center;
|
|
4
4
|
|
|
5
|
-
//
|
|
5
|
+
// DataCenterService defines all available RPC endpoints for data center management.
|
|
6
6
|
service DataCenterService {
|
|
7
|
-
//
|
|
8
|
-
rpc
|
|
9
|
-
// Gets
|
|
10
|
-
rpc
|
|
11
|
-
//
|
|
12
|
-
rpc
|
|
13
|
-
//
|
|
14
|
-
rpc
|
|
7
|
+
// Gets top holders for a specific token
|
|
8
|
+
rpc GetTopHolders (GetTopHoldersRequest) returns (GetTopHoldersResponse);
|
|
9
|
+
// Gets portfolio for a specific account
|
|
10
|
+
rpc GetPortfolio (GetPortfolioRequest) returns (GetPortfolioResponse);
|
|
11
|
+
// Gets token balance for a specific account and token
|
|
12
|
+
rpc GetTokenBalance (GetTokenBalanceRequest) returns (GetTokenBalanceResponse);
|
|
13
|
+
// Gets total number of holders for a specific token
|
|
14
|
+
rpc GetTotalHolderOfToken (GetTotalHolderOfTokenRequest) returns (GetTotalHolderOfTokenResponse);
|
|
15
|
+
// Gets bubble map data for a specific token
|
|
16
|
+
rpc GetBubbleMapData (GetBubbleMapDataRequest) returns (GetBubbleMapDataResponse);
|
|
17
|
+
// Gets token transfers for specific token and holders
|
|
18
|
+
rpc GetTokenTransfers (GetTokenTransfersRequest) returns (GetTokenTransfersResponse);
|
|
15
19
|
}
|
|
16
20
|
|
|
17
|
-
// Request message for
|
|
18
|
-
message
|
|
21
|
+
// Request message for getting top holders
|
|
22
|
+
message GetTopHoldersRequest {
|
|
23
|
+
string tokenAddress = 1;
|
|
24
|
+
int32 limit = 2;
|
|
25
|
+
int32 page = 3;
|
|
19
26
|
}
|
|
20
27
|
|
|
21
|
-
// Response message for
|
|
22
|
-
message
|
|
23
|
-
// Indicates if the request was successful.
|
|
28
|
+
// Response message for getting top holders
|
|
29
|
+
message GetTopHoldersResponse {
|
|
24
30
|
bool success = 1;
|
|
25
|
-
// Message describing the result.
|
|
26
31
|
string message = 2;
|
|
27
|
-
|
|
28
|
-
ProxyData data = 3;
|
|
32
|
+
repeated TopHolder data = 3;
|
|
29
33
|
}
|
|
30
34
|
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
message TopHolder {
|
|
36
|
+
string accountAddress = 1;
|
|
37
|
+
string balance = 2;
|
|
38
|
+
string tokenAddress = 3;
|
|
39
|
+
int32 rank = 4;
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
//
|
|
36
|
-
message
|
|
37
|
-
|
|
42
|
+
// Request message for getting portfolio
|
|
43
|
+
message GetPortfolioRequest {
|
|
44
|
+
string accountAddress = 1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Response message for getting portfolio
|
|
48
|
+
message GetPortfolioResponse {
|
|
38
49
|
bool success = 1;
|
|
39
|
-
// Message describing the result.
|
|
40
50
|
string message = 2;
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
PortfolioData data = 3;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
message PortfolioData {
|
|
55
|
+
string accountAddress = 1;
|
|
56
|
+
repeated PortfolioToken portfolio = 2;
|
|
57
|
+
double totalUsdValue = 3;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
message PortfolioToken {
|
|
61
|
+
string tokenAddress = 1;
|
|
62
|
+
string balance = 2;
|
|
63
|
+
string symbol = 3;
|
|
64
|
+
int32 decimals = 4;
|
|
65
|
+
double usdValue = 5;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Request message for getting token balance
|
|
69
|
+
message GetTokenBalanceRequest {
|
|
70
|
+
string accountAddress = 1;
|
|
71
|
+
string tokenAddress = 2;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Response message for getting token balance
|
|
75
|
+
message GetTokenBalanceResponse {
|
|
76
|
+
bool success = 1;
|
|
77
|
+
string message = 2;
|
|
78
|
+
TokenBalanceData data = 3;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
message TokenBalanceData {
|
|
82
|
+
string accountAddress = 1;
|
|
83
|
+
string tokenAddress = 2;
|
|
84
|
+
string balance = 3;
|
|
85
|
+
string symbol = 4;
|
|
86
|
+
int32 decimals = 5;
|
|
87
|
+
double usdValue = 6;
|
|
43
88
|
}
|
|
44
89
|
|
|
45
|
-
// Request message for
|
|
46
|
-
message
|
|
47
|
-
string
|
|
90
|
+
// Request message for getting total holders of a token
|
|
91
|
+
message GetTotalHolderOfTokenRequest {
|
|
92
|
+
string tokenAddress = 1;
|
|
48
93
|
}
|
|
49
94
|
|
|
50
|
-
// Response message for
|
|
51
|
-
message
|
|
52
|
-
message Data {
|
|
53
|
-
bool result = 1;
|
|
54
|
-
}
|
|
55
|
-
// Indicates if the request was successful.
|
|
95
|
+
// Response message for getting total holders of a token
|
|
96
|
+
message GetTotalHolderOfTokenResponse {
|
|
56
97
|
bool success = 1;
|
|
57
|
-
// Message describing the result.
|
|
58
98
|
string message = 2;
|
|
59
|
-
|
|
60
|
-
|
|
99
|
+
TotalHolderData data = 3;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
message TotalHolderData {
|
|
103
|
+
string tokenAddress = 1;
|
|
104
|
+
int32 totalHolders = 2;
|
|
61
105
|
}
|
|
62
106
|
|
|
63
|
-
// Request message for
|
|
64
|
-
message
|
|
65
|
-
string
|
|
66
|
-
int32 port = 2;
|
|
67
|
-
string username = 3;
|
|
68
|
-
string password = 4;
|
|
107
|
+
// Request message for getting bubble map data
|
|
108
|
+
message GetBubbleMapDataRequest {
|
|
109
|
+
string tokenAddress = 1;
|
|
69
110
|
}
|
|
70
111
|
|
|
71
|
-
// Response message for
|
|
72
|
-
message
|
|
73
|
-
// Indicates if the request was successful.
|
|
112
|
+
// Response message for getting bubble map data
|
|
113
|
+
message GetBubbleMapDataResponse {
|
|
74
114
|
bool success = 1;
|
|
75
|
-
// Message describing the result.
|
|
76
115
|
string message = 2;
|
|
77
|
-
|
|
78
|
-
message Data {
|
|
79
|
-
bool isLive = 1;
|
|
80
|
-
int64 timeResponse = 2;
|
|
81
|
-
}
|
|
82
|
-
Data data = 3;
|
|
116
|
+
BubbleMapData data = 3;
|
|
83
117
|
}
|
|
84
118
|
|
|
85
|
-
//
|
|
86
|
-
message
|
|
119
|
+
// Bubble map data structure
|
|
120
|
+
message BubbleMapData {
|
|
121
|
+
repeated Node nodes = 1;
|
|
122
|
+
repeated Link links = 2;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
message Node {
|
|
87
126
|
string id = 1;
|
|
88
|
-
string
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
string
|
|
94
|
-
string
|
|
127
|
+
string name = 2;
|
|
128
|
+
string size = 3;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
message Link {
|
|
132
|
+
string source = 1;
|
|
133
|
+
string target = 2;
|
|
134
|
+
double value = 3;
|
|
135
|
+
string hash = 4;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Request message for getting token transfers
|
|
139
|
+
message GetTokenTransfersRequest {
|
|
140
|
+
string tokenAddress = 1;
|
|
141
|
+
repeated string holders = 2;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Response message for getting token transfers
|
|
145
|
+
message GetTokenTransfersResponse {
|
|
146
|
+
bool success = 1;
|
|
147
|
+
string message = 2;
|
|
148
|
+
repeated Link data = 3;
|
|
95
149
|
}
|