@r2wa-org/eden 0.0.51 → 0.0.54

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 (94) hide show
  1. package/dist/src/admin/index.d.ts +1863 -589
  2. package/dist/src/asset-convert-product/admin/dto.schemas.d.ts +658 -0
  3. package/dist/src/asset-convert-product/admin/router.d.ts +803 -0
  4. package/dist/src/asset-convert-product/admin/service.d.ts +125 -0
  5. package/dist/src/asset-convert-product/db.schemas.d.ts +1134 -0
  6. package/dist/src/asset-convert-product/errors/index.d.ts +19 -0
  7. package/dist/src/asset-convert-product/errors/locales/zh.d.ts +18 -0
  8. package/dist/src/asset-convert-product/index.d.ts +8 -0
  9. package/dist/src/asset-convert-product/internal/service.d.ts +66 -0
  10. package/dist/src/asset-convert-product/permissions.d.ts +5 -0
  11. package/dist/src/asset-convert-product/schema.d.ts +619 -0
  12. package/dist/src/asset-convert-product/user/dto.schemas.d.ts +1000 -0
  13. package/dist/src/asset-convert-product/user/router.d.ts +683 -0
  14. package/dist/src/asset-convert-product/user/service.d.ts +120 -0
  15. package/dist/src/auth/better-auth.d.ts +59 -3
  16. package/dist/src/auth/permissions.d.ts +41 -1
  17. package/dist/src/auth/roles.d.ts +120 -0
  18. package/dist/src/cron/index.d.ts +13 -1
  19. package/dist/src/db/schemas.d.ts +4 -0
  20. package/dist/src/deposit/admin/dto.schemas.d.ts +6 -6
  21. package/dist/src/deposit/user/dto.schemas.d.ts +6 -6
  22. package/dist/src/file-storage/admin/dto.schemas.d.ts +6 -6
  23. package/dist/src/index.d.ts +2811 -845
  24. package/dist/src/ledger/admin/dto.schemas.d.ts +8 -8
  25. package/dist/src/ledger/admin/router.d.ts +2 -2
  26. package/dist/src/ledger/admin/service.d.ts +2 -2
  27. package/dist/src/ledger/db.schemas.d.ts +8 -8
  28. package/dist/src/ledger/internal/service.d.ts +2 -2
  29. package/dist/src/ledger/schema.d.ts +6 -6
  30. package/dist/src/ledger/user/dto.schemas.d.ts +8 -8
  31. package/dist/src/ledger/user/router.d.ts +2 -2
  32. package/dist/src/ledger/user/service.d.ts +2 -2
  33. package/dist/src/ledger-account-import/admin/dto.schemas.d.ts +6 -6
  34. package/dist/src/ledger-account-import/admin/router.d.ts +9 -9
  35. package/dist/src/ledger-account-import/admin/service.d.ts +7 -7
  36. package/dist/src/ledger-account-import/db.schemas.d.ts +4 -4
  37. package/dist/src/ledger-account-import/schema.d.ts +2 -2
  38. package/dist/src/ledger-account-transfer/user/router.d.ts +1 -1
  39. package/dist/src/market-data/admin/dto.schemas.d.ts +291 -0
  40. package/dist/src/market-data/admin/router.d.ts +609 -0
  41. package/dist/src/market-data/admin/service.d.ts +52 -0
  42. package/dist/src/market-data/cron.d.ts +57 -0
  43. package/dist/src/market-data/db.schemas.d.ts +516 -0
  44. package/dist/src/market-data/errors/index.d.ts +12 -0
  45. package/dist/src/market-data/errors/locales/zh.d.ts +11 -0
  46. package/dist/src/market-data/index.d.ts +8 -0
  47. package/dist/src/market-data/internal/service.d.ts +77 -0
  48. package/dist/src/market-data/permissions.d.ts +6 -0
  49. package/dist/src/market-data/schema.d.ts +270 -0
  50. package/dist/src/market-data/user/dto.schemas.d.ts +289 -0
  51. package/dist/src/market-data/user/router.d.ts +521 -0
  52. package/dist/src/market-data/user/service.d.ts +30 -0
  53. package/dist/src/market-pricing/admin/dto.schemas.d.ts +322 -0
  54. package/dist/src/market-pricing/admin/router.d.ts +835 -0
  55. package/dist/src/market-pricing/admin/service.d.ts +129 -0
  56. package/dist/src/market-pricing/cron.d.ts +57 -0
  57. package/dist/src/market-pricing/db.schemas.d.ts +828 -0
  58. package/dist/src/market-pricing/errors/index.d.ts +14 -0
  59. package/dist/src/market-pricing/errors/locales/zh.d.ts +13 -0
  60. package/dist/src/market-pricing/internal/service.d.ts +35 -0
  61. package/dist/src/market-pricing/permissions.d.ts +4 -0
  62. package/dist/src/market-pricing/schema.d.ts +434 -0
  63. package/dist/src/news/admin/dto.schemas.d.ts +6 -6
  64. package/dist/src/news/user/dto.schemas.d.ts +12 -12
  65. package/dist/src/notification/admin/dto.schemas.d.ts +8 -8
  66. package/dist/src/notification/user/dto.schemas.d.ts +8 -8
  67. package/dist/src/trade-market/admin/dto.schemas.d.ts +762 -0
  68. package/dist/src/trade-market/admin/router.d.ts +851 -0
  69. package/dist/src/trade-market/admin/service.d.ts +158 -0
  70. package/dist/src/trade-market/db.schemas.d.ts +1338 -0
  71. package/dist/src/trade-market/errors/index.d.ts +22 -0
  72. package/dist/src/trade-market/errors/locales/zh.d.ts +21 -0
  73. package/dist/src/trade-market/index.d.ts +8 -0
  74. package/dist/src/trade-market/internal/service.d.ts +239 -0
  75. package/dist/src/trade-market/permissions.d.ts +5 -0
  76. package/dist/src/trade-market/schema.d.ts +708 -0
  77. package/dist/src/trade-market/user/dto.schemas.d.ts +1394 -0
  78. package/dist/src/trade-market/user/router.d.ts +754 -0
  79. package/dist/src/trade-market/user/service.d.ts +147 -0
  80. package/dist/src/transfer/user/router.d.ts +1 -1
  81. package/dist/src/user-kyc/admin/dto.schemas.d.ts +1 -1
  82. package/dist/src/wallet/admin/dto.schemas.d.ts +3 -3
  83. package/dist/src/wallet/user/dto.schemas.d.ts +2 -2
  84. package/dist/src/welfare-cycle/admin/dto.schemas.d.ts +7 -7
  85. package/dist/src/welfare-cycle/admin/router.d.ts +4 -4
  86. package/dist/src/welfare-cycle/admin/service.d.ts +2 -2
  87. package/dist/src/welfare-cycle/cron.d.ts +58 -0
  88. package/dist/src/welfare-cycle/db.schemas.d.ts +4 -4
  89. package/dist/src/welfare-cycle/internal/service.d.ts +2 -2
  90. package/dist/src/welfare-cycle/schema.d.ts +2 -2
  91. package/dist/src/welfare-cycle/user/dto.schemas.d.ts +3 -3
  92. package/dist/src/welfare-cycle/user/router.d.ts +3 -3
  93. package/dist/src/welfare-cycle/user/service.d.ts +2 -2
  94. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ import { Elysia } from "elysia";
