@merkl/api 0.10.168 → 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/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>>;
|