@merkl/api 0.20.102 → 0.20.104

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 (48) hide show
  1. package/dist/src/eden/index.d.ts +54 -36
  2. package/dist/src/engine/campaignTVL/factory.d.ts +1 -1
  3. package/dist/src/engine/campaignTVL/factory.js +9 -3
  4. package/dist/src/engine/campaignTVL/implementations/Erc20/Erc20SubType.d.ts +2 -0
  5. package/dist/src/engine/campaignTVL/implementations/Erc20/computeSubTypes.d.ts +2 -3
  6. package/dist/src/engine/campaignTVL/implementations/Erc20/computeSubTypes.js +117 -0
  7. package/dist/src/engine/campaignTVL/implementations/Erc20/factory.d.ts +3 -0
  8. package/dist/src/engine/campaignTVL/implementations/Erc20/factory.js +13 -0
  9. package/dist/src/engine/campaignTVL/implementations/Erc20/index.d.ts +2 -2
  10. package/dist/src/engine/campaignTVL/implementations/Erc20/index.js +20 -1
  11. package/dist/src/engine/dynamicData/implementations/Erc20.d.ts +1 -1
  12. package/dist/src/engine/dynamicData/implementations/Erc20.js +3 -9
  13. package/dist/src/engine/dynamicData/implementations/Radiant.js +2 -2
  14. package/dist/src/engine/erc20SubTypeProcessors/GenericProcessor.d.ts +1 -2
  15. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound1.d.ts +1 -0
  16. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound1.js +4 -4
  17. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound2.d.ts +1 -2
  18. package/dist/src/engine/opportunityMetadata/factory.js +4 -2
  19. package/dist/src/engine/opportunityMetadata/implementations/ERCMultiToken.d.ts +14 -2
  20. package/dist/src/engine/opportunityMetadata/implementations/ERCMultiToken.js +52 -2
  21. package/dist/src/engine/opportunityMetadata/implementations/JsonAirdrop.d.ts +2 -2
  22. package/dist/src/index.d.ts +18 -12
  23. package/dist/src/modules/v4/campaign/campaign.service.d.ts +6 -0
  24. package/dist/src/modules/v4/campaign/campaign.service.js +9 -0
  25. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +2 -2
  26. package/dist/src/modules/v4/campaign/campaign.test.controller.js +1 -1
  27. package/dist/src/modules/v4/computedValue/computedValue.controller.js +2 -1
  28. package/dist/src/modules/v4/computedValue/computedValue.service.d.ts +1 -1
  29. package/dist/src/modules/v4/computedValue/computedValue.service.js +5 -10
  30. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +2 -2
  31. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +7 -7
  32. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +3 -3
  33. package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +1 -1
  34. package/dist/src/modules/v4/protocol/protocol.controller.d.ts +2 -2
  35. package/dist/src/modules/v4/protocol/protocol.model.d.ts +1 -1
  36. package/dist/src/modules/v4/protocol/protocol.model.js +1 -0
  37. package/dist/src/modules/v4/router.d.ts +18 -12
  38. package/dist/src/modules/v4/token/token.controller.d.ts +6 -0
  39. package/dist/src/modules/v4/token/token.controller.js +1 -1
  40. package/dist/src/modules/v4/token/token.model.d.ts +3 -0
  41. package/dist/src/modules/v4/token/token.model.js +3 -0
  42. package/dist/src/modules/v4/token/token.repository.js +47 -25
  43. package/dist/src/modules/v4/token/token.service.d.ts +27 -6
  44. package/dist/src/modules/v4/token/token.service.js +29 -79
  45. package/dist/tsconfig.package.tsbuildinfo +1 -1
  46. package/package.json +1 -1
  47. package/dist/src/modules/v4/computedValue/index.d.ts +0 -2
  48. package/dist/src/modules/v4/computedValue/index.js +0 -2
@@ -8,6 +8,7 @@ import { log } from "@/utils/logger";
8
8
  import { Campaign as CampaignEnum, NETWORK_LABELS, } from "@sdk";
