@alephium/powfi-backend 0.0.1-rc.2
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/README.md +22 -0
- package/dist/types/api/index.d.ts +14 -0
- package/dist/types/api/index.d.ts.map +1 -0
- package/dist/types/api/schemas.d.ts +8 -0
- package/dist/types/api/schemas.d.ts.map +1 -0
- package/dist/types/api/serializers.d.ts +7 -0
- package/dist/types/api/serializers.d.ts.map +1 -0
- package/dist/types/api/types.d.ts +91 -0
- package/dist/types/api/types.d.ts.map +1 -0
- package/dist/types/api/utils.d.ts +7 -0
- package/dist/types/api/utils.d.ts.map +1 -0
- package/dist/types/app.d.ts +1350 -0
- package/dist/types/app.d.ts.map +1 -0
- package/dist/types/common/types.d.ts +12 -0
- package/dist/types/common/types.d.ts.map +1 -0
- package/dist/types/config/database.d.ts +17 -0
- package/dist/types/config/database.d.ts.map +1 -0
- package/dist/types/config/env.d.ts +20 -0
- package/dist/types/config/env.d.ts.map +1 -0
- package/dist/types/cron.d.ts +54 -0
- package/dist/types/cron.d.ts.map +1 -0
- package/dist/types/database/addressUtils.d.ts +4 -0
- package/dist/types/database/addressUtils.d.ts.map +1 -0
- package/dist/types/database/aggregates.d.ts +14 -0
- package/dist/types/database/aggregates.d.ts.map +1 -0
- package/dist/types/database/clmmPositions.d.ts +28 -0
- package/dist/types/database/clmmPositions.d.ts.map +1 -0
- package/dist/types/database/clmmTicks.d.ts +9 -0
- package/dist/types/database/clmmTicks.d.ts.map +1 -0
- package/dist/types/database/cpmmPositions.d.ts +16 -0
- package/dist/types/database/cpmmPositions.d.ts.map +1 -0
- package/dist/types/database/liquidityTicks.d.ts +7 -0
- package/dist/types/database/liquidityTicks.d.ts.map +1 -0
- package/dist/types/database/mints.d.ts +18 -0
- package/dist/types/database/mints.d.ts.map +1 -0
- package/dist/types/database/poolEvents.d.ts +38 -0
- package/dist/types/database/poolEvents.d.ts.map +1 -0
- package/dist/types/database/pools.d.ts +47 -0
- package/dist/types/database/pools.d.ts.map +1 -0
- package/dist/types/database/priceTicks.d.ts +7 -0
- package/dist/types/database/priceTicks.d.ts.map +1 -0
- package/dist/types/database/schemas.d.ts +134 -0
- package/dist/types/database/schemas.d.ts.map +1 -0
- package/dist/types/database/types.d.ts +134 -0
- package/dist/types/database/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/error-codes.d.ts +12 -0
- package/dist/types/lib/error-codes.d.ts.map +1 -0
- package/dist/types/lib/errors.d.ts +109 -0
- package/dist/types/lib/errors.d.ts.map +1 -0
- package/dist/types/lib/logger.d.ts +2 -0
- package/dist/types/lib/logger.d.ts.map +1 -0
- package/dist/types/lib/validation.d.ts +3 -0
- package/dist/types/lib/validation.d.ts.map +1 -0
- package/dist/types/routes/addresses.d.ts +115 -0
- package/dist/types/routes/addresses.d.ts.map +1 -0
- package/dist/types/routes/compute.d.ts +132 -0
- package/dist/types/routes/compute.d.ts.map +1 -0
- package/dist/types/routes/ohlcv.d.ts +76 -0
- package/dist/types/routes/ohlcv.d.ts.map +1 -0
- package/dist/types/routes/pools.d.ts +290 -0
- package/dist/types/routes/pools.d.ts.map +1 -0
- package/dist/types/routes/response.d.ts +83 -0
- package/dist/types/routes/response.d.ts.map +1 -0
- package/dist/types/routes/stats.d.ts +69 -0
- package/dist/types/routes/stats.d.ts.map +1 -0
- package/dist/types/routes/tokens.d.ts +71 -0
- package/dist/types/routes/tokens.d.ts.map +1 -0
- package/dist/types/routes/websocket.d.ts +42 -0
- package/dist/types/routes/websocket.d.ts.map +1 -0
- package/dist/types/services/Services.d.ts +23 -0
- package/dist/types/services/Services.d.ts.map +1 -0
- package/dist/types/services/compute/computeService.d.ts +80 -0
- package/dist/types/services/compute/computeService.d.ts.map +1 -0
- package/dist/types/services/compute/computeServiceTypes.d.ts +29 -0
- package/dist/types/services/compute/computeServiceTypes.d.ts.map +1 -0
- package/dist/types/services/computeService.d.ts +103 -0
- package/dist/types/services/computeService.d.ts.map +1 -0
- package/dist/types/services/pool/poolEventsHandler.d.ts +27 -0
- package/dist/types/services/pool/poolEventsHandler.d.ts.map +1 -0
- package/dist/types/services/pool/poolEventsSubscriptionService.d.ts +18 -0
- package/dist/types/services/pool/poolEventsSubscriptionService.d.ts.map +1 -0
- package/dist/types/services/pool/poolService.d.ts +99 -0
- package/dist/types/services/pool/poolService.d.ts.map +1 -0
- package/dist/types/services/pool/poolServiceTypes.d.ts +53 -0
- package/dist/types/services/pool/poolServiceTypes.d.ts.map +1 -0
- package/dist/types/services/pool/poolStateService.d.ts +11 -0
- package/dist/types/services/pool/poolStateService.d.ts.map +1 -0
- package/dist/types/services/pool/poolStateWebsocketService.d.ts +13 -0
- package/dist/types/services/pool/poolStateWebsocketService.d.ts.map +1 -0
- package/dist/types/services/poolEventsHandler.d.ts +26 -0
- package/dist/types/services/poolEventsHandler.d.ts.map +1 -0
- package/dist/types/services/poolEventsSubscriptionService.d.ts +16 -0
- package/dist/types/services/poolEventsSubscriptionService.d.ts.map +1 -0
- package/dist/types/services/poolService.d.ts +153 -0
- package/dist/types/services/poolService.d.ts.map +1 -0
- package/dist/types/services/poolStateWebsocketService.d.ts +13 -0
- package/dist/types/services/poolStateWebsocketService.d.ts.map +1 -0
- package/dist/types/services/poolStatsService.d.ts +66 -0
- package/dist/types/services/poolStatsService.d.ts.map +1 -0
- package/dist/types/services/price/priceService.d.ts +34 -0
- package/dist/types/services/price/priceService.d.ts.map +1 -0
- package/dist/types/services/price/priceServiceTypes.d.ts +8 -0
- package/dist/types/services/price/priceServiceTypes.d.ts.map +1 -0
- package/dist/types/services/priceService.d.ts +39 -0
- package/dist/types/services/priceService.d.ts.map +1 -0
- package/dist/types/services/stat/poolStatsService.d.ts +22 -0
- package/dist/types/services/stat/poolStatsService.d.ts.map +1 -0
- package/dist/types/services/stat/poolStatsServiceTypes.d.ts +35 -0
- package/dist/types/services/stat/poolStatsServiceTypes.d.ts.map +1 -0
- package/dist/types/utils/cacheUtil.d.ts +26 -0
- package/dist/types/utils/cacheUtil.d.ts.map +1 -0
- package/dist/types/utils/period.d.ts +8 -0
- package/dist/types/utils/period.d.ts.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import type { PaginatedApiResponse } from './response';
|
|
3
|
+
import type { LiquidityLineData } from '../services/stat/poolStatsServiceTypes';
|
|
4
|
+
import type { ApiPoolListResponse, ApiPoolEventsResponse, ApiPoolListFromIdsResponse, ApiPoolWithStats, ClmmLiquidityLinePayload } from '../api/types';
|
|
5
|
+
export declare const poolsRouter: Elysia<"/pools", {
|
|
6
|
+
decorator: {};
|
|
7
|
+
store: {};
|
|
8
|
+
derive: {};
|
|
9
|
+
resolve: {};
|
|
10
|
+
}, {
|
|
11
|
+
typebox: {};
|
|
12
|
+
error: {};
|
|
13
|
+
}, {
|
|
14
|
+
schema: {};
|
|
15
|
+
standaloneSchema: {};
|
|
16
|
+
macro: {};
|
|
17
|
+
macroFn: {};
|
|
18
|
+
parser: {};
|
|
19
|
+
response: {};
|
|
20
|
+
}, {
|
|
21
|
+
pools: {
|
|
22
|
+
get: {
|
|
23
|
+
body: unknown;
|
|
24
|
+
params: {};
|
|
25
|
+
query: {
|
|
26
|
+
token1?: string | undefined;
|
|
27
|
+
poolType?: "standard" | "concentrated" | "all" | undefined;
|
|
28
|
+
page?: number | undefined;
|
|
29
|
+
pageSize?: number | undefined;
|
|
30
|
+
token2?: string | undefined;
|
|
31
|
+
sortType?: "asc" | "desc" | undefined;
|
|
32
|
+
};
|
|
33
|
+
headers: unknown;
|
|
34
|
+
response: {
|
|
35
|
+
400: {
|
|
36
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
37
|
+
message: string;
|
|
38
|
+
error: "Bad request";
|
|
39
|
+
details?: Record<string, unknown> | undefined;
|
|
40
|
+
};
|
|
41
|
+
404: {
|
|
42
|
+
code: "RESOURCE_NOT_FOUND";
|
|
43
|
+
message: string;
|
|
44
|
+
error: "Resource not found";
|
|
45
|
+
details?: Record<string, unknown> | undefined;
|
|
46
|
+
};
|
|
47
|
+
422: {
|
|
48
|
+
code: "VALIDATION";
|
|
49
|
+
message: string;
|
|
50
|
+
error: "Validation error";
|
|
51
|
+
details?: Record<string, unknown> | undefined;
|
|
52
|
+
};
|
|
53
|
+
500: {
|
|
54
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
55
|
+
message: string;
|
|
56
|
+
error: "Internal server error";
|
|
57
|
+
details?: Record<string, unknown> | undefined;
|
|
58
|
+
};
|
|
59
|
+
200: PaginatedApiResponse<ApiPoolListResponse>;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
} & {
|
|
64
|
+
pools: {
|
|
65
|
+
post: {
|
|
66
|
+
body: {
|
|
67
|
+
ids: string[];
|
|
68
|
+
};
|
|
69
|
+
params: {};
|
|
70
|
+
query: unknown;
|
|
71
|
+
headers: unknown;
|
|
72
|
+
response: {
|
|
73
|
+
400: {
|
|
74
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
75
|
+
message: string;
|
|
76
|
+
error: "Bad request";
|
|
77
|
+
details?: Record<string, unknown> | undefined;
|
|
78
|
+
};
|
|
79
|
+
404: {
|
|
80
|
+
code: "RESOURCE_NOT_FOUND";
|
|
81
|
+
message: string;
|
|
82
|
+
error: "Resource not found";
|
|
83
|
+
details?: Record<string, unknown> | undefined;
|
|
84
|
+
};
|
|
85
|
+
422: {
|
|
86
|
+
code: "VALIDATION";
|
|
87
|
+
message: string;
|
|
88
|
+
error: "Validation error";
|
|
89
|
+
details?: Record<string, unknown> | undefined;
|
|
90
|
+
};
|
|
91
|
+
500: {
|
|
92
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
93
|
+
message: string;
|
|
94
|
+
error: "Internal server error";
|
|
95
|
+
details?: Record<string, unknown> | undefined;
|
|
96
|
+
};
|
|
97
|
+
200: ApiPoolListFromIdsResponse;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
} & {
|
|
102
|
+
pools: {
|
|
103
|
+
":id": {
|
|
104
|
+
get: {
|
|
105
|
+
body: unknown;
|
|
106
|
+
params: {
|
|
107
|
+
id: string;
|
|
108
|
+
};
|
|
109
|
+
query: unknown;
|
|
110
|
+
headers: unknown;
|
|
111
|
+
response: {
|
|
112
|
+
400: {
|
|
113
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
114
|
+
message: string;
|
|
115
|
+
error: "Bad request";
|
|
116
|
+
details?: Record<string, unknown> | undefined;
|
|
117
|
+
};
|
|
118
|
+
404: {
|
|
119
|
+
code: "RESOURCE_NOT_FOUND";
|
|
120
|
+
message: string;
|
|
121
|
+
error: "Resource not found";
|
|
122
|
+
details?: Record<string, unknown> | undefined;
|
|
123
|
+
};
|
|
124
|
+
422: {
|
|
125
|
+
code: "VALIDATION";
|
|
126
|
+
message: string;
|
|
127
|
+
error: "Validation error";
|
|
128
|
+
details?: Record<string, unknown> | undefined;
|
|
129
|
+
};
|
|
130
|
+
500: {
|
|
131
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
132
|
+
message: string;
|
|
133
|
+
error: "Internal server error";
|
|
134
|
+
details?: Record<string, unknown> | undefined;
|
|
135
|
+
};
|
|
136
|
+
200: ApiPoolWithStats;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
} & {
|
|
142
|
+
pools: {
|
|
143
|
+
":id": {
|
|
144
|
+
events: {
|
|
145
|
+
get: {
|
|
146
|
+
body: unknown;
|
|
147
|
+
params: {
|
|
148
|
+
id: string;
|
|
149
|
+
};
|
|
150
|
+
query: {
|
|
151
|
+
page?: number | undefined;
|
|
152
|
+
pageSize?: number | undefined;
|
|
153
|
+
};
|
|
154
|
+
headers: unknown;
|
|
155
|
+
response: {
|
|
156
|
+
400: {
|
|
157
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
158
|
+
message: string;
|
|
159
|
+
error: "Bad request";
|
|
160
|
+
details?: Record<string, unknown> | undefined;
|
|
161
|
+
};
|
|
162
|
+
404: {
|
|
163
|
+
code: "RESOURCE_NOT_FOUND";
|
|
164
|
+
message: string;
|
|
165
|
+
error: "Resource not found";
|
|
166
|
+
details?: Record<string, unknown> | undefined;
|
|
167
|
+
};
|
|
168
|
+
422: {
|
|
169
|
+
code: "VALIDATION";
|
|
170
|
+
message: string;
|
|
171
|
+
error: "Validation error";
|
|
172
|
+
details?: Record<string, unknown> | undefined;
|
|
173
|
+
};
|
|
174
|
+
500: {
|
|
175
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
176
|
+
message: string;
|
|
177
|
+
error: "Internal server error";
|
|
178
|
+
details?: Record<string, unknown> | undefined;
|
|
179
|
+
};
|
|
180
|
+
200: PaginatedApiResponse<ApiPoolEventsResponse>;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
} & {
|
|
187
|
+
pools: {
|
|
188
|
+
":id": {
|
|
189
|
+
line: {
|
|
190
|
+
position: {
|
|
191
|
+
get: {
|
|
192
|
+
body: unknown;
|
|
193
|
+
params: {
|
|
194
|
+
id: string;
|
|
195
|
+
};
|
|
196
|
+
query: unknown;
|
|
197
|
+
headers: unknown;
|
|
198
|
+
response: {
|
|
199
|
+
400: {
|
|
200
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
201
|
+
message: string;
|
|
202
|
+
error: "Bad request";
|
|
203
|
+
details?: Record<string, unknown> | undefined;
|
|
204
|
+
};
|
|
205
|
+
404: {
|
|
206
|
+
code: "RESOURCE_NOT_FOUND";
|
|
207
|
+
message: string;
|
|
208
|
+
error: "Resource not found";
|
|
209
|
+
details?: Record<string, unknown> | undefined;
|
|
210
|
+
};
|
|
211
|
+
422: {
|
|
212
|
+
code: "VALIDATION";
|
|
213
|
+
message: string;
|
|
214
|
+
error: "Validation error";
|
|
215
|
+
details?: Record<string, unknown> | undefined;
|
|
216
|
+
};
|
|
217
|
+
500: {
|
|
218
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
219
|
+
message: string;
|
|
220
|
+
error: "Internal server error";
|
|
221
|
+
details?: Record<string, unknown> | undefined;
|
|
222
|
+
};
|
|
223
|
+
200: ClmmLiquidityLinePayload;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
} & {
|
|
231
|
+
pools: {
|
|
232
|
+
":id": {
|
|
233
|
+
line: {
|
|
234
|
+
liquidity: {
|
|
235
|
+
get: {
|
|
236
|
+
body: unknown;
|
|
237
|
+
params: {
|
|
238
|
+
id: string;
|
|
239
|
+
};
|
|
240
|
+
query: {
|
|
241
|
+
startTime?: number | undefined;
|
|
242
|
+
endTime?: number | undefined;
|
|
243
|
+
};
|
|
244
|
+
headers: unknown;
|
|
245
|
+
response: {
|
|
246
|
+
400: {
|
|
247
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
248
|
+
message: string;
|
|
249
|
+
error: "Bad request";
|
|
250
|
+
details?: Record<string, unknown> | undefined;
|
|
251
|
+
};
|
|
252
|
+
404: {
|
|
253
|
+
code: "RESOURCE_NOT_FOUND";
|
|
254
|
+
message: string;
|
|
255
|
+
error: "Resource not found";
|
|
256
|
+
details?: Record<string, unknown> | undefined;
|
|
257
|
+
};
|
|
258
|
+
422: {
|
|
259
|
+
code: "VALIDATION";
|
|
260
|
+
message: string;
|
|
261
|
+
error: "Validation error";
|
|
262
|
+
details?: Record<string, unknown> | undefined;
|
|
263
|
+
};
|
|
264
|
+
500: {
|
|
265
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
266
|
+
message: string;
|
|
267
|
+
error: "Internal server error";
|
|
268
|
+
details?: Record<string, unknown> | undefined;
|
|
269
|
+
};
|
|
270
|
+
200: LiquidityLineData;
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
}, {
|
|
278
|
+
derive: {};
|
|
279
|
+
resolve: {};
|
|
280
|
+
schema: {};
|
|
281
|
+
standaloneSchema: {};
|
|
282
|
+
response: {};
|
|
283
|
+
}, {
|
|
284
|
+
derive: {};
|
|
285
|
+
resolve: {};
|
|
286
|
+
schema: {};
|
|
287
|
+
standaloneSchema: {};
|
|
288
|
+
response: {};
|
|
289
|
+
}>;
|
|
290
|
+
//# sourceMappingURL=pools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pools.d.ts","sourceRoot":"","sources":["../../../src/routes/pools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAK,MAAM,QAAQ,CAAC;AAGnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAkBrB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkTrB,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export type PaginatedApiResponse<T> = {
|
|
2
|
+
data: T & {
|
|
3
|
+
meta: {
|
|
4
|
+
page: number;
|
|
5
|
+
pageSize: number;
|
|
6
|
+
totalPages: number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare function badRequest(message: string): never;
|
|
11
|
+
export declare function notFound(subject: string): never;
|
|
12
|
+
export declare function internalServerError(error: unknown): never;
|
|
13
|
+
export declare const DefaultErrorResponseSchemas: {
|
|
14
|
+
400: import("zod").ZodObject<{
|
|
15
|
+
message: import("zod").ZodString;
|
|
16
|
+
details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
17
|
+
} & {
|
|
18
|
+
error: import("zod").ZodLiteral<"Bad request">;
|
|
19
|
+
code: import("zod").ZodEnum<["BAD_REQUEST", "INVALID_FILE_TYPE", "PARSE", "INVALID_COOKIE_SIGNATURE"]>;
|
|
20
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
21
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
22
|
+
message: string;
|
|
23
|
+
error: "Bad request";
|
|
24
|
+
details?: Record<string, unknown> | undefined;
|
|
25
|
+
}, {
|
|
26
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
27
|
+
message: string;
|
|
28
|
+
error: "Bad request";
|
|
29
|
+
details?: Record<string, unknown> | undefined;
|
|
30
|
+
}>;
|
|
31
|
+
404: import("zod").ZodObject<{
|
|
32
|
+
message: import("zod").ZodString;
|
|
33
|
+
details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
34
|
+
} & {
|
|
35
|
+
error: import("zod").ZodLiteral<"Resource not found">;
|
|
36
|
+
code: import("zod").ZodEnum<["RESOURCE_NOT_FOUND"]>;
|
|
37
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
38
|
+
code: "RESOURCE_NOT_FOUND";
|
|
39
|
+
message: string;
|
|
40
|
+
error: "Resource not found";
|
|
41
|
+
details?: Record<string, unknown> | undefined;
|
|
42
|
+
}, {
|
|
43
|
+
code: "RESOURCE_NOT_FOUND";
|
|
44
|
+
message: string;
|
|
45
|
+
error: "Resource not found";
|
|
46
|
+
details?: Record<string, unknown> | undefined;
|
|
47
|
+
}>;
|
|
48
|
+
422: import("zod").ZodObject<{
|
|
49
|
+
message: import("zod").ZodString;
|
|
50
|
+
details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
51
|
+
} & {
|
|
52
|
+
error: import("zod").ZodLiteral<"Validation error">;
|
|
53
|
+
code: import("zod").ZodEnum<["VALIDATION"]>;
|
|
54
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
55
|
+
code: "VALIDATION";
|
|
56
|
+
message: string;
|
|
57
|
+
error: "Validation error";
|
|
58
|
+
details?: Record<string, unknown> | undefined;
|
|
59
|
+
}, {
|
|
60
|
+
code: "VALIDATION";
|
|
61
|
+
message: string;
|
|
62
|
+
error: "Validation error";
|
|
63
|
+
details?: Record<string, unknown> | undefined;
|
|
64
|
+
}>;
|
|
65
|
+
500: import("zod").ZodObject<{
|
|
66
|
+
message: import("zod").ZodString;
|
|
67
|
+
details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
68
|
+
} & {
|
|
69
|
+
error: import("zod").ZodLiteral<"Internal server error">;
|
|
70
|
+
code: import("zod").ZodEnum<["INTERNAL_SERVER_ERROR"]>;
|
|
71
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
72
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
73
|
+
message: string;
|
|
74
|
+
error: "Internal server error";
|
|
75
|
+
details?: Record<string, unknown> | undefined;
|
|
76
|
+
}, {
|
|
77
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
78
|
+
message: string;
|
|
79
|
+
error: "Internal server error";
|
|
80
|
+
details?: Record<string, unknown> | undefined;
|
|
81
|
+
}>;
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/routes/response.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,IAAI,EAAE,CAAC,GAAG;QACR,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEjD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAE/C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAwBzD;AAGD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import type { ApiGlobalStats } from '../api/types';
|
|
3
|
+
export declare const statsRouter: Elysia<"/stats", {
|
|
4
|
+
decorator: {};
|
|
5
|
+
store: {};
|
|
6
|
+
derive: {};
|
|
7
|
+
resolve: {};
|
|
8
|
+
}, {
|
|
9
|
+
typebox: {};
|
|
10
|
+
error: {};
|
|
11
|
+
}, {
|
|
12
|
+
schema: {};
|
|
13
|
+
standaloneSchema: {};
|
|
14
|
+
macro: {};
|
|
15
|
+
macroFn: {};
|
|
16
|
+
parser: {};
|
|
17
|
+
response: {};
|
|
18
|
+
}, {
|
|
19
|
+
stats: {
|
|
20
|
+
global: {
|
|
21
|
+
get: {
|
|
22
|
+
body: unknown;
|
|
23
|
+
params: {};
|
|
24
|
+
query: unknown;
|
|
25
|
+
headers: unknown;
|
|
26
|
+
response: {
|
|
27
|
+
400: {
|
|
28
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
29
|
+
message: string;
|
|
30
|
+
error: "Bad request";
|
|
31
|
+
details?: Record<string, unknown> | undefined;
|
|
32
|
+
};
|
|
33
|
+
404: {
|
|
34
|
+
code: "RESOURCE_NOT_FOUND";
|
|
35
|
+
message: string;
|
|
36
|
+
error: "Resource not found";
|
|
37
|
+
details?: Record<string, unknown> | undefined;
|
|
38
|
+
};
|
|
39
|
+
422: {
|
|
40
|
+
code: "VALIDATION";
|
|
41
|
+
message: string;
|
|
42
|
+
error: "Validation error";
|
|
43
|
+
details?: Record<string, unknown> | undefined;
|
|
44
|
+
};
|
|
45
|
+
500: {
|
|
46
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
47
|
+
message: string;
|
|
48
|
+
error: "Internal server error";
|
|
49
|
+
details?: Record<string, unknown> | undefined;
|
|
50
|
+
};
|
|
51
|
+
200: ApiGlobalStats;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
}, {
|
|
57
|
+
derive: {};
|
|
58
|
+
resolve: {};
|
|
59
|
+
schema: {};
|
|
60
|
+
standaloneSchema: {};
|
|
61
|
+
response: {};
|
|
62
|
+
}, {
|
|
63
|
+
derive: {};
|
|
64
|
+
resolve: {};
|
|
65
|
+
schema: {};
|
|
66
|
+
standaloneSchema: {};
|
|
67
|
+
response: {};
|
|
68
|
+
}>;
|
|
69
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/routes/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBvB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import type { TokenInfo } from '@alephium/token-list';
|
|
3
|
+
export interface TokenListResponse {
|
|
4
|
+
count: number;
|
|
5
|
+
tokens: TokenInfo[];
|
|
6
|
+
}
|
|
7
|
+
export declare const tokensRouter: Elysia<"/tokens", {
|
|
8
|
+
decorator: {};
|
|
9
|
+
store: {};
|
|
10
|
+
derive: {};
|
|
11
|
+
resolve: {};
|
|
12
|
+
}, {
|
|
13
|
+
typebox: {};
|
|
14
|
+
error: {};
|
|
15
|
+
}, {
|
|
16
|
+
schema: {};
|
|
17
|
+
standaloneSchema: {};
|
|
18
|
+
macro: {};
|
|
19
|
+
macroFn: {};
|
|
20
|
+
parser: {};
|
|
21
|
+
response: {};
|
|
22
|
+
}, {
|
|
23
|
+
tokens: {
|
|
24
|
+
get: {
|
|
25
|
+
body: unknown;
|
|
26
|
+
params: {};
|
|
27
|
+
query: unknown;
|
|
28
|
+
headers: unknown;
|
|
29
|
+
response: {
|
|
30
|
+
400: {
|
|
31
|
+
code: "BAD_REQUEST" | "INVALID_FILE_TYPE" | "PARSE" | "INVALID_COOKIE_SIGNATURE";
|
|
32
|
+
message: string;
|
|
33
|
+
error: "Bad request";
|
|
34
|
+
details?: Record<string, unknown> | undefined;
|
|
35
|
+
};
|
|
36
|
+
404: {
|
|
37
|
+
code: "RESOURCE_NOT_FOUND";
|
|
38
|
+
message: string;
|
|
39
|
+
error: "Resource not found";
|
|
40
|
+
details?: Record<string, unknown> | undefined;
|
|
41
|
+
};
|
|
42
|
+
422: {
|
|
43
|
+
code: "VALIDATION";
|
|
44
|
+
message: string;
|
|
45
|
+
error: "Validation error";
|
|
46
|
+
details?: Record<string, unknown> | undefined;
|
|
47
|
+
};
|
|
48
|
+
500: {
|
|
49
|
+
code: "INTERNAL_SERVER_ERROR";
|
|
50
|
+
message: string;
|
|
51
|
+
error: "Internal server error";
|
|
52
|
+
details?: Record<string, unknown> | undefined;
|
|
53
|
+
};
|
|
54
|
+
200: TokenListResponse;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
}, {
|
|
59
|
+
derive: {};
|
|
60
|
+
resolve: {};
|
|
61
|
+
schema: {};
|
|
62
|
+
standaloneSchema: {};
|
|
63
|
+
response: {};
|
|
64
|
+
}, {
|
|
65
|
+
derive: {};
|
|
66
|
+
resolve: {};
|
|
67
|
+
schema: {};
|
|
68
|
+
standaloneSchema: {};
|
|
69
|
+
response: {};
|
|
70
|
+
}>;
|
|
71
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/routes/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBxB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
export declare const websocketRouter: Elysia<"", {
|
|
3
|
+
decorator: {};
|
|
4
|
+
store: {};
|
|
5
|
+
derive: {};
|
|
6
|
+
resolve: {};
|
|
7
|
+
}, {
|
|
8
|
+
typebox: {};
|
|
9
|
+
error: {};
|
|
10
|
+
}, {
|
|
11
|
+
schema: {};
|
|
12
|
+
standaloneSchema: {};
|
|
13
|
+
macro: {};
|
|
14
|
+
macroFn: {};
|
|
15
|
+
parser: {};
|
|
16
|
+
response: {};
|
|
17
|
+
}, {
|
|
18
|
+
ws: {
|
|
19
|
+
"pool-state": {
|
|
20
|
+
subscribe: {
|
|
21
|
+
body: unknown;
|
|
22
|
+
params: {};
|
|
23
|
+
query: unknown;
|
|
24
|
+
headers: unknown;
|
|
25
|
+
response: {};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}, {
|
|
30
|
+
derive: {};
|
|
31
|
+
resolve: {};
|
|
32
|
+
schema: {};
|
|
33
|
+
standaloneSchema: {};
|
|
34
|
+
response: {};
|
|
35
|
+
}, {
|
|
36
|
+
derive: {};
|
|
37
|
+
resolve: {};
|
|
38
|
+
schema: {};
|
|
39
|
+
standaloneSchema: {};
|
|
40
|
+
response: {};
|
|
41
|
+
}>;
|
|
42
|
+
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/routes/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiBhC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD1B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Zeta } from '@h0ngcha0/typescript-sdk';
|
|
2
|
+
import { PriceService } from './price/priceService';
|
|
3
|
+
import { PoolService } from './pool/poolService';
|
|
4
|
+
import { PoolStateService } from './pool/poolStateService';
|
|
5
|
+
import { PoolStatsService } from './stat/poolStatsService';
|
|
6
|
+
import { PoolEventsSubscriptionService } from './pool/poolEventsSubscriptionService';
|
|
7
|
+
import { StandardPoolEventsHandler, ClmmPoolEventsHandler } from './pool/poolEventsHandler';
|
|
8
|
+
import { ComputeService } from './compute/computeService';
|
|
9
|
+
export declare class Services {
|
|
10
|
+
private static instance;
|
|
11
|
+
readonly zeta: Zeta;
|
|
12
|
+
readonly priceService: PriceService;
|
|
13
|
+
readonly poolService: PoolService;
|
|
14
|
+
readonly poolStatsService: PoolStatsService;
|
|
15
|
+
readonly poolStateService: PoolStateService;
|
|
16
|
+
readonly poolEventsSubscriptionService: PoolEventsSubscriptionService;
|
|
17
|
+
readonly standardPoolEventsHandler: StandardPoolEventsHandler;
|
|
18
|
+
readonly clmmPoolEventsHandler: ClmmPoolEventsHandler;
|
|
19
|
+
readonly computeService: ComputeService;
|
|
20
|
+
private constructor();
|
|
21
|
+
static getInstance(): Services;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=Services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Services.d.ts","sourceRoot":"","sources":["../../../src/services/Services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAElC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,WAAW,EAAE,WAAW,CAAC;IACzC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IACnD,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IACnD,SAAgB,6BAA6B,EAAE,6BAA6B,CAAC;IAC7E,SAAgB,yBAAyB,EAAE,yBAAyB,CAAC;IACrE,SAAgB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7D,SAAgB,cAAc,EAAE,cAAc,CAAC;IAE/C,OAAO;IAgCP,MAAM,CAAC,WAAW,IAAI,QAAQ;CAM/B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { Zeta, SwapDetails } from '@h0ngcha0/typescript-sdk';
|
|
2
|
+
import type { PriceService } from '../price/priceService';
|
|
3
|
+
import type { PoolStateService } from '../pool/poolStateService';
|
|
4
|
+
import type { TokenInfo } from '@alephium/token-list';
|
|
5
|
+
import type { SwapComputeResult } from '../../services/compute/computeServiceTypes';
|
|
6
|
+
import { PoolType } from '../../common/types';
|
|
7
|
+
export interface SwapBaseInParams {
|
|
8
|
+
inputMint: string;
|
|
9
|
+
outputMint: string;
|
|
10
|
+
amount: string;
|
|
11
|
+
slippageBps?: string;
|
|
12
|
+
poolType?: PoolType;
|
|
13
|
+
}
|
|
14
|
+
export interface SwapBaseOutParams {
|
|
15
|
+
inputMint: string;
|
|
16
|
+
outputMint: string;
|
|
17
|
+
amount: string;
|
|
18
|
+
slippageBps?: string;
|
|
19
|
+
poolType?: PoolType;
|
|
20
|
+
}
|
|
21
|
+
export declare class ComputeServiceError extends Error {
|
|
22
|
+
code?: string | undefined;
|
|
23
|
+
constructor(message: string, code?: string | undefined);
|
|
24
|
+
}
|
|
25
|
+
export declare class ComputeService {
|
|
26
|
+
private zeta;
|
|
27
|
+
private priceService;
|
|
28
|
+
private poolStateService;
|
|
29
|
+
constructor(zeta: Zeta, priceService: PriceService, poolStateService: PoolStateService);
|
|
30
|
+
computeSwapBaseIn(params: SwapBaseInParams): Promise<SwapComputeResult>;
|
|
31
|
+
computeSwapBaseOut(params: SwapBaseOutParams): Promise<SwapComputeResult>;
|
|
32
|
+
parseSlippageBps(slippageBps?: string): number;
|
|
33
|
+
getTokenInfo(id: string): Promise<TokenInfo>;
|
|
34
|
+
getPoolState(inputTokenId: string, outputTokenId: string): Promise<import("@h0ngcha0/typescript-sdk").CpmmPoolContractState>;
|
|
35
|
+
convertSwapDetailsToResponse(swapDetails: SwapDetails, slippage: number): Promise<SwapComputeResult>;
|
|
36
|
+
computeClmmSwapBaseIn(params: {
|
|
37
|
+
inputMint: string;
|
|
38
|
+
outputMint: string;
|
|
39
|
+
amount: bigint;
|
|
40
|
+
slippage: number;
|
|
41
|
+
}): Promise<SwapComputeResult>;
|
|
42
|
+
computeClmmSwapBaseOut(params: {
|
|
43
|
+
inputMint: string;
|
|
44
|
+
outputMint: string;
|
|
45
|
+
amount: bigint;
|
|
46
|
+
slippage: number;
|
|
47
|
+
}): Promise<SwapComputeResult>;
|
|
48
|
+
applySlippage(value: bigint, slippageBps: number, direction: 'min' | 'max'): bigint;
|
|
49
|
+
getClmmSwapContext(inputMint: string, outputMint: string): Promise<{
|
|
50
|
+
inputToken: TokenInfo;
|
|
51
|
+
outputToken: TokenInfo;
|
|
52
|
+
token0Info: TokenInfo;
|
|
53
|
+
token1Info: TokenInfo;
|
|
54
|
+
zeroForOne: boolean;
|
|
55
|
+
configIndex: bigint;
|
|
56
|
+
}>;
|
|
57
|
+
calculateClmmPriceImpact(distribution: {
|
|
58
|
+
baseSqrtPriceX96: bigint;
|
|
59
|
+
sqrtPriceX96: bigint;
|
|
60
|
+
}, context: {
|
|
61
|
+
token0Info: TokenInfo;
|
|
62
|
+
token1Info: TokenInfo;
|
|
63
|
+
inputToken: TokenInfo;
|
|
64
|
+
outputToken: TokenInfo;
|
|
65
|
+
zeroForOne: boolean;
|
|
66
|
+
}, tokenInAmount: bigint, tokenOutAmount: bigint): number;
|
|
67
|
+
buildSwapComputeResult(params: {
|
|
68
|
+
swapType: 'BaseIn' | 'BaseOut';
|
|
69
|
+
tokenInInfo: TokenInfo;
|
|
70
|
+
tokenOutInfo: TokenInfo;
|
|
71
|
+
tokenInAmount: bigint;
|
|
72
|
+
tokenOutAmount: bigint;
|
|
73
|
+
otherAmountThreshold: bigint;
|
|
74
|
+
slippage: number;
|
|
75
|
+
priceImpactPct: number;
|
|
76
|
+
tradingFee?: bigint;
|
|
77
|
+
routePlan: Array<bigint>;
|
|
78
|
+
}): Promise<SwapComputeResult>;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=computeService.d.ts.map
|