@merkl/api 0.10.133 → 0.10.134
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 +82 -0
- package/dist/src/index.d.ts +32 -0
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +32 -0
- package/dist/src/modules/v4/opportunity/opportunity.controller.js +7 -2
- package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +4 -0
- package/dist/src/modules/v4/opportunity/opportunity.model.js +3 -0
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +3 -0
- package/dist/src/modules/v4/opportunity/opportunity.repository.js +10 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +4 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.js +3 -0
- package/dist/src/modules/v4/router.d.ts +32 -0
- package/dist/src/routes/v3/ERC20Campaigns.d.ts +32 -0
- package/dist/src/routes/v3/blacklist.d.ts +32 -0
- package/dist/src/routes/v3/campaigns.d.ts +32 -0
- package/dist/src/routes/v3/campaignsInfo.d.ts +32 -0
- package/dist/src/routes/v3/multiChainPositions.d.ts +32 -0
- package/dist/src/routes/v3/opportunity.d.ts +32 -0
- package/dist/src/routes/v3/positions.d.ts +32 -0
- package/dist/src/routes/v3/rewards.d.ts +32 -0
- package/dist/src/routes/v3/updates.d.ts +32 -0
- package/dist/src/routes/v3/userRewards.d.ts +32 -0
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
    
        package/dist/src/eden/index.d.ts
    CHANGED
    
    | @@ -378,6 +378,31 @@ declare const eden: { | |
| 378 378 | 
             
                                200: number;
         | 
| 379 379 | 
             
                            }>>;
         | 
| 380 380 | 
             
                        };
         | 
| 381 | 
            +
                        aggregate: ((params: {
         | 
| 382 | 
            +
                            field: string | number;
         | 
| 383 | 
            +
                        }) => {
         | 
| 384 | 
            +
                            get: (options: {
         | 
| 385 | 
            +
                                headers?: Record<string, unknown> | undefined;
         | 
| 386 | 
            +
                                query: {
         | 
| 387 | 
            +
                                    sort?: undefined;
         | 
| 388 | 
            +
                                    name?: string | undefined;
         | 
| 389 | 
            +
                                    tokens?: string | undefined;
         | 
| 390 | 
            +
                                    status?: string | undefined;
         | 
| 391 | 
            +
                                    items?: number | undefined;
         | 
| 392 | 
            +
                                    tags?: string | undefined;
         | 
| 393 | 
            +
                                    chainId?: string | undefined;
         | 
| 394 | 
            +
                                    page?: number | undefined;
         | 
| 395 | 
            +
                                    action?: string | undefined;
         | 
| 396 | 
            +
                                    mainProtocolId?: string | undefined;
         | 
| 397 | 
            +
                                    order?: undefined;
         | 
| 398 | 
            +
                                };
         | 
| 399 | 
            +
                                fetch?: RequestInit | undefined;
         | 
| 400 | 
            +
                            }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
         | 
| 401 | 
            +
                                200: {
         | 
| 402 | 
            +
                                    sum: File;
         | 
| 403 | 
            +
                                };
         | 
| 404 | 
            +
                            }>>;
         | 
| 405 | 
            +
                        }) & {};
         | 
| 381 406 | 
             
                    };
         | 
| 382 407 | 
             
                    campaigns: {
         | 
| 383 408 | 
             
                        index: {
         | 
| @@ -2215,6 +2240,38 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa | |
| 2215 2240 | 
             
                            };
         | 
| 2216 2241 | 
             
                        };
         | 
| 2217 2242 | 
             
                    };
         | 
| 2243 | 
            +
                } & {
         | 
| 2244 | 
            +
                    opportunities: {
         | 
| 2245 | 
            +
                        aggregate: {
         | 
| 2246 | 
            +
                            ":field": {
         | 
| 2247 | 
            +
                                get: {
         | 
| 2248 | 
            +
                                    body: unknown;
         | 
| 2249 | 
            +
                                    params: {
         | 
| 2250 | 
            +
                                        field: never;
         | 
| 2251 | 
            +
                                    };
         | 
| 2252 | 
            +
                                    query: {
         | 
| 2253 | 
            +
                                        sort?: undefined;
         | 
| 2254 | 
            +
                                        name?: string | undefined;
         | 
| 2255 | 
            +
                                        tokens?: string | undefined;
         | 
| 2256 | 
            +
                                        status?: string | undefined;
         | 
| 2257 | 
            +
                                        items?: number | undefined;
         | 
| 2258 | 
            +
                                        tags?: string | undefined;
         | 
| 2259 | 
            +
                                        chainId?: string | undefined;
         | 
| 2260 | 
            +
                                        page?: number | undefined;
         | 
| 2261 | 
            +
                                        action?: string | undefined;
         | 
| 2262 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 2263 | 
            +
                                        order?: undefined;
         | 
| 2264 | 
            +
                                    };
         | 
| 2265 | 
            +
                                    headers: unknown;
         | 
| 2266 | 
            +
                                    response: {
         | 
| 2267 | 
            +
                                        200: {
         | 
| 2268 | 
            +
                                            sum: File;
         | 
| 2269 | 
            +
                                        };
         | 
| 2270 | 
            +
                                    };
         | 
| 2271 | 
            +
                                };
         | 
| 2272 | 
            +
                            };
         | 
| 2273 | 
            +
                        };
         | 
| 2274 | 
            +
                    };
         | 
| 2218 2275 | 
             
                };
         | 