9
9
  import { utils } from "ethers";
10
10
  import moment from "moment";
11
+ import { ComputedValueService } from "../computedValue/computedValue.service";
11
12
  import { CampaignRepository } from "./campaign.repository";
12
13
  export class CampaignService {
13
14
  static hashId(campaign) {
@@ -181,6 +182,14 @@ export class CampaignService {
181
182
  const id = typeof campaign === "string" ? campaign : CampaignService.hashId(campaign);
182
183
  return await CampaignRepository.findUniqueOrThrow(id, withOpportunity);
183
184
  }
185
+ static async findCampaignValue(params) {
186
+ if (params.campaignId.includes("-") && params.campaignId.startsWith("0x")) {
187
+ const [campaignId, distributionChain] = params.campaignId.split("-");
188
+ return await ComputedValueService.findCampaignValue(CampaignService.hashId({ campaignId, distributionChain: Number.parseInt(distributionChain) }), params.field);
189
+ }
190
+ const campaignId = (await CampaignService.findMany({ campaignId: params.campaignId }))[0].id;
191
+ return await ComputedValueService.findCampaignValue(campaignId, params.field);
192
+ }
184
193
  static async removeManualOverride(campaign, field) {
185
194
  const id = typeof campaign === "string" ? campaign : CampaignService.hashId(campaign);
186
195
  return await CampaignRepository.removeManualOverride(id, field);
@@ -143,7 +143,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
143
143
  } & {
144
144
  price?: number | null | undefined;
145
145
  })[];
146
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
146
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
147
147
  depositUrl: any;
148
148
  explorerAddress: string | undefined;
149
149
  tags: string[];
@@ -206,7 +206,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
206
206
  } & {
207
207
  price?: number | null | undefined;
208
208
  })[];
209
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
209
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
210
210
  depositUrl: any;
211
211
  explorerAddress: string | undefined;
212
212
  tags: string[];
@@ -68,7 +68,7 @@ export const CampaignTestController = new Elysia({
68
68
  },
69
69
  ]);
70
70
  if (!engineCampaigns.length)
71
- throw new NotFoundError("CampaignEnum not found in engine db");
71
+ throw new NotFoundError("Campaign not found in engine db");
72
72
  return await OpportunityService.createFromCampaign(engineCampaigns[0], false, true);
