@sui-tracker/shared 1.0.56 → 1.0.58
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/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/token-grpc.service.d.ts +9 -0
- package/dist/modules/grpc-services/token-grpc.service.js +56 -0
- package/dist/modules/grpc-services/token-grpc.service.js.map +1 -0
- package/dist/modules/interfaces/swap-order.interface.d.ts +56 -1
- package/dist/modules/shared.module.js +2 -0
- package/dist/modules/shared.module.js.map +1 -1
- package/dist/protos/swap-order.proto +63 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -20,4 +20,5 @@ __exportStar(require("./proxy-grpc.service"), exports);
|
|
|
20
20
|
__exportStar(require("./swap-order-grpc.service"), exports);
|
|
21
21
|
__exportStar(require("./price-grpc.service"), exports);
|
|
22
22
|
__exportStar(require("./data-center-grpc.service"), exports);
|
|
23
|
+
__exportStar(require("./token-grpc.service"), exports);
|
|
23
24
|
//# 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;AACrC,6DAA2C"}
|
|
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;AAC3C,uDAAqC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ClientGrpc } from "@nestjs/microservices";
|
|
2
|
+
import { GetTrendingTokensRequest, GetTrendingTokensResponse, GetTopVolumeTokensRequest, GetTopVolumeTokensResponse } from "../interfaces/swap-order.interface";
|
|
3
|
+
export declare class TokenGrpcService {
|
|
4
|
+
private grpcClient;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(grpcClient: ClientGrpc);
|
|
7
|
+
getTrendingTokens(data: GetTrendingTokensRequest): Promise<GetTrendingTokensResponse>;
|
|
8
|
+
getTopVolumeTokens(data: GetTopVolumeTokensRequest): Promise<GetTopVolumeTokensResponse>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
var TokenGrpcService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.TokenGrpcService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
let TokenGrpcService = TokenGrpcService_1 = class TokenGrpcService {
|
|
19
|
+
constructor(grpcClient) {
|
|
20
|
+
this.grpcClient = grpcClient;
|
|
21
|
+
this.logger = new common_1.Logger(TokenGrpcService_1.name);
|
|
22
|
+
}
|
|
23
|
+
async getTrendingTokens(data) {
|
|
24
|
+
const swapOrderService = this.grpcClient.getService("SwapOrderService");
|
|
25
|
+
const res = await new Promise((resolve, reject) => {
|
|
26
|
+
swapOrderService.trendingTokens(data).subscribe({
|
|
27
|
+
next: (response) => resolve(response),
|
|
28
|
+
error: (error) => reject(error),
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
if (!res.success) {
|
|
32
|
+
throw new Error(res.message);
|
|
33
|
+
}
|
|
34
|
+
return res;
|
|
35
|
+
}
|
|
36
|
+
async getTopVolumeTokens(data) {
|
|
37
|
+
const swapOrderService = this.grpcClient.getService("SwapOrderService");
|
|
38
|
+
const res = await new Promise((resolve, reject) => {
|
|
39
|
+
swapOrderService.topVolumeTokens(data).subscribe({
|
|
40
|
+
next: (response) => resolve(response),
|
|
41
|
+
error: (error) => reject(error),
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
if (!res.success) {
|
|
45
|
+
throw new Error(res.message);
|
|
46
|
+
}
|
|
47
|
+
return res;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.TokenGrpcService = TokenGrpcService;
|
|
51
|
+
exports.TokenGrpcService = TokenGrpcService = TokenGrpcService_1 = __decorate([
|
|
52
|
+
(0, common_1.Injectable)(),
|
|
53
|
+
__param(0, (0, common_1.Inject)("SWAP_ORDER")),
|
|
54
|
+
__metadata("design:paramtypes", [Object])
|
|
55
|
+
], TokenGrpcService);
|
|
56
|
+
//# sourceMappingURL=token-grpc.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-grpc.service.js","sourceRoot":"","sources":["../../../src/modules/grpc-services/token-grpc.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA0E;AAYnE,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAG3B,YAAkC,UAA8B;QAAtB,eAAU,GAAV,UAAU,CAAY;QAF/C,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAEO,CAAC;IAGpE,KAAK,CAAC,iBAAiB,CACrB,IAA8B;QAE9B,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAmB,kBAAkB,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAC3B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClB,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;gBAC9C,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACrC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,IAA+B;QAE/B,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAmB,kBAAkB,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAC3B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClB,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;gBAC/C,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACrC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAjDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAIE,WAAA,IAAA,eAAM,EAAC,YAAY,CAAC,CAAA;;GAHtB,gBAAgB,CAiD5B"}
|
|
@@ -24,6 +24,32 @@ export interface PoolData {
|
|
|
24
24
|
score: string;
|
|
25
25
|
currentPrice: string;
|
|
26
26
|
}
|
|
27
|
+
export interface PoolDataDetail {
|
|
28
|
+
id: string;
|
|
29
|
+
baseToken: TokenData;
|
|
30
|
+
quoteToken: TokenData;
|
|
31
|
+
reserveA?: number;
|
|
32
|
+
reserveB?: number;
|
|
33
|
+
currentPrice: string;
|
|
34
|
+
dex: string;
|
|
35
|
+
statsData: {
|
|
36
|
+
volume: {
|
|
37
|
+
[key: string]: string;
|
|
38
|
+
};
|
|
39
|
+
price: {
|
|
40
|
+
[key: string]: string;
|
|
41
|
+
};
|
|
42
|
+
totalA2b: {
|
|
43
|
+
[key: string]: string;
|
|
44
|
+
};
|
|
45
|
+
totalTx: {
|
|
46
|
+
[key: string]: string;
|
|
47
|
+
};
|
|
48
|
+
totalMakers: {
|
|
49
|
+
[key: string]: string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
27
53
|
export interface CandleData {
|
|
28
54
|
timestamp: string;
|
|
29
55
|
open: string;
|
|
@@ -45,6 +71,7 @@ export interface GetNewPoolsRequest {
|
|
|
45
71
|
}
|
|
46
72
|
export interface GetPoolRequest {
|
|
47
73
|
id: string;
|
|
74
|
+
label: number;
|
|
48
75
|
}
|
|
49
76
|
export interface GetCandleChartRequest {
|
|
50
77
|
pool: string;
|
|
@@ -59,7 +86,7 @@ export interface GetNewPoolsResponse extends BaseResponse {
|
|
|
59
86
|
data: PoolData[];
|
|
60
87
|
}
|
|
61
88
|
export interface GetPoolResponse extends BaseResponse {
|
|
62
|
-
data:
|
|
89
|
+
data: PoolDataDetail | null;
|
|
63
90
|
}
|
|
64
91
|
export interface GetCandleChartResponse extends BaseResponse {
|
|
65
92
|
data: CandleData[];
|
|
@@ -89,10 +116,38 @@ export interface GetLastSwapOrderRequest {
|
|
|
89
116
|
export interface GetLastSwapOrderResponse extends BaseResponse {
|
|
90
117
|
data: SwapOrderData[];
|
|
91
118
|
}
|
|
119
|
+
export interface GetTrendingTokensRequest {
|
|
120
|
+
label: number;
|
|
121
|
+
}
|
|
122
|
+
export interface GetTrendingTokensResponse extends BaseResponse {
|
|
123
|
+
data: {
|
|
124
|
+
id: string;
|
|
125
|
+
name?: string | null;
|
|
126
|
+
symbol?: string | null;
|
|
127
|
+
address?: string | null;
|
|
128
|
+
decimals?: number | null;
|
|
129
|
+
iconUrl?: string | null;
|
|
130
|
+
isActive?: boolean | null;
|
|
131
|
+
totalSupply?: string | null;
|
|
132
|
+
description?: string | null;
|
|
133
|
+
volume: string;
|
|
134
|
+
txs: string;
|
|
135
|
+
currentPrice: string;
|
|
136
|
+
oldPrice: string;
|
|
137
|
+
score: string;
|
|
138
|
+
}[];
|
|
139
|
+
}
|
|
140
|
+
export interface GetTopVolumeTokensRequest {
|
|
141
|
+
label: number;
|
|
142
|
+
}
|
|
143
|
+
export interface GetTopVolumeTokensResponse extends GetTrendingTokensResponse {
|
|
144
|
+
}
|
|
92
145
|
export interface SwapOrderService {
|
|
93
146
|
getTrendingPools(request: GetTrendingPoolsRequest): Observable<GetTrendingPoolsResponse>;
|
|
94
147
|
getNewPools(request: GetNewPoolsRequest): Observable<GetNewPoolsResponse>;
|
|
95
148
|
getPool(request: GetPoolRequest): Observable<GetPoolResponse>;
|
|
96
149
|
getCandleChart(request: GetCandleChartRequest): Observable<GetCandleChartResponse>;
|
|
97
150
|
getLastSwapOrder(request: GetLastSwapOrderRequest): Observable<GetLastSwapOrderResponse>;
|
|
151
|
+
trendingTokens(request: GetTrendingTokensRequest): Observable<GetTrendingTokensResponse>;
|
|
152
|
+
topVolumeTokens(request: GetTopVolumeTokensRequest): Observable<GetTopVolumeTokensResponse>;
|
|
98
153
|
}
|
|
@@ -21,6 +21,7 @@ const dotenv_1 = require("dotenv");
|
|
|
21
21
|
const internal_token_service_1 = require("./common-service/internal-token.service");
|
|
22
22
|
const core_1 = require("@nestjs/core");
|
|
23
23
|
const grpc_metadata_service_1 = require("./grpc-services/grpc-metadata.service");
|
|
24
|
+
const grpc_services_1 = require("./grpc-services");
|
|
24
25
|
(0, dotenv_1.config)();
|
|
25
26
|
const providers = [
|
|
26
27
|
sui_client_service_1.SuiClientService,
|
|
@@ -33,6 +34,7 @@ const providers = [
|
|
|
33
34
|
internal_token_service_1.InternalTokenService,
|
|
34
35
|
core_1.Reflector,
|
|
35
36
|
grpc_metadata_service_1.GrpcMetadataService,
|
|
37
|
+
grpc_services_1.TokenGrpcService,
|
|
36
38
|
];
|
|
37
39
|
let SharedModule = class SharedModule {
|
|
38
40
|
};
|
|
@@ -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;AACrE,uFAAgF;AAChF,mCAAgC;AAChC,oFAA8E;AAC9E,uCAAwC;AACxC,iFAA2E;
|
|
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;AAChF,mCAAgC;AAChC,oFAA8E;AAC9E,uCAAwC;AACxC,iFAA2E;AAC3E,mDAAkD;AAElD,IAAA,eAAM,GAAE,CAAC;AAET,MAAM,SAAS,GAAe;IAC5B,qCAAgB;IAChB,yCAAkB;IAClB,qCAAgB;IAChB,+CAAqB;IACrB,8CAAoB;IACpB,qCAAgB;IAChB,gDAAqB;IACrB,6CAAoB;IACpB,gBAAS;IACT,2CAAmB;IACnB,gCAAgB;CACjB,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"}
|
|
@@ -9,6 +9,8 @@ service SwapOrderService {
|
|
|
9
9
|
rpc GetPool (GetPoolRequest) returns (GetPoolResponse);
|
|
10
10
|
rpc GetCandleChart (GetCandleChartRequest) returns (GetCandleChartResponse);
|
|
11
11
|
rpc GetLastSwapOrder (GetLastSwapOrderRequest) returns (GetLastSwapOrderResponse);
|
|
12
|
+
rpc TrendingTokens (GetTrendingTokensRequest) returns (GetTrendingTokensResponse);
|
|
13
|
+
rpc TopVolumeTokens (GetTopVolumeTokensRequest) returns (GetTopVolumeTokensResponse);
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
// Token data structure matching TokenData interface
|
|
@@ -24,6 +26,15 @@ message TokenData {
|
|
|
24
26
|
optional string description = 9;
|
|
25
27
|
}
|
|
26
28
|
|
|
29
|
+
// Stats data structure for PoolDataDetail
|
|
30
|
+
message StatsData {
|
|
31
|
+
map<string, string> volume = 1;
|
|
32
|
+
map<string, string> price = 2;
|
|
33
|
+
map<string, string> totalA2b = 3;
|
|
34
|
+
map<string, string> totalTx = 4;
|
|
35
|
+
map<string, string> totalMakers = 5;
|
|
36
|
+
}
|
|
37
|
+
|
|
27
38
|
// Pool data structure matching PoolData interface
|
|
28
39
|
message PoolData {
|
|
29
40
|
string id = 1;
|
|
@@ -36,7 +47,18 @@ message PoolData {
|
|
|
36
47
|
string totalTx = 8;
|
|
37
48
|
string score = 9;
|
|
38
49
|
string currentPrice = 10;
|
|
39
|
-
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Pool data detail structure matching PoolDataDetail interface
|
|
53
|
+
message PoolDataDetail {
|
|
54
|
+
string id = 1;
|
|
55
|
+
TokenData baseToken = 2;
|
|
56
|
+
TokenData quoteToken = 3;
|
|
57
|
+
optional double reserveA = 4;
|
|
58
|
+
optional double reserveB = 5;
|
|
59
|
+
string currentPrice = 6;
|
|
60
|
+
string dex = 7;
|
|
61
|
+
StatsData statsData = 8;
|
|
40
62
|
}
|
|
41
63
|
|
|
42
64
|
// Candle data structure matching CandleData interface
|
|
@@ -71,6 +93,24 @@ message SwapOrderData {
|
|
|
71
93
|
string swapAt = 13;
|
|
72
94
|
}
|
|
73
95
|
|
|
96
|
+
// Trending token data structure
|
|
97
|
+
message TrendingTokenData {
|
|
98
|
+
string id = 1;
|
|
99
|
+
optional string name = 2;
|
|
100
|
+
optional string symbol = 3;
|
|
101
|
+
optional string address = 4;
|
|
102
|
+
optional int32 decimals = 5;
|
|
103
|
+
optional string iconUrl = 6;
|
|
104
|
+
optional bool isActive = 7;
|
|
105
|
+
optional string totalSupply = 8;
|
|
106
|
+
optional string description = 9;
|
|
107
|
+
string volume = 10;
|
|
108
|
+
string txs = 11;
|
|
109
|
+
string currentPrice = 12;
|
|
110
|
+
string oldPrice = 13;
|
|
111
|
+
string score = 14;
|
|
112
|
+
}
|
|
113
|
+
|
|
74
114
|
// Request messages matching TypeScript interfaces
|
|
75
115
|
message GetTrendingPoolsRequest {
|
|
76
116
|
int32 label = 1; // 5 | 60 | 360 | 1440
|
|
@@ -82,6 +122,7 @@ message GetNewPoolsRequest {
|
|
|
82
122
|
|
|
83
123
|
message GetPoolRequest {
|
|
84
124
|
string id = 1;
|
|
125
|
+
int32 label = 2; // 5 | 60 | 360 | 1440
|
|
85
126
|
}
|
|
86
127
|
|
|
87
128
|
message GetCandleChartRequest {
|
|
@@ -99,6 +140,14 @@ message GetLastSwapOrderRequest {
|
|
|
99
140
|
optional int32 page = 5;
|
|
100
141
|
}
|
|
101
142
|
|
|
143
|
+
message GetTrendingTokensRequest {
|
|
144
|
+
int32 label = 1; // 5 | 60 | 360 | 1440
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
message GetTopVolumeTokensRequest {
|
|
148
|
+
int32 label = 1; // 5 | 60 | 360 | 1440
|
|
149
|
+
}
|
|
150
|
+
|
|
102
151
|
// Response messages matching TypeScript interfaces with BaseResponse structure
|
|
103
152
|
message GetTrendingPoolsResponse {
|
|
104
153
|
bool success = 1;
|
|
@@ -115,7 +164,7 @@ message GetNewPoolsResponse {
|
|
|
115
164
|
message GetPoolResponse {
|
|
116
165
|
bool success = 1;
|
|
117
166
|
string message = 2;
|
|
118
|
-
optional
|
|
167
|
+
optional PoolDataDetail data = 3; // Updated to use PoolDataDetail instead of PoolData
|
|
119
168
|
}
|
|
120
169
|
|
|
121
170
|
message GetCandleChartResponse {
|
|
@@ -128,4 +177,16 @@ message GetLastSwapOrderResponse {
|
|
|
128
177
|
bool success = 1;
|
|
129
178
|
string message = 2;
|
|
130
179
|
repeated SwapOrderData data = 3;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
message GetTrendingTokensResponse {
|
|
183
|
+
bool success = 1;
|
|
184
|
+
string message = 2;
|
|
185
|
+
repeated TrendingTokenData data = 3;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
message GetTopVolumeTokensResponse {
|
|
189
|
+
bool success = 1;
|
|
190
|
+
string message = 2;
|
|
191
|
+
repeated TrendingTokenData data = 3;
|
|
131
192
|
}
|