| 2219 2276 | 
             
            } & {
         | 
| 2220 2277 | 
             
                v4: {
         | 
| @@ -4379,6 +4436,31 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa | |
| 4379 4436 | 
             
                                200: number;
         | 
| 4380 4437 | 
             
                            }>>;
         | 
| 4381 4438 | 
             
                        };
         | 
| 4439 | 
            +
                        aggregate: ((params: {
         | 
| 4440 | 
            +
                            field: string | number;
         | 
| 4441 | 
            +
                        }) => {
         | 
| 4442 | 
            +
                            get: (options: {
         | 
| 4443 | 
            +
                                headers?: Record<string, unknown> | undefined;
         | 
| 4444 | 
            +
                                query: {
         | 
| 4445 | 
            +
                                    sort?: undefined;
         | 
| 4446 | 
            +
                                    name?: string | undefined;
         | 
| 4447 | 
            +
                                    tokens?: string | undefined;
         | 
| 4448 | 
            +
                                    status?: string | undefined;
         | 
| 4449 | 
            +
                                    items?: number | undefined;
         | 
| 4450 | 
            +
                                    tags?: string | undefined;
         | 
| 4451 | 
            +
                                    chainId?: string | undefined;
         | 
| 4452 | 
            +
                                    page?: number | undefined;
         | 
| 4453 | 
            +
                                    action?: string | undefined;
         | 
| 4454 | 
            +
                                    mainProtocolId?: string | undefined;
         | 
| 4455 | 
            +
                                    order?: undefined;
         | 
| 4456 | 
            +
                                };
         | 
| 4457 | 
            +
                                fetch?: RequestInit | undefined;
         | 
| 4458 | 
            +
                            }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
         | 
| 4459 | 
            +
                                200: {
         | 
| 4460 | 
            +
                                    sum: File;
         | 
| 4461 | 
            +
                                };
         | 
| 4462 | 
            +
                            }>>;
         | 
| 4463 | 
            +
                        }) & {};
         | 
| 4382 4464 | 
             
                    };
         | 
| 4383 4465 | 
             
                    campaigns: {
         | 
| 4384 4466 | 
             
                        index: {
         | 
    
        package/dist/src/index.d.ts
    CHANGED
    
    | @@ -435,6 +435,38 @@ declare const app: Elysia<"", false, { | |
| 435 435 | 
             
                            };
         | 
| 436 436 | 
             
                        };
         | 
| 437 437 | 
             
                    };
         | 
| 438 | 
            +
                } & {
         | 
| 439 | 
            +
                    opportunities: {
         | 
| 440 | 
            +
                        aggregate: {
         | 
| 441 | 
            +
                            ":field": {
         | 
| 442 | 
            +
                                get: {
         | 
| 443 | 
            +
                                    body: unknown;
         | 
| 444 | 
            +
                                    params: {
         | 
| 445 | 
            +
                                        field: never;
         | 
| 446 | 
            +
                                    };
         | 
| 447 | 
            +
                                    query: {
         | 
| 448 | 
            +
                                        sort?: undefined;
         | 
| 449 | 
            +
                                        name?: string | undefined;
         | 
| 450 | 
            +
                                        tokens?: string | undefined;
         | 
| 451 | 
            +
                                        status?: string | undefined;
         | 
| 452 | 
            +
                                        items?: number | undefined;
         | 
| 453 | 
            +
                                        tags?: string | undefined;
         | 
| 454 | 
            +
                                        chainId?: string | undefined;
         | 
| 455 | 
            +
                                        page?: number | undefined;
         | 
| 456 | 
            +
                                        action?: string | undefined;
         | 
| 457 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 458 | 
            +
                                        order?: undefined;
         | 
| 459 | 
            +
                                    };
         | 
| 460 | 
            +
                                    headers: unknown;
         | 
| 461 | 
            +
                                    response: {
         | 
| 462 | 
            +
                                        200: {
         | 
| 463 | 
            +
                                            sum: File;
         | 
| 464 | 
            +
                                        };
         | 
| 465 | 
            +
                                    };
         | 
| 466 | 
            +
                                };
         | 
| 467 | 
            +
                            };
         | 
| 468 | 
            +
                        };
         | 
| 469 | 
            +
                    };
         | 
| 438 470 | 
             
                };
         | 
