@r2wa-org/eden 0.0.56 → 0.0.59

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 (151) hide show
  1. package/dist/src/admin/admin/dto.schemas.d.ts +3 -54
  2. package/dist/src/admin/admin/router.d.ts +10 -12
  3. package/dist/src/admin/admin/service.d.ts +0 -2
  4. package/dist/src/admin/index.d.ts +1043 -54
  5. package/dist/src/asset/admin/dto.schemas.d.ts +49 -26
  6. package/dist/src/asset/admin/router.d.ts +123 -20
  7. package/dist/src/asset/admin/service.d.ts +52 -4
  8. package/dist/src/asset/user/dto.schemas.d.ts +16 -98
  9. package/dist/src/asset/user/router.d.ts +69 -75
  10. package/dist/src/asset/user/service.d.ts +42 -42
  11. package/dist/src/asset-convert-product/admin/dto.schemas.d.ts +459 -566
  12. package/dist/src/asset-convert-product/admin/router.d.ts +564 -22
  13. package/dist/src/asset-convert-product/admin/service.d.ts +419 -12
  14. package/dist/src/asset-convert-product/errors/index.d.ts +7 -0
  15. package/dist/src/asset-convert-product/errors/locales/zh.d.ts +7 -0
  16. package/dist/src/asset-convert-product/permissions.d.ts +2 -2
  17. package/dist/src/asset-convert-product/user/router.d.ts +8 -8
  18. package/dist/src/asset-price/admin/dto.schemas.d.ts +99 -352
  19. package/dist/src/asset-price/admin/router.d.ts +125 -10
  20. package/dist/src/asset-price/admin/service.d.ts +157 -0
  21. package/dist/src/asset-price/errors/index.d.ts +3 -0
  22. package/dist/src/asset-price/errors/locales/zh.d.ts +3 -0
  23. package/dist/src/asset-price/internal/service.d.ts +1 -0
  24. package/dist/src/asset-price/user/dto.schemas.d.ts +7 -3
  25. package/dist/src/asset-price/user/router.d.ts +51 -10
  26. package/dist/src/asset-price/user/service.d.ts +13 -1
  27. package/dist/src/asset-type/admin/dto.schemas.d.ts +291 -33
  28. package/dist/src/asset-type/admin/router.d.ts +60 -18
  29. package/dist/src/asset-type/admin/service.d.ts +16 -6
  30. package/dist/src/asset-type/db.schemas.d.ts +6 -6
  31. package/dist/src/asset-type/errors/index.d.ts +6 -0
  32. package/dist/src/asset-type/errors/locales/zh.d.ts +3 -0
  33. package/dist/src/asset-type/internal/service.d.ts +4 -4
  34. package/dist/src/asset-type/permissions.d.ts +1 -1
  35. package/dist/src/asset-type/schema.d.ts +3 -5
  36. package/dist/src/asset-type/user/dto.schemas.d.ts +3 -15
  37. package/dist/src/asset-type/user/router.d.ts +10 -10
  38. package/dist/src/asset-type/user/service.d.ts +1 -1
  39. package/dist/src/auth/better-auth.d.ts +706 -451
  40. package/dist/src/auth/db.schemas.d.ts +27 -407
  41. package/dist/src/auth/permissions.d.ts +20 -20
  42. package/dist/src/auth/roles.d.ts +60 -60
  43. package/dist/src/auth/router.d.ts +6 -6
  44. package/dist/src/auth/schema.d.ts +8 -206
  45. package/dist/src/bank-account/admin/router.d.ts +10 -10
  46. package/dist/src/bank-account/user/router.d.ts +6 -6
  47. package/dist/src/check-in/admin/dto.schemas.d.ts +1 -18
  48. package/dist/src/check-in/admin/router.d.ts +10 -11
  49. package/dist/src/check-in/admin/service.d.ts +0 -1
  50. package/dist/src/check-in/internal/service.d.ts +0 -1
  51. package/dist/src/check-in/user/dto.schemas.d.ts +1 -18
  52. package/dist/src/check-in/user/router.d.ts +8 -9
  53. package/dist/src/check-in/user/service.d.ts +0 -1
  54. package/dist/src/deposit/admin/dto.schemas.d.ts +8 -42
  55. package/dist/src/deposit/admin/router.d.ts +10 -11
  56. package/dist/src/deposit/admin/service.d.ts +0 -2
  57. package/dist/src/deposit/user/dto.schemas.d.ts +8 -42
  58. package/dist/src/deposit/user/router.d.ts +8 -9
  59. package/dist/src/deposit/user/service.d.ts +0 -2
  60. package/dist/src/dynamic-env/admin.router.d.ts +10 -10
  61. package/dist/src/env/server.d.ts +1 -1
  62. package/dist/src/file-storage/admin/router.d.ts +10 -10
  63. package/dist/src/file-storage/share/router.d.ts +8 -8
  64. package/dist/src/file-storage/user/router.d.ts +8 -8
  65. package/dist/src/index.d.ts +1578 -352
  66. package/dist/src/ledger/admin/router.d.ts +10 -10
  67. package/dist/src/ledger/user/router.d.ts +8 -8
  68. package/dist/src/ledger-account/admin/dto.schemas.d.ts +2 -2
  69. package/dist/src/ledger-account/admin/router.d.ts +11 -11
  70. package/dist/src/ledger-account/user/dto.schemas.d.ts +39 -193
  71. package/dist/src/ledger-account/user/router.d.ts +51 -50
  72. package/dist/src/ledger-account/user/service.d.ts +41 -41
  73. package/dist/src/ledger-account-import/admin/router.d.ts +10 -10
  74. package/dist/src/ledger-account-transfer/user/router.d.ts +8 -8
  75. package/dist/src/ledger-account-type/admin/router.d.ts +10 -10
  76. package/dist/src/ledger-account-type/user/router.d.ts +56 -8
  77. package/dist/src/ledger-account-type/user/service.d.ts +25 -0
  78. package/dist/src/market-data/admin/router.d.ts +10 -10
  79. package/dist/src/market-data/user/router.d.ts +8 -8
  80. package/dist/src/market-pricing/admin/router.d.ts +10 -10
  81. package/dist/src/news/admin/dto.schemas.d.ts +6 -6
  82. package/dist/src/news/admin/router.d.ts +10 -10
  83. package/dist/src/news/user/dto.schemas.d.ts +12 -12
  84. package/dist/src/news/user/router.d.ts +8 -8
  85. package/dist/src/news-category/user/router.d.ts +6 -6
  86. package/dist/src/notification/admin/dto.schemas.d.ts +3 -3
  87. package/dist/src/notification/admin/router.d.ts +10 -10
  88. package/dist/src/notification/user/dto.schemas.d.ts +2 -2
  89. package/dist/src/notification/user/router.d.ts +8 -8
  90. package/dist/src/portfolio/index.d.ts +2 -0
  91. package/dist/src/portfolio/internal/index.d.ts +1 -0
  92. package/dist/src/portfolio/internal/service.d.ts +5 -0
  93. package/dist/src/portfolio/user/dto.schemas.d.ts +352 -0
  94. package/dist/src/portfolio/user/index.d.ts +3 -0
  95. package/dist/src/portfolio/user/router.d.ts +659 -0
  96. package/dist/src/portfolio/user/service.d.ts +143 -0
  97. package/dist/src/receipt-method/admin/router.d.ts +10 -10
  98. package/dist/src/receipt-method/user/router.d.ts +6 -6
  99. package/dist/src/referral/admin/dto.schemas.d.ts +2 -36
  100. package/dist/src/referral/admin/router.d.ts +10 -11
  101. package/dist/src/referral/user/dto.schemas.d.ts +2 -36
  102. package/dist/src/referral/user/router.d.ts +8 -9
  103. package/dist/src/referral-depth-config/admin/router.d.ts +10 -10
  104. package/dist/src/server-test/index.d.ts +6 -6
  105. package/dist/src/shipping-address/admin/router.d.ts +10 -10
  106. package/dist/src/shipping-address/user/router.d.ts +6 -6
  107. package/dist/src/team/admin/dto.schemas.d.ts +2 -36
  108. package/dist/src/team/admin/router.d.ts +10 -11
  109. package/dist/src/team/user/dto.schemas.d.ts +5 -90
  110. package/dist/src/team/user/router.d.ts +8 -11
  111. package/dist/src/trade-market/admin/dto.schemas.d.ts +1 -1
  112. package/dist/src/trade-market/admin/router.d.ts +10 -10
  113. package/dist/src/trade-market/user/router.d.ts +8 -8
  114. package/dist/src/transfer/admin/router.d.ts +10 -10
  115. package/dist/src/transfer/admin/service.d.ts +0 -2
  116. package/dist/src/transfer/user/router.d.ts +8 -8
  117. package/dist/src/transfer/user/service.d.ts +0 -2
  118. package/dist/src/user/admin/dto.schemas.d.ts +1 -21
  119. package/dist/src/user/admin/router.d.ts +10 -15
  120. package/dist/src/user/admin/service.d.ts +0 -4
  121. package/dist/src/user/user/router.d.ts +6 -8
  122. package/dist/src/user/user/service.d.ts +0 -2
  123. package/dist/src/user-kyc/admin/dto.schemas.d.ts +1 -1
  124. package/dist/src/user-kyc/admin/router.d.ts +10 -10
  125. package/dist/src/user-kyc/user/router.d.ts +8 -8
  126. package/dist/src/user-security/admin/router.d.ts +10 -10
  127. package/dist/src/user-security/user/router.d.ts +8 -8
  128. package/dist/src/wallet/admin/dto.schemas.d.ts +35 -3
  129. package/dist/src/wallet/admin/router.d.ts +75 -10
  130. package/dist/src/wallet/admin/service.d.ts +46 -8
  131. package/dist/src/wallet/internal/service.d.ts +118 -14
  132. package/dist/src/wallet/user/dto.schemas.d.ts +6 -66
  133. package/dist/src/wallet/user/router.d.ts +9 -69
  134. package/dist/src/wallet/user/service.d.ts +20 -46
  135. package/dist/src/wallet-type/admin/dto.schemas.d.ts +4 -0
  136. package/dist/src/wallet-type/admin/router.d.ts +143 -10
  137. package/dist/src/wallet-type/admin/service.d.ts +51 -0
  138. package/dist/src/wallet-type/errors/index.d.ts +4 -0
  139. package/dist/src/wallet-type/errors/locales/zh.d.ts +4 -0
  140. package/dist/src/wallet-type/internal/service.d.ts +37 -0
  141. package/dist/src/wallet-type/user/router.d.ts +8 -8
  142. package/dist/src/welfare-cycle/admin/dto.schemas.d.ts +3 -3
  143. package/dist/src/welfare-cycle/admin/router.d.ts +10 -10
  144. package/dist/src/welfare-cycle/user/dto.schemas.d.ts +1 -0
  145. package/dist/src/welfare-cycle/user/router.d.ts +51 -56
  146. package/dist/src/welfare-cycle/user/service.d.ts +1 -1
  147. package/dist/src/withdraw/admin/router.d.ts +10 -10
  148. package/dist/src/withdraw/user/dto.schemas.d.ts +7 -0
  149. package/dist/src/withdraw/user/router.d.ts +55 -8
  150. package/dist/src/withdraw/user/service.d.ts +20 -1
  151. package/package.json +1 -1
