@merkl/api 0.21.21 → 0.21.22

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 (53) hide show
  1. package/dist/database/api/.generated/drizzle/schema.d.ts +17 -0
  2. package/dist/database/api/.generated/drizzle/schema.js +2 -1
  3. package/dist/database/api/.generated/drizzle/schema.ts +2 -1
  4. package/dist/database/api/.generated/edge.js +5 -4
  5. package/dist/database/api/.generated/index-browser.js +2 -1
  6. package/dist/database/api/.generated/index.d.ts +44 -2
  7. package/dist/database/api/.generated/index.js +5 -4
  8. package/dist/database/api/.generated/package.json +1 -1
  9. package/dist/database/api/.generated/schema.prisma +8 -7
  10. package/dist/database/api/.generated/wasm.js +2 -1
  11. package/dist/src/eden/index.d.ts +18 -88
  12. package/dist/src/engine/deprecated/dynamicData/implementations/Clamm.d.ts +1 -1
  13. package/dist/src/engine/deprecated/dynamicData/implementations/Compound.d.ts +1 -1
  14. package/dist/src/engine/deprecated/dynamicData/implementations/CompoundV3.d.ts +1 -1
  15. package/dist/src/engine/deprecated/dynamicData/implementations/ERC721.d.ts +1 -1
  16. package/dist/src/engine/deprecated/dynamicData/implementations/ERCMultiToken.d.ts +1 -1
  17. package/dist/src/engine/deprecated/dynamicData/implementations/EigenLayer.d.ts +1 -1
  18. package/dist/src/engine/deprecated/dynamicData/implementations/Encompassing.d.ts +1 -1
  19. package/dist/src/engine/deprecated/dynamicData/implementations/Erc20Snapshot.d.ts +1 -1
  20. package/dist/src/engine/deprecated/dynamicData/implementations/EventBased.d.ts +1 -1
  21. package/dist/src/engine/deprecated/dynamicData/implementations/EventBased.js +1 -1
  22. package/dist/src/engine/deprecated/dynamicData/implementations/Hyperdrive.d.ts +1 -1
  23. package/dist/src/engine/deprecated/dynamicData/implementations/Morpho.d.ts +1 -1
  24. package/dist/src/engine/deprecated/dynamicData/implementations/Radiant.d.ts +1 -1
  25. package/dist/src/engine/deprecated/dynamicData/implementations/Silo.d.ts +1 -1
  26. package/dist/src/engine/deprecated/dynamicData/implementations/Vest.d.ts +1 -1
  27. package/dist/src/engine/implementations/Erc20/metadata.js +2 -2
  28. package/dist/src/engine/implementations/JsonAirdrop/metadata.d.ts +2 -2
  29. package/dist/src/engine/implementations/MultiLog/metadata.d.ts +1 -1
  30. package/dist/src/engine/implementations/MultiLog/tvl.d.ts +2 -2
  31. package/dist/src/engine/metadata/factory.js +1 -0
  32. package/dist/src/engine/tvl/factory.d.ts +4 -1
  33. package/dist/src/engine/tvl/factory.js +59 -6
  34. package/dist/src/index.d.ts +6 -34
  35. package/dist/src/jobs/dynamic-data.js +16 -14
  36. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +1 -1
  37. package/dist/src/modules/v4/campaign/campaign.service.d.ts +2 -1
  38. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +2 -31
  39. package/dist/src/modules/v4/campaign/campaign.test.controller.js +0 -11
  40. package/dist/src/modules/v4/computedValue/computedValue.controller.d.ts +1 -0
  41. package/dist/src/modules/v4/computedValue/computedValue.repository.d.ts +1 -0
  42. package/dist/src/modules/v4/computedValue/computedValue.service.d.ts +1 -0
  43. package/dist/src/modules/v4/dynamicData/dynamicData.service.d.ts +0 -11
  44. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +4 -49
  45. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +2 -2
  46. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +3 -3
  47. package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +9 -2
  48. package/dist/src/modules/v4/programPayload/programPayload.repository.js +50 -0
  49. package/dist/src/modules/v4/router.d.ts +6 -34
  50. package/dist/tsconfig.package.tsbuildinfo +1 -1
  51. package/package.json +2 -1
  52. package/dist/src/engine/deprecated/dynamicData/factory.d.ts +0 -3
  53. package/dist/src/engine/deprecated/dynamicData/factory.js +0 -68