| 439 471 | 
             
            } & {
         | 
| 440 472 | 
             
                v4: {
         | 
| @@ -408,6 +408,38 @@ export declare const OpportunityController: Elysia<"/opportunities", false, { | |
| 408 408 | 
             
                        };
         | 
| 409 409 | 
             
                    };
         | 
| 410 410 | 
             
                };
         | 
| 411 | 
            +
            } & {
         | 
| 412 | 
            +
                opportunities: {
         | 
| 413 | 
            +
                    aggregate: {
         | 
| 414 | 
            +
                        ":field": {
         | 
| 415 | 
            +
                            get: {
         | 
| 416 | 
            +
                                body: unknown;
         | 
| 417 | 
            +
                                params: {
         | 
| 418 | 
            +
                                    field: never;
         | 
| 419 | 
            +
                                };
         | 
| 420 | 
            +
                                query: {
         | 
| 421 | 
            +
                                    sort?: undefined;
         | 
| 422 | 
            +
                                    name?: string | undefined;
         | 
| 423 | 
            +
                                    tokens?: string | undefined;
         | 
| 424 | 
            +
                                    status?: string | undefined;
         | 
| 425 | 
            +
                                    items?: number | undefined;
         | 
| 426 | 
            +
                                    tags?: string | undefined;
         | 
| 427 | 
            +
                                    chainId?: string | undefined;
         | 
| 428 | 
            +
                                    page?: number | undefined;
         | 
| 429 | 
            +
                                    action?: string | undefined;
         | 
| 430 | 
            +
                                    mainProtocolId?: string | undefined;
         | 
| 431 | 
            +
                                    order?: undefined;
         | 
| 432 | 
            +
                                };
         | 
| 433 | 
            +
                                headers: unknown;
         | 
| 434 | 
            +
                                response: {
         | 
| 435 | 
            +
                                    200: {
         | 
| 436 | 
            +
                                        sum: File;
         | 
| 437 | 
            +
                                    };
         | 
| 438 | 
            +
                                };
         | 
| 439 | 
            +
                            };
         | 
| 440 | 
            +
                        };
         | 
| 441 | 
            +
                    };
         | 
| 442 | 
            +
                };
         | 
| 411 443 | 
             
            }, {
         | 
| 412 444 | 
             
                derive: {};
         | 
| 413 445 | 
             
                resolve: {};
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            import { NotFoundError } from "../../../errors";
         | 
| 2 2 | 
             
            import { AuthorizationHeadersDto, TokenAuthGuard } from "../../../guards/TokenAuth.guard";
         | 
| 3 3 | 
             
            import Elysia from "elysia";
         | 
| 4 | 
            -
            import { CreateOpportunityDto, GetOpportunitiesQueryDto, OpportunityUniqueDto } from "./opportunity.model";
         | 
| 4 | 
            +
            import { CreateOpportunityDto, GetOpportunitiesQueryDto, OpportunityAggregateFieldDto, OpportunityUniqueDto, } from "./opportunity.model";
         | 
| 5 5 | 
             
            import { OpportunityService } from "./opportunity.service";
         | 
| 6 6 | 
             
            import { transformId } from "./transform-id.pipe";
         | 
| 7 7 | 
             
            import { validateId } from "./validate-id.pipe";
         | 
| @@ -60,4 +60,9 @@ export const OpportunityController = new Elysia({ prefix: "/opportunities", deta | |
| 60 60 | 
             
                query: GetOpportunitiesQueryDto,
         | 
| 61 61 | 
             
            })
         | 
| 62 62 | 
             
                // ─── Get Opportunities Count ─────────────────────────────────────────
         | 
| 63 | 
            -
                .get("/count", async ({ query }) => await OpportunityService.countMany(query), { query: GetOpportunitiesQueryDto }) | 
| 63 | 
            +
                .get("/count", async ({ query }) => await OpportunityService.countMany(query), { query: GetOpportunitiesQueryDto })
         | 
| 64 | 
            +
                // ─── Get Aggregate fields  ─────────────────────────────────────────
         | 
| 65 | 
            +
                .get("/aggregate/:field", async ({ query, params }) => await OpportunityService.aggregate(query, params.field), {
         | 
| 66 | 
            +
                params: OpportunityAggregateFieldDto,
         | 
| 67 | 
            +
                query: GetOpportunitiesQueryDto,
         | 
| 68 | 
            +
            });
         | 
| @@ -107,7 +107,11 @@ export declare const CreateOpportunityDto: import("@sinclair/typebox").TObject<{ | |
| 107 107 | 
             
                protocols: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
         | 
| 108 108 | 
             
                mainProtocol: import("@sinclair/typebox").TString;
         | 
| 109 109 | 
             
            }>;
         | 
| 110 | 
            +
            export declare const OpportunityAggregateFieldDto: import("@sinclair/typebox").TObject<{
         | 
| 111 | 
            +
                field: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"dailyRewards">[]>;
         | 
| 112 | 
            +
            }>;
         | 
| 110 113 | 
             
            export type GetOpportunitiesQueryEntity = typeof GetOpportunitiesQueryDto.static;
         | 
| 111 114 | 
             
            export type CreateOpportunityModel = typeof CreateOpportunityDto.static & {
         | 
| 112 115 | 
             
                id: string;
         | 
| 113 116 | 
             
            };
         | 
| 117 | 
            +
            export type OpportunityAggregateField = typeof OpportunityAggregateFieldDto.static;
         | 
| @@ -476,4 +476,7 @@ export declare abstract class OpportunityRepository { | |
| 476 476 | 
             
                    apr: number;
         | 
| 477 477 | 
             
                    dailyRewards: number;
         | 
| 478 478 | 
             
                }>;
         | 
| 479 | 
            +
                static aggregateSum(field: keyof Prisma.OpportunitySumAggregateInputType, query: GetOpportunitiesQueryEntity): Promise<{
         | 
| 480 | 
            +
                    sum: never;
         | 
| 481 | 
            +
                }>;
         | 
| 479 482 | 
             
            }
         | 
