@merkl/api 0.20.102 → 0.20.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/eden/index.d.ts +54 -36
 - package/dist/src/engine/campaignTVL/factory.d.ts +1 -1
 - package/dist/src/engine/campaignTVL/factory.js +9 -3
 - package/dist/src/engine/campaignTVL/implementations/Erc20/Erc20SubType.d.ts +2 -0
 - package/dist/src/engine/campaignTVL/implementations/Erc20/computeSubTypes.d.ts +2 -3
 - package/dist/src/engine/campaignTVL/implementations/Erc20/computeSubTypes.js +117 -0
 - package/dist/src/engine/campaignTVL/implementations/Erc20/factory.d.ts +3 -0
 - package/dist/src/engine/campaignTVL/implementations/Erc20/factory.js +13 -0
 - package/dist/src/engine/campaignTVL/implementations/Erc20/index.d.ts +2 -2
 - package/dist/src/engine/campaignTVL/implementations/Erc20/index.js +20 -1
 - package/dist/src/engine/dynamicData/implementations/Erc20.d.ts +1 -1
 - package/dist/src/engine/dynamicData/implementations/Erc20.js +3 -9
 - package/dist/src/engine/dynamicData/implementations/Radiant.js +2 -2
 - package/dist/src/engine/erc20SubTypeProcessors/GenericProcessor.d.ts +1 -2
 - package/dist/src/engine/erc20SubTypeProcessors/subtypesRound1.d.ts +1 -0
 - package/dist/src/engine/erc20SubTypeProcessors/subtypesRound1.js +4 -4
 - package/dist/src/engine/erc20SubTypeProcessors/subtypesRound2.d.ts +1 -2
 - package/dist/src/engine/opportunityMetadata/factory.js +4 -2
 - package/dist/src/engine/opportunityMetadata/implementations/ERCMultiToken.d.ts +14 -2
 - package/dist/src/engine/opportunityMetadata/implementations/ERCMultiToken.js +52 -2
 - package/dist/src/engine/opportunityMetadata/implementations/JsonAirdrop.d.ts +2 -2
 - package/dist/src/index.d.ts +18 -12
 - package/dist/src/modules/v4/campaign/campaign.service.d.ts +6 -0
 - package/dist/src/modules/v4/campaign/campaign.service.js +9 -0
 - package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +2 -2
 - package/dist/src/modules/v4/campaign/campaign.test.controller.js +1 -1
 - package/dist/src/modules/v4/computedValue/computedValue.controller.js +2 -1
 - package/dist/src/modules/v4/computedValue/computedValue.service.d.ts +1 -1
 - package/dist/src/modules/v4/computedValue/computedValue.service.js +5 -10
 - package/dist/src/modules/v4/dynamicData/dynamicData.service.js +2 -2
 - package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +7 -7
 - package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +3 -3
 - package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +1 -1
 - package/dist/src/modules/v4/protocol/protocol.controller.d.ts +2 -2
 - package/dist/src/modules/v4/protocol/protocol.model.d.ts +1 -1
 - package/dist/src/modules/v4/protocol/protocol.model.js +1 -0
 - package/dist/src/modules/v4/router.d.ts +18 -12
 - package/dist/src/modules/v4/token/token.controller.d.ts +6 -0
 - package/dist/src/modules/v4/token/token.controller.js +1 -1
 - package/dist/src/modules/v4/token/token.model.d.ts +3 -0
 - package/dist/src/modules/v4/token/token.model.js +3 -0
 - package/dist/src/modules/v4/token/token.repository.js +47 -25
 - package/dist/src/modules/v4/token/token.service.d.ts +27 -6
 - package/dist/src/modules/v4/token/token.service.js +29 -79
 - package/dist/tsconfig.package.tsbuildinfo +1 -1
 - package/package.json +1 -1
 - package/dist/src/modules/v4/computedValue/index.d.ts +0 -2
 - 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(" 
     | 
| 
      
 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 }) =>  
     | 
| 
      
 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( 
     | 
| 
      
 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( 
     | 
| 
       9 
     | 
    
         
            -
                     
     | 
| 
       10 
     | 
    
         
            -
                         
     | 
| 
       11 
     | 
    
         
            -
                         
     | 
| 
       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 {  
     | 
| 
      
 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 =  
     | 
| 
      
 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;
         
     | 
| 
         @@ -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. 
     | 
| 
      
 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()),
         
     |