@merkl/api 0.10.169 → 0.10.170

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 (51) 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 +108 -3
  9. package/dist/src/index.d.ts +36 -1
  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/processorMapping.js +3 -0
  16. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +4 -0
  17. package/dist/src/modules/v4/campaign/campaign.model.d.ts +1 -0
  18. package/dist/src/modules/v4/campaign/campaign.model.js +1 -0
  19. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +2 -0
  20. package/dist/src/modules/v4/campaign/campaign.repository.js +2 -1
  21. package/dist/src/modules/v4/campaign/campaign.service.d.ts +4 -0
  22. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +18 -1
  23. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +2 -1
  24. package/dist/src/modules/v4/opportunity/opportunity.model.js +1 -0
  25. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +24 -105
  26. package/dist/src/modules/v4/opportunity/opportunity.repository.js +2 -0
  27. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +31 -5
  28. package/dist/src/modules/v4/price/price.controller.js +1 -1
  29. package/dist/src/modules/v4/price/price.service.d.ts +1 -1
  30. package/dist/src/modules/v4/price/price.service.js +3 -3
  31. package/dist/src/modules/v4/reward/reward.repository.d.ts +4 -0
  32. package/dist/src/modules/v4/reward/reward.service.d.ts +22 -0
  33. package/dist/src/modules/v4/router.d.ts +36 -1
  34. package/dist/src/modules/v4/token/token.controller.d.ts +6 -0
  35. package/dist/src/modules/v4/token/token.service.d.ts +12 -0
  36. package/dist/src/modules/v4/user/user.controller.d.ts +8 -0
  37. package/dist/src/routes/v3/blacklist.d.ts +36 -1
  38. package/dist/src/routes/v3/campaigns.d.ts +36 -1
  39. package/dist/src/routes/v3/campaignsInfo.d.ts +36 -1
  40. package/dist/src/routes/v3/multiChainPositions.d.ts +36 -1
  41. package/dist/src/routes/v3/opportunity.d.ts +36 -1
  42. package/dist/src/routes/v3/positions.d.ts +36 -1
  43. package/dist/src/routes/v3/rewards.d.ts +36 -1
  44. package/dist/src/routes/v3/updates.d.ts +36 -1
  45. package/dist/src/routes/v3/userRewards.d.ts +36 -1
  46. package/dist/src/utils/decodeCalls.js +4 -1
  47. package/dist/src/utils/encodeCalls.js +4 -1
  48. package/dist/src/utils/generateCardName.js +2 -0
  49. package/dist/src/utils/prices/services/erc4626Service.js +7 -1
  50. package/dist/tsconfig.package.tsbuildinfo +1 -1
  51. package/package.json +1 -1
@@ -126,7 +126,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
126
126
  address: string;
127
127
  icon: string;
128
128
  decimals: number;
129
+ displaySymbol: string;
129
130
  verified: boolean;
131
+ isTest: boolean;
130
132
  price: number | null;
131
133
  };
132
134
  amount: bigint;
@@ -141,7 +143,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
141
143
  address: string;
142
144
  icon: string;
143
145
  decimals: number;
146
+ displaySymbol: string;
144
147
  verified: boolean;
148
+ isTest: boolean;
145
149
  price: number | null;
146
150
  }[];
147
151
  chain: {
@@ -225,7 +229,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
225
229
  address: string;
226
230
  icon: string;
227
231
  decimals: number;
232
+ displaySymbol: string;
228
233
  verified: boolean;
234
+ isTest: boolean;
229
235
  price: number | null;
230
236
  };
231
237
  amount: bigint;
@@ -240,7 +246,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
240
246
  address: string;
241
247
  icon: string;
242
248
  decimals: number;
249
+ displaySymbol: string;
243
250
  verified: boolean;
251
+ isTest: boolean;
244
252
  price: number | null;
245
253
  }[];
246
254
  chain: {
@@ -281,7 +289,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
281
289
  address: string;
282
290
  icon: string;
283
291
  decimals: number;
292
+ displaySymbol: string;
284
293
  verified: boolean;
294
+ isTest: boolean;
285
295
  price: number | null;
286
296
  };