| @@ -214,4 +214,14 @@ export class OpportunityRepository { | |
| 214 214 | 
             
                static async updateApr(id, apr) {
         | 
| 215 215 | 
             
                    return await apiDbClient.opportunity.update({ where: { id }, data: { apr } });
         | 
| 216 216 | 
             
                }
         | 
| 217 | 
            +
                static async aggregateSum(field, query) {
         | 
| 218 | 
            +
                    const args = OpportunityRepository.#transformQueryToPrismaFilters(query);
         | 
| 219 | 
            +
                    const result = await apiDbClient.opportunity.aggregate({
         | 
| 220 | 
            +
                        _sum: {
         | 
| 221 | 
            +
                            [field]: true,
         | 
| 222 | 
            +
                        },
         | 
| 223 | 
            +
                        ...args,
         | 
| 224 | 
            +
                    });
         | 
| 225 | 
            +
                    return { sum: result._sum[field] ?? null };
         | 
| 226 | 
            +
                }
         | 
| 217 227 | 
             
            }
         | 
| @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            import { type CreateCampaignModel } from "../campaign";
         | 
| 2 | 
            +
            import { Prisma } from "../../../../database/api/.generated";
         | 
| 2 3 | 
             
            import type { ChainId } from "@sdk";
         | 
| 3 4 | 
             
            import type { CreateOpportunityModel, GetOpportunitiesQueryEntity, LightOpportunityFromDB, OpportunityMetadata, OpportunityUnique } from "./opportunity.model";
         | 
| 4 5 | 
             
            import { OpportunityRepository } from "./opportunity.repository";
         | 
| @@ -438,4 +439,7 @@ export declare abstract class OpportunityService { | |
| 438 439 | 
             
                    apr: number;
         | 
| 439 440 | 
             
                    dailyRewards: number;
         | 
| 440 441 | 
             
                };
         | 
| 442 | 
            +
                static aggregate(query: GetOpportunitiesQueryEntity, field: keyof Prisma.OpportunitySumAggregateInputType): Promise<{
         | 
| 443 | 
            +
                    sum: never;
         | 
| 444 | 
            +
                }>;
         | 
| 441 445 | 
             
            }
         | 
| @@ -417,6 +417,38 @@ export declare const v4: Elysia<"/v4", false, { | |
| 417 417 | 
             
                            };
         | 
| 418 418 | 
             
                        };
         | 
| 419 419 | 
             
                    };
         | 
| 420 | 
            +
                } & {
         | 
| 421 | 
            +
                    opportunities: {
         | 
| 422 | 
            +
                        aggregate: {
         | 
| 423 | 
            +
                            ":field": {
         | 
| 424 | 
            +
                                get: {
         | 
| 425 | 
            +
                                    body: unknown;
         | 
| 426 | 
            +
                                    params: {
         | 
| 427 | 
            +
                                        field: never;
         | 
| 428 | 
            +
                                    };
         | 
| 429 | 
            +
                                    query: {
         | 
| 430 | 
            +
                                        sort?: undefined;
         | 
| 431 | 
            +
                                        name?: string | undefined;
         | 
| 432 | 
            +
                                        tokens?: string | undefined;
         | 
| 433 | 
            +
                                        status?: string | undefined;
         | 
| 434 | 
            +
                                        items?: number | undefined;
         | 
| 435 | 
            +
                                        tags?: string | undefined;
         | 
| 436 | 
            +
                                        chainId?: string | undefined;
         | 
| 437 | 
            +
                                        page?: number | undefined;
         | 
| 438 | 
            +
                                        action?: string | undefined;
         | 
| 439 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 440 | 
            +
                                        order?: undefined;
         | 
| 441 | 
            +
                                    };
         | 
| 442 | 
            +
                                    headers: unknown;
         | 
| 443 | 
            +
                                    response: {
         | 
| 444 | 
            +
                                        200: {
         | 
| 445 | 
            +
                                            sum: File;
         | 
| 446 | 
            +
                                        };
         | 
| 447 | 
            +
                                    };
         | 
| 448 | 
            +
                                };
         | 
| 449 | 
            +
                            };
         | 
| 450 | 
            +
                        };
         | 
| 451 | 
            +
                    };
         | 
| 420 452 | 
             
                };
         | 
