@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.
Files changed (116) hide show
  1. package/README.md +22 -0
  2. package/dist/types/api/index.d.ts +14 -0
  3. package/dist/types/api/index.d.ts.map +1 -0
  4. package/dist/types/api/schemas.d.ts +8 -0
  5. package/dist/types/api/schemas.d.ts.map +1 -0
  6. package/dist/types/api/serializers.d.ts +7 -0
  7. package/dist/types/api/serializers.d.ts.map +1 -0
  8. package/dist/types/api/types.d.ts +91 -0
  9. package/dist/types/api/types.d.ts.map +1 -0
  10. package/dist/types/api/utils.d.ts +7 -0
  11. package/dist/types/api/utils.d.ts.map +1 -0
  12. package/dist/types/app.d.ts +1350 -0
  13. package/dist/types/app.d.ts.map +1 -0
  14. package/dist/types/common/types.d.ts +12 -0
  15. package/dist/types/common/types.d.ts.map +1 -0
  16. package/dist/types/config/database.d.ts +17 -0
  17. package/dist/types/config/database.d.ts.map +1 -0
  18. package/dist/types/config/env.d.ts +20 -0
  19. package/dist/types/config/env.d.ts.map +1 -0
  20. package/dist/types/cron.d.ts +54 -0
  21. package/dist/types/cron.d.ts.map +1 -0
  22. package/dist/types/database/addressUtils.d.ts +4 -0
  23. package/dist/types/database/addressUtils.d.ts.map +1 -0
  24. package/dist/types/database/aggregates.d.ts +14 -0
  25. package/dist/types/database/aggregates.d.ts.map +1 -0
  26. package/dist/types/database/clmmPositions.d.ts +28 -0
  27. package/dist/types/database/clmmPositions.d.ts.map +1 -0
  28. package/dist/types/database/clmmTicks.d.ts +9 -0
  29. package/dist/types/database/clmmTicks.d.ts.map +1 -0
  30. package/dist/types/database/cpmmPositions.d.ts +16 -0
  31. package/dist/types/database/cpmmPositions.d.ts.map +1 -0
  32. package/dist/types/database/liquidityTicks.d.ts +7 -0
  33. package/dist/types/database/liquidityTicks.d.ts.map +1 -0
  34. package/dist/types/database/mints.d.ts +18 -0
  35. package/dist/types/database/mints.d.ts.map +1 -0
  36. package/dist/types/database/poolEvents.d.ts +38 -0
  37. package/dist/types/database/poolEvents.d.ts.map +1 -0
  38. package/dist/types/database/pools.d.ts +47 -0
  39. package/dist/types/database/pools.d.ts.map +1 -0
  40. package/dist/types/database/priceTicks.d.ts +7 -0
  41. package/dist/types/database/priceTicks.d.ts.map +1 -0
  42. package/dist/types/database/schemas.d.ts +134 -0
  43. package/dist/types/database/schemas.d.ts.map +1 -0
  44. package/dist/types/database/types.d.ts +134 -0
  45. package/dist/types/database/types.d.ts.map +1 -0
  46. package/dist/types/index.d.ts +2 -0
  47. package/dist/types/index.d.ts.map +1 -0
  48. package/dist/types/lib/error-codes.d.ts +12 -0
  49. package/dist/types/lib/error-codes.d.ts.map +1 -0
  50. package/dist/types/lib/errors.d.ts +109 -0
  51. package/dist/types/lib/errors.d.ts.map +1 -0
  52. package/dist/types/lib/logger.d.ts +2 -0
  53. package/dist/types/lib/logger.d.ts.map +1 -0
  54. package/dist/types/lib/validation.d.ts +3 -0
  55. package/dist/types/lib/validation.d.ts.map +1 -0
  56. package/dist/types/routes/addresses.d.ts +115 -0
  57. package/dist/types/routes/addresses.d.ts.map +1 -0
  58. package/dist/types/routes/compute.d.ts +132 -0
  59. package/dist/types/routes/compute.d.ts.map +1 -0
  60. package/dist/types/routes/ohlcv.d.ts +76 -0
  61. package/dist/types/routes/ohlcv.d.ts.map +1 -0
  62. package/dist/types/routes/pools.d.ts +290 -0
  63. package/dist/types/routes/pools.d.ts.map +1 -0
  64. package/dist/types/routes/response.d.ts +83 -0
  65. package/dist/types/routes/response.d.ts.map +1 -0
  66. package/dist/types/routes/stats.d.ts +69 -0
  67. package/dist/types/routes/stats.d.ts.map +1 -0
  68. package/dist/types/routes/tokens.d.ts +71 -0
  69. package/dist/types/routes/tokens.d.ts.map +1 -0
  70. package/dist/types/routes/websocket.d.ts +42 -0
  71. package/dist/types/routes/websocket.d.ts.map +1 -0
  72. package/dist/types/services/Services.d.ts +23 -0
  73. package/dist/types/services/Services.d.ts.map +1 -0
  74. package/dist/types/services/compute/computeService.d.ts +80 -0
  75. package/dist/types/services/compute/computeService.d.ts.map +1 -0
  76. package/dist/types/services/compute/computeServiceTypes.d.ts +29 -0
  77. package/dist/types/services/compute/computeServiceTypes.d.ts.map +1 -0
  78. package/dist/types/services/computeService.d.ts +103 -0
  79. package/dist/types/services/computeService.d.ts.map +1 -0
  80. package/dist/types/services/pool/poolEventsHandler.d.ts +27 -0
  81. package/dist/types/services/pool/poolEventsHandler.d.ts.map +1 -0
  82. package/dist/types/services/pool/poolEventsSubscriptionService.d.ts +18 -0
  83. package/dist/types/services/pool/poolEventsSubscriptionService.d.ts.map +1 -0
  84. package/dist/types/services/pool/poolService.d.ts +99 -0
  85. package/dist/types/services/pool/poolService.d.ts.map +1 -0
  86. package/dist/types/services/pool/poolServiceTypes.d.ts +53 -0
  87. package/dist/types/services/pool/poolServiceTypes.d.ts.map +1 -0
  88. package/dist/types/services/pool/poolStateService.d.ts +11 -0
  89. package/dist/types/services/pool/poolStateService.d.ts.map +1 -0
  90. package/dist/types/services/pool/poolStateWebsocketService.d.ts +13 -0
  91. package/dist/types/services/pool/poolStateWebsocketService.d.ts.map +1 -0
  92. package/dist/types/services/poolEventsHandler.d.ts +26 -0
  93. package/dist/types/services/poolEventsHandler.d.ts.map +1 -0
  94. package/dist/types/services/poolEventsSubscriptionService.d.ts +16 -0
  95. package/dist/types/services/poolEventsSubscriptionService.d.ts.map +1 -0
  96. package/dist/types/services/poolService.d.ts +153 -0
  97. package/dist/types/services/poolService.d.ts.map +1 -0
  98. package/dist/types/services/poolStateWebsocketService.d.ts +13 -0
  99. package/dist/types/services/poolStateWebsocketService.d.ts.map +1 -0
  100. package/dist/types/services/poolStatsService.d.ts +66 -0
  101. package/dist/types/services/poolStatsService.d.ts.map +1 -0
  102. package/dist/types/services/price/priceService.d.ts +34 -0
  103. package/dist/types/services/price/priceService.d.ts.map +1 -0
  104. package/dist/types/services/price/priceServiceTypes.d.ts +8 -0
  105. package/dist/types/services/price/priceServiceTypes.d.ts.map +1 -0
  106. package/dist/types/services/priceService.d.ts +39 -0
  107. package/dist/types/services/priceService.d.ts.map +1 -0
  108. package/dist/types/services/stat/poolStatsService.d.ts +22 -0
  109. package/dist/types/services/stat/poolStatsService.d.ts.map +1 -0
  110. package/dist/types/services/stat/poolStatsServiceTypes.d.ts +35 -0
  111. package/dist/types/services/stat/poolStatsServiceTypes.d.ts.map +1 -0
  112. package/dist/types/utils/cacheUtil.d.ts +26 -0
  113. package/dist/types/utils/cacheUtil.d.ts.map +1 -0
  114. package/dist/types/utils/period.d.ts +8 -0
  115. package/dist/types/utils/period.d.ts.map +1 -0
  116. 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