@merkl/api 0.10.169 → 0.10.171

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 (61) hide show
  1. package/dist/database/api/.generated/edge.js +6 -3
  2. package/dist/database/api/.generated/index-browser.js +3 -0
  3. package/dist/database/api/.generated/index.d.ts +113 -0
  4. package/dist/database/api/.generated/index.js +6 -3
  5. package/dist/database/api/.generated/package.json +1 -1
  6. package/dist/database/api/.generated/schema.prisma +17 -15
  7. package/dist/database/api/.generated/wasm.js +3 -0
  8. package/dist/src/eden/index.d.ts +147 -45
  9. package/dist/src/index.d.ts +49 -15
  10. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/factoryFinder.js +2 -0
  11. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.d.ts +3 -1
  12. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.js +8 -0
  13. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/PendleYTProcessor.d.ts +29 -0
  14. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/PendleYTProcessor.js +31 -0
  15. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/TempestVaultProcessor.d.ts +3 -1
  16. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/TempestVaultProcessor.js +36 -7
  17. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/processorMapping.js +3 -0
  18. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1RefactoFinal.js +1 -1
  19. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +5 -1
  20. package/dist/src/modules/v4/campaign/campaign.model.d.ts +1 -0
  21. package/dist/src/modules/v4/campaign/campaign.model.js +1 -0
  22. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +2 -0
  23. package/dist/src/modules/v4/campaign/campaign.repository.js +3 -1
  24. package/dist/src/modules/v4/campaign/campaign.service.d.ts +6 -2
  25. package/dist/src/modules/v4/campaign/campaign.service.js +2 -1
  26. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +27 -10
  27. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +2 -1
  28. package/dist/src/modules/v4/opportunity/opportunity.model.js +1 -0
  29. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +26 -4
  30. package/dist/src/modules/v4/opportunity/opportunity.repository.js +2 -0
  31. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +50 -24
  32. package/dist/src/modules/v4/opportunity/opportunity.service.js +2 -1
  33. package/dist/src/modules/v4/price/price.controller.js +1 -1
  34. package/dist/src/modules/v4/price/price.service.d.ts +1 -1
  35. package/dist/src/modules/v4/price/price.service.js +3 -3
  36. package/dist/src/modules/v4/reward/reward.repository.d.ts +4 -0
  37. package/dist/src/modules/v4/reward/reward.service.d.ts +22 -0
  38. package/dist/src/modules/v4/router.d.ts +49 -15
  39. package/dist/src/modules/v4/token/token.controller.d.ts +9 -4
  40. package/dist/src/modules/v4/token/token.model.d.ts +2 -1
  41. package/dist/src/modules/v4/token/token.model.js +1 -0
  42. package/dist/src/modules/v4/token/token.repository.d.ts +13 -1
  43. package/dist/src/modules/v4/token/token.repository.js +2 -0
  44. package/dist/src/modules/v4/token/token.service.d.ts +12 -4
  45. package/dist/src/modules/v4/token/token.service.js +11 -2
  46. package/dist/src/modules/v4/user/user.controller.d.ts +8 -0
  47. package/dist/src/routes/v3/blacklist.d.ts +49 -15
  48. package/dist/src/routes/v3/campaigns.d.ts +49 -15
  49. package/dist/src/routes/v3/campaignsInfo.d.ts +49 -15
  50. package/dist/src/routes/v3/multiChainPositions.d.ts +49 -15
  51. package/dist/src/routes/v3/opportunity.d.ts +49 -15
  52. package/dist/src/routes/v3/positions.d.ts +49 -15
  53. package/dist/src/routes/v3/rewards.d.ts +49 -15
  54. package/dist/src/routes/v3/updates.d.ts +49 -15
  55. package/dist/src/routes/v3/userRewards.d.ts +49 -15
  56. package/dist/src/utils/decodeCalls.js +4 -1
  57. package/dist/src/utils/encodeCalls.js +4 -1
  58. package/dist/src/utils/generateCardName.js +2 -0
  59. package/dist/src/utils/prices/services/erc4626Service.js +7 -1
  60. package/dist/tsconfig.package.tsbuildinfo +1 -1
  61. package/package.json +1 -1