@@ -2,10 +2,8 @@ import { NotFoundError } from "@/errors";
2
2
  import { InvalidParameter } from "@/errors/InvalidParameter.error";
3
3
  import { BackOfficeGuard } from "@/guards/BackOffice.guard";
4
4
  import { AuthorizationHeadersDto } from "@/guards/Engine.guard";
5
- import { DynamicDataSourceIdentifier } from "@/modules/v4/dynamicData/dynamicData.model";
6
5
  import { DynamicDataService } from "@/modules/v4/dynamicData/dynamicData.service";
7
6
  import { OpportunityConvertorService } from "@/modules/v4/opportunity/opportunity.converter";
8
- import { throwOnUnsupportedChainId } from "@/utils/throw";
9
7
  import { Campaign as CampaignType } from "@sdk";
10
8
  import Elysia, { t } from "elysia";
11
9
  import { CampaignConfigMinimal, CampaignsDto } from "./campaign.model";
@@ -66,15 +64,6 @@ export const CampaignTestController = new Elysia({
66
64
  return await DynamicDataService.update(campaign.computeChainId, campaign.campaignType, [campaign], true);
67
65
  }, {
68
66
  body: CampaignConfigMinimal,
69
- })
70
- // ─── Test TVL computation with campaign config ───────────────────────
71
- .get("/tvl", async ({ query }) => await DynamicDataService.queryERC20DynamicData(query.chainId, query.tokenAddress, query.rewardTokenAddress, query.symbolRewardToken, query.decimals), {
72
- query: DynamicDataSourceIdentifier,
73
- headers: AuthorizationHeadersDto,
74
- beforeHandle: async ({ query, headers }) => {
75
- await BackOfficeGuard({ headers });
76
- throwOnUnsupportedChainId(query.chainId);
77
- },
78
67
  })
79
68
  // ─── Test Opportunity creation through a campaign config ───────────────────────
80
69
  // @dev Starts from the engine db to debug opportunity creation failing and preventing the api db to be filled
@@ -31,6 +31,7 @@ export declare const ComputedValueController: Elysia<"/value", false, {
31
31
  forfeitingBoost: number | null;
32
32
  averageAPIBoost: number | null;
33
33
  computeMethodBoost: number | null;
34
+ lastRecordedNumberOfRecipients: number | null;
34
35
  } | null;
35
36
  };
36
37
  };
@@ -6,6 +6,7 @@ export declare abstract class ComputedValueRepository {
6
6
  forfeitingBoost: number | null;
7
7
  averageAPIBoost: number | null;
8
8
  computeMethodBoost: number | null;
9
+ lastRecordedNumberOfRecipients: number | null;
9
10
  } | null>;
10
11
  static upsertCampaignComputedValue(data: UpsertCampaignComputedValueModel): Promise<void>;
