@merkl/api 0.10.216 → 0.10.218
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 +3 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1.js +1 -1
- package/dist/src/modules/v4/chain/chain.model.d.ts +0 -4
- package/dist/src/modules/v4/chain/chain.model.js +0 -8
- package/dist/src/modules/v4/router.d.ts +1 -0
- package/dist/src/modules/v4/user/user.controller.d.ts +1 -0
- package/dist/src/modules/v4/user/user.controller.js +6 -4
- package/dist/src/modules/v4/user/user.model.d.ts +4 -0
- package/dist/src/modules/v4/user/user.model.js +11 -0
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
    
        package/dist/src/eden/index.d.ts
    CHANGED
    
    | @@ -1507,6 +1507,7 @@ declare const eden: { | |
| 1507 1507 | 
             
                            get: (options: {
         | 
| 1508 1508 | 
             
                                headers?: Record<string, unknown> | undefined;
         | 
| 1509 1509 | 
             
                                query: {
         | 
| 1510 | 
            +
                                    reloadChainId?: number | undefined;
         | 
| 1510 1511 | 
             
                                    chainId: number[];
         | 
| 1511 1512 | 
             
                                };
         | 
| 1512 1513 | 
             
                                fetch?: RequestInit | undefined;
         | 
| @@ -4637,6 +4638,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa | |
| 4637 4638 | 
             
                                        address: string;
         | 
| 4638 4639 | 
             
                                    };
         | 
| 4639 4640 | 
             
                                    query: {
         | 
| 4641 | 
            +
                                        reloadChainId?: number | undefined;
         | 
| 4640 4642 | 
             
                                        chainId: number[];
         | 
| 4641 4643 | 
             
                                    };
         | 
| 4642 4644 | 
             
                                    headers: unknown;
         | 
| @@ -7689,6 +7691,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa | |
| 7689 7691 | 
             
                            get: (options: {
         | 
| 7690 7692 | 
             
                                headers?: Record<string, unknown> | undefined;
         | 
| 7691 7693 | 
             
                                query: {
         | 
| 7694 | 
            +
                                    reloadChainId?: number | undefined;
         | 
| 7692 7695 | 
             
                                    chainId: number[];
         | 
| 7693 7696 | 
             
                                };
         | 
| 7694 7697 | 
             
                                fetch?: RequestInit | undefined;
         | 
    
        package/dist/src/index.d.ts
    CHANGED
    
    
| @@ -186,7 +186,7 @@ function parseForBalancer(calls, index, targetToken, name) { | |
| 186 186 | 
             
            function parseForStaking(campaign, calls, index, targetToken) {
         | 
| 187 187 | 
             
                try {
         | 
| 188 188 | 
             
                    const whitelist = campaign.campaignParameters.whitelist;
         | 
| 189 | 
            -
                    if (whitelist.length === 1) {
         | 
| 189 | 
            +
                    if (whitelist.length === 1 && campaign.chainId !== 42161) {
         | 
| 190 190 | 
             
                        const forwarders = campaign.campaignParameters.forwarders;
         | 
| 191 191 | 
             
                        if (forwarders.length === 1) {
         | 
| 192 192 | 
             
                            if (forwarders[0].sender === whitelist[0]) {
         | 
| @@ -19,9 +19,6 @@ export declare const ChainUniqueDto: import("@sinclair/typebox").TObject<{ | |
| 19 19 | 
             
            export declare const ChainUniqueOptionalDto: import("@sinclair/typebox").TObject<{
         | 
| 20 20 | 
             
                chainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
         | 
| 21 21 | 
             
            }>;
         | 
| 22 | 
            -
            export declare const ChainArrayDto: import("@sinclair/typebox").TObject<{
         | 
| 23 | 
            -
                chainId: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>]>, number[]>;
         | 
| 24 | 
            -
            }>;
         | 
| 25 22 | 
             
            export declare const ChainArrayOptionalDto: import("@sinclair/typebox").TObject<{
         | 
| 26 23 | 
             
                chainIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>]>, number[]>>;
         | 
| 27 24 | 
             
            }>;
         | 
| @@ -38,5 +35,4 @@ export declare const UpdateChainDto: import("@sinclair/typebox").TObject<{ | |
| 38 35 | 
             
            }>;
         | 
| 39 36 | 
             
            export type ChainUniqueModel = typeof ChainUniqueDto.static;
         | 
| 40 37 | 
             
            export type ChainSearchDto = typeof GetChainQueryDto.static;
         | 
| 41 | 
            -
            export type ChainsArrayModel = typeof ChainArrayDto.static;
         | 
| 42 38 | 
             
            export type UpdateChainModel = typeof UpdateChainDto.static;
         | 
| @@ -15,14 +15,6 @@ export const ChainUniqueDto = t.Object({ | |
| 15 15 | 
             
            export const ChainUniqueOptionalDto = t.Object({
         | 
| 16 16 | 
             
                chainId: t.Optional(t.Numeric()),
         | 
| 17 17 | 
             
            });
         | 
| 18 | 
            -
            export const ChainArrayDto = t.Object({
         | 
| 19 | 
            -
                chainId: t
         | 
| 20 | 
            -
                    .Transform(t.Union([t.String(), t.Array(t.Numeric())]))
         | 
| 21 | 
            -
                    .Decode(value => (typeof value === "string" ? value.split(",").map(v => Number.parseInt(v)) : value))
         | 
| 22 | 
            -
                    .Encode(value => [...value]),
         | 
| 23 | 
            -
            }, {
         | 
| 24 | 
            -
                description: "A required comma separated list of chain ids.<br>You can get the list of all supported chains by calling [GET /v4/chains](#tag/chains/GET/v4/chains/)",
         | 
| 25 | 
            -
            });
         | 
| 26 18 | 
             
            export const ChainArrayOptionalDto = t.Object({
         | 
| 27 19 | 
             
                chainIds: t.Optional(t
         | 
| 28 20 | 
             
                    .Transform(t.Union([t.String(), t.Array(t.Numeric())]))
         | 
| @@ -1,9 +1,8 @@ | |
| 1 1 | 
             
            import { AuthorizationHeadersDto, BackOfficeGuard } from "../../../guards/BackOffice.guard";
         | 
| 2 2 | 
             
            import { throwOnInvalidRequiredAddress, throwOnUnsupportedChainId } from "../../../utils/throw";
         | 
| 3 3 | 
             
            import { Elysia, t } from "elysia";
         | 
| 4 | 
            -
            import { ChainArrayDto } from "../chain";
         | 
| 5 4 | 
             
            import { RewardService } from "../reward";
         | 
| 6 | 
            -
            import { GetManyUserQuery, OptionalChainIdDto, UpdateUserTagsDto, UserDto, UserRewardsResourceDto, UserUniqueDto, } from "./user.model";
         | 
| 5 | 
            +
            import { GetManyUserQuery, OptionalChainIdDto, UpdateUserTagsDto, UserDto, UserRewardRouteDto, UserRewardsResourceDto, UserUniqueDto, } from "./user.model";
         | 
| 7 6 | 
             
            import { UserService } from "./user.service";
         | 
| 8 7 | 
             
            // ─── Users Controller ────────────────────────────────────────────────────────
         | 
| 9 8 | 
             
            export const UserController = new Elysia({ prefix: "/users", detail: { tags: ["Users"] } })
         | 
| @@ -32,14 +31,15 @@ export const UserController = new Elysia({ prefix: "/users", detail: { tags: ["U | |
| 32 31 | 
             
                        throwOnUnsupportedChainId(chainId);
         | 
| 33 32 | 
             
                    }
         | 
| 34 33 | 
             
                },
         | 
| 34 | 
            +
                detail: { hide: true },
         | 
| 35 35 | 
             
            })
         | 
| 36 36 | 
             
                // ─── Get User's Rewards With Breakdown ──────────────────────────────
         | 
| 37 37 | 
             
                .get("/:address/rewards", async ({ params, query }) => {
         | 
| 38 | 
            -
                const rewardsByChain = await RewardService.getUserRewardsByChain(params.address, false, typeof query.chainId === "number" ? [query.chainId] : query.chainId);
         | 
| 38 | 
            +
                const rewardsByChain = await RewardService.getUserRewardsByChain(params.address, false, typeof query.chainId === "number" ? [query.chainId] : query.chainId, !!query.reloadChainId ? query.reloadChainId : null);
         | 
| 39 39 | 
             
                return RewardService.removeOpportunityFromRewardBreakdown(rewardsByChain);
         | 
| 40 40 | 
             
            }, {
         | 
| 41 41 | 
             
                params: UserUniqueDto,
         | 
| 42 | 
            -
                query:  | 
| 42 | 
            +
                query: UserRewardRouteDto,
         | 
| 43 43 | 
             
                beforeHandle: ({ query, params }) => {
         | 
| 44 44 | 
             
                    params.address = throwOnInvalidRequiredAddress(params.address);
         | 
| 45 45 | 
             
                    if (typeof query.chainId === "number") {
         | 
| @@ -50,6 +50,8 @@ export const UserController = new Elysia({ prefix: "/users", detail: { tags: ["U | |
| 50 50 | 
             
                            throwOnUnsupportedChainId(chainId);
         | 
| 51 51 | 
             
                        }
         | 
| 52 52 | 
             
                    }
         | 
| 53 | 
            +
                    if (!!query.reloadChainId)
         | 
| 54 | 
            +
                        throwOnUnsupportedChainId(query.reloadChainId);
         | 
| 53 55 | 
             
                },
         | 
| 54 56 | 
             
                response: t.Array(UserRewardsResourceDto),
         | 
| 55 57 | 
             
                detail: { description: "Get the rewards associated to a user on a given chain." },
         | 
| @@ -5,6 +5,10 @@ import type { Resource } from "../prisma"; | |
| 5 5 | 
             
             * @see {@link Resource}
         | 
| 6 6 | 
             
             */
         | 
| 7 7 | 
             
            export type User = Resource<"User">;
         | 
| 8 | 
            +
            export declare const UserRewardRouteDto: import("@sinclair/typebox").TObject<{
         | 
| 9 | 
            +
                chainId: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>]>, number[]>;
         | 
| 10 | 
            +
                reloadChainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
         | 
| 11 | 
            +
            }>;
         | 
| 8 12 | 
             
            export declare const UserRewardsResourceDto: import("@sinclair/typebox").TObject<{
         | 
| 9 13 | 
             
                chain: import("@sinclair/typebox").TObject<{
         | 
| 10 14 | 
             
                    id: import("@sinclair/typebox").TNumber;
         | 
| @@ -1,6 +1,17 @@ | |
| 1 1 | 
             
            import { t } from "elysia";
         | 
| 2 2 | 
             
            import { ChainResourceDto } from "../chain";
         | 
| 3 3 | 
             
            // ─── Dtos ────────────────────────────────────────────────────────────────────
         | 
| 4 | 
            +
            export const UserRewardRouteDto = t.Object({
         | 
| 5 | 
            +
                chainId: t
         | 
| 6 | 
            +
                    .Transform(t.Union([t.String(), t.Array(t.Numeric())]))
         | 
| 7 | 
            +
                    .Decode(value => (typeof value === "string" ? value.split(",").map(v => Number.parseInt(v)) : value))
         | 
| 8 | 
            +
                    .Encode(value => [...value]),
         | 
| 9 | 
            +
                reloadChainId: t.Optional(t.Numeric({
         | 
| 10 | 
            +
                    description: "An optional chainId to bypass the cache and check if there was very recently a claim on this chain",
         | 
| 11 | 
            +
                })),
         | 
| 12 | 
            +
            }, {
         | 
| 13 | 
            +
                description: "A required comma separated list of chain ids.<br>You can get the list of all supported chains by calling [GET /v4/chains](#tag/chains/GET/v4/chains/)",
         | 
| 14 | 
            +
            });
         | 
| 4 15 | 
             
            export const UserRewardsResourceDto = t.Object({
         | 
| 5 16 | 
             
                chain: ChainResourceDto,
         | 
| 6 17 | 
             
                rewards: t.Array(t.Object({
         |