73
73
  }, {
74
74
  query: CampaignUniqueDto,
@@ -1,6 +1,7 @@
1
1
  import { AuthorizationHeadersDto, EngineGuard } from "@/guards/Engine.guard";
2
2
  import { throwOnInvalidRequiredAddress } from "@/utils/throw";
3
3
  import Elysia from "elysia";
4
+ import { CampaignService } from "../campaign";
4
5
  import { GetCampaignComputedValue, GetUserComputedValues, UpsertCampaignComputedValue, UpsertUserComputedValues, } from "./computedValue.model";
5
6
  import { ComputedValueService } from "./computedValue.service";
6
7
  export const ComputedValueController = new Elysia({
@@ -8,7 +9,7 @@ export const ComputedValueController = new Elysia({
8
9
  detail: { tags: ["Value"] },
9
10
  })
10
11
  // ─── Get a Campaign Value ──────────────────────────────────────
11
- .get("/campaign/:campaignId/:field", async ({ params }) => ComputedValueService.findCampaignValue(params), {
12
+ .get("/campaign/:campaignId/:field", async ({ params }) => CampaignService.findCampaignValue(params), {
12
13
  params: GetCampaignComputedValue,
13
14
  detail: { description: "Gets campaign-level values computed by Merkl Engine (for example average boost)" },
14
15
  })
@@ -1,7 +1,7 @@
1
1
  import type { GetCampaignComputedValueModel, GetUserComputedValuesModel, UpsertCampaignComputedValueModel, UpsertUserComputedValuesModel } from "./computedValue.model";
2
2
  export declare abstract class ComputedValueService {
3
3
  static hashUserComputedValueId(campaignId: string, address: string, reason: string): string;
4
- static findCampaignValue(params: GetCampaignComputedValueModel): Promise<{
4
+ static findCampaignValue(campaignId: string, field: GetCampaignComputedValueModel["field"]): Promise<{
5
5
  averageBoost: number | null;
6
6
  totalDistributedInUSD: number | null;
7
7
  forfeitingBoost: number | null;
@@ -1,19 +1,14 @@
1
1
  import { log } from "@/utils/logger";
2
- import { CampaignService } from "../campaign";
3
2
  import { ComputedValueRepository } from "./computedValue.repository";
4
3
  export class ComputedValueService {
5
4
  static hashUserComputedValueId(campaignId, address, reason) {
6
5
  return Bun.hash(`${campaignId}${address}${reason}`).toString();
7
6
  }
8
- static async findCampaignValue(params) {
9
- if (params.campaignId.includes("-") && params.campaignId.startsWith("0x")) {
10
- const [campaignId, distributionChain] = params.campaignId.split("-");
11
- params.campaignId = CampaignService.hashId({ campaignId, distributionChain: Number.parseInt(distributionChain) });
12
- }
13
- else if (params.campaignId.startsWith("0x")) {
14
- params.campaignId = (await CampaignService.findMany({ campaignId: params.campaignId }))[0].id;
15
- }
16
- return await ComputedValueRepository.findCampaignValue(params);
7
+ static async findCampaignValue(campaignId, field) {
8
+ return await ComputedValueRepository.findCampaignValue({
9
+ campaignId,
10
+ field,
11
+ });
17
12
  }
18
13
  static async upsertCampaignComputedValue(data) {
19
14
  await ComputedValueRepository.upsertCampaignComputedValue(data);
@@ -1,4 +1,4 @@
1
- import { campaignDynamicDataBuilderFactory } from "@/engine/campaignTVL/factory";
1
+ import { campaignTVLBuilderFactory } from "@/engine/campaignTVL/factory";
2
2
  import { dynamicDataBuilderFactory } from "@/engine/dynamicData/factory";
3
3
  import { HttpError } from "@/errors";
4
4
  import { InvalidParameter } from "@/errors/InvalidParameter.error";
@@ -28,7 +28,7 @@ export class DynamicDataService {
28
28
  }
29
29
  }
30
30
  // 2 - If the new dynamic data builder is available, use it
31
- const builder = campaignDynamicDataBuilderFactory(type);
31
+ const builder = campaignTVLBuilderFactory(type);
32
32
  if (!!builder) {
33
33
  // 2.a - Call the builder
34
34
  const records = await DynamicDataService.fetchWithRecursiveErrorHandling(builder.build, campaigns, chainId);
@@ -156,7 +156,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
156
156
  } & {
157
157
  price?: number | null | undefined;
158
158
  })[];
159
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
159
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
160
160
  depositUrl: any;
161
161
  explorerAddress: string | undefined;
162
162
  tags: string[];
@@ -220,7 +220,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
220
220
  } & {
221
221
  price?: number | null | undefined;
222
222
  })[];
223
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
223
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
224
224
  depositUrl: any;
225
225
  explorerAddress: string | undefined;
226
226
  tags: string[];
@@ -253,9 +253,9 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
253
253
  mainProtocolId?: string | undefined;
254
254
  campaigns?: boolean | undefined;
255
255
  point?: boolean | undefined;
256
- test?: boolean | undefined;
257
256
  rewardTokenSymbol?: string | undefined;
258
257
  order?: string | undefined;
258
+ test?: boolean | undefined;
259
259
  minimumTvl?: number | undefined;
260
260
  };
261
261
  headers: unknown;
@@ -456,9 +456,9 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
456
456
  mainProtocolId?: string | undefined;
457
457
  campaigns?: boolean | undefined;
458
458
  point?: boolean | undefined;
459
- test?: boolean | undefined;
460
459
  rewardTokenSymbol?: string | undefined;
461
460
  order?: string | undefined;
461
+ test?: boolean | undefined;
462
462
  minimumTvl?: number | undefined;
463
463
  };
464
464
  headers: unknown;
@@ -962,9 +962,9 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
962
962
  mainProtocolId?: string | undefined;
963
963
  campaigns?: boolean | undefined;
964
964
  point?: boolean | undefined;
965
- test?: boolean | undefined;
966
965
  rewardTokenSymbol?: string | undefined;
967
966
  order?: string | undefined;
967
+ test?: boolean | undefined;
968
968
  minimumTvl?: number | undefined;
969
969
  };
970
970
  headers: unknown;
@@ -1005,9 +1005,9 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
1005
1005
  mainProtocolId?: string | undefined;
1006
1006
  campaigns?: boolean | undefined;
1007
1007
  point?: boolean | undefined;
1008
- test?: boolean | undefined;
1009
1008
  rewardTokenSymbol?: string | undefined;
1010
1009
  order?: string | undefined;
1010
+ test?: boolean | undefined;
1011
1011
  minimumTvl?: number | undefined;
1012
1012
  };
1013
1013
  headers: unknown;
@@ -1049,9 +1049,9 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
1049
1049
  mainProtocolId?: string | undefined;
1050
1050
  campaigns?: boolean | undefined;
1051
1051
  point?: boolean | undefined;
1052
- test?: boolean | undefined;
1053
1052
  rewardTokenSymbol?: string | undefined;
1054
1053
  order?: string | undefined;
1054
+ test?: boolean | undefined;
1055
1055
  minimumTvl?: number | undefined;
1056
1056
  };
1057
1057
  headers: unknown;
@@ -64,7 +64,7 @@ export declare abstract class OpportunityService {
64
64
  } & {
65
65
  price?: number | null | undefined;
66
66
  })[];
67
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
67
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
68
68
  depositUrl: any;
69
69
  explorerAddress: string | undefined;
70
70
  tags: string[];
@@ -137,7 +137,7 @@ export declare abstract class OpportunityService {
137
137
  } & {
138
138
  price?: number | null | undefined;
139
139
  })[];