@@ -29,7 +29,9 @@ export declare abstract class RewardService {
29
29
  address: string;
30
30
  icon: string;
31
31
  decimals: number;
32
+ displaySymbol: string;
32
33
  verified: boolean;
34
+ isTest: boolean;
33
35
  price: number | null;
34
36
  }[];
35
37
  Protocols: {
@@ -83,7 +85,9 @@ export declare abstract class RewardService {
83
85
  address: string;
84
86
  icon: string;
85
87
  decimals: number;
88
+ displaySymbol: string;
86
89
  verified: boolean;
90
+ isTest: boolean;
87
91
  price: number | null;
88
92
  };
89
93
  breakdowns: {
@@ -102,7 +106,9 @@ export declare abstract class RewardService {
102
106
  address: string;
103
107
  icon: string;
104
108
  decimals: number;
109
+ displaySymbol: string;
105
110
  verified: boolean;
111
+ isTest: boolean;
106
112
  price: number | null;
107
113
  }[];
108
114
  Protocols: {
@@ -159,7 +165,9 @@ export declare abstract class RewardService {
159
165
  address: string;
160
166
  icon: string;
161
167
  decimals: number;
168
+ displaySymbol: string;
162
169
  verified: boolean;
170
+ isTest: boolean;
163
171
  price: number | null;
164
172
  };
165
173
  Breakdown: ({
@@ -179,7 +187,9 @@ export declare abstract class RewardService {
179
187
  address: string;
180
188
  icon: string;
181
189
  decimals: number;
190
+ displaySymbol: string;
182
191
  verified: boolean;
192
+ isTest: boolean;
183
193
  price: number | null;
184
194
  }[];
185
195
  Protocols: {
@@ -265,7 +275,9 @@ export declare abstract class RewardService {
265
275
  address: string;
266
276
  icon: string;
267
277
  decimals: number;
278
+ displaySymbol: string;
268
279
  verified: boolean;
280
+ isTest: boolean;
269
281
  price: number | null;
270
282
  };
271
283
  breakdowns: {
@@ -284,7 +296,9 @@ export declare abstract class RewardService {
284
296
  address: string;
285
297
  icon: string;
286
298
  decimals: number;
299
+ displaySymbol: string;
287
300
  verified: boolean;
301
+ isTest: boolean;
288
302
  price: number | null;
289
303
  }[];
290
304
  Protocols: {
@@ -355,7 +369,9 @@ export declare abstract class RewardService {
355
369
  address: string;
356
370
  icon: string;
357
371
  decimals: number;
372
+ displaySymbol: string;
358
373
  verified: boolean;
374
+ isTest: boolean;
359
375
  price: number | null;
360
376
  };
361
377
  breakdowns: {
@@ -374,7 +390,9 @@ export declare abstract class RewardService {
374
390
  address: string;
375
391
  icon: string;
376
392
  decimals: number;
393
+ displaySymbol: string;
377
394
  verified: boolean;
395
+ isTest: boolean;
378
396
  price: number | null;
379
397
  }[];
380
398
  Protocols: {
@@ -442,7 +460,9 @@ export declare abstract class RewardService {
442
460
  address: string;
443
461
  icon: string;
444
462
  decimals: number;
463
+ displaySymbol: string;
445
464
  verified: boolean;
465
+ isTest: boolean;
446
466
  price: number | null;
447
467
  };
448
468
  Breakdown: ({
@@ -462,7 +482,9 @@ export declare abstract class RewardService {
462
482
  address: string;
463
483
  icon: string;
464
484
  decimals: number;
485
+ displaySymbol: string;
465
486
  verified: boolean;
487
+ isTest: boolean;
466
488
  price: number | null;
467
489
  }[];
468
490
  Protocols: {
@@ -101,14 +101,16 @@ export declare const v4: Elysia<"/v4", false, {
101
101
  address: string;
102
102
  icon: string;
103
103
  decimals: number;
104
+ displaySymbol: string;
104
105
  verified: boolean;
106
+ isTest: boolean;
105
107
  price: number | null;
106
108
  };
107
109
  amount: bigint;
108
110
  }[];
109
111
  };
110
112
  id: string;
111
- tokens: {
113
+ tokens: ({
112
114
  symbol: string;
113
115
  name: string | null;
114
116
  id: string;
@@ -117,8 +119,10 @@ export declare const v4: Elysia<"/v4", false, {
117
119
  icon: string;
118
120
  decimals: number;
119
121
  verified: boolean;
120
- price: number | null;
121
- }[];
122
+ isTest: boolean;
123
+ } & {
124
+ price?: number | null | undefined;
125
+ })[];
122
126
  chain: {
123
127
  name: string;
124
128
  id: number;
@@ -200,14 +204,16 @@ export declare const v4: Elysia<"/v4", false, {
200
204
  address: string;
201
205
  icon: string;
202
206
  decimals: number;
207
+ displaySymbol: string;
203
208
  verified: boolean;
209
+ isTest: boolean;
204
210
  price: number | null;
205
211
  };
206
212
  amount: bigint;
207
213
  }[];
208
214
  };
209
215
  id: string;
210
- tokens: {
216
+ tokens: ({
211
217
  symbol: string;
212
218
  name: string | null;
213
219
  id: string;
@@ -216,8 +222,10 @@ export declare const v4: Elysia<"/v4", false, {
216
222
  icon: string;
217
223
  decimals: number;
218
224
  verified: boolean;
219
- price: number | null;
220
- }[];
225
+ isTest: boolean;
226
+ } & {
227
+ price?: number | null | undefined;
228
+ })[];
221
229
  chain: {
222
230
  name: string;
223
231
  id: number;
@@ -257,7 +265,9 @@ export declare const v4: Elysia<"/v4", false, {
257
265
  icon: string;
258
266
  decimals: number;
259
267
  verified: boolean;
260
- price: number | null;
268
+ isTest: boolean;
269
+ } & {
270
+ price?: number | null | undefined;
261
271
  };
262
272
  distributionChain: {
263
273
  name: string;
@@ -309,6 +319,7 @@ export declare const v4: Elysia<"/v4", false, {
309
319
  action?: string | undefined;
310
320
  mainProtocolId?: string | undefined;
311
321
  order?: undefined;
322
+ test?: boolean | undefined;
312
323
  minimumTvl?: number | undefined;
313
324
  };
314
325
  headers: unknown;
@@ -354,14 +365,16 @@ export declare const v4: Elysia<"/v4", false, {
354
365
  address: string;
355
366
  icon: string;
356
367
  decimals: number;
368
+ displaySymbol: string;
357
369
  verified: boolean;
370
+ isTest: boolean;
358
371
  price: number | null;
359
372
  };
360
373
  amount: bigint;
361
374
  }[];
362
375
  };
363
376
  id: string;
364
- tokens: {
377
+ tokens: ({
365
378
  symbol: string;
366
379
  name: string | null;
367
380
  id: string;
@@ -370,8 +383,10 @@ export declare const v4: Elysia<"/v4", false, {
370
383
  icon: string;
371
384
  decimals: number;
372
385
  verified: boolean;
373
- price: number | null;
374
- }[];
386
+ isTest: boolean;
387
+ } & {
388
+ price?: number | null | undefined;
389
+ })[];
375
390
  chain: {
376
391
  name: string;
377
392
  id: number;
@@ -418,6 +433,7 @@ export declare const v4: Elysia<"/v4", false, {
418
433
  action?: string | undefined;
419
434
  mainProtocolId?: string | undefined;
420
435
  order?: undefined;
436
+ test?: boolean | undefined;
421
437
  minimumTvl?: number | undefined;
422
438
  };
423
439
  headers: unknown;
@@ -448,6 +464,7 @@ export declare const v4: Elysia<"/v4", false, {
448
464
  action?: string | undefined;
449
465
  mainProtocolId?: string | undefined;
450
466
  order?: undefined;
467
+ test?: boolean | undefined;
451
468
  minimumTvl?: number | undefined;
452
469
  };
453
470
  headers: unknown;
@@ -522,6 +539,7 @@ export declare const v4: Elysia<"/v4", false, {
522
539
  mainParameter?: string | undefined;
523
540
  campaignId?: string | undefined;
524
541
  opportunityId?: string | undefined;
542
+ test?: boolean | undefined;
525
543
  tokenSymbol?: string | undefined;
526
544
  };
527
545
  headers: unknown;
@@ -542,7 +560,9 @@ export declare const v4: Elysia<"/v4", false, {
542
560
  icon: string;
543
561
  decimals: number;
544
562
  verified: boolean;
545
- price: number | null;
563
+ isTest: boolean;
564
+ } & {
565
+ price?: number | null | undefined;
546
566
  };
547
567
  distributionChain: {
548
568
  name: string;
@@ -590,6 +610,7 @@ export declare const v4: Elysia<"/v4", false, {
590
610
  mainParameter?: string | undefined;
591
611
  campaignId?: string | undefined;
592
612
  opportunityId?: string | undefined;
613
+ test?: boolean | undefined;
593
614
  tokenSymbol?: string | undefined;
594
615
  };
595
616
  headers: unknown;
@@ -745,6 +766,7 @@ export declare const v4: Elysia<"/v4", false, {
745
766
  icon: string;
746
767
  decimals: number;
747
768
  verified: boolean;
769
+ isTest: boolean;
748
770
  price?: number | null | undefined;
749
771
  } | undefined;
750
772
  };
@@ -774,6 +796,7 @@ export declare const v4: Elysia<"/v4", false, {
774
796
  icon: string;
775
797
  decimals: number;
776
798
  verified: boolean;
799
+ isTest: boolean;
777
800
  } & {
778
801
  price?: number | null | undefined;
779
802
  } & {
@@ -795,10 +818,11 @@ export declare const v4: Elysia<"/v4", false, {
795
818
  chainId?: any;
796
819
  address?: string | undefined;
797
820
  verified?: boolean | undefined;
821
+ test?: boolean | undefined;
798
822
  };
799
823
  headers: unknown;
800
824
  response: {
801
- 200: ({
825
+ 200: {
802
826
  symbol: string;
803
827
  name: string | null;
804
828
  id: string;
@@ -806,10 +830,11 @@ export declare const v4: Elysia<"/v4", false, {
806
830
  address: string;
807
831
  icon: string;
808
832
  decimals: number;
833
+ displaySymbol: string;
809
834
  verified: boolean;
810
- } & {
811
- price?: number | null | undefined;
812
- })[];
835
+ isTest: boolean;
836
+ price: number | null;
837
+ }[];
813
838
  };
814
839
  };
815
840
  };
@@ -826,6 +851,7 @@ export declare const v4: Elysia<"/v4", false, {
826
851
  chainId?: any;
827
852
  address?: string | undefined;
828
853
  verified?: boolean | undefined;
854
+ test?: boolean | undefined;
829
855
  };
830
856
  headers: unknown;
831
857
  response: {
@@ -1469,7 +1495,9 @@ export declare const v4: Elysia<"/v4", false, {
1469
1495
  address: string;
1470
1496
  icon: string;
1471
1497
  decimals: number;
1498
+ displaySymbol: string;
1472
1499
  verified: boolean;
1500
+ isTest: boolean;
1473
1501
  price: number | null;
1474
1502
  };
1475
1503
  breakdowns: {
@@ -1488,7 +1516,9 @@ export declare const v4: Elysia<"/v4", false, {
1488
1516
  address: string;
1489
1517
  icon: string;
1490
1518
  decimals: number;
1519
+ displaySymbol: string;
1491
1520
  verified: boolean;
1521
+ isTest: boolean;
1492
1522
  price: number | null;
1493
1523
  }[];
1494
1524
  Protocols: {
@@ -1579,7 +1609,9 @@ export declare const v4: Elysia<"/v4", false, {
1579
1609
  address: string;
1580
1610
  icon: string;
1581
1611
  decimals: number;
1612
+ displaySymbol: string;
1582
1613
  verified: boolean;
1614
+ isTest: boolean;
1583
1615
  price: number | null;
1584
1616
  };
1585
1617
  breakdowns: {
@@ -1598,7 +1630,9 @@ export declare const v4: Elysia<"/v4", false, {
1598
1630
  address: string;
1599
1631
  icon: string;
1600
1632
  decimals: number;
1633
+ displaySymbol: string;
1601
1634
  verified: boolean;
1635
+ isTest: boolean;
1602
1636
  price: number | null;
1603
1637
  }[];
1604
1638
  Protocols: {
@@ -31,6 +31,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
31
31
  icon: string;
32
32
  decimals: number;
33
33
  verified: boolean;
34
+ isTest: boolean;
34
35
  price?: number | null | undefined;
35
36
  } | undefined;
36
37
  };
@@ -60,6 +61,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
60
61
  icon: string;
61
62
  decimals: number;
62
63
  verified: boolean;
64
+ isTest: boolean;
63
65
  } & {
64
66
  price?: number | null | undefined;
65
67
  } & {
@@ -81,10 +83,11 @@ export declare const TokenController: Elysia<"/tokens", false, {
81
83
  chainId?: any;
82
84
  address?: string | undefined;
83
85
  verified?: boolean | undefined;
86
+ test?: boolean | undefined;
84
87
  };
85
88
  headers: unknown;
86
89
  response: {
87
- 200: ({
90
+ 200: {
88
91
  symbol: string;
89
92
  name: string | null;
90
93
  id: string;
@@ -92,10 +95,11 @@ export declare const TokenController: Elysia<"/tokens", false, {
92
95
  address: string;
93
96
  icon: string;
94
97
  decimals: number;
98
+ displaySymbol: string;
95
99
  verified: boolean;
96
- } & {
97
- price?: number | null | undefined;
98
- })[];
100
+ isTest: boolean;
101
+ price: number | null;
102
+ }[];
99
103
  };
100
104
  };
101
105
  };
@@ -112,6 +116,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
112
116
  chainId?: any;
113
117
  address?: string | undefined;
114
118
  verified?: boolean | undefined;
119
+ test?: boolean | undefined;
115
120
  };
116
121
  headers: unknown;
117
122
  response: {
@@ -4,7 +4,7 @@ import type { Resource } from "../prisma";
4
4
  * @description Data of an onchain asset
5
5
  * @see {@link Resource}
6
6
  */
7
- export type Token = Resource<"Token", never, {
7
+ export type Token = Resource<"Token", "displaySymbol", {
8
8
  price?: number | null;
9
9
  }>;
10
10
  export type TokenUnique = {
@@ -20,6 +20,7 @@ export declare const GetTokenQueryDto: import("@sinclair/typebox").TObject<{
20
20
  address: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
21
  name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
22
22
  verified: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
23
+ test: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
23
24
  }>;
24
25
  export declare const TokenDto: import("@sinclair/typebox").TObject<{
25
26
  address: import("@sinclair/typebox").TString;
@@ -10,6 +10,7 @@ export const GetTokenQueryDto = t.Object({
10
10
  address: t.Optional(t.String()),
11
11
  name: t.Optional(t.String()),
12
12
  verified: t.Optional(t.Boolean()),
13
+ test: t.Optional(t.Boolean()),
13
14
  });
14
15
  export const TokenDto = t.Object({
15
16
  address: t.String(),
@@ -29,7 +29,19 @@ export declare abstract class TokenRepository {
29
29
  * Read token from database by its symbol
30
30
  * @param symbol
31
31
  */
32
- static findMany(query: GetTokenQueryModel): Promise<Token["model"][]>;
32
+ static findMany(query: GetTokenQueryModel): Promise<{
33
+ symbol: string;
34
+ name: string | null;
35
+ id: string;
36
+ chainId: number;
37
+ address: string;
38
+ icon: string;
39
+ decimals: number;
40
+ displaySymbol: string;
41
+ verified: boolean;
42
+ isTest: boolean;
43
+ price: number | null;
44
+ }[]>;
33
45
  static countMany(query: GetTokenQueryModel): Promise<number>;
34
46
  /**
35
47
  * upsert a token on database
@@ -35,10 +35,12 @@ export class TokenRepository {
35
35
  return {
36
36
  where: {
37
37
  symbol: query.symbol ? { equals: query.symbol, mode: "insensitive" } : undefined,
38
+ displaySymbol: query.symbol ? { equals: query.symbol, mode: "insensitive" } : undefined,
38
39
  address: query.address ? { equals: query.address, mode: "insensitive" } : undefined,
39
40
  chainId: query.chainId ? { equals: query.chainId } : undefined,
40
41
  name: query.name ? { contains: query.name, mode: "insensitive" } : undefined,
41
42
  verified: query.verified ? { equals: query.verified } : undefined,
43
+ isTest: query.test ? { equals: query.test } : undefined,
42
44
  },
43
45
  };
44
46
  }
@@ -2,8 +2,10 @@ import type { GetTokenQueryModel, Token, TokenModel, TokenUnique } from "./";
2
2
  import type { Pricer } from "../../../utils/pricer";
3
3
  import { Prisma } from "../../../../database/api/.generated";
4
4
  import { type ChainId } from "@sdk";
5
+ import { TokenRepository } from "./token.repository";
5
6
  export declare abstract class TokenService {
6
7
  static hashId(token: TokenUnique): string;
8
+ static format(token: Awaited<ReturnType<typeof TokenRepository.findMany>>[number]): Token["model"];
7
9
  /**
8
10
  * Fetches balances of provided tokens
9
11
  */
@@ -22,6 +24,7 @@ export declare abstract class TokenService {
22
24
  icon: string;
23
25
  decimals: number;
24
26
  verified: boolean;
27
+ isTest: boolean;
25
28
  } & {
26
29
  price?: number | null | undefined;
27
30
  } & {
@@ -41,6 +44,7 @@ export declare abstract class TokenService {
41
44
  icon: string;
42
45
  decimals: number;
43
46
  verified: boolean;
47
+ isTest: boolean;
44
48
  } & {
45
49
  price?: number | null | undefined;
46
50
  } & {
@@ -57,6 +61,7 @@ export declare abstract class TokenService {
57
61
  icon: string;
58
62
  decimals: number;
59
63
  verified: boolean;
64
+ isTest: boolean;
60
65
  } & {
61
66
  price?: number | null | undefined;
62
67
  }, "id">;
@@ -101,6 +106,7 @@ export declare abstract class TokenService {
101
106
  icon: string;
102
107
  decimals: number;
103
108
  verified: boolean;
109
+ isTest: boolean;
104
110
  } & {
105
111
  price?: number | null | undefined;
106
112
  }) | undefined>;
@@ -118,6 +124,7 @@ export declare abstract class TokenService {
118
124
  icon: string;
119
125
  decimals: number;
120
126
  verified: boolean;
127
+ isTest: boolean;
121
128
  } & {
122
129
  price?: number | null | undefined;
123
130
  }>;
@@ -126,7 +133,7 @@ export declare abstract class TokenService {
126
133
  * @param query
127
134
  * @returns A list of tokens
128
135
  */
129
- static findMany(query: GetTokenQueryModel): Promise<({
136
+ static findMany(query: GetTokenQueryModel): Promise<{
130
137
  symbol: string;
131
138
  name: string | null;
132
139
  id: string;
@@ -134,10 +141,11 @@ export declare abstract class TokenService {
134
141
  address: string;
135
142
  icon: string;
136
143
  decimals: number;
144
+ displaySymbol: string;
137
145
  verified: boolean;
138
- } & {
139
- price?: number | null | undefined;
140
- })[]>;
146
+ isTest: boolean;
147
+ price: number | null;
148
+ }[]>;
141
149
  /**
142
150
  * Get value of tokens
143
151
  * @param tokenAmounts address/chain + amount of token
@@ -11,6 +11,13 @@ export class TokenService {
11
11
  static hashId(token) {
12
12
  return Bun.hash(`${token.chainId}${token.address}`).toString();
13
13
  }
14
+ static format(token) {
15
+ const { displaySymbol, symbol, ...rest } = token;
16
+ return {
17
+ ...rest,
18
+ symbol: !displaySymbol || displaySymbol === "" ? symbol : displaySymbol,
19
+ };
20
+ }
14
21
  /**
15
22
  * Fetches balances of provided tokens
16
23
  */
@@ -40,7 +47,7 @@ export class TokenService {
40
47
  * @param additionalTokens balances along with the verified ones
41
48
  */
42
49
  static async fetchVerifiedBalances(chainId, userAddress, additionalTokenAddresses) {
43
- const verifiedTokens = await TokenService.findMany({ chainId: chainId, verified: true });
50
+ const verifiedTokens = (await TokenService.findMany({ chainId: chainId, verified: true })).map(t => TokenService.format(t));
44
51
  const additionalTokens = !!additionalTokenAddresses?.length
45
52
  ? await TokenService.getManyOrCreate(additionalTokenAddresses?.map(address => ({ chainId, address })))
46
53
  : [];
@@ -54,7 +61,7 @@ export class TokenService {
54
61
  chainId: token.chainId,
55
62
  address: token.address,
56
63
  icon: "",
57
- ...Object.assign({ name: "unknown", decimals: 18, symbol: "UNKNOWN", verified: false }, onchainData),
64
+ ...Object.assign({ name: "unknown", decimals: 18, symbol: "UNKNOWN", verified: false, isTest: false }, onchainData),
58
65
  };
59
66
  }
60
67
  static async fetchManyOnChain(chainId, addresses) {
@@ -124,6 +131,7 @@ export class TokenService {
124
131
  verified: true,
125
132
  decimals: token.decimals,
126
133
  icon: token.logoURI,
134
+ isTest: false,
127
135
  });
128
136
  log.local(`Token created: ${res?.symbol} on ${NETWORK_LABELS[Number.parseInt(chain)]}`);
129
137
  }
@@ -140,6 +148,7 @@ export class TokenService {
140
148
  verified: true,
141
149
  decimals: token.decimals,
142
150
  icon: token.logoURI,
151
+ isTest: false,
143
152
  });
144
153
  log.local(`Token created: ${res?.symbol} on ${NETWORK_LABELS[Number.parseInt(chain)]}`);
145
154
  }
@@ -98,7 +98,9 @@ export declare const UserController: Elysia<"/users", false, {
98
98
  address: string;
99
99
  icon: string;
100
100
  decimals: number;
101
+ displaySymbol: string;
101
102
  verified: boolean;
103
+ isTest: boolean;
102
104
  price: number | null;
103
105
  };
104
106
  breakdowns: {
@@ -117,7 +119,9 @@ export declare const UserController: Elysia<"/users", false, {
117
119
  address: string;
118
120
  icon: string;
119
121
  decimals: number;
122
+ displaySymbol: string;
120
123
  verified: boolean;
124
+ isTest: boolean;
121
125
  price: number | null;
122
126
  }[];
123
127
  Protocols: {
@@ -208,7 +212,9 @@ export declare const UserController: Elysia<"/users", false, {
208
212
  address: string;
209
213
  icon: string;
210
214
  decimals: number;
215
+ displaySymbol: string;
211
216
  verified: boolean;
217
+ isTest: boolean;
212
218
  price: number | null;
213
219
  };
214
220
  breakdowns: {
@@ -227,7 +233,9 @@ export declare const UserController: Elysia<"/users", false, {
227
233
  address: string;
228
234
  icon: string;
229
235
  decimals: number;
236
+ displaySymbol: string;
230
237
  verified: boolean;
238
+ isTest: boolean;
231
239
  price: number | null;
232
240
  }[];
233
241
  Protocols: {