287
297
  distributionChain: {
@@ -334,6 +344,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
334
344
  action?: string | undefined;
335
345
  mainProtocolId?: string | undefined;
336
346
  order?: undefined;
347
+ test?: boolean | undefined;
337
348
  minimumTvl?: number | undefined;
338
349
  };
339
350
  headers: unknown;
@@ -379,7 +390,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
379
390
  address: string;
380
391
  icon: string;
381
392
  decimals: number;
393
+ displaySymbol: string;
382
394
  verified: boolean;
395
+ isTest: boolean;
383
396
  price: number | null;
384
397
  };
385
398
  amount: bigint;
@@ -394,7 +407,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
394
407
  address: string;
395
408
  icon: string;
396
409
  decimals: number;
410
+ displaySymbol: string;
397
411
  verified: boolean;
412
+ isTest: boolean;
398
413
  price: number | null;
399
414
  }[];
400
415
  chain: {
@@ -443,6 +458,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
443
458
  action?: string | undefined;
444
459
  mainProtocolId?: string | undefined;
445
460
  order?: undefined;
461
+ test?: boolean | undefined;
446
462
  minimumTvl?: number | undefined;
447
463
  };
448
464
  headers: unknown;
@@ -473,12 +489,13 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
473
489
  action?: string | undefined;
474
490
  mainProtocolId?: string | undefined;
475
491
  order?: undefined;
492
+ test?: boolean | undefined;
476
493
  minimumTvl?: number | undefined;
477
494
  };
478
495
  headers: unknown;
479
496
  response: {
480
497
  200: {
481
- sum: File;
498
+ sum: number | null;
482
499
  };
483
500
  };
484
501
  };
@@ -548,6 +565,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
548
565
  campaignId?: string | undefined;
549
566
  opportunityId?: string | undefined;
550
567
  tokenSymbol?: string | undefined;
568
+ test?: boolean | undefined;
551
569
  };
552
570
  headers: unknown;
553
571
  response: {
@@ -566,7 +584,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
566
584
  address: string;
567
585
  icon: string;
568
586
  decimals: number;
587
+ displaySymbol: string;
569
588
  verified: boolean;
589
+ isTest: boolean;
570
590
  price: number | null;
571
591
  };
572
592
  distributionChain: {
@@ -616,6 +636,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
616
636
  campaignId?: string | undefined;
617
637
  opportunityId?: string | undefined;
618
638
  tokenSymbol?: string | undefined;
639
+ test?: boolean | undefined;
619
640
  };
620
641
  headers: unknown;
621
642
  response: {
@@ -769,7 +790,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
769
790
  address: string;
770
791
  icon: string;
771
792
  decimals: number;
793
+ displaySymbol: string;
772
794
  verified: boolean;
795
+ isTest: boolean;
773
796
  price?: number | null | undefined;
774
797
  } | undefined;
775
798
  };
@@ -798,7 +821,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
798
821
  address: string;
799
822
  icon: string;
800
823
  decimals: number;
824
+ displaySymbol: string;
801
825
  verified: boolean;
826
+ isTest: boolean;
802
827
  } & {
803
828
  price?: number | null | undefined;
804
829
  } & {
@@ -831,7 +856,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
831
856
  address: string;
832
857
  icon: string;
833
858
  decimals: number;
859
+ displaySymbol: string;
834
860
  verified: boolean;
861
+ isTest: boolean;
835
862
  } & {
836
863
  price?: number | null | undefined;
837
864
  })[];
@@ -1494,7 +1521,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1494
1521
  address: string;
1495
1522
  icon: string;
1496
1523
  decimals: number;
1524
+ displaySymbol: string;
1497
1525
  verified: boolean;
1526
+ isTest: boolean;
1498
1527
  price: number | null;
1499
1528
  };
1500
1529
  breakdowns: {
@@ -1513,7 +1542,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1513
1542
  address: string;
1514
1543
  icon: string;
1515
1544
  decimals: number;
1545
+ displaySymbol: string;
1516
1546
  verified: boolean;
1547
+ isTest: boolean;
1517
1548
  price: number | null;
1518
1549
  }[];