140
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
140
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
141
141
  depositUrl: any;
142
142
  explorerAddress: string | undefined;
143
143
  tags: string[];
@@ -185,7 +185,7 @@ export declare abstract class OpportunityService {
185
185
  } & {
186
186
  price?: number | null | undefined;
187
187
  })[];
188
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
188
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
189
189
  depositUrl: any;
190
190
  explorerAddress: string | undefined;
191
191
  tags: string[];
@@ -199,9 +199,9 @@ export declare const ProgramPayloadController: Elysia<"/program-payload", false,
199
199
  marketId?: string | undefined;
200
200
  strategy?: string | undefined;
201
201
  poolId?: string | undefined;
202
+ targetToken?: string | undefined;
202
203
  forwarders?: (string | {})[] | undefined;
203
204
  whitelist?: string[] | undefined;
204
- targetToken?: string | undefined;
205
205
  isOutOfRangeIncentivized?: boolean | undefined;
206
206
  weightFees?: number | undefined;
207
207
  weightToken0?: number | undefined;
@@ -23,8 +23,8 @@ export declare const ProtocolController: Elysia<"/protocols", false, {
23
23
  items?: number | undefined;
24
24
  tags?: string[] | undefined;
25
25
  page?: number | undefined;
26
- test?: boolean | undefined;
27
26
  ids?: string[] | undefined;
27
+ test?: boolean | undefined;
28
28
  opportunityTag?: string | undefined;
29
29
  };
30
30
  headers: unknown;
@@ -57,8 +57,8 @@ export declare const ProtocolController: Elysia<"/protocols", false, {
57
57
  items?: number | undefined;
58
58
  tags?: string[] | undefined;
59
59
  page?: number | undefined;
60
- test?: boolean | undefined;
61
60
  ids?: string[] | undefined;
61
+ test?: boolean | undefined;
62
62
  opportunityTag?: string | undefined;
63
63
  };
64
64
  headers: unknown;
@@ -9,7 +9,7 @@ export type Protocol = Resource<"Protocol", undefined, {
9
9
  numberOfLiveCampaigns?: number;
10
10
  opportunityLiveTags?: string[];
11
11
  }>;