11
12
  static findUserValues(data: GetUserComputedValuesModel): Promise<{
@@ -7,6 +7,7 @@ export declare abstract class ComputedValueService {
7
7
  forfeitingBoost: number | null;
8
8
  averageAPIBoost: number | null;
9
9
  computeMethodBoost: number | null;
10
+ lastRecordedNumberOfRecipients: number | null;
10
11
  } | null>;
11
12
  static upsertCampaignComputedValue(data: UpsertCampaignComputedValueModel): Promise<void>;
12
13
  static findUserValues(params: GetUserComputedValuesModel): Promise<{
@@ -7,17 +7,6 @@ export declare class DynamicDataService {
7
7
  */
8
8
  static checkValidUpdate(opportunityId: string, newApr: number): Promise<boolean>;
9
9
  static update(chainId: ChainId, type: CampaignType, campaigns: CampaignParameters<CampaignType>[], dryRun?: boolean): Promise<unknown[]>;
10
- /**
11
- * @dev Test function used to create mock ERC20 static campaigns and check tvl and metadata
12
- */
13
- static queryERC20DynamicData(chainId: ChainId, tokenAddress: string, rewardTokenAddress: string, symbolRewardToken: string, decimals?: number): Promise<{
14
- tvl: number;
15
- totalSupply: number;
16
- cardName: string;
17
- blacklistedSupply: number;
18
- priceTargetToken: number;
19
- type: string;
20
- }>;
21
10
  /**
22
11
  * @dev Recursive function to handle errors in fetching dynamic data
23
12
  */
@@ -1,4 +1,3 @@
1
- import { dynamicDataBuilderFactory } from "@/engine/deprecated/dynamicData/factory";
2
1
  import { campaignTVLBuilderFactory } from "@/engine/tvl/factory";
3
2
  import { HttpError } from "@/errors";
4
3
  import { InvalidParameter } from "@/errors/InvalidParameter.error";
@@ -41,8 +40,8 @@ export class DynamicDataService {
41
40
  }
42
41
  const initialOpportunityIds = new Set(campaigns.map(c => OpportunityService.hashId({ chainId, identifier: c.mainParameter, type: CampaignType[+type] }))).size;
43
42
  // 2 - If the new dynamic data builder is available, use it
44
- const builder = campaignTVLBuilderFactory(type);
45
- if (!!builder) {
43
+ if (!campaignTVLBuilderFactory(type)?.deprecated) {
44
+ const builder = campaignTVLBuilderFactory(type);
46
45
  // 2.a - Call the builder
47
46
  const records = await DynamicDataService.fetchWithRecursiveErrorHandling(builder.build, campaigns, chainId);
48
47
  // 2.b - Regroup by opportunity and build records
@@ -194,8 +193,9 @@ export class DynamicDataService {
194
193
  }
195
194
  return updates;
196
195
  }
196
+ const builder = campaignTVLBuilderFactory(type);
197
197
  const dynamicDataArray = [];
198
- const dynamicData = await DynamicDataService.fetchWithRecursiveErrorHandling(dynamicDataBuilderFactory(type).build, campaigns, chainId);
198
+ const dynamicData = await DynamicDataService.fetchWithRecursiveErrorHandling(builder.build, campaigns, chainId);
199
199
  const oppMap = {};
200
200
  for (const data of dynamicData) {
201
201
  if (!!data) {
@@ -231,51 +231,6 @@ export class DynamicDataService {
231
231
  log.info(`[${NETWORK_LABELS[chainId]}][${CampaignType[type]}] updated ${dynamicData.length}/${campaigns.length} campaigns`);
232
232
  return dynamicDataArray;
233
233
  }
234
- /**
235
- * @dev Test function used to create mock ERC20 static campaigns and check tvl and metadata
236
- */
237
- static async queryERC20DynamicData(chainId, tokenAddress, rewardTokenAddress, symbolRewardToken, decimals = 18) {
238
- const campaigns = [
239
- {
240
- campaignId: tokenAddress,
241
- amount: "1000000000000000000", // 1 EXR in wei
242
- campaignSubType: 0,
243
- chainId: chainId,
244
- computeChainId: chainId,
245
- creator: "0xexamplecreatoraddress",
246
- endTimestamp: 1672531199, // Example end timestamp
247
- index: 0,
248
- mainParameter: "0xexamplemainparameter",
249
- rewardToken: rewardTokenAddress,
250
- startTimestamp: 1672444800, // Example start timestamp
251
- lastEligibilityRatio: 1,
252
- campaignParameters: {
253
- blacklist: [],
254
- decimalsRewardToken: 18,
255
- decimalsTargetToken: decimals,
256
- duration: 30,
257
- whitelist: [],
258
- forwarders: [],
259
- hooks: [],
260
- shouldIgnore: false,
261
- symbolRewardToken: symbolRewardToken,
262
- symbolTargetToken: "EXT",
263
- targetToken: tokenAddress,
264
- },
265
- campaignType: CampaignType.ERC20,
266
- },
267
- ];
268
- log.info(`querying mock campaign on chain: ${NETWORK_LABELS[chainId]}`);
269
- const result = await dynamicDataBuilderFactory(CampaignType.ERC20).build(Number(chainId), campaigns);
270
- return {
271
- priceTargetToken: result[0]?.typeInfo.priceTargetToken,
272
- totalSupply: result[0]?.typeInfo.totalSupply,
273
- blacklistedSupply: result[0]?.typeInfo.blacklistedSupply,
274
- cardName: result[0]?.typeInfo.cardName,
275
- tvl: result[0]?.typeInfo.tvl,
276
- type: result[0]?.type ?? "defaultType",
277
- };
278
- }
279
234
  /**
280
235
  * @dev Recursive function to handle errors in fetching dynamic data
281
236
  */
@@ -1124,7 +1124,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
1124
1124
  } & {
1125
1125
  price?: number | null | undefined;
1126
1126
  })[];
1127
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
1127
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
1128
1128
  description: string;
1129
1129
  howToSteps: string[];
1130
1130
  depositUrl: string | undefined;
@@ -1262,7 +1262,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
1262
1262
  } & {
1263
1263
  price?: number | null | undefined;
1264
1264
  })[];
1265
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
1265
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
1266
1266
  description: string;
1267
1267
  howToSteps: string[];
1268
1268
  depositUrl: string | undefined;
@@ -109,7 +109,7 @@ export declare abstract class OpportunityService {
109
109
  } & {
110
110
  price?: number | null | undefined;
111
111
  })[];
112
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
112
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
113
113
  description: string;
114
114
  howToSteps: string[];
115
115
  depositUrl: string | undefined;
@@ -239,7 +239,7 @@ export declare abstract class OpportunityService {
239
239
  } & {
240
240
  price?: number | null | undefined;
241
241
  })[];
