@merkl/api 0.10.318 → 0.10.319

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.
@@ -2351,6 +2351,19 @@ declare const eden: {
2351
2351
  200: any;
2352
2352
  }>>;
2353
2353
  };
2354
+ "template-config": ((params: {
2355
+ campaignType: string | number;
2356
+ }) => {
2357
+ get: (options?: {
2358
+ headers?: Record<string, unknown> | undefined;
2359
+ query?: Record<string, unknown> | undefined;
2360
+ fetch?: RequestInit | undefined;
2361
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
2362
+ 200: {
2363
+ [x: string]: string;
2364
+ };
2365
+ }>>;
2366
+ }) & {};
2354
2367
  campaignData: {
2355
2368
  get: (options: {
2356
2369
  headers?: Record<string, unknown> | undefined;
@@ -5997,6 +6010,26 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
5997
6010
  };
5998
6011
  };
5999
6012
  };
6013
+ } & {
6014
+ "program-payload": {
6015
+ "template-config": {
6016
+ ":campaignType": {
6017
+ get: {
6018
+ body: unknown;
6019
+ params: {
6020
+ campaignType: number;
6021
+ };
6022
+ query: unknown;
6023
+ headers: unknown;
6024
+ response: {
6025
+ 200: {
6026
+ [x: string]: string;
6027
+ };
6028
+ };
6029
+ };
6030
+ };
6031
+ };
6032
+ };
6000
6033
  } & {
6001
6034
  "program-payload": {
6002
6035
  campaignData: {
@@ -9277,6 +9310,19 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
9277
9310
  200: any;
9278
9311
  }>>;
9279
9312
  };
9313
+ "template-config": ((params: {
9314
+ campaignType: string | number;
9315
+ }) => {
9316
+ get: (options?: {
9317
+ headers?: Record<string, unknown> | undefined;
9318
+ query?: Record<string, unknown> | undefined;
9319
+ fetch?: RequestInit | undefined;
9320
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
9321
+ 200: {
9322
+ [x: string]: string;
9323
+ };
9324
+ }>>;
9325
+ }) & {};
9280
9326
  campaignData: {
9281
9327
  get: (options: {
9282
9328
  headers?: Record<string, unknown> | undefined;
@@ -2919,6 +2919,26 @@ declare const app: Elysia<"", false, {
2919
2919
  };
2920
2920
  };
2921
2921
  };
2922
+ } & {
2923
+ "program-payload": {
2924
+ "template-config": {
2925
+ ":campaignType": {
2926
+ get: {
2927
+ body: unknown;
2928
+ params: {
2929
+ campaignType: number;
2930
+ };
2931
+ query: unknown;
2932
+ headers: unknown;
2933
+ response: {
2934
+ 200: {
2935
+ [x: string]: string;
2936
+ };
2937
+ };
2938
+ };
2939
+ };
2940
+ };
2941
+ };
2922
2942
  } & {
2923
2943
  "program-payload": {
2924
2944
  campaignData: {
@@ -67,6 +67,26 @@ export declare const ProgramPayloadController: Elysia<"/program-payload", false,
67
67
  };
68
68
  };
69
69
  };
70
+ } & {
71
+ "program-payload": {
72
+ "template-config": {
73
+ ":campaignType": {
74
+ get: {
75
+ body: unknown;
76
+ params: {
77
+ campaignType: number;
78
+ };
79
+ query: unknown;
80
+ headers: unknown;
81
+ response: {
82
+ 200: {
83
+ [x: string]: string;
84
+ };
85
+ };
86
+ };
87
+ };
88
+ };
89
+ };
70
90
  } & {
71
91
  "program-payload": {
72
92
  campaignData: {
@@ -1,5 +1,5 @@
1
1
  // import { AuthorizationHeadersDto, BackOfficeGuard } from "../../../guards/BackOffice.guard";
2
- import Elysia from "elysia";
2
+ import Elysia, { t } from "elysia";
3
3
  import { throwOnUnsupportedChainId } from "src/utils/throw";
4
4
  import { CampaignAmountsInputDto, CampaignPayloadInputDto, ProgramPayloadInputDto, SinglePayloadInputDto, } from "./programPayload.model";
5
5
  import { ProgramPayloadService } from "./programPayload.service";
@@ -26,6 +26,12 @@ export const ProgramPayloadController = new Elysia({ prefix: "/program-payload",
26
26
  throwOnUnsupportedChainId(query.distributionChainId);
27
27
  },
28
28
  detail: { description: "Generate the configuration for a specific hardcoded campaign from a program" },
29
+ })
30
+ .get("/template-config/:campaignType", async ({ params }) => {
31
+ return ProgramPayloadService.buildConfigTemplate(params);
32
+ }, {
33
+ params: t.Object({ campaignType: t.Number() }),
34
+ detail: { description: "Generate the template configuration with expected types for a specific campaign" },
29
35
  })
30
36
  .get("/campaignData", async ({ query }) => {
31
37
  return ProgramPayloadService.buildCampaignData(query);
@@ -2,6 +2,11 @@ import { type Campaign, ChainId, type campaignConfig } from "@sdk";
2
2
  import type { CampaignParametersStruct } from "libs/sdk/src/generated/CampaignCreator";
3
3
  import { type CampaignAmountsInputModel, type CampaignPayloadInputModel, type ProgramPayloadInputModel, type SinglePayloadInputDtoModel, type approvalTransaction, type createCampaignTransaction, type safePayload } from "./programPayload.model";
4
4
  export declare class ProgramPayloadService {
5
+ static buildConfigTemplate(params: {
6
+ campaignType: number;
7
+ }): {
8
+ [key: string]: string;
9
+ };
5
10
  static buildConfig(query: CampaignPayloadInputModel): campaignConfig<Campaign>;
6
11
  /** building payload for a single campaign */
7
12
  static buildCampaignData(query: CampaignPayloadInputModel): {
@@ -4,6 +4,16 @@ import { safeTemplate, } from "./programPayload.model";
4
4
  import { MerklInterfaceCampaigns, zkSyncCampaignAmounts } from "./programPayload.repository";
5
5
  export class ProgramPayloadService {
6
6
  // ─── ProgramPayload ──────────────────────────────────────────────────────────
7
+ static buildConfigTemplate(params) {
8
+ class CampaignConfig extends CampaignTypeConfigResourceMapping[params.campaignType] {
9
+ }
10
+ const parsedConfig = new CampaignConfig();
11
+ const configTemplate = {};
12
+ for (const [key, value] of Object.entries(parsedConfig)) {
13
+ configTemplate[key] = typeof value;
14
+ }
15
+ return configTemplate;
16
+ }
7
17
  static buildConfig(query) {
8
18
  const campaign = query.campaign;
9
19
  const startTimestamp = query.startTimestamp;
@@ -2797,6 +2797,26 @@ export declare const v4: Elysia<"/v4", false, {
2797
2797
  };
2798
2798
  };
2799
2799
  };
2800
+ } & {
2801
+ "program-payload": {
2802
+ "template-config": {
2803
+ ":campaignType": {
2804
+ get: {
2805
+ body: unknown;
2806
+ params: {
2807
+ campaignType: number;
2808
+ };
2809
+ query: unknown;
2810
+ headers: unknown;
2811
+ response: {
2812
+ 200: {
2813
+ [x: string]: string;
2814
+ };
2815
+ };
2816
+ };
2817
+ };
2818
+ };
2819
+ };
2800
2820
  } & {
2801
2821
  "program-payload": {
2802
2822
  campaignData: {