12
- export declare const protocolIdList: readonly ["uniswap", "ambient", "arthswap", "base-swap", "camelot", "crust", "fenix", "horiza", "izumi", "kim", "pancake-swap", "quickswap", "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", "koi", "syncswap", "neptune", "zkSwapThreePool", "syncswap", "rfx", "ra", "maverick", "trader-joe", "velodrome", "hanji", "radiant", "aave", "fraxlend", "ironclad", "euler", "gearbox", "compound", "sturdy", "frax", "ionic", "moonwell", "fluid", "silo", "morpho", "dolomite", "badger", "ajna", "layerbank", "ion", "venus", "woofi", "reactor_fusion", "eigenlayer", "vest", "zerolend", "hyperdrive", "gamma", "oku", "hourglass", "veda", "kyo", "sonex", "lendle", "tako-tako", "equalizer", "spectra", "beraborrow", "superlend", "avalon", "iguana", "xlend", "sake", "angles", "enzyme", "toros", "vicuna", "bunni", "beratrax", "concrete", "cian", "pendle", "splice", "sturdy", "yei", "filament", "gammaswap", "maha", "tempest", "uranium", "hanji", "holdstation", "katana", "satlayer"];
12
+ export declare const protocolIdList: readonly ["uniswap", "ambient", "arthswap", "base-swap", "camelot", "crust", "fenix", "horiza", "izumi", "kim", "pancake-swap", "quickswap", "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", "koi", "syncswap", "neptune", "zkSwapThreePool", "syncswap", "rfx", "ra", "maverick", "trader-joe", "velodrome", "hanji", "radiant", "aave", "fraxlend", "ironclad", "euler", "gearbox", "compound", "sturdy", "frax", "ionic", "moonwell", "fluid", "silo", "morpho", "dolomite", "badger", "ajna", "layerbank", "ion", "venus", "woofi", "reactor_fusion", "eigenlayer", "vest", "zerolend", "hyperdrive", "gamma", "oku", "hourglass", "veda", "kyo", "sonex", "lendle", "tako-tako", "equalizer", "spectra", "beraborrow", "superlend", "avalon", "iguana", "xlend", "sake", "sonicmarket", "angles", "enzyme", "toros", "vicuna", "bunni", "beratrax", "concrete", "cian", "pendle", "splice", "sturdy", "yei", "filament", "gammaswap", "maha", "tempest", "uranium", "hanji", "holdstation", "katana", "satlayer"];
13
13
  export type ProtocolId = (typeof protocolIdList)[number];
14
14
  export declare const ProtocolResourceDto: import("@sinclair/typebox").TObject<{
15
15
  id: import("@sinclair/typebox").TString;
@@ -91,6 +91,7 @@ export const protocolIdList = [
91
91
  "iguana",
92
92
  "xlend",
93
93
  "sake",
94
+ "sonicmarket",
94
95
  // ─── Staking ──────────────────────────────────────────────────────
95
96
  "angles",
96
97
  // ─── Yield Aggregator ──────────────────────────────────────────────
@@ -171,7 +171,7 @@ export declare const v4: Elysia<"/v4", false, {
171
171
  } & {
172
172
  price?: number | null | undefined;
173
173
  })[];
174
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
174
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
175
175
  depositUrl: any;
176
176
  explorerAddress: string | undefined;
177
177
  tags: string[];
@@ -235,7 +235,7 @@ export declare const v4: Elysia<"/v4", false, {
235
235
  } & {
236
236
  price?: number | null | undefined;
237
237
  })[];
238
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
238
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
239
239
  depositUrl: any;
240
240
  explorerAddress: string | undefined;
241
241
  tags: string[];
@@ -268,9 +268,9 @@ export declare const v4: Elysia<"/v4", false, {
268
268
  mainProtocolId?: string | undefined;
269
269
  campaigns?: boolean | undefined;
270
270
  point?: boolean | undefined;
271
- test?: boolean | undefined;
272
271
  rewardTokenSymbol?: string | undefined;
273
272
  order?: string | undefined;
273
+ test?: boolean | undefined;
274
274
  minimumTvl?: number | undefined;
275
275
  };
