@sui-tracker/shared 1.0.87 → 1.0.88
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/interfaces/ISwapOrder.type.d.ts +4 -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/orderbook-grpc.service.d.ts +83 -0
- package/dist/modules/grpc-services/orderbook-grpc.service.js +56 -0
- package/dist/modules/grpc-services/orderbook-grpc.service.js.map +1 -0
- package/dist/modules/shared.module.js +11 -0
- package/dist/modules/shared.module.js.map +1 -1
- package/dist/protos/orderbook.proto +100 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -53,6 +53,8 @@ export type IRemoveLiquidityOrder = {
|
|
|
53
53
|
timestamp: number;
|
|
54
54
|
transactionHash: string;
|
|
55
55
|
liquidity: string;
|
|
56
|
+
tick_lower?: number;
|
|
57
|
+
tick_upper?: number;
|
|
56
58
|
note?: any;
|
|
57
59
|
type: TradeType.REMOVE_LIQUIDITY;
|
|
58
60
|
dex: DexType;
|
|
@@ -65,6 +67,8 @@ export type IAddLiquidityOrder = {
|
|
|
65
67
|
timestamp: number;
|
|
66
68
|
transactionHash: string;
|
|
67
69
|
liquidity: string;
|
|
70
|
+
tick_lower?: number;
|
|
71
|
+
tick_upper?: number;
|
|
68
72
|
note?: any;
|
|
69
73
|
type: TradeType.ADD_LIQUIDITY;
|
|
70
74
|
dex: DexType;
|
|
@@ -22,4 +22,5 @@ __exportStar(require("./price-grpc.service"), exports);
|
|
|
22
22
|
__exportStar(require("./data-center-grpc.service"), exports);
|
|
23
23
|
__exportStar(require("./token-grpc.service"), exports);
|
|
24
24
|
__exportStar(require("./aggregator-route-grpc.service"), exports);
|
|
25
|
+
__exportStar(require("./orderbook-grpc.service"), exports);
|
|
25
26
|
//# 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;AAC3C,uDAAqC;AACrC,kEAAgD"}
|
|
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;AACrC,kEAAgD;AAChD,2DAAyC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ClientGrpc } from "@nestjs/microservices";
|
|
2
|
+
interface GetOrdersRequest {
|
|
3
|
+
page?: number;
|
|
4
|
+
take?: number;
|
|
5
|
+
order?: string;
|
|
6
|
+
status?: string[];
|
|
7
|
+
q?: string;
|
|
8
|
+
}
|
|
9
|
+
interface GetOrdersResponse {
|
|
10
|
+
success: boolean;
|
|
11
|
+
message: string;
|
|
12
|
+
data?: {
|
|
13
|
+
data: OrderData[];
|
|
14
|
+
meta: PageMeta;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
interface GetSwapsRequest {
|
|
18
|
+
page?: number;
|
|
19
|
+
take?: number;
|
|
20
|
+
order?: string;
|
|
21
|
+
q?: string;
|
|
22
|
+
}
|
|
23
|
+
interface GetSwapsResponse {
|
|
24
|
+
success: boolean;
|
|
25
|
+
message: string;
|
|
26
|
+
data?: {
|
|
27
|
+
data: SwapData[];
|
|
28
|
+
meta: PageMeta;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
interface OrderData {
|
|
32
|
+
id: string;
|
|
33
|
+
orderId: string;
|
|
34
|
+
owner: string;
|
|
35
|
+
payCoin: string;
|
|
36
|
+
targetCoin: string;
|
|
37
|
+
rate: string;
|
|
38
|
+
status: string;
|
|
39
|
+
createdTs: string;
|
|
40
|
+
expireTs: string;
|
|
41
|
+
initialPayAmount: string;
|
|
42
|
+
remainingPayAmount: string;
|
|
43
|
+
filledTargetAmount: string;
|
|
44
|
+
claimedTargetAmount: string;
|
|
45
|
+
orderActions: OrderActionData[];
|
|
46
|
+
createdAt: string;
|
|
47
|
+
updatedAt: string;
|
|
48
|
+
}
|
|
49
|
+
interface OrderActionData {
|
|
50
|
+
id: string;
|
|
51
|
+
actionType: string;
|
|
52
|
+
txDigest: string;
|
|
53
|
+
actor: string;
|
|
54
|
+
createdAt: string;
|
|
55
|
+
updatedAt: string;
|
|
56
|
+
}
|
|
57
|
+
interface SwapData {
|
|
58
|
+
id: string;
|
|
59
|
+
txDigest: string;
|
|
60
|
+
sender: string;
|
|
61
|
+
tokenIn: string;
|
|
62
|
+
tokenOut: string;
|
|
63
|
+
amountIn: string;
|
|
64
|
+
amountOut: string;
|
|
65
|
+
createdAt: string;
|
|
66
|
+
updatedAt: string;
|
|
67
|
+
}
|
|
68
|
+
interface PageMeta {
|
|
69
|
+
page: number;
|
|
70
|
+
take: number;
|
|
71
|
+
itemCount: number;
|
|
72
|
+
pageCount: number;
|
|
73
|
+
hasPreviousPage: boolean;
|
|
74
|
+
hasNextPage: boolean;
|
|
75
|
+
}
|
|
76
|
+
export declare class OrderBookGrpcService {
|
|
77
|
+
private grpcClient;
|
|
78
|
+
private readonly logger;
|
|
79
|
+
constructor(grpcClient: ClientGrpc);
|
|
80
|
+
getOrders(data: GetOrdersRequest): Promise<GetOrdersResponse>;
|
|
81
|
+
getSwaps(data: GetSwapsRequest): Promise<GetSwapsResponse>;
|
|
82
|
+
}
|
|
83
|
+
export {};
|
|
@@ -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 OrderBookGrpcService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.OrderBookGrpcService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
let OrderBookGrpcService = OrderBookGrpcService_1 = class OrderBookGrpcService {
|
|
19
|
+
constructor(grpcClient) {
|
|
20
|
+
this.grpcClient = grpcClient;
|
|
21
|
+
this.logger = new common_1.Logger(OrderBookGrpcService_1.name);
|
|
22
|
+
}
|
|
23
|
+
async getOrders(data) {
|
|
24
|
+
const orderBookService = this.grpcClient.getService("OrderBookService");
|
|
25
|
+
const res = await new Promise((resolve, reject) => {
|
|
26
|
+
orderBookService.GetOrders(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 getSwaps(data) {
|
|
37
|
+
const orderBookService = this.grpcClient.getService("OrderBookService");
|
|
38
|
+
const res = await new Promise((resolve, reject) => {
|
|
39
|
+
orderBookService.GetSwaps(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.OrderBookGrpcService = OrderBookGrpcService;
|
|
51
|
+
exports.OrderBookGrpcService = OrderBookGrpcService = OrderBookGrpcService_1 = __decorate([
|
|
52
|
+
(0, common_1.Injectable)(),
|
|
53
|
+
__param(0, (0, common_1.Inject)("ORDERBOOK")),
|
|
54
|
+
__metadata("design:paramtypes", [Object])
|
|
55
|
+
], OrderBookGrpcService);
|
|
56
|
+
//# sourceMappingURL=orderbook-grpc.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderbook-grpc.service.js","sourceRoot":"","sources":["../../../src/modules/grpc-services/orderbook-grpc.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AA2FrD,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAG/B,YAAiC,UAA8B;QAAtB,eAAU,GAAV,UAAU,CAAY;QAF9C,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;IAEE,CAAC;IAEnE,KAAK,CAAC,SAAS,CAAC,IAAsB;QACpC,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAmB,kBAAkB,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnE,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;gBACzC,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,CAAC,CAAC;QAEH,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,QAAQ,CAAC,IAAqB;QAClC,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAmB,kBAAkB,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;gBACxC,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,CAAC,CAAC;QAEH,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;AAxCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAIE,WAAA,IAAA,eAAM,EAAC,WAAW,CAAC,CAAA;;GAHrB,oBAAoB,CAwChC"}
|
|
@@ -22,6 +22,7 @@ const internal_token_service_1 = require("./common-service/internal-token.servic
|
|
|
22
22
|
const core_1 = require("@nestjs/core");
|
|
23
23
|
const grpc_metadata_service_1 = require("./grpc-services/grpc-metadata.service");
|
|
24
24
|
const grpc_services_1 = require("./grpc-services");
|
|
25
|
+
const orderbook_grpc_service_1 = require("./grpc-services/orderbook-grpc.service");
|
|
25
26
|
(0, dotenv_1.config)();
|
|
26
27
|
const providers = [
|
|
27
28
|
sui_client_service_1.SuiClientService,
|
|
@@ -36,6 +37,7 @@ const providers = [
|
|
|
36
37
|
grpc_metadata_service_1.GrpcMetadataService,
|
|
37
38
|
grpc_services_1.TokenGrpcService,
|
|
38
39
|
grpc_services_1.AggregatorRouteGrpcService,
|
|
40
|
+
orderbook_grpc_service_1.OrderBookGrpcService,
|
|
39
41
|
];
|
|
40
42
|
let SharedModule = class SharedModule {
|
|
41
43
|
};
|
|
@@ -106,6 +108,15 @@ exports.SharedModule = SharedModule = __decorate([
|
|
|
106
108
|
url: process.env.AGGREGATOR_ROUTE_SERVICE_URL || "localhost:50059",
|
|
107
109
|
},
|
|
108
110
|
},
|
|
111
|
+
{
|
|
112
|
+
name: 'ORDERBOOK',
|
|
113
|
+
transport: microservices_1.Transport.GRPC,
|
|
114
|
+
options: {
|
|
115
|
+
package: 'orderbook',
|
|
116
|
+
protoPath: (0, path_1.join)(__dirname, "../protos/orderbook.proto"),
|
|
117
|
+
url: process.env.ORDERBOOK_SERVICE_URL || "localhost:50060",
|
|
118
|
+
},
|
|
119
|
+
},
|
|
109
120
|
]),
|
|
110
121
|
],
|
|
111
122
|
providers,
|
|
@@ -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;AAC3E,mDAA8E;
|
|
1
|
+
{"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../src/modules/shared.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package orderbook;
|
|
4
|
+
|
|
5
|
+
// OrderBookService defines the available RPC endpoints for orderbook operations.
|
|
6
|
+
service OrderBookService {
|
|
7
|
+
rpc GetOrders (GetOrdersRequest) returns (GetOrdersResponse);
|
|
8
|
+
rpc GetSwaps (GetSwapsRequest) returns (GetSwapsResponse);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Order Action data structure
|
|
12
|
+
message OrderActionData {
|
|
13
|
+
string id = 1;
|
|
14
|
+
string actionType = 2; // PLACE, CANCEL, FILLED, CLAIM
|
|
15
|
+
string txDigest = 3;
|
|
16
|
+
string actor = 4;
|
|
17
|
+
string createdAt = 5;
|
|
18
|
+
string updatedAt = 6;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Order data structure
|
|
22
|
+
message OrderData {
|
|
23
|
+
string id = 1;
|
|
24
|
+
string orderId = 2;
|
|
25
|
+
string owner = 3;
|
|
26
|
+
string payCoin = 4;
|
|
27
|
+
string targetCoin = 5;
|
|
28
|
+
string rate = 6;
|
|
29
|
+
string status = 7; // PENDING, PARTIAL, FILLED, CANCELED, EXPIRED, PROCESSING
|
|
30
|
+
string createdTs = 8;
|
|
31
|
+
string expireTs = 9;
|
|
32
|
+
string initialPayAmount = 10;
|
|
33
|
+
string remainingPayAmount = 11;
|
|
34
|
+
string filledTargetAmount = 12;
|
|
35
|
+
string claimedTargetAmount = 13;
|
|
36
|
+
repeated OrderActionData orderActions = 14;
|
|
37
|
+
string createdAt = 15;
|
|
38
|
+
string updatedAt = 16;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Swap data structure
|
|
42
|
+
message SwapData {
|
|
43
|
+
string id = 1;
|
|
44
|
+
string txDigest = 2;
|
|
45
|
+
string sender = 3;
|
|
46
|
+
string tokenIn = 4;
|
|
47
|
+
string tokenOut = 5;
|
|
48
|
+
string amountIn = 6;
|
|
49
|
+
string amountOut = 7;
|
|
50
|
+
string createdAt = 8;
|
|
51
|
+
string updatedAt = 9;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Page metadata structure
|
|
55
|
+
message PageMeta {
|
|
56
|
+
int32 page = 1;
|
|
57
|
+
int32 take = 2;
|
|
58
|
+
int32 itemCount = 3;
|
|
59
|
+
int32 pageCount = 4;
|
|
60
|
+
bool hasPreviousPage = 5;
|
|
61
|
+
bool hasNextPage = 6;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Request messages
|
|
65
|
+
message GetOrdersRequest {
|
|
66
|
+
optional int32 page = 1;
|
|
67
|
+
optional int32 take = 2;
|
|
68
|
+
optional string order = 3; // ASC, DESC
|
|
69
|
+
repeated string status = 4; // PENDING, PARTIAL, FILLED, CANCELED, EXPIRED, PROCESSING
|
|
70
|
+
optional string q = 5; // Search query
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
message GetSwapsRequest {
|
|
74
|
+
optional int32 page = 1;
|
|
75
|
+
optional int32 take = 2;
|
|
76
|
+
optional string order = 3; // ASC, DESC
|
|
77
|
+
optional string q = 4; // Search query
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Response messages
|
|
81
|
+
message GetOrdersResponse {
|
|
82
|
+
bool success = 1;
|
|
83
|
+
string message = 2;
|
|
84
|
+
message Data {
|
|
85
|
+
repeated OrderData data = 1;
|
|
86
|
+
PageMeta meta = 2;
|
|
87
|
+
}
|
|
88
|
+
Data data = 3;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
message GetSwapsResponse {
|
|
92
|
+
bool success = 1;
|
|
93
|
+
string message = 2;
|
|
94
|
+
message Data {
|
|
95
|
+
repeated SwapData data = 1;
|
|
96
|
+
PageMeta meta = 2;
|
|
97
|
+
}
|
|
98
|
+
Data data = 3;
|
|
99
|
+
}
|
|
100
|
+
|