| 421 453 | 
             
            } & {
         | 
| 422 454 | 
             
                v4: {
         | 
| @@ -443,6 +443,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 443 443 | 
             
                            };
         | 
| 444 444 | 
             
                        };
         | 
| 445 445 | 
             
                    };
         | 
| 446 | 
            +
                } & {
         | 
| 447 | 
            +
                    opportunities: {
         | 
| 448 | 
            +
                        aggregate: {
         | 
| 449 | 
            +
                            ":field": {
         | 
| 450 | 
            +
                                get: {
         | 
| 451 | 
            +
                                    body: unknown;
         | 
| 452 | 
            +
                                    params: {
         | 
| 453 | 
            +
                                        field: never;
         | 
| 454 | 
            +
                                    };
         | 
| 455 | 
            +
                                    query: {
         | 
| 456 | 
            +
                                        sort?: undefined;
         | 
| 457 | 
            +
                                        name?: string | undefined;
         | 
| 458 | 
            +
                                        tokens?: string | undefined;
         | 
| 459 | 
            +
                                        status?: string | undefined;
         | 
| 460 | 
            +
                                        items?: number | undefined;
         | 
| 461 | 
            +
                                        tags?: string | undefined;
         | 
| 462 | 
            +
                                        chainId?: string | undefined;
         | 
| 463 | 
            +
                                        page?: number | undefined;
         | 
| 464 | 
            +
                                        action?: string | undefined;
         | 
| 465 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 466 | 
            +
                                        order?: undefined;
         | 
| 467 | 
            +
                                    };
         | 
| 468 | 
            +
                                    headers: unknown;
         | 
| 469 | 
            +
                                    response: {
         | 
| 470 | 
            +
                                        200: {
         | 
| 471 | 
            +
                                            sum: File;
         | 
| 472 | 
            +
                                        };
         | 
| 473 | 
            +
                                    };
         | 
| 474 | 
            +
                                };
         | 
| 475 | 
            +
                            };
         | 
| 476 | 
            +
                        };
         | 
| 477 | 
            +
                    };
         | 
| 446 478 | 
             
                };
         | 
| 447 479 | 
             
            } & {
         | 
| 448 480 | 
             
                v4: {
         | 
| @@ -441,6 +441,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 441 441 | 
             
                            };
         | 
| 442 442 | 
             
                        };
         | 
| 443 443 | 
             
                    };
         | 
| 444 | 
            +
                } & {
         | 
| 445 | 
            +
                    opportunities: {
         | 
| 446 | 
            +
                        aggregate: {
         | 
| 447 | 
            +
                            ":field": {
         | 
| 448 | 
            +
                                get: {
         | 
| 449 | 
            +
                                    body: unknown;
         | 
| 450 | 
            +
                                    params: {
         | 
| 451 | 
            +
                                        field: never;
         | 
| 452 | 
            +
                                    };
         | 
| 453 | 
            +
                                    query: {
         | 
| 454 | 
            +
                                        sort?: undefined;
         | 
| 455 | 
            +
                                        name?: string | undefined;
         | 
| 456 | 
            +
                                        tokens?: string | undefined;
         | 
| 457 | 
            +
                                        status?: string | undefined;
         | 
| 458 | 
            +
                                        items?: number | undefined;
         | 
| 459 | 
            +
                                        tags?: string | undefined;
         | 
| 460 | 
            +
                                        chainId?: string | undefined;
         | 
| 461 | 
            +
                                        page?: number | undefined;
         | 
| 462 | 
            +
                                        action?: string | undefined;
         | 
| 463 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 464 | 
            +
                                        order?: undefined;
         | 
| 465 | 
            +
                                    };
         | 
| 466 | 
            +
                                    headers: unknown;
         | 
| 467 | 
            +
                                    response: {
         | 
| 468 | 
            +
                                        200: {
         | 
| 469 | 
            +
                                            sum: File;
         | 
| 470 | 
            +
                                        };
         | 
| 471 | 
            +
                                    };
         | 
| 472 | 
            +
                                };
         | 
| 473 | 
            +
                            };
         | 
| 474 | 
            +
                        };
         | 
| 475 | 
            +
                    };
         | 
| 444 476 | 
             
                };
         | 
| 445 477 | 
             
            } & {
         | 
| 446 478 | 
             
                v4: {
         | 
| @@ -444,6 +444,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 444 444 | 
             
                            };
         | 
| 445 445 | 
             
                        };
         | 
| 446 446 | 
             
                    };
         | 