276
276
  headers: unknown;
@@ -471,9 +471,9 @@ export declare const v4: Elysia<"/v4", false, {
471
471
  mainProtocolId?: string | undefined;
472
472
  campaigns?: boolean | undefined;
473
473
  point?: boolean | undefined;
474
- test?: boolean | undefined;
475
474
  rewardTokenSymbol?: string | undefined;
476
475
  order?: string | undefined;
476
+ test?: boolean | undefined;
477
477
  minimumTvl?: number | undefined;
478
478
  };
479
479
  headers: unknown;
@@ -977,9 +977,9 @@ export declare const v4: Elysia<"/v4", false, {
977
977
  mainProtocolId?: string | undefined;
978
978
  campaigns?: boolean | undefined;
979
979
  point?: boolean | undefined;
980
- test?: boolean | undefined;
981
980
  rewardTokenSymbol?: string | undefined;
982
981
  order?: string | undefined;
982
+ test?: boolean | undefined;
983
983
  minimumTvl?: number | undefined;
984
984
  };
985
985
  headers: unknown;
@@ -1020,9 +1020,9 @@ export declare const v4: Elysia<"/v4", false, {
1020
1020
  mainProtocolId?: string | undefined;
1021
1021
  campaigns?: boolean | undefined;
1022
1022
  point?: boolean | undefined;
1023
- test?: boolean | undefined;
1024
1023
  rewardTokenSymbol?: string | undefined;
1025
1024
  order?: string | undefined;
1025
+ test?: boolean | undefined;
1026
1026
  minimumTvl?: number | undefined;
1027
1027
  };
1028
1028
  headers: unknown;
@@ -1064,9 +1064,9 @@ export declare const v4: Elysia<"/v4", false, {
1064
1064
  mainProtocolId?: string | undefined;
1065
1065
  campaigns?: boolean | undefined;
1066
1066
  point?: boolean | undefined;
1067
- test?: boolean | undefined;
1068
1067
  rewardTokenSymbol?: string | undefined;
1069
1068
  order?: string | undefined;
1069
+ test?: boolean | undefined;
1070
1070
  minimumTvl?: number | undefined;
1071
1071
  };
1072
1072
  headers: unknown;
@@ -1915,7 +1915,7 @@ export declare const v4: Elysia<"/v4", false, {
1915
1915
  } & {
1916
1916
  price?: number | null | undefined;
1917
1917
  })[];
1918
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
1918
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
1919
1919
  depositUrl: any;
1920
1920
  explorerAddress: string | undefined;
1921
1921
  tags: string[];
@@ -1978,7 +1978,7 @@ export declare const v4: Elysia<"/v4", false, {
1978
1978
  } & {
1979
1979
  price?: number | null | undefined;
1980
1980
  })[];
1981
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
1981
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "gamma" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
1982
1982
  depositUrl: any;
1983
1983
  explorerAddress: string | undefined;
1984
1984
  tags: string[];
@@ -2002,8 +2002,8 @@ export declare const v4: Elysia<"/v4", false, {
2002
2002
  items?: number | undefined;
2003
2003
  tags?: string[] | undefined;
2004
2004
  page?: number | undefined;
2005
- test?: boolean | undefined;
2006
2005
  ids?: string[] | undefined;
2006
+ test?: boolean | undefined;
2007
2007
  opportunityTag?: string | undefined;
2008
2008
  };
2009
2009
  headers: unknown;
@@ -2036,8 +2036,8 @@ export declare const v4: Elysia<"/v4", false, {
2036
2036
  items?: number | undefined;
2037
2037
  tags?: string[] | undefined;
2038
2038
  page?: number | undefined;
2039
- test?: boolean | undefined;
2040
2039
  ids?: string[] | undefined;
2040
+ test?: boolean | undefined;
2041
2041
  opportunityTag?: string | undefined;
2042
2042
  };
2043
2043
  headers: unknown;
