@merkl/api 0.10.169 → 0.10.170

Sign up to get free protection for your applications and to get access to all the features.
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
  }