| 447 | 
            +
                } & {
         | 
| 448 | 
            +
                    opportunities: {
         | 
| 449 | 
            +
                        aggregate: {
         | 
| 450 | 
            +
                            ":field": {
         | 
| 451 | 
            +
                                get: {
         | 
| 452 | 
            +
                                    body: unknown;
         | 
| 453 | 
            +
                                    params: {
         | 
| 454 | 
            +
                                        field: never;
         | 
| 455 | 
            +
                                    };
         | 
| 456 | 
            +
                                    query: {
         | 
| 457 | 
            +
                                        sort?: undefined;
         | 
| 458 | 
            +
                                        name?: string | undefined;
         | 
| 459 | 
            +
                                        tokens?: string | undefined;
         | 
| 460 | 
            +
                                        status?: string | undefined;
         | 
| 461 | 
            +
                                        items?: number | undefined;
         | 
| 462 | 
            +
                                        tags?: string | undefined;
         | 
| 463 | 
            +
                                        chainId?: string | undefined;
         | 
| 464 | 
            +
                                        page?: number | undefined;
         | 
| 465 | 
            +
                                        action?: string | undefined;
         | 
| 466 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 467 | 
            +
                                        order?: undefined;
         | 
| 468 | 
            +
                                    };
         | 
| 469 | 
            +
                                    headers: unknown;
         | 
| 470 | 
            +
                                    response: {
         | 
| 471 | 
            +
                                        200: {
         | 
| 472 | 
            +
                                            sum: File;
         | 
| 473 | 
            +
                                        };
         | 
| 474 | 
            +
                                    };
         | 
| 475 | 
            +
                                };
         | 
| 476 | 
            +
                            };
         | 
| 477 | 
            +
                        };
         | 
| 478 | 
            +
                    };
         | 
| 447 479 | 
             
                };
         | 
| 448 480 | 
             
            } & {
         | 
| 449 481 | 
             
                v4: {
         | 
| @@ -435,6 +435,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 435 435 | 
             
                            };
         | 
| 436 436 | 
             
                        };
         | 
| 437 437 | 
             
                    };
         | 
| 438 | 
            +
                } & {
         | 
| 439 | 
            +
                    opportunities: {
         | 
| 440 | 
            +
                        aggregate: {
         | 
| 441 | 
            +
                            ":field": {
         | 
| 442 | 
            +
                                get: {
         | 
| 443 | 
            +
                                    body: unknown;
         | 
| 444 | 
            +
                                    params: {
         | 
| 445 | 
            +
                                        field: never;
         | 
| 446 | 
            +
                                    };
         | 
| 447 | 
            +
                                    query: {
         | 
| 448 | 
            +
                                        sort?: undefined;
         | 
| 449 | 
            +
                                        name?: string | undefined;
         | 
| 450 | 
            +
                                        tokens?: string | undefined;
         | 
| 451 | 
            +
                                        status?: string | undefined;
         | 
| 452 | 
            +
                                        items?: number | undefined;
         | 
| 453 | 
            +
                                        tags?: string | undefined;
         | 
| 454 | 
            +
                                        chainId?: string | undefined;
         | 
| 455 | 
            +
                                        page?: number | undefined;
         | 
| 456 | 
            +
                                        action?: string | undefined;
         | 
| 457 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 458 | 
            +
                                        order?: undefined;
         | 
| 459 | 
            +
                                    };
         | 
| 460 | 
            +
                                    headers: unknown;
         | 
| 461 | 
            +
                                    response: {
         | 
| 462 | 
            +
                                        200: {
         | 
| 463 | 
            +
                                            sum: File;
         | 
| 464 | 
            +
                                        };
         | 
| 465 | 
            +
                                    };
         | 
| 466 | 
            +
                                };
         | 
| 467 | 
            +
                            };
         | 
| 468 | 
            +
                        };
         | 
| 469 | 
            +
                    };
         | 
| 438 470 | 
             
                };
         | 
| 439 471 | 
             
            } & {
         | 
| 440 472 | 
             
                v4: {
         | 
| @@ -440,6 +440,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 440 440 | 
             
                            };
         | 
| 441 441 | 
             
                        };
         | 
| 442 442 | 
             
                    };
         | 