@@ -2297,7 +2297,10 @@ export declare const v4: Elysia<"/v4", false, {
2297
2297
  query: {
2298
2298
  symbol?: string | undefined;
2299
2299
  id?: string[] | undefined;
2300
+ search?: string | undefined;
2300
2301
  name?: string | undefined;
2302
+ items?: number | undefined;
2303
+ page?: number | undefined;
2301
2304
  address?: string | undefined;
2302
2305
  chainId?: number | undefined;
2303
2306
  displaySymbol?: string | undefined;
@@ -2335,7 +2338,10 @@ export declare const v4: Elysia<"/v4", false, {
2335
2338
  query: {
2336
2339
  symbol?: string | undefined;
2337
2340
  id?: string[] | undefined;
2341
+ search?: string | undefined;
2338
2342
  name?: string | undefined;
2343
+ items?: number | undefined;
2344
+ page?: number | undefined;
2339
2345
  address?: string | undefined;
2340
2346
  chainId?: number | undefined;
2341
2347
  displaySymbol?: string | undefined;
@@ -4514,9 +4520,9 @@ export declare const v4: Elysia<"/v4", false, {
4514
4520
  marketId?: string | undefined;
4515
4521
  strategy?: string | undefined;
4516
4522
  poolId?: string | undefined;
4523
+ targetToken?: string | undefined;
4517
4524
  forwarders?: (string | {})[] | undefined;
4518
4525
  whitelist?: string[] | undefined;
4519
- targetToken?: string | undefined;
4520
4526
  isOutOfRangeIncentivized?: boolean | undefined;
4521
4527
  weightFees?: number | undefined;
4522
4528
  weightToken0?: number | undefined;
@@ -148,7 +148,10 @@ export declare const TokenController: Elysia<"/tokens", false, {
148
148
  query: {
149
149
  symbol?: string | undefined;
150
150
  id?: string[] | undefined;
151
+ search?: string | undefined;
151
152
  name?: string | undefined;
153
+ items?: number | undefined;
154
+ page?: number | undefined;
152
155
  address?: string | undefined;
153
156
  chainId?: number | undefined;
154
157
  displaySymbol?: string | undefined;
@@ -186,7 +189,10 @@ export declare const TokenController: Elysia<"/tokens", false, {
186
189
  query: {
187
190
  symbol?: string | undefined;
188
191
  id?: string[] | undefined;
192
+ search?: string | undefined;
189
193
  name?: string | undefined;
194
+ items?: number | undefined;
195
+ page?: number | undefined;
190
196
  address?: string | undefined;
191
197
  chainId?: number | undefined;
192
198
  displaySymbol?: string | undefined;
@@ -61,7 +61,7 @@ export const TokenController = new Elysia({ prefix: "/tokens", detail: { tags: [
61
61
  },
62
62
  })
63
63
  // ─── Get Many Tokens ─────────────────────────────────────────────────
64
- .get("/", async ({ query }) => await TokenService.findMany(query), {
64
+ .get("/", async ({ query }) => await TokenService.findManyOrFetch(query), {
65
65
  query: GetTokenQueryDto,
66
66
  detail: {
67
67
  hide: true,
@@ -39,6 +39,9 @@ export declare const GetTokenQueryDto: import("@sinclair/typebox").TObject<{
39
39
  isNative: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
40
40
  address: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
41
41
  name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
42
+ search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
43
+ page: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
44
+ items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
42
45
  verified: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
43
46
  test: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
44
47
  missingIcons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
@@ -28,6 +28,9 @@ export const GetTokenQueryDto = t.Object({
28
28
  isNative: t.Optional(t.Boolean()),
29
29
  address: t.Optional(t.String()),
30
30
  name: t.Optional(t.String()),
31
+ search: t.Optional(t.String()),
32
+ page: t.Optional(t.Number()),
33
+ items: t.Optional(t.Number()),
31
34
  verified: t.Optional(t.Boolean()),
32
35
  test: t.Optional(t.Boolean()),
33
36
  missingIcons: t.Optional(t.Boolean()),