242
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
242
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
243
243
  description: string;
244
244
  howToSteps: string[];
245
245
  depositUrl: string | undefined;
@@ -317,7 +317,7 @@ export declare abstract class OpportunityService {
317
317
  } & {
318
318
  price?: number | null | undefined;
319
319
  })[];
320
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
320
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
321
321
  description: string;
322
322
  howToSteps: string[];
323
323
  depositUrl: string | undefined;
@@ -16,7 +16,8 @@ export declare enum program {
16
16
  HypurrFi = "HypurrFi",
17
17
  WorldChain = "WorldChain",
18
18
  StableJack = "StableJack",
19
- Corn = "Corn"
19
+ Corn = "Corn",
20
+ Superlend = "Superlend"
20
21
  }
21
22
  export declare enum roninCampaigns {
22
23
  Katana_WETH_RON_Ronin = "Katana WETH-RON Ronin 0x90f31f1907a4d1443a6aacdc91ac2312f91bafa7",
@@ -463,6 +464,9 @@ export declare enum modeCampaigns {
463
464
  Bedrock_Ionic_Supply_ionuniBTC_Mode = "Bedrock Ionic Supply uniBTC 0xa48750877a83f7dec11f722178c317b54a44d142",
464
465
  Bedrock_Ironclad_Supply_uniBTC_Mode = "Bedrock Ironclad Supply uniBTC 0x0F041cf2ae959f39215EFfB50d681Df55D4d90B1"
465
466
  }
467
+ export declare enum superlendCampaigns {
468
+ Superlend_NET_USDC_SUPPLY = "Superlend net USDC supply on Etherlink"
469
+ }
466
470
  declare const RoninInterfaceCampaigns: {
467
471
  "Katana WETH-RON Ronin 0x90f31f1907a4d1443a6aacdc91ac2312f91bafa7": {
468
472
  campaignType: any;
@@ -1300,6 +1304,9 @@ declare const BeetsInterfaceCampaigns: {
1300
1304
  declare const ReserveInterfaceCampaigns: {
1301
1305
  [key in reserveCampaigns]: partialConfig;
1302
1306
  };
1307
+ declare const SuperlendInterfaceCampaigns: {
1308
+ [key in superlendCampaigns]: partialConfig;
1309
+ };
1303
1310
  declare const SonicmarketInterfaceCampaigns: {
1304
1311
  [key in sonicmarketCampaigns]: partialConfig;
1305
1312
  };
@@ -1755,6 +1762,6 @@ declare const StableJackInterfaceCampaigns: {
1755
1762
  [key in StableJackCampaigns]: partialConfig;
1756
1763
  };
1757
1764
  export declare const MerklInterfaceCampaigns: {
1758
- [key in program]: typeof PufferInterfaceCampaigns | typeof ZkSyncInterfaceCampaigns | typeof ModeInterfaceCampaigns | typeof VicunaInterfaceCampaigns | typeof SonicmarketInterfaceCampaigns | typeof ReserveInterfaceCampaigns | typeof BeetsInterfaceCampaigns | typeof CeloInterfaceCampaigns | typeof EtherlinkInterfaceCampaigns | typeof SwapxInterfaceCampaigns | typeof AnglesInterfaceCampaigns | typeof RoninInterfaceCampaigns | typeof TACInterfaceCampaigns | typeof HypurrFiCampaignsInterface | typeof WorldChainInterfaceCampaigns | typeof StableJackInterfaceCampaigns | typeof CornInterfaceCampaigns;
1765
+ [key in program]: typeof PufferInterfaceCampaigns | typeof ZkSyncInterfaceCampaigns | typeof ModeInterfaceCampaigns | typeof VicunaInterfaceCampaigns | typeof SonicmarketInterfaceCampaigns | typeof ReserveInterfaceCampaigns | typeof BeetsInterfaceCampaigns | typeof CeloInterfaceCampaigns | typeof EtherlinkInterfaceCampaigns | typeof SwapxInterfaceCampaigns | typeof AnglesInterfaceCampaigns | typeof RoninInterfaceCampaigns | typeof TACInterfaceCampaigns | typeof HypurrFiCampaignsInterface | typeof WorldChainInterfaceCampaigns | typeof StableJackInterfaceCampaigns | typeof CornInterfaceCampaigns | typeof SuperlendInterfaceCampaigns;
1759
1766
  };
1760
1767
  export {};
@@ -20,6 +20,7 @@ export var program;
20
20
  program["WorldChain"] = "WorldChain";
21
21
  program["StableJack"] = "StableJack";
22
22
  program["Corn"] = "Corn";
23
+ program["Superlend"] = "Superlend";
23
24
  })(program || (program = {}));
24
25
  export var roninCampaigns;
25
26
  (function (roninCampaigns) {
@@ -539,6 +540,10 @@ export var modeCampaigns;
539
540
  modeCampaigns["Bedrock_Ionic_Supply_ionuniBTC_Mode"] = "Bedrock Ionic Supply uniBTC 0xa48750877a83f7dec11f722178c317b54a44d142";
540
541
  modeCampaigns["Bedrock_Ironclad_Supply_uniBTC_Mode"] = "Bedrock Ironclad Supply uniBTC 0x0F041cf2ae959f39215EFfB50d681Df55D4d90B1";
541
542
  })(modeCampaigns || (modeCampaigns = {}));
543
+ export var superlendCampaigns;
544
+ (function (superlendCampaigns) {
545
+ superlendCampaigns["Superlend_NET_USDC_SUPPLY"] = "Superlend net USDC supply on Etherlink";
546
+ })(superlendCampaigns || (superlendCampaigns = {}));
542
547
  const RoninInterfaceCampaigns = {
543
548
  [roninCampaigns.Katana_WETH_RON_Ronin]: {
544
549
  campaignType: Campaign.CLAMM,
@@ -2852,6 +2857,50 @@ const ReserveInterfaceCampaigns = {
2852
2857
  composedCampaignsCompute: "1-2",
2853
2858
  },
2854
2859
  };
2860
+ const SuperlendInterfaceCampaigns = {
2861
+ [superlendCampaigns.Superlend_NET_USDC_SUPPLY]: {
2862
+ campaignType: Campaign.MULTILOG,
2863
+ computeScoreParameters: {
2864
+ computeMethod: ComputeScoreMethod.genericTimeWeighted,
2865
+ },
2866
+ whitelist: [],
2867
+ blacklist: [],
2868
+ hooks: [],
2869
+ composedCampaigns: [
2870
+ {
2871
+ composedIndex: 1,
2872
+ composedType: ComposedType.MAIN,
2873
+ campaignType: Campaign.ERC20REBASELOGPROCESSOR,
2874
+ targetToken: "0xd03bfdF9B26DB1e6764724d914d7c3d18106a9Fb",
2875
+ computeChainId: ChainId.ETHERLINK,
2876
+ computeScoreParameters: {
2877
+ computeMethod: ComputeScoreMethod.genericScorePunctual,
2878
+ },
2879
+ composedMultiplier: BASE_9.toString(),
2880
+ whitelist: [],
2881
+ blacklist: [],
2882
+ forwarders: [],
2883
+ hooks: [],
2884
+ },
2885
+ {
2886
+ composedIndex: 2,
2887
+ composedType: ComposedType.DEFAULT,
2888
+ campaignType: Campaign.ERC20REBASELOGPROCESSOR,
2889
+ targetToken: "0x904A51d7b418d8D5f3739e421A6eD532d653f625",
2890
+ computeChainId: ChainId.ETHERLINK,
2891
+ computeScoreParameters: {
2892
+ computeMethod: ComputeScoreMethod.genericScorePunctual,
2893
+ },
2894
+ composedMultiplier: BASE_9.toString(),
2895
+ whitelist: [],
2896
+ blacklist: [],
2897
+ forwarders: [],
2898
+ hooks: [],
2899
+ },
2900
+ ],
2901
+ composedCampaignsCompute: "1-2",
2902
+ },
2903
+ };
2855
2904
  function generateComposedCampaignForTradingCompetitionForReserve(pool, wethIndex, chainId) {
2856
2905
  return [
2857
2906
  {
@@ -7171,4 +7220,5 @@ export const MerklInterfaceCampaigns = {
7171
7220
  [program.WorldChain]: WorldChainInterfaceCampaigns,
7172
7221
  [program.StableJack]: StableJackInterfaceCampaigns,
7173
7222
  [program.Corn]: CornInterfaceCampaigns,
7223
+ [program.Superlend]: SuperlendInterfaceCampaigns,
7174
7224
  };
@@ -1139,7 +1139,7 @@ export declare const v4: Elysia<"/v4", false, {
1139
1139
  } & {
1140
1140
  price?: number | null | undefined;
1141
1141
  })[];
1142
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
1142
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
1143
1143
  description: string;
1144
1144
  howToSteps: string[];
1145
1145
  depositUrl: string | undefined;
@@ -1277,7 +1277,7 @@ export declare const v4: Elysia<"/v4", false, {
1277
1277
  } & {
1278
1278
  price?: number | null | undefined;
1279
1279
  })[];
1280
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
1280
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
1281
1281
  description: string;
1282
1282
  howToSteps: string[];
1283
1283
  depositUrl: string | undefined;
@@ -1407,7 +1407,7 @@ export declare const v4: Elysia<"/v4", false, {
1407
1407
  } & {
1408
1408
  price?: number | null | undefined;
1409
1409
  })[];
1410
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
1410
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
1411
1411
  description: string;
1412
1412
  howToSteps: string[];
1413
1413
  depositUrl: string | undefined;
@@ -2233,35 +2233,6 @@ export declare const v4: Elysia<"/v4", false, {
2233
2233
  };
2234
2234
  };
2235
2235
  };
2236
- } & {
2237
- "dry-run": {
2238
- tvl: {
2239
- get: {
2240
- body: unknown;
2241
- params: {};
2242
- query: {
2243
- decimals?: number | undefined;
2244
- chainId: number;
2245
- tokenAddress: string;
2246
- rewardTokenAddress: string;
2247
- symbolRewardToken: string;
2248
- };
2249
- headers: {
2250
- authorization: string;
2251
- };
2252
- response: {
2253
- 200: {
2254
- tvl: number;
2255
- totalSupply: number;
2256
- cardName: string;
2257
- blacklistedSupply: number;
2258
- priceTargetToken: number;
2259
- type: string;
2260
- };
2261
- };
2262
- };
2263
- };
2264
- };
2265
2236
  } & {
2266
2237
  "dry-run": {
2267
2238
  metadata: {
@@ -2373,7 +2344,7 @@ export declare const v4: Elysia<"/v4", false, {
2373
2344
  } & {
2374
2345
  price?: number | null | undefined;
2375
2346
  })[];
2376
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
2347
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
2377
2348
  description: string;
2378
2349
  howToSteps: string[];
2379
2350
  depositUrl: string | undefined;
@@ -2485,7 +2456,7 @@ export declare const v4: Elysia<"/v4", false, {
2485
2456
  } & {
2486
2457
  price?: number | null | undefined;
2487
2458
  })[];
2488
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "punchswap" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
2459
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
2489
2460
  description: string;
2490
2461
  howToSteps: string[];
2491
2462
  depositUrl: string | undefined;
@@ -5271,6 +5242,7 @@ export declare const v4: Elysia<"/v4", false, {
5271
5242
  forfeitingBoost: number | null;
5272
5243
  averageAPIBoost: number | null;
5273
5244
  computeMethodBoost: number | null;
5245
+ lastRecordedNumberOfRecipients: number | null;
5274
5246
  } | null;
5275
5247
  };
5276
5248
  };