1519
1550
  Protocols: {
@@ -1604,7 +1635,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1604
1635
  address: string;
1605
1636
  icon: string;
1606
1637
  decimals: number;
1638
+ displaySymbol: string;
1607
1639
  verified: boolean;
1640
+ isTest: boolean;
1608
1641
  price: number | null;
1609
1642
  };
1610
1643
  breakdowns: {
@@ -1623,7 +1656,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1623
1656
  address: string;
1624
1657
  icon: string;
1625
1658
  decimals: number;
1659
+ displaySymbol: string;
1626
1660
  verified: boolean;
1661
+ isTest: boolean;
1627
1662
  price: number | null;
1628
1663
  }[];
1629
1664
  Protocols: {
@@ -128,7 +128,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
128
128
  address: string;
129
129
  icon: string;
130
130
  decimals: number;
131
+ displaySymbol: string;
131
132
  verified: boolean;
133
+ isTest: boolean;
132
134
  price: number | null;
133
135
  };
134
136
  amount: bigint;
@@ -143,7 +145,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
143
145
  address: string;
144
146
  icon: string;
145
147
  decimals: number;
148
+ displaySymbol: string;
146
149
  verified: boolean;
150
+ isTest: boolean;
147
151
  price: number | null;
148
152
  }[];
149
153
  chain: {
@@ -227,7 +231,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
227
231
  address: string;
228
232
  icon: string;
229
233
  decimals: number;
234
+ displaySymbol: string;
230
235
  verified: boolean;
236
+ isTest: boolean;
231
237
  price: number | null;
232
238
  };
233
239
  amount: bigint;
@@ -242,7 +248,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
242
248
  address: string;
243
249
  icon: string;
244
250
  decimals: number;
251
+ displaySymbol: string;
245
252
  verified: boolean;
253
+ isTest: boolean;
246
254
  price: number | null;
247
255
  }[];
248
256
  chain: {
@@ -283,7 +291,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
283
291
  address: string;
284
292
  icon: string;
285
293
  decimals: number;
294
+ displaySymbol: string;
286
295
  verified: boolean;
296
+ isTest: boolean;
287
297
  price: number | null;
288
298
  };
289
299
  distributionChain: {
@@ -336,6 +346,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
336
346
  action?: string | undefined;
337
347
  mainProtocolId?: string | undefined;
338
348
  order?: undefined;
349
+ test?: boolean | undefined;
339
350
  minimumTvl?: number | undefined;
340
351
  };
341
352
  headers: unknown;
@@ -381,7 +392,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
381
392
  address: string;
382
393
  icon: string;
383
394
  decimals: number;
395
+ displaySymbol: string;
384
396
  verified: boolean;
397
+ isTest: boolean;
385
398
  price: number | null;
386
399
  };
387
400
  amount: bigint;
@@ -396,7 +409,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
396
409
  address: string;
397
410
  icon: string;
398
411
  decimals: number;
412
+ displaySymbol: string;
399
413
  verified: boolean;
414
+ isTest: boolean;
400
415
  price: number | null;
401
416
  }[];
402
417
  chain: {
@@ -445,6 +460,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
445
460
  action?: string | undefined;
446
461
  mainProtocolId?: string | undefined;
447
462
  order?: undefined;
463
+ test?: boolean | undefined;
448
464
  minimumTvl?: number | undefined;
449
465
  };
450
466
  headers: unknown;
@@ -475,12 +491,13 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
475
491
  action?: string | undefined;
476
492
  mainProtocolId?: string | undefined;
477
493
  order?: undefined;
494
+ test?: boolean | undefined;
478
495
  minimumTvl?: number | undefined;
479
496
  };
480
497
  headers: unknown;
481
498
  response: {
482
499
  200: {
483
- sum: File;
500
+ sum: number | null;
484
501
  };
485
502
  };
486
503
  };
@@ -550,6 +567,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
550
567
  campaignId?: string | undefined;
551
568
  opportunityId?: string | undefined;
