@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.
- package/dist/database/api/.generated/edge.js +6 -3
- package/dist/database/api/.generated/index-browser.js +3 -0
- package/dist/database/api/.generated/index.d.ts +113 -0
- package/dist/database/api/.generated/index.js +6 -3
- package/dist/database/api/.generated/package.json +1 -1
- package/dist/database/api/.generated/schema.prisma +17 -15
- package/dist/database/api/.generated/wasm.js +3 -0
- package/dist/src/eden/index.d.ts +108 -3
- package/dist/src/index.d.ts +36 -1
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/factoryFinder.js +2 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.d.ts +3 -1
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.js +8 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/PendleYTProcessor.d.ts +29 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/PendleYTProcessor.js +31 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/processorMapping.js +3 -0
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +4 -0
- package/dist/src/modules/v4/campaign/campaign.model.d.ts +1 -0
- package/dist/src/modules/v4/campaign/campaign.model.js +1 -0
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +2 -0
- package/dist/src/modules/v4/campaign/campaign.repository.js +2 -1
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +4 -0
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +18 -1
- package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +2 -1
- package/dist/src/modules/v4/opportunity/opportunity.model.js +1 -0
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +24 -105
- package/dist/src/modules/v4/opportunity/opportunity.repository.js +2 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +31 -5
- package/dist/src/modules/v4/price/price.controller.js +1 -1
- package/dist/src/modules/v4/price/price.service.d.ts +1 -1
- package/dist/src/modules/v4/price/price.service.js +3 -3
- package/dist/src/modules/v4/reward/reward.repository.d.ts +4 -0
- package/dist/src/modules/v4/reward/reward.service.d.ts +22 -0
- package/dist/src/modules/v4/router.d.ts +36 -1
- package/dist/src/modules/v4/token/token.controller.d.ts +6 -0
- package/dist/src/modules/v4/token/token.service.d.ts +12 -0
- package/dist/src/modules/v4/user/user.controller.d.ts +8 -0
- package/dist/src/routes/v3/blacklist.d.ts +36 -1
- package/dist/src/routes/v3/campaigns.d.ts +36 -1
- package/dist/src/routes/v3/campaignsInfo.d.ts +36 -1
- package/dist/src/routes/v3/multiChainPositions.d.ts +36 -1
- package/dist/src/routes/v3/opportunity.d.ts +36 -1
- package/dist/src/routes/v3/positions.d.ts +36 -1
- package/dist/src/routes/v3/rewards.d.ts +36 -1
- package/dist/src/routes/v3/updates.d.ts +36 -1
- package/dist/src/routes/v3/userRewards.d.ts +36 -1
- package/dist/src/utils/decodeCalls.js +4 -1
- package/dist/src/utils/encodeCalls.js +4 -1
- package/dist/src/utils/generateCardName.js +2 -0
- package/dist/src/utils/prices/services/erc4626Service.js +7 -1
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- 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:
|
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:
|
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
|
-
|
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
|
}
|