@@ -41,7 +41,7 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
41
41
  route: string;
42
42
  request: Request;
43
43
  store: {};
44
- status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 400 | 422 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
44
+ status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 422 | 400 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
45
45
  readonly 100: "Continue";
46
46
  readonly 101: "Switching Protocols";
47
47
  readonly 102: "Processing";
@@ -175,11 +175,11 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
175
175
  emailVerified: boolean;
176
176
  name: string;
177
177
  image?: string | null | undefined | undefined;
178
- phoneNumber?: string | null | undefined;
179
- phoneNumberVerified?: boolean | null | undefined;
180
178
  twoFactorEnabled: boolean | null | undefined;
181
179
  username?: string | null | undefined;
182
180
  displayUsername?: string | null | undefined;
181
+ phoneNumber?: string | null | undefined;
182
+ phoneNumberVerified?: boolean | null | undefined;
183
183
  banned: boolean | null | undefined;
184
184
  role?: string | null | undefined;
185
185
  banReason?: string | null | undefined;
@@ -217,7 +217,7 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
217
217
  route: string;
218
218
  request: Request;
219
219
  store: {};
220
- status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 400 | 422 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
220
+ status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 422 | 400 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
221
221
  readonly 100: "Continue";
222
222
  readonly 101: "Switching Protocols";