552
569
  tokenSymbol?: string | undefined;
570
+ test?: boolean | undefined;
553
571
  };
554
572
  headers: unknown;
555
573
  response: {
@@ -568,7 +586,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
568
586
  address: string;
569
587
  icon: string;
570
588
  decimals: number;
589
+ displaySymbol: string;
571
590
  verified: boolean;
591
+ isTest: boolean;
572
592
  price: number | null;
573
593
  };
574
594
  distributionChain: {
@@ -618,6 +638,7 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
618
638
  campaignId?: string | undefined;
619
639
  opportunityId?: string | undefined;
620
640
  tokenSymbol?: string | undefined;
641
+ test?: boolean | undefined;
621
642
  };
622
643
  headers: unknown;
623
644
  response: {
@@ -771,7 +792,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
771
792
  address: string;
772
793
  icon: string;
773
794
  decimals: number;
795
+ displaySymbol: string;
774
796
  verified: boolean;
797
+ isTest: boolean;
775
798
  price?: number | null | undefined;
776
799
  } | undefined;
777
800
  };
@@ -800,7 +823,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
800
823
  address: string;
801
824
  icon: string;
802
825
  decimals: number;
826
+ displaySymbol: string;
803
827
  verified: boolean;
828
+ isTest: boolean;
804
829
  } & {
805
830
  price?: number | null | undefined;
806
831
  } & {
@@ -833,7 +858,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
833
858
  address: string;
834
859
  icon: string;
835
860
  decimals: number;
861
+ displaySymbol: string;
836
862
  verified: boolean;
863
+ isTest: boolean;
837
864
  } & {
838
865
  price?: number | null | undefined;
839
866
  })[];
@@ -1496,7 +1523,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1496
1523
  address: string;
1497
1524
  icon: string;
1498
1525
  decimals: number;
1526
+ displaySymbol: string;
1499
1527
  verified: boolean;
1528
+ isTest: boolean;
1500
1529
  price: number | null;
1501
1530
  };
1502
1531
  breakdowns: {
@@ -1515,7 +1544,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1515
1544
  address: string;
1516
1545
  icon: string;
1517
1546
  decimals: number;
1547
+ displaySymbol: string;
1518
1548
  verified: boolean;
1549
+ isTest: boolean;
1519
1550
  price: number | null;
1520
1551
  }[];
1521
1552
  Protocols: {
@@ -1606,7 +1637,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1606
1637
  address: string;
1607
1638
  icon: string;
1608
1639
  decimals: number;
1640
+ displaySymbol: string;
1609
1641
  verified: boolean;
1642
+ isTest: boolean;
1610
1643
  price: number | null;
1611
1644
  };