| 443 | 
            +
                } & {
         | 
| 444 | 
            +
                    opportunities: {
         | 
| 445 | 
            +
                        aggregate: {
         | 
| 446 | 
            +
                            ":field": {
         | 
| 447 | 
            +
                                get: {
         | 
| 448 | 
            +
                                    body: unknown;
         | 
| 449 | 
            +
                                    params: {
         | 
| 450 | 
            +
                                        field: never;
         | 
| 451 | 
            +
                                    };
         | 
| 452 | 
            +
                                    query: {
         | 
| 453 | 
            +
                                        sort?: undefined;
         | 
| 454 | 
            +
                                        name?: string | undefined;
         | 
| 455 | 
            +
                                        tokens?: string | undefined;
         | 
| 456 | 
            +
                                        status?: string | undefined;
         | 
| 457 | 
            +
                                        items?: number | undefined;
         | 
| 458 | 
            +
                                        tags?: string | undefined;
         | 
| 459 | 
            +
                                        chainId?: string | undefined;
         | 
| 460 | 
            +
                                        page?: number | undefined;
         | 
| 461 | 
            +
                                        action?: string | undefined;
         | 
| 462 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 463 | 
            +
                                        order?: undefined;
         | 
| 464 | 
            +
                                    };
         | 
| 465 | 
            +
                                    headers: unknown;
         | 
| 466 | 
            +
                                    response: {
         | 
| 467 | 
            +
                                        200: {
         | 
| 468 | 
            +
                                            sum: File;
         | 
| 469 | 
            +
                                        };
         | 
| 470 | 
            +
                                    };
         | 
| 471 | 
            +
                                };
         | 
| 472 | 
            +
                            };
         | 
| 473 | 
            +
                        };
         | 
| 474 | 
            +
                    };
         | 
| 443 475 | 
             
                };
         | 
| 444 476 | 
             
            } & {
         | 
| 445 477 | 
             
                v4: {
         | 
| @@ -458,6 +458,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 458 458 | 
             
                            };
         | 
| 459 459 | 
             
                        };
         | 
| 460 460 | 
             
                    };
         | 
| 461 | 
            +
                } & {
         | 
| 462 | 
            +
                    opportunities: {
         | 
| 463 | 
            +
                        aggregate: {
         | 
| 464 | 
            +
                            ":field": {
         | 
| 465 | 
            +
                                get: {
         | 
| 466 | 
            +
                                    body: unknown;
         | 
| 467 | 
            +
                                    params: {
         | 
| 468 | 
            +
                                        field: never;
         | 
| 469 | 
            +
                                    };
         | 
| 470 | 
            +
                                    query: {
         | 
| 471 | 
            +
                                        sort?: undefined;
         | 
| 472 | 
            +
                                        name?: string | undefined;
         | 
| 473 | 
            +
                                        tokens?: string | undefined;
         | 
| 474 | 
            +
                                        status?: string | undefined;
         | 
| 475 | 
            +
                                        items?: number | undefined;
         | 
| 476 | 
            +
                                        tags?: string | undefined;
         | 
| 477 | 
            +
                                        chainId?: string | undefined;
         | 
| 478 | 
            +
                                        page?: number | undefined;
         | 
| 479 | 
            +
                                        action?: string | undefined;
         | 
| 480 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 481 | 
            +
                                        order?: undefined;
         | 
| 482 | 
            +
                                    };
         | 
| 483 | 
            +
                                    headers: unknown;
         | 
| 484 | 
            +
                                    response: {
         | 
| 485 | 
            +
                                        200: {
         | 
| 486 | 
            +
                                            sum: File;
         | 
| 487 | 
            +
                                        };
         | 
| 488 | 
            +
                                    };
         | 
| 489 | 
            +
                                };
         | 
| 490 | 
            +
                            };
         | 
| 491 | 
            +
                        };
         | 
| 492 | 
            +
                    };
         | 
| 461 493 | 
             
                };
         | 
| 462 494 | 
             
            } & {
         | 
| 463 495 | 
             
                v4: {
         | 
| @@ -459,6 +459,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 459 459 | 
             
                            };
         | 
| 460 460 | 
             
                        };
         | 
| 461 461 | 
             
                    };
         | 
| 462 | 
            +
                } & {
         | 
| 463 | 
            +
                    opportunities: {
         | 
| 464 | 
            +
                        aggregate: {
         | 
| 465 | 
            +
                            ":field": {
         | 
| 466 | 
            +
                                get: {
         | 
| 467 | 
            +
                                    body: unknown;
         | 
| 468 | 
            +
                                    params: {
         | 
| 469 | 
            +
                                        field: never;
         | 
| 470 | 
            +
                                    };
         | 
| 471 | 
            +
                                    query: {
         | 
| 472 | 
            +
                                        sort?: undefined;
         | 
| 473 | 
            +
                                        name?: string | undefined;
         | 
| 474 | 
            +
                                        tokens?: string | undefined;
         | 
| 475 | 
            +
                                        status?: string | undefined;
         | 
| 476 | 
            +
                                        items?: number | undefined;
         | 
| 477 | 
            +
                                        tags?: string | undefined;
         | 
| 478 | 
            +
                                        chainId?: string | undefined;
         | 
| 479 | 
            +
                                        page?: number | undefined;
         | 
| 480 | 
            +
                                        action?: string | undefined;
         | 
| 481 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 482 | 
            +
                                        order?: undefined;
         | 
| 483 | 
            +
                                    };
         | 
| 484 | 
            +
                                    headers: unknown;
         | 
| 485 | 
            +
                                    response: {
         | 
| 486 | 
            +
                                        200: {
         | 
| 487 | 
            +
                                            sum: File;
         | 
| 488 | 
            +
                                        };
         | 
| 489 | 
            +
                                    };
         | 
| 490 | 
            +
                                };
         | 
| 491 | 
            +
                            };
         | 
| 492 | 
            +
                        };
         | 
| 493 | 
            +
                    };
         | 
| 462 494 | 
             
                };
         | 