223
223
  readonly 102: "Processing";
@@ -351,11 +351,11 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
351
351
  emailVerified: boolean;
352
352
  name: string;
353
353
  image?: string | null | undefined | undefined;
354
- phoneNumber?: string | null | undefined;
355
- phoneNumberVerified?: boolean | null | undefined;
356
354
  twoFactorEnabled: boolean | null | undefined;
357
355
  username?: string | null | undefined;
358
356
  displayUsername?: string | null | undefined;
357
+ phoneNumber?: string | null | undefined;
358
+ phoneNumberVerified?: boolean | null | undefined;
359
359
  banned: boolean | null | undefined;
360
360
  role?: string | null | undefined;
361
361
  banReason?: string | null | undefined;
@@ -385,7 +385,10 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
385
385
  body: {};
386
386
  params: {};
387
387
  query: {
388
+ id?: string | undefined;
389
+ baseAssetId?: string | undefined;
388
390
  baseAsset?: string | undefined;
391
+ quoteAssetId?: string | undefined;
389
392
  quoteAsset?: string | undefined;
390
393
  source?: string | undefined;
391
394
  startDate?: Date | undefined;
@@ -393,6 +396,8 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
393
396
  offset?: number | undefined;
394
397
  pageSize?: number | undefined;
395
398
  pageIndex?: number | undefined;
399
+ createdAtStart?: Date | undefined;
400
+ createdAtEnd?: Date | undefined;
396
401
  endDate?: Date | undefined;
397
402
  };