2
+ /**
3
+ * 行情聚合任务
4
+ * 每分钟第5秒聚合上一分钟K线
5
+ */
6
+ export declare const marketDataCronJobs: Elysia<"", {
7
+ decorator: {};
8
+ store: {
9
+ cron: Record<`${string}-market-data-aggregate-1m`, import("croner").Cron>;
10
+ };
11
+ derive: {};
12
+ resolve: {};
13
+ }, {
14
+ typebox: {};
15
+ error: {};
16
+ } & {
17
+ typebox: {};
18
+ error: {};
19
+ }, {
20
+ schema: {};
21
+ standaloneSchema: {};
22
+ macro: {};
23
+ macroFn: {};
24
+ parser: {};
25
+ response: {};
26
+ } & {
27
+ schema: {};
28
+ standaloneSchema: {};
29
+ macro: {};
30
+ macroFn: {};
31
+ parser: {};
32
+ response: {};
33
+ }, {}, {
34
+ derive: {};
35
+ resolve: {};
36
+ schema: {};
37
+ standaloneSchema: {};
38
+ response: {};
39
+ } & {
40
+ derive: {};
41
+ resolve: {};
42
+ schema: {};
43
+ standaloneSchema: {};
44
+ response: {};
45
+ }, {
46
+ derive: {};
47
+ resolve: {};
48
+ schema: {};
49
+ standaloneSchema: {};
50
+ response: {};
51
+ } & {
52
+ derive: {};
53
+ resolve: {};
54
+ schema: {};
55
+ standaloneSchema: {};
56
+ response: {};
57
+ }>;
@@ -0,0 +1,516 @@
1
+ export declare const marketDataKline1mSelectSchema: import("drizzle-typebox").BuildSchema<"select", {
2
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
3
+ name: "created_at";
4
+ tableName: "market_data_kline_1m";
5
+ dataType: "date";
6
+ columnType: "PgTimestamp";
7
+ data: Date;
8
+ driverParam: string;
9
+ notNull: true;
10
+ hasDefault: true;
11
+ isPrimaryKey: false;
12
+ isAutoincrement: false;
13
+ hasRuntimeDefault: false;
14
+ enumValues: undefined;
15
+ baseColumn: never;
16
+ identity: undefined;
17
+ generated: undefined;
18
+ }, {}, {}>;
19
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
20
+ name: "updated_at";
21
+ tableName: "market_data_kline_1m";
22
+ dataType: "date";
23
+ columnType: "PgTimestamp";
24
+ data: Date;
25
+ driverParam: string;
26
+ notNull: true;
27
+ hasDefault: true;
28
+ isPrimaryKey: false;
29
+ isAutoincrement: false;
30
+ hasRuntimeDefault: false;
31
+ enumValues: undefined;
32
+ baseColumn: never;
33
+ identity: undefined;
34
+ generated: undefined;
35
+ }, {}, {}>;
36
+ id: import("drizzle-orm/pg-core").PgColumn<{
37
+ name: "id";
38
+ tableName: "market_data_kline_1m";
39
+ dataType: "string";
40
+ columnType: "PgUUID";
41
+ data: string;
42
+ driverParam: string;
43
+ notNull: true;
44
+ hasDefault: true;
45
+ isPrimaryKey: true;
46
+ isAutoincrement: false;
47
+ hasRuntimeDefault: false;
48
+ enumValues: undefined;
49
+ baseColumn: never;
50
+ identity: undefined;
51
+ generated: undefined;
52
+ }, {}, {}>;
53
+ baseAssetId: import("drizzle-orm/pg-core").PgColumn<{
54
+ name: "base_asset_id";
55
+ tableName: "market_data_kline_1m";
56
+ dataType: "string";
57
+ columnType: "PgUUID";
58
+ data: string;
59
+ driverParam: string;
60
+ notNull: true;
61
+ hasDefault: false;
62
+ isPrimaryKey: false;
63
+ isAutoincrement: false;
64
+ hasRuntimeDefault: false;
65
+ enumValues: undefined;
66
+ baseColumn: never;
67
+ identity: undefined;
68
+ generated: undefined;
69
+ }, {}, {}>;
70
+ baseAsset: import("drizzle-orm/pg-core").PgColumn<{
71
+ name: "base_asset";
72
+ tableName: "market_data_kline_1m";
73
+ dataType: "string";
74
+ columnType: "PgText";
75
+ data: string;
76
+ driverParam: string;
77
+ notNull: true;
78
+ hasDefault: false;
79
+ isPrimaryKey: false;
80
+ isAutoincrement: false;
81
+ hasRuntimeDefault: false;
82
+ enumValues: [string, ...string[]];
83
+ baseColumn: never;
84
+ identity: undefined;
85
+ generated: undefined;
86
+ }, {}, {}>;
87
+ quoteAssetId: import("drizzle-orm/pg-core").PgColumn<{
88
+ name: "quote_asset_id";
89
+ tableName: "market_data_kline_1m";
90
+ dataType: "string";
91
+ columnType: "PgUUID";
92
+ data: string;
93
+ driverParam: string;
94
+ notNull: true;
95
+ hasDefault: false;
96
+ isPrimaryKey: false;
97
+ isAutoincrement: false;
98
+ hasRuntimeDefault: false;
99
+ enumValues: undefined;
100
+ baseColumn: never;
101
+ identity: undefined;
102
+ generated: undefined;
103
+ }, {}, {}>;
104
+ quoteAsset: import("drizzle-orm/pg-core").PgColumn<{
105
+ name: "quote_asset";
106
+ tableName: "market_data_kline_1m";
107
+ dataType: "string";
108
+ columnType: "PgText";
109
+ data: string;
110
+ driverParam: string;
111
+ notNull: true;
112
+ hasDefault: false;
113
+ isPrimaryKey: false;
114
+ isAutoincrement: false;
115
+ hasRuntimeDefault: false;
116
+ enumValues: [string, ...string[]];
117
+ baseColumn: never;
118
+ identity: undefined;
119
+ generated: undefined;
120
+ }, {}, {}>;
121
+ source: import("drizzle-orm/pg-core").PgColumn<{
122
+ name: "source";
123
+ tableName: "market_data_kline_1m";
124
+ dataType: "string";
125
+ columnType: "PgText";
126
+ data: string;
127
+ driverParam: string;
128
+ notNull: true;
129
+ hasDefault: false;
130
+ isPrimaryKey: false;
131
+ isAutoincrement: false;
132
+ hasRuntimeDefault: false;
133
+ enumValues: [string, ...string[]];
134
+ baseColumn: never;
135
+ identity: undefined;
136
+ generated: undefined;
137
+ }, {}, {}>;
138
+ bucketAt: import("drizzle-orm/pg-core").PgColumn<{
139
+ name: "bucket_at";
140
+ tableName: "market_data_kline_1m";
141
+ dataType: "date";
142
+ columnType: "PgTimestamp";
143
+ data: Date;
144
+ driverParam: string;
145
+ notNull: true;
146
+ hasDefault: false;
147
+ isPrimaryKey: false;
148
+ isAutoincrement: false;
149
+ hasRuntimeDefault: false;
150
+ enumValues: undefined;
151
+ baseColumn: never;
152
+ identity: undefined;
153
+ generated: undefined;
154
+ }, {}, {}>;
155
+ open: import("drizzle-orm/pg-core").PgColumn<{
156
+ name: "open";
157
+ tableName: "market_data_kline_1m";
158
+ dataType: "string";
159
+ columnType: "PgNumeric";
160
+ data: string;
161
+ driverParam: string;
162
+ notNull: true;
163
+ hasDefault: false;
164
+ isPrimaryKey: false;
165
+ isAutoincrement: false;
166
+ hasRuntimeDefault: false;
167
+ enumValues: undefined;
168
+ baseColumn: never;
169
+ identity: undefined;
170
+ generated: undefined;
171
+ }, {}, {}>;
172
+ high: import("drizzle-orm/pg-core").PgColumn<{
173
+ name: "high";
174
+ tableName: "market_data_kline_1m";
175
+ dataType: "string";
176
+ columnType: "PgNumeric";
177
+ data: string;
178
+ driverParam: string;
179
+ notNull: true;
180
+ hasDefault: false;
181
+ isPrimaryKey: false;
182
+ isAutoincrement: false;
183
+ hasRuntimeDefault: false;
184
+ enumValues: undefined;
185
+ baseColumn: never;
186
+ identity: undefined;
187
+ generated: undefined;
188
+ }, {}, {}>;
189
+ low: import("drizzle-orm/pg-core").PgColumn<{
190
+ name: "low";
191
+ tableName: "market_data_kline_1m";
192
+ dataType: "string";
193
+ columnType: "PgNumeric";
194
+ data: string;
195
+ driverParam: string;
196
+ notNull: true;
197
+ hasDefault: false;
198
+ isPrimaryKey: false;
199
+ isAutoincrement: false;
200
+ hasRuntimeDefault: false;
201
+ enumValues: undefined;
202
+ baseColumn: never;
203
+ identity: undefined;
204
+ generated: undefined;
205
+ }, {}, {}>;
206
+ close: import("drizzle-orm/pg-core").PgColumn<{
207
+ name: "close";
208
+ tableName: "market_data_kline_1m";
209
+ dataType: "string";
210
+ columnType: "PgNumeric";
211
+ data: string;
212
+ driverParam: string;
213
+ notNull: true;
214
+ hasDefault: false;
215
+ isPrimaryKey: false;
216
+ isAutoincrement: false;
217
+ hasRuntimeDefault: false;
218
+ enumValues: undefined;
219
+ baseColumn: never;
220
+ identity: undefined;
221
+ generated: undefined;
222
+ }, {}, {}>;
223
+ tickCount: import("drizzle-orm/pg-core").PgColumn<{
224
+ name: "tick_count";
225
+ tableName: "market_data_kline_1m";
226
+ dataType: "number";
227
+ columnType: "PgInteger";
228
+ data: number;
229
+ driverParam: string | number;
230
+ notNull: true;
231
+ hasDefault: true;
232
+ isPrimaryKey: false;
233
+ isAutoincrement: false;
234
+ hasRuntimeDefault: false;
235
+ enumValues: undefined;
236
+ baseColumn: never;
237
+ identity: undefined;
238
+ generated: undefined;
239
+ }, {}, {}>;
240
+ volume: import("drizzle-orm/pg-core").PgColumn<{
241
+ name: "volume";
242
+ tableName: "market_data_kline_1m";
243
+ dataType: "string";
244
+ columnType: "PgNumeric";
245
+ data: string;
246
+ driverParam: string;
247
+ notNull: true;
248
+ hasDefault: true;
249
+ isPrimaryKey: false;
250
+ isAutoincrement: false;
251
+ hasRuntimeDefault: false;
252
+ enumValues: undefined;
253
+ baseColumn: never;
254
+ identity: undefined;
255
+ generated: undefined;
256
+ }, {}, {}>;
257
+ }, undefined>;
258
+ export type MarketDataKline1mSelectSchemaType = typeof marketDataKline1mSelectSchema.static;
259
+ export declare const marketDataKline1mInsertSchema: import("drizzle-typebox").BuildSchema<"insert", {
260
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
261
+ name: "created_at";
262
+ tableName: "market_data_kline_1m";
263
+ dataType: "date";
264
+ columnType: "PgTimestamp";
265
+ data: Date;
266
+ driverParam: string;
267
+ notNull: true;
268
+ hasDefault: true;
269
+ isPrimaryKey: false;
270
+ isAutoincrement: false;
271
+ hasRuntimeDefault: false;
272
+ enumValues: undefined;
273
+ baseColumn: never;
274
+ identity: undefined;
275
+ generated: undefined;
276
+ }, {}, {}>;
277
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
278
+ name: "updated_at";
279
+ tableName: "market_data_kline_1m";
280
+ dataType: "date";
281
+ columnType: "PgTimestamp";
282
+ data: Date;
283
+ driverParam: string;
284
+ notNull: true;
285
+ hasDefault: true;
286
+ isPrimaryKey: false;
287
+ isAutoincrement: false;
288
+ hasRuntimeDefault: false;
289
+ enumValues: undefined;
290
+ baseColumn: never;
291
+ identity: undefined;
292
+ generated: undefined;
293
+ }, {}, {}>;
294
+ id: import("drizzle-orm/pg-core").PgColumn<{
295
+ name: "id";
296
+ tableName: "market_data_kline_1m";
297
+ dataType: "string";
298
+ columnType: "PgUUID";
299
+ data: string;
300
+ driverParam: string;
301
+ notNull: true;
302
+ hasDefault: true;
303
+ isPrimaryKey: true;
304
+ isAutoincrement: false;
305
+ hasRuntimeDefault: false;
306
+ enumValues: undefined;
307
+ baseColumn: never;
308
+ identity: undefined;
309
+ generated: undefined;
310
+ }, {}, {}>;
311
+ baseAssetId: import("drizzle-orm/pg-core").PgColumn<{
312
+ name: "base_asset_id";
313
+ tableName: "market_data_kline_1m";
314
+ dataType: "string";
315
+ columnType: "PgUUID";
316
+ data: string;
317
+ driverParam: string;
318
+ notNull: true;
319
+ hasDefault: false;
320
+ isPrimaryKey: false;
321
+ isAutoincrement: false;
322
+ hasRuntimeDefault: false;
323
+ enumValues: undefined;
324
+ baseColumn: never;
325
+ identity: undefined;
326
+ generated: undefined;
327
+ }, {}, {}>;
328
+ baseAsset: import("drizzle-orm/pg-core").PgColumn<{
329
+ name: "base_asset";
330
+ tableName: "market_data_kline_1m";
331
+ dataType: "string";
332
+ columnType: "PgText";
333
+ data: string;
334
+ driverParam: string;
335
+ notNull: true;
336
+ hasDefault: false;
337
+ isPrimaryKey: false;
338
+ isAutoincrement: false;
339
+ hasRuntimeDefault: false;
340
+ enumValues: [string, ...string[]];
341
+ baseColumn: never;
342
+ identity: undefined;
343
+ generated: undefined;
344
+ }, {}, {}>;
345
+ quoteAssetId: import("drizzle-orm/pg-core").PgColumn<{
346
+ name: "quote_asset_id";
347
+ tableName: "market_data_kline_1m";
348
+ dataType: "string";
349
+ columnType: "PgUUID";
350
+ data: string;
351
+ driverParam: string;
352
+ notNull: true;
353
+ hasDefault: false;
354
+ isPrimaryKey: false;
355
+ isAutoincrement: false;
356
+ hasRuntimeDefault: false;
357
+ enumValues: undefined;
358
+ baseColumn: never;
359
+ identity: undefined;
360
+ generated: undefined;
361
+ }, {}, {}>;
362
+ quoteAsset: import("drizzle-orm/pg-core").PgColumn<{
363
+ name: "quote_asset";
364
+ tableName: "market_data_kline_1m";
365
+ dataType: "string";
366
+ columnType: "PgText";
367
+ data: string;
368
+ driverParam: string;
369
+ notNull: true;
370
+ hasDefault: false;
371
+ isPrimaryKey: false;
372
+ isAutoincrement: false;
373
+ hasRuntimeDefault: false;
374
+ enumValues: [string, ...string[]];
375
+ baseColumn: never;
376
+ identity: undefined;
377
+ generated: undefined;
378
+ }, {}, {}>;
379
+ source: import("drizzle-orm/pg-core").PgColumn<{
380
+ name: "source";
381
+ tableName: "market_data_kline_1m";
382
+ dataType: "string";
383
+ columnType: "PgText";
384
+ data: string;
385
+ driverParam: string;
386
+ notNull: true;
387
+ hasDefault: false;
388
+ isPrimaryKey: false;
389
+ isAutoincrement: false;
390
+ hasRuntimeDefault: false;
391
+ enumValues: [string, ...string[]];
392
+ baseColumn: never;
393
+ identity: undefined;
394
+ generated: undefined;
395
+ }, {}, {}>;
396
+ bucketAt: import("drizzle-orm/pg-core").PgColumn<{
397
+ name: "bucket_at";
398
+ tableName: "market_data_kline_1m";
399
+ dataType: "date";
400
+ columnType: "PgTimestamp";
401
+ data: Date;
402
+ driverParam: string;
403
+ notNull: true;
404
+ hasDefault: false;
405
+ isPrimaryKey: false;
406
+ isAutoincrement: false;
407
+ hasRuntimeDefault: false;
408
+ enumValues: undefined;
409
+ baseColumn: never;
410
+ identity: undefined;
411
+ generated: undefined;
412
+ }, {}, {}>;
413
+ open: import("drizzle-orm/pg-core").PgColumn<{
414
+ name: "open";
415
+ tableName: "market_data_kline_1m";
416
+ dataType: "string";
417
+ columnType: "PgNumeric";
418
+ data: string;
419
+ driverParam: string;
420
+ notNull: true;
421
+ hasDefault: false;
422
+ isPrimaryKey: false;
423
+ isAutoincrement: false;
424
+ hasRuntimeDefault: false;
425
+ enumValues: undefined;
426
+ baseColumn: never;
427
+ identity: undefined;
428
+ generated: undefined;
429
+ }, {}, {}>;
430
+ high: import("drizzle-orm/pg-core").PgColumn<{
431
+ name: "high";
432
+ tableName: "market_data_kline_1m";
433
+ dataType: "string";
434
+ columnType: "PgNumeric";
435
+ data: string;
436
+ driverParam: string;
437
+ notNull: true;
438
+ hasDefault: false;
439
+ isPrimaryKey: false;
440
+ isAutoincrement: false;
441
+ hasRuntimeDefault: false;
442
+ enumValues: undefined;
443
+ baseColumn: never;
444
+ identity: undefined;
445
+ generated: undefined;
446
+ }, {}, {}>;
447
+ low: import("drizzle-orm/pg-core").PgColumn<{
448
+ name: "low";
449
+ tableName: "market_data_kline_1m";
450
+ dataType: "string";
451
+ columnType: "PgNumeric";
452
+ data: string;
453
+ driverParam: string;
454
+ notNull: true;
455
+ hasDefault: false;
456
+ isPrimaryKey: false;
457
+ isAutoincrement: false;
458
+ hasRuntimeDefault: false;
459
+ enumValues: undefined;
460
+ baseColumn: never;
461
+ identity: undefined;
462
+ generated: undefined;
463
+ }, {}, {}>;
464
+ close: import("drizzle-orm/pg-core").PgColumn<{
465
+ name: "close";
466
+ tableName: "market_data_kline_1m";
467
+ dataType: "string";
468
+ columnType: "PgNumeric";
469
+ data: string;
470
+ driverParam: string;
471
+ notNull: true;
472
+ hasDefault: false;
473
+ isPrimaryKey: false;
474
+ isAutoincrement: false;
475
+ hasRuntimeDefault: false;
476
+ enumValues: undefined;
477
+ baseColumn: never;
478
+ identity: undefined;
479
+ generated: undefined;
480
+ }, {}, {}>;
481
+ tickCount: import("drizzle-orm/pg-core").PgColumn<{
482
+ name: "tick_count";
483
+ tableName: "market_data_kline_1m";
484
+ dataType: "number";
485
+ columnType: "PgInteger";
486
+ data: number;
487
+ driverParam: string | number;
488
+ notNull: true;
489
+ hasDefault: true;
490
+ isPrimaryKey: false;
491
+ isAutoincrement: false;
492
+ hasRuntimeDefault: false;
493
+ enumValues: undefined;
494
+ baseColumn: never;
495
+ identity: undefined;
496
+ generated: undefined;
497
+ }, {}, {}>;
498
+ volume: import("drizzle-orm/pg-core").PgColumn<{
499
+ name: "volume";
500
+ tableName: "market_data_kline_1m";
501
+ dataType: "string";
502
+ columnType: "PgNumeric";
503
+ data: string;
504
+ driverParam: string;
505
+ notNull: true;
506
+ hasDefault: true;
507
+ isPrimaryKey: false;
508
+ isAutoincrement: false;
509
+ hasRuntimeDefault: false;
510
+ enumValues: undefined;
511
+ baseColumn: never;
512
+ identity: undefined;
513
+ generated: undefined;
514
+ }, {}, {}>;
515
+ }, undefined>;
516
+ export type MarketDataKline1mInsertSchemaType = typeof marketDataKline1mInsertSchema.static;
@@ -0,0 +1,12 @@
1
+ export * from "./locales/zh";
2
+ export declare const MarketDataErrorCodes: {
3
+ readonly MARKET_DATA_ASSET_NOT_FOUND: "MARKET_DATA_ASSET_NOT_FOUND";
4
+ readonly MARKET_DATA_PAIR_INVALID: "MARKET_DATA_PAIR_INVALID";
5
+ readonly MARKET_DATA_KLINE_TIME_RANGE_INVALID: "MARKET_DATA_KLINE_TIME_RANGE_INVALID";
6
+ };
7
+ type MarketDataErrorCodesType = typeof MarketDataErrorCodes;
8
+ export type MarketDataErrorCode = keyof MarketDataErrorCodesType;
9
+ declare module "../../error/errorcode" {
10
+ interface ErrorCodeRegistry extends MarketDataErrorCodesType {
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ export declare const zh: {
2
+ MARKET_DATA_ASSET_NOT_FOUND: string;
3
+ MARKET_DATA_PAIR_INVALID: string;
4
+ MARKET_DATA_KLINE_TIME_RANGE_INVALID: string;
5
+ };
6
+ type ZHType = typeof zh;
7
+ declare module "../../../error/messages" {
8
+ interface ErrorMessageRegistry extends ZHType {
9
+ }
10
+ }
11
+ export {};
@@ -0,0 +1,8 @@
1
+ export * from "./admin/service";
2
+ export * from "./db.schemas";
3
+ export * from "./errors";
4
+ export * from "./internal/service";
5
+ export * from "./permissions";
6
+ export * from "./schema";
7
+ export { marketDataRouter } from "./user/router";
8
+ export * from "./user/service";
@@ -0,0 +1,77 @@
1
+ import { assetPrice } from "../../asset-price/schema";
2
+ interface PairAsset {
3
+ id: string;
4
+ code: string;
5
+ }
6
+ export declare abstract class BaseMarketDataService {
7
+ protected static normalizeMinuteBucket(date: Date): Date;
8
+ protected static getNextMinute(date: Date): Date;
9
+ protected static getPairByCode(baseAsset: string, quoteAsset: string): Promise<{
10
+ base: PairAsset;
11
+ quote: PairAsset;
12
+ }>;
13
+ protected static assertKlineTimeRange(startDate?: Date, endDate?: Date): void;
14
+ protected static buildKlineByTicks(ticks: Array<typeof assetPrice.$inferSelect>): {
15
+ open: string;
16
+ high: string;
17
+ low: string;
18
+ close: string;
19
+ tickCount: number;
20
+ } | null;
21
+ }
22
+ export declare abstract class InternalMarketDataService extends BaseMarketDataService {
23
+ static getLatestTicker(baseAsset: string, quoteAsset: string, source?: string): Promise<{
24
+ baseAssetId: string;
25
+ baseAsset: string;
26
+ quoteAssetId: string;
27
+ quoteAsset: string;
28
+ source: string;
29
+ latestPrice: string;
30
+ effectiveAt: Date;
31
+ }>;
32
+ static listKline1mByCode(baseAsset: string, quoteAsset: string, query?: {
33
+ source?: string;
34
+ startDate?: Date;
35
+ endDate?: Date;
36
+ limit?: number;
37
+ }): Promise<{
38
+ id: string;
39
+ createdAt: Date;
40
+ updatedAt: Date;
41
+ baseAssetId: string;
42
+ baseAsset: string;
43
+ quoteAssetId: string;
44
+ quoteAsset: string;
45
+ source: string;
46
+ low: string;
47
+ high: string;
48
+ bucketAt: Date;
49
+ open: string;
50
+ close: string;
51
+ tickCount: number;
52
+ volume: string;
53
+ }[]>;
54
+ static aggregateMinuteKlineByPairIds(baseAssetId: string, quoteAssetId: string, source: string, bucketAt: Date): Promise<{
55
+ id: string;
56
+ createdAt: Date;
57
+ updatedAt: Date;
58
+ baseAssetId: string;
59
+ baseAsset: string;
60
+ quoteAssetId: string;
61
+ quoteAsset: string;
62
+ source: string;
63
+ low: string;
64
+ high: string;
65
+ bucketAt: Date;
66
+ open: string;
67
+ close: string;
68
+ tickCount: number;
69
+ volume: string;
70
+ } | null>;
71
+ static runAggregateForEnabledPricingStrategies(runAt?: Date): Promise<{
72
+ successCount: number;
73
+ failedPairs: string[];
74
+ bucketAt: Date;
75
+ }>;
76
+ }
77
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const marketDataPermissions: {
2
+ readonly "market_data:ticker": readonly ["read", "latest"];
3
+ readonly "market_data:kline": readonly ["read", "list"];
4
+ readonly "market_data:admin": readonly ["read", "list", "run"];
5
+ };
6
+ export type MarketDataPermission = keyof typeof marketDataPermissions;