@merkl/api 0.10.168 → 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.
- 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/cache/declaration.d.ts +0 -30
- package/dist/src/cache/declaration.js +0 -30
- package/dist/src/eden/index.d.ts +167 -15
- package/dist/src/index.d.ts +59 -5
- package/dist/src/libs/campaigns/campaignTypes/CLAMMDynamicData.js +2 -2
- 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/libs/positions/clamm/index.d.ts +1 -2
- package/dist/src/libs/positions/clamm/index.js +322 -330
- package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.d.ts +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.js +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.d.ts +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.js +2 -2
- package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.d.ts +1 -2
- package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.js +1 -4
- package/dist/src/libs/positions/euler/index.js +2 -3
- package/dist/src/libs/positions/index.js +1 -1
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +6 -2
- 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 +10 -5
- package/dist/src/modules/v4/campaign/campaign.service.js +10 -2
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +20 -3
- 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 +83 -5
- package/dist/src/modules/v4/opportunity/opportunity.repository.js +31 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +162 -8
- package/dist/src/modules/v4/opportunity/opportunity.service.js +11 -0
- package/dist/src/modules/v4/position/implementations/AjnaPositionFetcher.d.ts +6 -0
- package/dist/src/modules/v4/position/implementations/AjnaPositionFetcher.js +90 -0
- package/dist/src/modules/v4/position/implementations/BadgerPositionFetcher.d.ts +6 -0
- package/dist/src/modules/v4/position/implementations/BadgerPositionFetcher.js +69 -0
- package/dist/src/modules/v4/position/implementations/ClammPositionFetcher.d.ts +6 -0
- package/dist/src/modules/v4/position/implementations/ClammPositionFetcher.js +71 -0
- package/dist/src/modules/v4/position/implementations/DolomitePositionFetcher.d.ts +6 -0
- package/dist/src/modules/v4/position/implementations/DolomitePositionFetcher.js +45 -0
- package/dist/src/modules/v4/position/implementations/ERC20PositionFetcher.d.ts +6 -0
- package/dist/src/modules/v4/position/implementations/ERC20PositionFetcher.js +47 -0
- package/dist/src/modules/v4/position/implementations/EulerPositionFetcher.d.ts +6 -0
- package/dist/src/modules/v4/position/implementations/EulerPositionFetcher.js +40 -0
- package/dist/src/modules/v4/position/index.d.ts +2 -0
- package/dist/src/modules/v4/position/index.js +2 -0
- package/dist/src/modules/v4/position/position.controller.d.ts +39 -0
- package/dist/src/modules/v4/position/position.controller.js +16 -0
- package/dist/src/modules/v4/position/position.model.d.ts +25 -0
- package/dist/src/modules/v4/position/position.model.js +5 -0
- package/dist/src/modules/v4/position/position.repository.d.ts +14 -0
- package/dist/src/modules/v4/position/position.repository.js +6 -0
- package/dist/src/modules/v4/position/position.service.d.ts +5 -0
- package/dist/src/modules/v4/position/position.service.js +34 -0
- 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 +27 -0
- package/dist/src/modules/v4/reward/reward.service.js +5 -2
- package/dist/src/modules/v4/router.d.ts +59 -5
- package/dist/src/modules/v4/router.js +3 -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/v1/prices.js +2 -4
- package/dist/src/routes/v3/blacklist.d.ts +59 -5
- package/dist/src/routes/v3/campaigns.d.ts +60 -6
- package/dist/src/routes/v3/campaignsInfo.d.ts +59 -5
- package/dist/src/routes/v3/multiChainPositions.d.ts +59 -5
- package/dist/src/routes/v3/opportunity.d.ts +59 -5
- package/dist/src/routes/v3/positions.d.ts +59 -5
- package/dist/src/routes/v3/recipients.d.ts +6 -2
- package/dist/src/routes/v3/recipients.js +14 -8
- package/dist/src/routes/v3/rewards.d.ts +59 -5
- package/dist/src/routes/v3/updates.d.ts +59 -5
- package/dist/src/routes/v3/userRewards.d.ts +59 -5
- 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 +10 -4
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/libs/reports/campaignReport.d.ts +0 -9
- package/dist/src/libs/reports/campaignReport.js +0 -37
- package/dist/src/libs/reports/mainParameterRewards.d.ts +0 -3
- package/dist/src/libs/reports/mainParameterRewards.js +0 -48
package/dist/src/index.d.ts
CHANGED
|
@@ -119,7 +119,9 @@ declare const app: Elysia<"", false, {
|
|
|
119
119
|
address: string;
|
|
120
120
|
icon: string;
|
|
121
121
|
decimals: number;
|
|
122
|
+
displaySymbol: string;
|
|
122
123
|
verified: boolean;
|
|
124
|
+
isTest: boolean;
|
|
123
125
|
price: number | null;
|
|
124
126
|
};
|
|
125
127
|
amount: bigint;
|
|
@@ -134,7 +136,9 @@ declare const app: Elysia<"", false, {
|
|
|
134
136
|
address: string;
|
|
135
137
|
icon: string;
|
|
136
138
|
decimals: number;
|
|
139
|
+
displaySymbol: string;
|
|
137
140
|
verified: boolean;
|
|
141
|
+
isTest: boolean;
|
|
138
142
|
price: number | null;
|
|
139
143
|
}[];
|
|
140
144
|
chain: {
|
|
@@ -218,7 +222,9 @@ declare const app: Elysia<"", false, {
|
|
|
218
222
|
address: string;
|
|
219
223
|
icon: string;
|
|
220
224
|
decimals: number;
|
|
225
|
+
displaySymbol: string;
|
|
221
226
|
verified: boolean;
|
|
227
|
+
isTest: boolean;
|
|
222
228
|
price: number | null;
|
|
223
229
|
};
|
|
224
230
|
amount: bigint;
|
|
@@ -233,7 +239,9 @@ declare const app: Elysia<"", false, {
|
|
|
233
239
|
address: string;
|
|
234
240
|
icon: string;
|
|
235
241
|
decimals: number;
|
|
242
|
+
displaySymbol: string;
|
|
236
243
|
verified: boolean;
|
|
244
|
+
isTest: boolean;
|
|
237
245
|
price: number | null;
|
|
238
246
|
}[];
|
|
239
247
|
chain: {
|
|
@@ -259,7 +267,7 @@ declare const app: Elysia<"", false, {
|
|
|
259
267
|
tvl: number;
|
|
260
268
|
apr: number;
|
|
261
269
|
dailyRewards: number;
|
|
262
|
-
campaigns:
|
|
270
|
+
campaigns: {
|
|
263
271
|
params: any;
|
|
264
272
|
chain: {
|
|
265
273
|
name: string;
|
|
@@ -274,7 +282,9 @@ declare const app: Elysia<"", false, {
|
|
|
274
282
|
address: string;
|
|
275
283
|
icon: string;
|
|
276
284
|
decimals: number;
|
|
285
|
+
displaySymbol: string;
|
|
277
286
|
verified: boolean;
|
|
287
|
+
isTest: boolean;
|
|
278
288
|
price: number | null;
|
|
279
289
|
};
|
|
280
290
|
distributionChain: {
|
|
@@ -302,7 +312,7 @@ declare const app: Elysia<"", false, {
|
|
|
302
312
|
amount: string;
|
|
303
313
|
opportunityId: string;
|
|
304
314
|
creatorAddress: string;
|
|
305
|
-
}
|
|
315
|
+
}[];
|
|
306
316
|
} | null | undefined;
|
|
307
317
|
};
|
|
308
318
|
};
|
|
@@ -327,6 +337,7 @@ declare const app: Elysia<"", false, {
|
|
|
327
337
|
action?: string | undefined;
|
|
328
338
|
mainProtocolId?: string | undefined;
|
|
329
339
|
order?: undefined;
|
|
340
|
+
test?: boolean | undefined;
|
|
330
341
|
minimumTvl?: number | undefined;
|
|
331
342
|
};
|
|
332
343
|
headers: unknown;
|
|
@@ -372,7 +383,9 @@ declare const app: Elysia<"", false, {
|
|
|
372
383
|
address: string;
|
|
373
384
|
icon: string;
|
|
374
385
|
decimals: number;
|
|
386
|
+
displaySymbol: string;
|
|
375
387
|
verified: boolean;
|
|
388
|
+
isTest: boolean;
|
|
376
389
|
price: number | null;
|
|
377
390
|
};
|
|
378
391
|
amount: bigint;
|
|
@@ -387,7 +400,9 @@ declare const app: Elysia<"", false, {
|
|
|
387
400
|
address: string;
|
|
388
401
|
icon: string;
|
|
389
402
|
decimals: number;
|
|
403
|
+
displaySymbol: string;
|
|
390
404
|
verified: boolean;
|
|
405
|
+
isTest: boolean;
|
|
391
406
|
price: number | null;
|
|
392
407
|
}[];
|
|
393
408
|
chain: {
|
|
@@ -436,6 +451,7 @@ declare const app: Elysia<"", false, {
|
|
|
436
451
|
action?: string | undefined;
|
|
437
452
|
mainProtocolId?: string | undefined;
|
|
438
453
|
order?: undefined;
|
|
454
|
+
test?: boolean | undefined;
|
|
439
455
|
minimumTvl?: number | undefined;
|
|
440
456
|
};
|
|
441
457
|
headers: unknown;
|
|
@@ -466,12 +482,13 @@ declare const app: Elysia<"", false, {
|
|
|
466
482
|
action?: string | undefined;
|
|
467
483
|
mainProtocolId?: string | undefined;
|
|
468
484
|
order?: undefined;
|
|
485
|
+
test?: boolean | undefined;
|
|
469
486
|
minimumTvl?: number | undefined;
|
|
470
487
|
};
|
|
471
488
|
headers: unknown;
|
|
472
489
|
response: {
|
|
473
490
|
200: {
|
|
474
|
-
sum:
|
|
491
|
+
sum: number | null;
|
|
475
492
|
};
|
|
476
493
|
};
|
|
477
494
|
};
|
|
@@ -541,10 +558,11 @@ declare const app: Elysia<"", false, {
|
|
|
541
558
|
campaignId?: string | undefined;
|
|
542
559
|
opportunityId?: string | undefined;
|
|
543
560
|
tokenSymbol?: string | undefined;
|
|
561
|
+
test?: boolean | undefined;
|
|
544
562
|
};
|
|
545
563
|
headers: unknown;
|
|
546
564
|
response: {
|
|
547
|
-
200:
|
|
565
|
+
200: {
|
|
548
566
|
params: any;
|
|
549
567
|
chain: {
|
|
550
568
|
name: string;
|
|
@@ -559,7 +577,9 @@ declare const app: Elysia<"", false, {
|
|
|
559
577
|
address: string;
|
|
560
578
|
icon: string;
|
|
561
579
|
decimals: number;
|
|
580
|
+
displaySymbol: string;
|
|
562
581
|
verified: boolean;
|
|
582
|
+
isTest: boolean;
|
|
563
583
|
price: number | null;
|
|
564
584
|
};
|
|
565
585
|
distributionChain: {
|
|
@@ -587,7 +607,7 @@ declare const app: Elysia<"", false, {
|
|
|
587
607
|
amount: string;
|
|
588
608
|
opportunityId: string;
|
|
589
609
|
creatorAddress: string;
|
|
590
|
-
}
|
|
610
|
+
}[];
|
|
591
611
|
};
|
|
592
612
|
};
|
|
593
613
|
};
|
|
@@ -609,6 +629,7 @@ declare const app: Elysia<"", false, {
|
|
|
609
629
|
campaignId?: string | undefined;
|
|
610
630
|
opportunityId?: string | undefined;
|
|
611
631
|
tokenSymbol?: string | undefined;
|
|
632
|
+
test?: boolean | undefined;
|
|
612
633
|
};
|
|
613
634
|
headers: unknown;
|
|
614
635
|
response: {
|
|
@@ -762,7 +783,9 @@ declare const app: Elysia<"", false, {
|
|
|
762
783
|
address: string;
|
|
763
784
|
icon: string;
|
|
764
785
|
decimals: number;
|
|
786
|
+
displaySymbol: string;
|
|
765
787
|
verified: boolean;
|
|
788
|
+
isTest: boolean;
|
|
766
789
|
price?: number | null | undefined;
|
|
767
790
|
} | undefined;
|
|
768
791
|
};
|
|
@@ -791,7 +814,9 @@ declare const app: Elysia<"", false, {
|
|
|
791
814
|
address: string;
|
|
792
815
|
icon: string;
|
|
793
816
|
decimals: number;
|
|
817
|
+
displaySymbol: string;
|
|
794
818
|
verified: boolean;
|
|
819
|
+
isTest: boolean;
|
|
795
820
|
} & {
|
|
796
821
|
price?: number | null | undefined;
|
|
797
822
|
} & {
|
|
@@ -824,7 +849,9 @@ declare const app: Elysia<"", false, {
|
|
|
824
849
|
address: string;
|
|
825
850
|
icon: string;
|
|
826
851
|
decimals: number;
|
|
852
|
+
displaySymbol: string;
|
|
827
853
|
verified: boolean;
|
|
854
|
+
isTest: boolean;
|
|
828
855
|
} & {
|
|
829
856
|
price?: number | null | undefined;
|
|
830
857
|
})[];
|
|
@@ -1487,7 +1514,9 @@ declare const app: Elysia<"", false, {
|
|
|
1487
1514
|
address: string;
|
|
1488
1515
|
icon: string;
|
|
1489
1516
|
decimals: number;
|
|
1517
|
+
displaySymbol: string;
|
|
1490
1518
|
verified: boolean;
|
|
1519
|
+
isTest: boolean;
|
|
1491
1520
|
price: number | null;
|
|
1492
1521
|
};
|
|
1493
1522
|
breakdowns: {
|
|
@@ -1506,7 +1535,9 @@ declare const app: Elysia<"", false, {
|
|
|
1506
1535
|
address: string;
|
|
1507
1536
|
icon: string;
|
|
1508
1537
|
decimals: number;
|
|
1538
|
+
displaySymbol: string;
|
|
1509
1539
|
verified: boolean;
|
|
1540
|
+
isTest: boolean;
|
|
1510
1541
|
price: number | null;
|
|
1511
1542
|
}[];
|
|
1512
1543
|
Protocols: {
|
|
@@ -1597,7 +1628,9 @@ declare const app: Elysia<"", false, {
|
|
|
1597
1628
|
address: string;
|
|
1598
1629
|
icon: string;
|
|
1599
1630
|
decimals: number;
|
|
1631
|
+
displaySymbol: string;
|
|
1600
1632
|
verified: boolean;
|
|
1633
|
+
isTest: boolean;
|
|
1601
1634
|
price: number | null;
|
|
1602
1635
|
};
|
|
1603
1636
|
breakdowns: {
|
|
@@ -1616,7 +1649,9 @@ declare const app: Elysia<"", false, {
|
|
|
1616
1649
|
address: string;
|
|
1617
1650
|
icon: string;
|
|
1618
1651
|
decimals: number;
|
|
1652
|
+
displaySymbol: string;
|
|
1619
1653
|
verified: boolean;
|
|
1654
|
+
isTest: boolean;
|
|
1620
1655
|
price: number | null;
|
|
1621
1656
|
}[];
|
|
1622
1657
|
Protocols: {
|
|
@@ -2212,6 +2247,25 @@ declare const app: Elysia<"", false, {
|
|
|
2212
2247
|
};
|
|
2213
2248
|
};
|
|
2214
2249
|
};
|
|
2250
|
+
} & {
|
|
2251
|
+
v4: {
|
|
2252
|
+
positions: {
|
|
2253
|
+
index: {
|
|
2254
|
+
get: {
|
|
2255
|
+
body: unknown;
|
|
2256
|
+
params: {};
|
|
2257
|
+
query: {
|
|
2258
|
+
chainId: number;
|
|
2259
|
+
address: string;
|
|
2260
|
+
};
|
|
2261
|
+
headers: unknown;
|
|
2262
|
+
response: {
|
|
2263
|
+
200: any[];
|
|
2264
|
+
};
|
|
2265
|
+
};
|
|
2266
|
+
};
|
|
2267
|
+
};
|
|
2268
|
+
};
|
|
2215
2269
|
}, {
|
|
2216
2270
|
derive: {};
|
|
2217
2271
|
resolve: {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { nftPositionByIdsQuery, positionMultipleOwnersQuery } from "../../positions/clamm/thegraph";
|
|
2
|
-
import {
|
|
2
|
+
import { fetchFarmedPositions } from "../../positions/clamm/thegraph/fetchFarmedPositions";
|
|
3
3
|
import { A51Factory__factory, ALM, ALMMapping, AMM, AMMAlgorithm, AMMAlgorithmMapping, BN2Number, DecodeLiquidity, EAprBreakdownType, ERC20Interface, Forwarder, JonesDoubleRewardTracker__factory, Liquidity, NETWORK_LABELS, NitroInterface, PoolInterface, PoolState, PriorityAMM, SqrtPrice, almName, ammName, getAmountsForLiquidity, getTickAtSqrtRatio, isBlacklisted, isWhitelisted, merklSubgraphAMMEndpoints, shortenAddress, spNFTInterface, withTimeout, } from "@sdk";
|
|
4
4
|
import axios from "axios";
|
|
5
5
|
import { BigNumber, utils } from "ethers";
|
|
@@ -208,7 +208,7 @@ export async function CLAMMDynamicData(chainId, campaigns) {
|
|
|
208
208
|
if (targetAddressesList?.length > 0) {
|
|
209
209
|
positions[Number.parseInt(amm)] = [];
|
|
210
210
|
/** Fetch NFT Wrapper positions */
|
|
211
|
-
const farmedPositionsList = await
|
|
211
|
+
const farmedPositionsList = await fetchFarmedPositions(chainId, targetAddressesList, Number(amm));
|
|
212
212
|
const farmedPositionsById = Object.keys(farmedPositionsList).reduce((acc, curr) => {
|
|
213
213
|
for (const pos of farmedPositionsList[curr]) {
|
|
214
214
|
acc[pos.id] = pos;
|
|
@@ -15,6 +15,8 @@ const factoryAddresses = {
|
|
|
15
15
|
"0xa19C51D91891D3DF7C13Ed22a2f89d328A82950f": tokenType.fenix, // Fenix Factory
|
|
16
16
|
"0x3a76e377ED58c8731F9DF3A36155942438744Ce3": tokenType.zkswap, // ZKSwap Factory
|
|
17
17
|
"0x6fcf753f2C67b83f7B09746Bbc4FA0047b35D050": tokenType.pendle, // Pendle Factory
|
|
18
|
+
"0x35A338522a435D46f77Be32C70E215B813D0e3aC": tokenType.pendleYT, // Pendle YT Factory
|
|
19
|
+
"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73": tokenType.pancakeswap, // PancakeSwap Factory BNB
|
|
18
20
|
};
|
|
19
21
|
export function getTypeFromFactoryAddress(address) {
|
|
20
22
|
if (factoryAddresses[address]) {
|
|
@@ -53,7 +53,9 @@ export declare enum tokenType {
|
|
|
53
53
|
maverickBoostedPosition = "maverickBoostedPosition",
|
|
54
54
|
zkSwapThreePool = "zkSwapThreePool",
|
|
55
55
|
maha = "maha",
|
|
56
|
-
tempest = "tempest"
|
|
56
|
+
tempest = "tempest",
|
|
57
|
+
pendleYT = "pendleYT",
|
|
58
|
+
pancakeswap = "pancakeswap"
|
|
57
59
|
}
|
|
58
60
|
export declare const tokenTypeToProtocol: {
|
|
59
61
|
[key in tokenType]: {
|
|
@@ -55,6 +55,8 @@ export var tokenType;
|
|
|
55
55
|
tokenType["zkSwapThreePool"] = "zkSwapThreePool";
|
|
56
56
|
tokenType["maha"] = "maha";
|
|
57
57
|
tokenType["tempest"] = "tempest";
|
|
58
|
+
tokenType["pendleYT"] = "pendleYT";
|
|
59
|
+
tokenType["pancakeswap"] = "pancakeswap";
|
|
58
60
|
})(tokenType || (tokenType = {}));
|
|
59
61
|
export const tokenTypeToProtocol = {
|
|
60
62
|
[tokenType.aave_borrowing]: { protocol: "Aave" },
|
|
@@ -123,4 +125,10 @@ export const tokenTypeToProtocol = {
|
|
|
123
125
|
[tokenType.tempest]: {
|
|
124
126
|
protocol: "Tempest",
|
|
125
127
|
},
|
|
128
|
+
[tokenType.pendleYT]: {
|
|
129
|
+
protocol: "Pendle",
|
|
130
|
+
},
|
|
131
|
+
[tokenType.pancakeswap]: {
|
|
132
|
+
protocol: "PancakeSwap V2",
|
|
133
|
+
},
|
|
126
134
|
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Pricer } from "../../../../../utils/pricer";
|
|
2
|
+
import { type Campaign, type CampaignParameters } from "@sdk";
|
|
3
|
+
import type { tokenType } from "../helpers/tokenType";
|
|
4
|
+
import { GenericProcessor, type dataType, type mandatoryCallKeys } from "./GenericProcessor";
|
|
5
|
+
type callType = {
|
|
6
|
+
key: keyof dataRawPendleYT;
|
|
7
|
+
call: string;
|
|
8
|
+
target: keyof callKeysPendleYT;
|
|
9
|
+
metaData?: keyof callKeysPendleYT;
|
|
10
|
+
};
|
|
11
|
+
type callKeysPendleYT = mandatoryCallKeys & {
|
|
12
|
+
SYToken: string;
|
|
13
|
+
underlying: string;
|
|
14
|
+
symbolUnderlyingToken: string;
|
|
15
|
+
};
|
|
16
|
+
type dataRawPendleYT = callKeysPendleYT & {
|
|
17
|
+
readTokensRaw: string[];
|
|
18
|
+
};
|
|
19
|
+
type dataTypePendleYT = dataType & {};
|
|
20
|
+
export declare class PendleYTProcessor extends GenericProcessor<callKeysPendleYT, dataRawPendleYT, dataTypePendleYT> {
|
|
21
|
+
rounds: {
|
|
22
|
+
round1: callType[];
|
|
23
|
+
round2: callType[];
|
|
24
|
+
round3: callType[];
|
|
25
|
+
round4: callType[];
|
|
26
|
+
};
|
|
27
|
+
processingRound5(_index: number, type: tokenType, typeInfo: dataRawPendleYT, _calls: string[], campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.EULER>, pricer: Pricer): Promise<dataTypePendleYT>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { generateCardName } from "../../../../../utils/generateCardName";
|
|
2
|
+
import { ChainId } from "@sdk";
|
|
3
|
+
import { GenericProcessor } from "./GenericProcessor";
|
|
4
|
+
export class PendleYTProcessor extends GenericProcessor {
|
|
5
|
+
rounds = {
|
|
6
|
+
round1: [
|
|
7
|
+
{ key: "SYToken", call: "SY", target: "tokenAddress" },
|
|
8
|
+
{ key: "totalSupply", call: "totalSupply", target: "tokenAddress" },
|
|
9
|
+
],
|
|
10
|
+
round2: [{ key: "underlying", call: "underlying", target: "SYToken" }],
|
|
11
|
+
round3: [{ key: "symbolUnderlyingToken", call: "symbol", target: "underlying" }],
|
|
12
|
+
round4: [],
|
|
13
|
+
};
|
|
14
|
+
async processingRound5(_index, type, typeInfo, _calls, campaign, pricer) {
|
|
15
|
+
const { whitelistedSupplyTargetToken, totalSupply, blacklistedSupply } = this.handleWhiteListBlacklistRound5(typeInfo, campaign);
|
|
16
|
+
const priceTargetToken = (await pricer.get({
|
|
17
|
+
address: typeInfo.tokenAddress,
|
|
18
|
+
chainId: ChainId.MAINNET,
|
|
19
|
+
})) ?? 0;
|
|
20
|
+
const tvl = priceTargetToken * totalSupply;
|
|
21
|
+
return {
|
|
22
|
+
...typeInfo,
|
|
23
|
+
totalSupply,
|
|
24
|
+
tvl,
|
|
25
|
+
whitelistedSupplyTargetToken,
|
|
26
|
+
priceTargetToken: priceTargetToken,
|
|
27
|
+
cardName: generateCardName(type, typeInfo, campaign),
|
|
28
|
+
blacklistedSupply,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -16,6 +16,7 @@ import { GenericProcessor } from "./GenericProcessor";
|
|
|
16
16
|
import { MaverickBPProcessor } from "./MaverickBPProcessor";
|
|
17
17
|
import { MetamorphoProcessor } from "./MetamorphoProcessor";
|
|
18
18
|
import { PendleProcessor } from "./PendleProcessor";
|
|
19
|
+
import { PendleYTProcessor } from "./PendleYTProcessor";
|
|
19
20
|
import { RadiantProcessor } from "./RadiantProcessor";
|
|
20
21
|
import { RfxProcessor } from "./RfxProcessor";
|
|
21
22
|
import { SpliceProcessor } from "./SpliceProcessor";
|
|
@@ -82,4 +83,6 @@ export const processorMapping = {
|
|
|
82
83
|
[tokenType.zkSwapThreePool]: ZkSwapThreePoolProcessor,
|
|
83
84
|
[tokenType.maha]: StakedCurveProcessor,
|
|
84
85
|
[tokenType.tempest]: TempestVaultProcessor,
|
|
86
|
+
[tokenType.pendleYT]: PendleYTProcessor,
|
|
87
|
+
[tokenType.pancakeswap]: UniswapProcessor,
|
|
85
88
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type MerklChainId } from "@sdk";
|
|
2
|
-
import type { UncachedResult } from "../../../utils/execute";
|
|
3
2
|
import type { CLAMMPosition } from "../types";
|
|
4
3
|
export declare function getClammUserPositions(user: string, chainId: MerklChainId, poolsByAmm: {
|
|
5
4
|
[amm: string]: {
|
|
6
5
|
[pool: string]: any;
|
|
7
6
|
};
|
|
8
|
-
}): Promise<
|
|
7
|
+
}, withIndividualAPRs?: boolean): Promise<Record<string, CLAMMPosition>>;
|