398
403
  headers: {};
@@ -409,6 +414,24 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
409
414
  price: string;
410
415
  source: string;
411
416
  effectiveAt: Date;
417
+ quoteAssetInfo: {
418
+ symbol: string;
419
+ id: string;
420
+ name: string;
421
+ code: string;
422
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
423
+ isActive: boolean;
424
+ precision: number;
425
+ };
426
+ baseAssetInfo: {
427
+ symbol: string;
428
+ id: string;
429
+ name: string;
430
+ code: string;
431
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
432
+ isActive: boolean;
433
+ precision: number;
434
+ };
412
435
  }[];
413
436
  pagination: {
414
437
  total: number;
@@ -457,6 +480,24 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
457
480
  price: string;
458
481
  source: string;
459
482
  effectiveAt: Date;
483
+ quoteAssetInfo: {
484
+ symbol: string;
485
+ id: string;
486
+ name: string;
487
+ code: string;
488
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
489
+ isActive: boolean;
490
+ precision: number;
491
+ };
492
+ baseAssetInfo: {
493
+ symbol: string;
494
+ id: string;
495
+ name: string;
496
+ code: string;
497
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
498
+ isActive: boolean;
499
+ precision: number;
500
+ };
460
501
  };
461
502
  422: {
462
503
  type: "validation";
@@ -475,6 +516,62 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
475
516
  };
476
517
  };
477
518
  };