| 463 495 | 
             
            } & {
         | 
| 464 496 | 
             
                v4: {
         | 
| @@ -441,6 +441,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 441 441 | 
             
                            };
         | 
| 442 442 | 
             
                        };
         | 
| 443 443 | 
             
                    };
         | 
| 444 | 
            +
                } & {
         | 
| 445 | 
            +
                    opportunities: {
         | 
| 446 | 
            +
                        aggregate: {
         | 
| 447 | 
            +
                            ":field": {
         | 
| 448 | 
            +
                                get: {
         | 
| 449 | 
            +
                                    body: unknown;
         | 
| 450 | 
            +
                                    params: {
         | 
| 451 | 
            +
                                        field: never;
         | 
| 452 | 
            +
                                    };
         | 
| 453 | 
            +
                                    query: {
         | 
| 454 | 
            +
                                        sort?: undefined;
         | 
| 455 | 
            +
                                        name?: string | undefined;
         | 
| 456 | 
            +
                                        tokens?: string | undefined;
         | 
| 457 | 
            +
                                        status?: string | undefined;
         | 
| 458 | 
            +
                                        items?: number | undefined;
         | 
| 459 | 
            +
                                        tags?: string | undefined;
         | 
| 460 | 
            +
                                        chainId?: string | undefined;
         | 
| 461 | 
            +
                                        page?: number | undefined;
         | 
| 462 | 
            +
                                        action?: string | undefined;
         | 
| 463 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 464 | 
            +
                                        order?: undefined;
         | 
| 465 | 
            +
                                    };
         | 
| 466 | 
            +
                                    headers: unknown;
         | 
| 467 | 
            +
                                    response: {
         | 
| 468 | 
            +
                                        200: {
         | 
| 469 | 
            +
                                            sum: File;
         | 
| 470 | 
            +
                                        };
         | 
| 471 | 
            +
                                    };
         | 
| 472 | 
            +
                                };
         | 
| 473 | 
            +
                            };
         | 
| 474 | 
            +
                        };
         | 
| 475 | 
            +
                    };
         | 
| 444 476 | 
             
                };
         | 
| 445 477 | 
             
            } & {
         | 
| 446 478 | 
             
                v4: {
         | 
| @@ -442,6 +442,38 @@ declare const _default: (app: App) => import("elysia").default<"", false, { | |
| 442 442 | 
             
                            };
         | 
| 443 443 | 
             
                        };
         | 
| 444 444 | 
             
                    };
         | 
| 445 | 
            +
                } & {
         | 
| 446 | 
            +
                    opportunities: {
         | 
| 447 | 
            +
                        aggregate: {
         | 
| 448 | 
            +
                            ":field": {
         | 
| 449 | 
            +
                                get: {
         | 
| 450 | 
            +
                                    body: unknown;
         | 
| 451 | 
            +
                                    params: {
         | 
| 452 | 
            +
                                        field: never;
         | 
| 453 | 
            +
                                    };
         | 
| 454 | 
            +
                                    query: {
         | 
| 455 | 
            +
                                        sort?: undefined;
         | 
| 456 | 
            +
                                        name?: string | undefined;
         | 
| 457 | 
            +
                                        tokens?: string | undefined;
         | 
| 458 | 
            +
                                        status?: string | undefined;
         | 
| 459 | 
            +
                                        items?: number | undefined;
         | 
| 460 | 
            +
                                        tags?: string | undefined;
         | 
| 461 | 
            +
                                        chainId?: string | undefined;
         | 
| 462 | 
            +
                                        page?: number | undefined;
         | 
| 463 | 
            +
                                        action?: string | undefined;
         | 
| 464 | 
            +
                                        mainProtocolId?: string | undefined;
         | 
| 465 | 
            +
                                        order?: undefined;
         | 
| 466 | 
            +
                                    };
         | 
| 467 | 
            +
                                    headers: unknown;
         | 
| 468 | 
            +
                                    response: {
         | 
| 469 | 
            +
                                        200: {
         | 
| 470 | 
            +
                                            sum: File;
         | 
| 471 | 
            +
                                        };
         | 
| 472 | 
            +
                                    };
         | 
| 473 | 
            +
                                };
         | 
| 474 | 
            +
                            };
         | 
| 475 | 
            +
                        };
         | 
| 476 | 
            +
                    };
         | 
| 445 477 | 
             
                };
         | 
| 446 478 | 
             
            } & {
         | 
| 447 479 | 
             
                v4: {
         |