1612
1645
  breakdowns: {
@@ -1625,7 +1658,9 @@ declare const _default: (app: App) => import("elysia").default<"", false, {
1625
1658
  address: string;
1626
1659
  icon: string;
1627
1660
  decimals: number;
1661
+ displaySymbol: string;
1628
1662
  verified: boolean;
1663
+ isTest: boolean;
1629
1664
  price: number | null;
1630
1665
  }[];
1631
1666
  Protocols: {
@@ -1,8 +1,10 @@
1
- import { AaveInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerVaultInterface, BeefyInterface, CompoundInterface, CurveInterface, ERC20Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, IonicInterface, LayerBankInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, RadiantInterface, RfxInterface, SturdyInterface, SymetricAmbientStrategyInterface, TorosInterface, UniswapV2PoolInterface, ZFStableLPINterface, ZFStableSwapThreePoolInterface, } from "@sdk";
1
+ import { AaveInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerVaultInterface, BeefyInterface, CompoundInterface, CurveInterface, ERC20Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, IonicInterface, LayerBankInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, PendleYTInterface, RadiantInterface, RfxInterface, SturdyInterface, SymetricAmbientStrategyInterface, TorosInterface, UniswapV2PoolInterface, ZFStableLPINterface, ZFStableSwapThreePoolInterface, } from "@sdk";
2
2
  import { tokenType } from "../libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType";
3
3
  export function decodeCall(calls, index, key, type) {
4
4
  const returnData = calls[index];
5
5
  switch (key) {
6
+ case "SY":
7
+ return PendleYTInterface.decodeFunctionResult("SY", returnData)[0];
6
8
  case "symbol":
7
9
  return ERC20Interface.decodeFunctionResult("symbol", returnData)[0];
8
10
  case "decimals":
@@ -44,6 +46,7 @@ export function decodeCall(calls, index, key, type) {
44
46
  case "underlying":
45
47
  switch (type) {
46
48
  case tokenType.pendle:
49
+ case tokenType.pendleYT:
47
50
  return PendleInterface.decodeFunctionResult("yieldToken", returnData)[0];
48
51
  case tokenType.gearbox:
49
52
  return GearboxVaultInterface.decodeFunctionResult("underlyingToken", returnData)[0];
@@ -1,8 +1,10 @@
1
1
  import { tokenType } from "../libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType";
2
- import { AaveInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerVaultInterface, BeefyInterface, CompoundInterface, CurveInterface, ERC20Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, IonicInterface, LayerBankInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, RadiantInterface, RfxDatastoreInterface, SturdyInterface, SymetricAmbientStrategyInterface, TorosInterface, UniswapV2PoolInterface, ZFStableLPINterface, ZFStableSwapThreePoolInterface, } from "@sdk";
2
+ import { AaveInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerVaultInterface, BeefyInterface, CompoundInterface, CurveInterface, ERC20Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, IonicInterface, LayerBankInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, PendleYTInterface, RadiantInterface, RfxDatastoreInterface, SturdyInterface, SymetricAmbientStrategyInterface, TorosInterface, UniswapV2PoolInterface, ZFStableLPINterface, ZFStableSwapThreePoolInterface, } from "@sdk";
3
3
  import { fluidInterface } from "src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1";
4
4
  export function createCall(target, key, type, metaData) {
5
5
  switch (key) {
6
+ case "SY":
7
+ return { allowFailure: true, callData: PendleYTInterface.encodeFunctionData("SY"), target };
6
8
  case "collateralContract":
7
9
  return { allowFailure: true, callData: SturdyInterface.encodeFunctionData("collateralContract"), target };
8
10
  case "pricePerShare":
@@ -63,6 +65,7 @@ export function createCall(target, key, type, metaData) {
63
65
  case "underlying":
64
66
  switch (type) {
65
67
  case tokenType.pendle:
68
+ case tokenType.pendleYT:
66
69
  return { allowFailure: true, callData: PendleInterface.encodeFunctionData("yieldToken"), target };
67
70
  case tokenType.metamorpho:
68
71
  return { allowFailure: true, callData: MetamorphoInterface.encodeFunctionData("asset"), target };
@@ -14,6 +14,8 @@ export function generateCardName(type, typeInfo, campaign, symbols = [""]) {
14
14
  case tokenType.ra:
15
15
  case tokenType.syncswap:
16
16
  return `${typeInfo.protocol} ${typeInfo.symbolToken0}/${typeInfo.symbolToken1}`;
17
+ case tokenType.pendleYT:
18
+ return `Hold YT of ${typeInfo.symbolUnderlyingToken} on ${typeInfo.protocol}`;
17
19
  case tokenType.pendle:
18
20
  return `Provide ${typeInfo.symbolUnderlyingToken} on ${typeInfo.protocol}`;
19
21
  case tokenType.balancerGauge:
@@ -25,6 +25,12 @@ export default class ERC4626Service {
25
25
  return resolvedPrices.flat().filter(price => price !== undefined);
26
26
  }
27
27
  async priceCalculation(rate, vaultToken) {
28
- return rate * (await PriceService.fetchPriceSourceBySymbol(vaultToken));
28
+ try {
29
+ const vaultTokenPrice = await PriceService.fetchPriceBySymbol(vaultToken);
30
+ return rate * vaultTokenPrice;
31
+ }
32
+ catch {
33
+ return Number.NaN;
34
+ }
29
35
  }
30
36
  }