519
+ } & {
520
+ asset_prices: {
521
+ ":id": {
522
+ get: {
523
+ body: {};
524
+ params: {
525
+ id: string;
526
+ };
527
+ query: {};
528
+ headers: {};
529
+ response: {
530
+ 200: {
531
+ id: string;
532
+ createdAt: Date;
533
+ updatedAt: Date;
534
+ baseAssetId: string;
535
+ baseAsset: string;
536
+ quoteAssetId: string;
537
+ quoteAsset: string;
538
+ price: string;
539
+ source: string;
540
+ effectiveAt: Date;
541
+ quoteAssetInfo: {
542
+ symbol: string;
543
+ id: string;
544
+ name: string;
545
+ code: string;
546
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
547
+ isActive: boolean;
548
+ precision: number;
549
+ };
550
+ baseAssetInfo: {
551
+ symbol: string;
552
+ id: string;
553
+ name: string;
554
+ code: string;
555
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
556
+ isActive: boolean;
557
+ precision: number;
558
+ };
559
+ };
560
+ 422: {
561
+ type: "validation";
562
+ on: string;
563
+ summary?: string;
564
+ message?: string;
565
+ found?: unknown;
566
+ property?: string;
567
+ expected?: string;
568
+ };
569
+ 401: "Unauthorized";
570
+ 403: "Forbidden: Admins only";
571
+ };
572
+ };
573
+ };
574
+ };
478
575
  } & {
479
576
  asset_prices: {
480
577
  post: {
@@ -500,6 +597,24 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
500
597
  price: string;
501
598
  source: string;
502
599
  effectiveAt: Date;
600
+ quoteAssetInfo: {
601
+ symbol: string;
602
+ id: string;
603
+ name: string;
604
+ code: string;
605
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
606
+ isActive: boolean;
607
+ precision: number;
608
+ };
609
+ baseAssetInfo: {
610
+ symbol: string;
611
+ id: string;
612
+ name: string;
613
+ code: string;
614
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
615
+ isActive: boolean;
616
+ precision: number;
617
+ };
503
618
  };
504
619
  422: {
505
620
  type: "validation";
@@ -532,11 +647,11 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
532
647
  emailVerified: boolean;
533
648
  name: string;
534
649
  image?: string | null | undefined | undefined;
535
- phoneNumber?: string | null | undefined;
536
- phoneNumberVerified?: boolean | null | undefined;
537
650
  twoFactorEnabled: boolean | null | undefined;
538
651
  username?: string | null | undefined;
539
652
  displayUsername?: string | null | undefined;
653
+ phoneNumber?: string | null | undefined;
654
+ phoneNumberVerified?: boolean | null | undefined;
540
655
  banned: boolean | null | undefined;
541
656
  role?: string | null | undefined;
542
657
  banReason?: string | null | undefined;
@@ -562,11 +677,11 @@ export declare const assetPriceAdminRouter: Elysia<"/asset_prices", {
562
677
  emailVerified: boolean;
563
678
  name: string;
564
679
  image?: string | null | undefined | undefined;
565
- phoneNumber?: string | null | undefined;
566
- phoneNumberVerified?: boolean | null | undefined;
567
680
  twoFactorEnabled: boolean | null | undefined;
568
681
  username?: string | null | undefined;
569
682
  displayUsername?: string | null | undefined;
683
+ phoneNumber?: string | null | undefined;
684
+ phoneNumberVerified?: boolean | null | undefined;
570
685
  banned: boolean | null | undefined;
571
686
  role?: string | null | undefined;
572
687
  banReason?: string | null | undefined;
@@ -1,8 +1,27 @@
1
1
  import { InternalAssetPriceService } from "../internal/service";
2
2
  import type { AssetPriceAdminCreateInputType, AssetPriceAdminListQueryType } from "./dto.schemas";
3
3
  export declare abstract class AdminAssetPriceService extends InternalAssetPriceService {
4
+ private static toAdminResponse;
4
5
  static listAssetPrices(query?: AssetPriceAdminListQueryType): Promise<{
5
6
  items: {
7
+ baseAssetInfo: {
8
+ id: string;
9
+ code: string;
10
+ name: string;
11
+ symbol: string;
12
+ precision: number;
13
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
14
+ isActive: boolean;
15
+ };
16
+ quoteAssetInfo: {
17
+ id: string;
18
+ code: string;
19
+ name: string;
20
+ symbol: string;
21
+ precision: number;
22
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
23
+ isActive: boolean;
24
+ };
6
25
  id: string;
7
26
  createdAt: Date;
8
27
  updatedAt: Date;
@@ -13,10 +32,94 @@ export declare abstract class AdminAssetPriceService extends InternalAssetPriceS
13
32
  price: string;
14
33
  source: string;
15
34
  effectiveAt: Date;
35
+ baseAssetEntity: {
36
+ id: string;
37
+ code: string;
38
+ name: string;
39
+ symbol: string;
40
+ precision: number;
41
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
42
+ isActive: boolean;
43
+ } | null;
44
+ quoteAssetEntity: {
45
+ id: string;
46
+ code: string;
47
+ name: string;
48
+ symbol: string;
49
+ precision: number;
50
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
51
+ isActive: boolean;
52
+ } | null;
16
53
  }[];
17
54
  total: number;
18
55
  }>;
56
+ static getAssetPriceById(id: string): Promise<{
57
+ baseAssetInfo: {
58
+ id: string;
59
+ code: string;
60
+ name: string;
61
+ symbol: string;
62
+ precision: number;
63
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
64
+ isActive: boolean;
65
+ };
66
+ quoteAssetInfo: {
67
+ id: string;
68
+ code: string;
69
+ name: string;
70
+ symbol: string;
71
+ precision: number;
72
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
73
+ isActive: boolean;
74
+ };
75
+ id: string;
76
+ createdAt: Date;
77
+ updatedAt: Date;
78
+ baseAssetId: string;
79
+ baseAsset: string;
80
+ quoteAssetId: string;
81
+ quoteAsset: string;
82
+ price: string;
83
+ source: string;
84
+ effectiveAt: Date;
85
+ baseAssetEntity: {
86
+ id: string;
87
+ code: string;
88
+ name: string;
89
+ symbol: string;
90
+ precision: number;
91
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
92
+ isActive: boolean;
93
+ } | null;
94
+ quoteAssetEntity: {
95
+ id: string;
96
+ code: string;
97
+ name: string;
98
+ symbol: string;
99
+ precision: number;
100
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
101
+ isActive: boolean;
102
+ } | null;
103
+ }>;
19
104
  static getLatestAssetPrice(baseAsset: string, quoteAsset: string): Promise<{
105
+ baseAssetInfo: {
106
+ id: string;
107
+ code: string;
108
+ name: string;
109
+ symbol: string;
110
+ precision: number;
111
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
112
+ isActive: boolean;
113
+ };
114
+ quoteAssetInfo: {
115
+ id: string;
116
+ code: string;
117
+ name: string;
118
+ symbol: string;
119
+ precision: number;
120
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
121
+ isActive: boolean;
122
+ };
20
123
  id: string;
21
124
  createdAt: Date;
22
125
  updatedAt: Date;
@@ -27,8 +130,44 @@ export declare abstract class AdminAssetPriceService extends InternalAssetPriceS
27
130
  price: string;
28
131
  source: string;
29
132
  effectiveAt: Date;
133
+ baseAssetEntity: {
134
+ id: string;
135
+ code: string;
136
+ name: string;
137
+ symbol: string;
138
+ precision: number;
139
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
140
+ isActive: boolean;
141
+ } | null;
142
+ quoteAssetEntity: {
143
+ id: string;
144
+ code: string;
145
+ name: string;
146
+ symbol: string;
147
+ precision: number;
148
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
149
+ isActive: boolean;
150
+ } | null;
30
151
  }>;
31
152
  static createAssetPrice(input: AssetPriceAdminCreateInputType): Promise<{
153
+ baseAssetInfo: {
154
+ id: string;
155
+ code: string;
156
+ name: string;
157
+ symbol: string;
158
+ precision: number;
159
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
160
+ isActive: boolean;
161
+ };
162
+ quoteAssetInfo: {
163
+ id: string;
164
+ code: string;
165
+ name: string;
166
+ symbol: string;
167
+ precision: number;
168
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
169
+ isActive: boolean;
170
+ };
32
171
  id: string;
33
172
  createdAt: Date;
34
173
  updatedAt: Date;
@@ -39,5 +178,23 @@ export declare abstract class AdminAssetPriceService extends InternalAssetPriceS
39
178
  price: string;
40
179
  source: string;
41
180
  effectiveAt: Date;
181
+ baseAssetEntity: {
182
+ id: string;
183
+ code: string;
184
+ name: string;
185
+ symbol: string;
186
+ precision: number;
187
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
188
+ isActive: boolean;
189
+ } | null;
190
+ quoteAssetEntity: {
191
+ id: string;
192
+ code: string;
193
+ name: string;
194
+ symbol: string;
195
+ precision: number;
196
+ category: "FIAT" | "CRYPTO" | "POINT" | "RWA";
197
+ isActive: boolean;
198
+ } | null;
42
199
  }>;
43
200
  }
@@ -5,6 +5,9 @@ export declare const AssetPriceErrorCodes: {
5
5
  readonly ASSET_PRICE_ASSET_NOT_FOUND: "ASSET_PRICE_ASSET_NOT_FOUND";
6
6
  readonly ASSET_PRICE_PAIR_INVALID: "ASSET_PRICE_PAIR_INVALID";
7
7
  readonly ASSET_PRICE_VALUE_INVALID: "ASSET_PRICE_VALUE_INVALID";
8
+ readonly ASSET_PRICE_TIME_RANGE_INVALID: "ASSET_PRICE_TIME_RANGE_INVALID";
9
+ readonly ASSET_PRICE_TIME_WINDOW_EXCEEDED: "ASSET_PRICE_TIME_WINDOW_EXCEEDED";
10
+ readonly ASSET_PRICE_POINT_ALREADY_EXISTS: "ASSET_PRICE_POINT_ALREADY_EXISTS";
8
11
  readonly ASSET_PRICE_NOT_FOUND: "ASSET_PRICE_NOT_FOUND";
9
12
  readonly ASSET_PRICE_CREATE_FAILED: "ASSET_PRICE_CREATE_FAILED";
10
13
  };
@@ -4,6 +4,9 @@ export declare const zh: {
4
4
  ASSET_PRICE_ASSET_NOT_FOUND: string;
5
5
  ASSET_PRICE_PAIR_INVALID: string;
6
6
  ASSET_PRICE_VALUE_INVALID: string;
7
+ ASSET_PRICE_TIME_RANGE_INVALID: string;
8
+ ASSET_PRICE_TIME_WINDOW_EXCEEDED: string;
9
+ ASSET_PRICE_POINT_ALREADY_EXISTS: string;
7
10
  ASSET_PRICE_NOT_FOUND: string;
8
11
  ASSET_PRICE_CREATE_FAILED: string;
9
12
  };
@@ -1,5 +1,6 @@
1
1
  import type { AssetPriceAdminCreateInputType, AssetPriceAdminListQueryType } from "../admin/dto.schemas";
2
2
  declare abstract class BaseAssetPriceService {
3
+ protected static isUniqueViolationError(error: unknown): boolean;
3
4
  protected static normalizeBaseAsset(baseAsset: string): string;
4
5
  protected static normalizeQuoteAsset(quoteAsset: string): string;
5
6
  protected static validatePair(baseAsset: string, quoteAsset: string): void;
@@ -179,11 +179,11 @@ export declare const assetPriceUserResponseSchema: import("drizzle-typebox").Bui
179
179
  export type AssetPriceUserResponseType = typeof assetPriceUserResponseSchema.static;
180
180
  export declare const assetPriceUserListQuerySchema: import("@sinclair/typebox").TObject<{
181
181
  limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
182
- offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
183
182
  pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
183
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
184
184
  pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
185
- baseAsset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
186
- quoteAsset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
185
+ baseAsset: import("@sinclair/typebox").TString;
186
+ quoteAsset: import("@sinclair/typebox").TString;
187
187
  source: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
188
188
  startDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TDate>;
189
189
  endDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TDate>;
@@ -194,6 +194,10 @@ export declare const assetPriceUserLatestParamsSchema: import("@sinclair/typebox
194
194
  quoteAsset: import("@sinclair/typebox").TString;
195
195
  }>;
196
196
  export type AssetPriceUserLatestParamsType = typeof assetPriceUserLatestParamsSchema.static;
197
+ export declare const assetPriceUserLatestCnyParamsSchema: import("@sinclair/typebox").TObject<{
198
+ baseAsset: import("@sinclair/typebox").TString;
199
+ }>;
200
+ export type AssetPriceUserLatestCnyParamsType = typeof assetPriceUserLatestCnyParamsSchema.static;
197
201
  export declare const assetPriceUserListResponseSchema: import("@sinclair/typebox").TObject<{
198
202
  data: import("@sinclair/typebox").TArray<import("drizzle-typebox").BuildSchema<"select", {
199
203
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
@@ -41,7 +41,7 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
41
41
  route: string;
42
42
  request: Request;
43
43
  store: {};
44
- status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 400 | 422 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
44
+ status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 422 | 400 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
45
45
  readonly 100: "Continue";
46
46
  readonly 101: "Switching Protocols";
47
47
  readonly 102: "Processing";
@@ -175,11 +175,11 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
175
175
  emailVerified: boolean;
176
176
  name: string;
177
177
  image?: string | null | undefined | undefined;
178
- phoneNumber?: string | null | undefined;
179
- phoneNumberVerified?: boolean | null | undefined;
180
178
  twoFactorEnabled: boolean | null | undefined;
181
179
  username?: string | null | undefined;
182
180
  displayUsername?: string | null | undefined;
181
+ phoneNumber?: string | null | undefined;
182
+ phoneNumberVerified?: boolean | null | undefined;
183
183
  banned: boolean | null | undefined;
184
184
  role?: string | null | undefined;
185
185
  banReason?: string | null | undefined;
@@ -217,7 +217,7 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
217
217
  route: string;
218
218
  request: Request;
219
219
  store: {};
220
- status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 400 | 422 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
220
+ status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 500 | 418 | 200 | 422 | 400 | 101 | 102 | 103 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 | 420 ? {
221
221
  readonly 100: "Continue";
222
222
  readonly 101: "Switching Protocols";
223
223
  readonly 102: "Processing";
@@ -351,11 +351,11 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
351
351
  emailVerified: boolean;
352
352
  name: string;
353
353
  image?: string | null | undefined | undefined;
354
- phoneNumber?: string | null | undefined;
355
- phoneNumberVerified?: boolean | null | undefined;
356
354
  twoFactorEnabled: boolean | null | undefined;
357
355
  username?: string | null | undefined;
358
356
  displayUsername?: string | null | undefined;
357
+ phoneNumber?: string | null | undefined;
358
+ phoneNumberVerified?: boolean | null | undefined;
359
359
  banned: boolean | null | undefined;
360
360
  role?: string | null | undefined;
361
361
  banReason?: string | null | undefined;
@@ -385,8 +385,6 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
385
385
  body: {};
386
386
  params: {};
387
387
  query: {
388
- baseAsset?: string | undefined;
389
- quoteAsset?: string | undefined;
390
388
  source?: string | undefined;
391
389
  startDate?: Date | undefined;
392
390
  limit?: number | undefined;
@@ -394,6 +392,8 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
394
392
  pageSize?: number | undefined;
395
393
  pageIndex?: number | undefined;
396
394
  endDate?: Date | undefined;
395
+ baseAsset: string;
396
+ quoteAsset: string;
397
397
  };
398
398
  headers: {};
399
399
  response: {
@@ -431,6 +431,47 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
431
431
  };
432
432
  };
433
433
  };
434
+ } & {
435
+ asset_prices: {
436
+ latest: {
437
+ cny: {
438
+ ":baseAsset": {
439
+ get: {
440
+ body: {};
441
+ params: {
442
+ baseAsset: string;
443
+ };
444
+ query: {};
445
+ headers: {};
446
+ response: {
447
+ 200: {
448
+ id: string;
449
+ createdAt: Date;
450
+ updatedAt: Date;
451
+ baseAssetId: string;
452
+ baseAsset: string;
453
+ quoteAssetId: string;
454
+ quoteAsset: string;
455
+ price: string;
456
+ source: string;
457
+ effectiveAt: Date;
458
+ };
459
+ 422: {
460
+ type: "validation";
461
+ on: string;
462
+ summary?: string;
463
+ message?: string;
464
+ found?: unknown;
465
+ property?: string;
466
+ expected?: string;
467
+ };
468
+ 401: "Unauthorized";
469
+ };
470
+ };
471
+ };
472
+ };
473
+ };
474
+ };
434
475
  } & {
435
476
  asset_prices: {
436
477
  latest: {
@@ -490,11 +531,11 @@ export declare const assetPriceRouter: Elysia<"/asset_prices", {
490
531
  emailVerified: boolean;
491
532
  name: string;
492
533
  image?: string | null | undefined | undefined;
493
- phoneNumber?: string | null | undefined;
494
- phoneNumberVerified?: boolean | null | undefined;
495
534
  twoFactorEnabled: boolean | null | undefined;
496
535
  username?: string | null | undefined;
497
536
  displayUsername?: string | null | undefined;
537
+ phoneNumber?: string | null | undefined;
538
+ phoneNumberVerified?: boolean | null | undefined;
498
539
  banned: boolean | null | undefined;
499
540
  role?: string | null | undefined;
500
541
  banReason?: string | null | undefined;
@@ -1,7 +1,7 @@
1
1
  import { InternalAssetPriceService } from "../internal/service";
2
2
  import type { AssetPriceUserListQueryType } from "./dto.schemas";
3
3
  export declare abstract class UserAssetPriceService extends InternalAssetPriceService {
4
- static listAssetPrices(query?: AssetPriceUserListQueryType): Promise<{
4
+ static listAssetPrices(query: AssetPriceUserListQueryType): Promise<{
5
5
  items: {
6
6
  id: string;
7
7
  createdAt: Date;
@@ -28,4 +28,16 @@ export declare abstract class UserAssetPriceService extends InternalAssetPriceSe
28
28
  source: string;
29
29
  effectiveAt: Date;
30
30
  }>;
31
+ static getLatestAssetPriceToCny(baseAsset: string): Promise<{
32
+ id: string;
33
+ createdAt: Date;
34
+ updatedAt: Date;
35
+ baseAssetId: string;
36
+ baseAsset: string;
37
+ quoteAssetId: string;
38
+ quoteAsset: string;
39
+ price: string;
40
+ source: string;
41
+ effectiveAt: Date;
42
+ }>;
31
43
  }