@merkl/api 0.17.21 → 0.17.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/database/api/.generated/drizzle/schema.d.ts +46 -0
  2. package/dist/database/api/.generated/drizzle/schema.js +5 -1
  3. package/dist/database/api/.generated/drizzle/schema.ts +8 -1
  4. package/dist/database/api/.generated/edge.js +26 -4
  5. package/dist/database/api/.generated/index-browser.js +7 -1
  6. package/dist/database/api/.generated/index.d.ts +149 -2
  7. package/dist/database/api/.generated/index.js +26 -4
  8. package/dist/database/api/.generated/package.json +1 -1
  9. package/dist/database/api/.generated/schema.prisma +29 -8
  10. package/dist/database/api/.generated/wasm.js +7 -1
  11. package/dist/src/eden/index.d.ts +241 -10
  12. package/dist/src/index.d.ts +53 -2
  13. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +40 -1
  14. package/dist/src/modules/v4/campaign/campaign.controller.js +16 -1
  15. package/dist/src/modules/v4/campaign/campaign.model.d.ts +14 -1
  16. package/dist/src/modules/v4/campaign/campaign.model.js +11 -1
  17. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +64 -32
  18. package/dist/src/modules/v4/campaign/campaign.repository.js +84 -122
  19. package/dist/src/modules/v4/campaign/campaign.service.d.ts +61 -19
  20. package/dist/src/modules/v4/campaign/campaign.service.js +51 -63
  21. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +1 -0
  22. package/dist/src/modules/v4/opportunity/opportunity.converter.js +1 -0
  23. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +5 -0
  24. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +3 -0
  25. package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +100 -1
  26. package/dist/src/modules/v4/programPayload/programPayload.repository.js +146 -1
  27. package/dist/src/modules/v4/protocol/protocol.repository.d.ts +1 -0
  28. package/dist/src/modules/v4/router.d.ts +53 -2
  29. package/dist/src/modules/v4/status/status.service.js +1 -1
  30. package/dist/src/modules/v4/token/token.controller.d.ts +12 -1
  31. package/dist/src/modules/v4/token/token.controller.js +2 -2
  32. package/dist/src/modules/v4/token/token.service.d.ts +13 -1
  33. package/dist/src/modules/v4/token/token.service.js +1 -3
  34. package/dist/src/utils/error.d.ts +6 -0
  35. package/dist/src/utils/error.js +12 -0
  36. package/dist/tsconfig.package.tsbuildinfo +1 -1
  37. package/package.json +1 -1
@@ -371,6 +371,7 @@ declare const app: Elysia<"", false, {
371
371
  rewardTokenId: string;
372
372
  amount: string;
373
373
  opportunityId: string;
374
+ manualOverrides: import("../database/api/.generated").$Enums.CampaignManualOverride[];
374
375
  }[] | undefined;
375
376
  id: string;
376
377
  depositUrl: string | undefined;
@@ -1090,6 +1091,7 @@ declare const app: Elysia<"", false, {
1090
1091
  amount: string;
1091
1092
  opportunityId: string;
1092
1093
  creatorAddress: string;
1094
+ manualOverrides: import("../database/api/.generated").$Enums.CampaignManualOverride[];
1093
1095
  } | undefined;
1094
1096
  };
1095
1097
  };
@@ -1098,7 +1100,6 @@ declare const app: Elysia<"", false, {
1098
1100
  opportunity: {
1099
1101
  patch: {
1100
1102
  body: {
1101
- tags?: string[] | undefined;
1102
1103
  opportunityIdentifier?: string | undefined;
1103
1104
  campaignId: string;
1104
1105
  distributionChain: number;
@@ -1113,6 +1114,42 @@ declare const app: Elysia<"", false, {
1113
1114
  };
1114
1115
  };
1115
1116
  };
1117
+ } & {
1118
+ creator: {
1119
+ patch: {
1120
+ body: {
1121
+ campaignId: string;
1122
+ creatorAddress: string;
1123
+ distributionChain: number;
1124
+ };
1125
+ params: {};
1126
+ query: unknown;
1127
+ headers: {
1128
+ authorization: string;
1129
+ };
1130
+ response: {
1131
+ 200: void;
1132
+ };
1133
+ };
1134
+ };
1135
+ } & {
1136
+ "remove-override": {
1137
+ patch: {
1138
+ body: {
1139
+ campaignId: string;
1140
+ field: "opportunityId" | "creatorAddress";
1141
+ distributionChain: number;
1142
+ };
1143
+ params: {};
1144
+ query: unknown;
1145
+ headers: {
1146
+ authorization: string;
1147
+ };
1148
+ response: {
1149
+ 200: void;
1150
+ };
1151
+ };
1152
+ };
1116
1153
  } & {
1117
1154
  metadata: {
1118
1155
  patch: {
@@ -1141,6 +1178,7 @@ declare const app: Elysia<"", false, {
1141
1178
  amount: string;
1142
1179
  opportunityId: string;
1143
1180
  creatorAddress: string;
1181
+ manualOverrides: import("../database/api/.generated").$Enums.CampaignManualOverride[];
1144
1182
  };
1145
1183
  };
1146
1184
  };
@@ -1238,6 +1276,7 @@ declare const app: Elysia<"", false, {
1238
1276
  rewardTokenId: string;
1239
1277
  amount: string;
1240
1278
  opportunityId: string;
1279
+ manualOverrides: import("../database/api/.generated").$Enums.CampaignManualOverride[];
1241
1280
  }[];
1242
1281
  };
1243
1282
  };
@@ -1302,6 +1341,7 @@ declare const app: Elysia<"", false, {
1302
1341
  rewardTokenId: string;
1303
1342
  amount: string;
1304
1343
  opportunityId: string;
1344
+ manualOverrides: import("../database/api/.generated").$Enums.CampaignManualOverride[];
1305
1345
  };
1306
1346
  };
1307
1347
  };
@@ -1767,7 +1807,18 @@ declare const app: Elysia<"", false, {
1767
1807
  authorization: string;
1768
1808
  };
1769
1809
  response: {
1770
- 200: void;
1810
+ 200: {
1811
+ symbol: string;
1812
+ name: string | null;
1813
+ id: string;
1814
+ icon: string;
1815
+ chainId: number;
1816
+ address: string;
1817
+ decimals: number;
1818
+ verified: boolean;
1819
+ isTest: boolean;
1820
+ price?: number | null | undefined;
1821
+ } | undefined;
1771
1822
  };
1772
1823
  };
1773
1824
  };
@@ -51,6 +51,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
51
51
  amount: string;
52
52
  opportunityId: string;
53
53
  creatorAddress: string;
54
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
54
55
  } | undefined;
55
56
  };
56
57
  };
@@ -59,7 +60,6 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
59
60
  opportunity: {
60
61
  patch: {
61
62
  body: {
62
- tags?: string[] | undefined;
63
63
  opportunityIdentifier?: string | undefined;
64
64
  campaignId: string;
65
65
  distributionChain: number;
@@ -74,6 +74,42 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
74
74
  };
75
75
  };
76
76
  };
77
+ } & {
78
+ creator: {
79
+ patch: {
80
+ body: {
81
+ campaignId: string;
82
+ creatorAddress: string;
83
+ distributionChain: number;
84
+ };
85
+ params: {};
86
+ query: unknown;
87
+ headers: {
88
+ authorization: string;
89
+ };
90
+ response: {
91
+ 200: void;
92
+ };
93
+ };
94
+ };
95
+ } & {
96
+ "remove-override": {
97
+ patch: {
98
+ body: {
99
+ campaignId: string;
100
+ field: "opportunityId" | "creatorAddress";
101
+ distributionChain: number;
102
+ };
103
+ params: {};
104
+ query: unknown;
105
+ headers: {
106
+ authorization: string;
107
+ };
108
+ response: {
109
+ 200: void;
110
+ };
111
+ };
112
+ };
77
113
  } & {
78
114
  metadata: {
79
115
  patch: {
@@ -102,6 +138,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
102
138
  amount: string;
103
139
  opportunityId: string;
104
140
  creatorAddress: string;
141
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
105
142
  };
106
143
  };
107
144
  };
@@ -199,6 +236,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
199
236
  rewardTokenId: string;
200
237
  amount: string;
201
238
  opportunityId: string;
239
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
202
240
  }[];
203
241
  };
204
242
  };
@@ -263,6 +301,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
263
301
  rewardTokenId: string;
264
302
  amount: string;
265
303
  opportunityId: string;
304
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
266
305
  };
267
306
  };
268
307
  };
@@ -6,7 +6,7 @@ import { Campaign } from "@sdk";
6
6
  import Elysia, { t } from "elysia";
7
7
  import { throwOnUnsupportedChainId } from "src/utils/throw";
8
8
  import { DynamicDataService } from "../dynamicData/dynamicData.service";
9
- import { CampaignResourceDto, CreateCampaignDto, GetCampaignQueryDto, UpdateCampaignDto, UpdateMetaDataCampaignDto, } from "./campaign.model";
9
+ import { CampaignResourceDto, CreateCampaignDto, GetCampaignQueryDto, RemoveManualOverrideDto, UpdateCampaignCreatorDto, UpdateCampaignDto, UpdateMetaDataCampaignDto, } from "./campaign.model";
10
10
  import { CampaignService } from "./campaign.service";
11
11
  // ─── Campaigns Controller ────────────────────────────────────────────────────
12
12
  export const CampaignController = new Elysia({ prefix: "/campaigns", detail: { tags: ["Campaigns"] } })
@@ -22,6 +22,21 @@ export const CampaignController = new Elysia({ prefix: "/campaigns", detail: { t
22
22
  headers: AuthorizationHeadersDto,
23
23
  body: UpdateCampaignDto,
24
24
  detail: { hide: true },
25
+ })
26
+ .patch("/creator", async ({ body }) => await CampaignService.updateCreator(body), {
27
+ beforeHandle: BackOfficeGuard,
28
+ headers: AuthorizationHeadersDto,
29
+ body: UpdateCampaignCreatorDto,
30
+ detail: { hide: true },
31
+ })
32
+ .patch("/remove-override", async ({ body }) => await CampaignService.removeManualOverride({
33
+ distributionChain: body.distributionChain,
34
+ campaignId: body.campaignId,
35
+ }, body.field), {
36
+ beforeHandle: BackOfficeGuard,
37
+ headers: AuthorizationHeadersDto,
38
+ body: RemoveManualOverrideDto,
39
+ detail: { hide: true },
25
40
  })
26
41
  .patch("/metadata", async ({ body }) => await CampaignService.updateMetaData(body), {
27
42
  beforeHandle: BackOfficeGuard,
@@ -98,7 +98,19 @@ export declare const UpdateCampaignDto: import("@sinclair/typebox").TObject<{
98
98
  distributionChain: import("@sinclair/typebox").TNumber;
99
99
  campaignId: import("@sinclair/typebox").TString;
100
100
  opportunityIdentifier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
101
- tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
101
+ }>;
102
+ export declare const UpdateCampaignCreatorDto: import("@sinclair/typebox").TObject<{
103
+ distributionChain: import("@sinclair/typebox").TNumber;
104
+ campaignId: import("@sinclair/typebox").TString;
105
+ creatorAddress: import("@sinclair/typebox").TString;
106
+ }>;
107
+ export declare const RemoveManualOverrideDto: import("@sinclair/typebox").TObject<{
108
+ distributionChain: import("@sinclair/typebox").TNumber;
109
+ campaignId: import("@sinclair/typebox").TString;
110
+ field: import("@sinclair/typebox").TEnum<{
111
+ opportunityId: "opportunityId";
112
+ creatorAddress: "creatorAddress";
113
+ }>;
102
114
  }>;
103
115
  export declare const UpdateMetaDataCampaignDto: import("@sinclair/typebox").TObject<{
104
116
  distributionChain: import("@sinclair/typebox").TNumber;
@@ -130,6 +142,7 @@ export type CreateCampaignModel = typeof CreateCampaignDto.static & {
130
142
  export type UpdateCampaignModel = typeof UpdateCampaignDto.static & {
131
143
  id: string;
132
144
  };
145
+ export type UpdateCampaignCreatorModel = typeof UpdateCampaignCreatorDto.static;
133
146
  export type UpdateMetaDataCampaignModel = typeof UpdateMetaDataCampaignDto.static & {
134
147
  url: string;
135
148
  };
@@ -1,4 +1,5 @@
1
1
  import { TokenResourceDto } from "../token/token.model";
2
+ import { CampaignManualOverride } from "../../../../database/api/.generated";
2
3
  import { t } from "elysia";
3
4
  import { ChainResourceDto } from "../chain/chain.model";
4
5
  import { CampaignStatusResourceDto } from "../status/status.model";
@@ -51,7 +52,16 @@ export const UpdateCampaignDto = t.Object({
51
52
  distributionChain: t.Numeric(),
52
53
  campaignId: t.String(),
53
54
  opportunityIdentifier: t.Optional(t.String()),
54
- tags: t.Optional(t.Array(t.String())),
55
+ });
56
+ export const UpdateCampaignCreatorDto = t.Object({
57
+ distributionChain: t.Numeric(),
58
+ campaignId: t.String(),
59
+ creatorAddress: t.String(),
60
+ });
61
+ export const RemoveManualOverrideDto = t.Object({
62
+ distributionChain: t.Numeric(),
63
+ campaignId: t.String(),
64
+ field: t.Enum(CampaignManualOverride),
55
65
  });
56
66
  export const UpdateMetaDataCampaignDto = t.Object({
57
67
  distributionChain: t.Numeric(),
@@ -1,5 +1,5 @@
1
1
  import type { CampaignUnique, CreateCampaignModel, GetCampaignQueryModel, extendedUpdateCampaignModel } from "./";
2
- import { Prisma } from "../../../../database/api/.generated";
2
+ import { type CampaignManualOverride, Prisma } from "../../../../database/api/.generated";
3
3
  import { type ChainId } from "@sdk";
4
4
  export declare abstract class CampaignRepository {
5
5
  static transformQueryToPrismaFilters(query: GetCampaignQueryModel): {
@@ -107,6 +107,7 @@ export declare abstract class CampaignRepository {
107
107
  amount: string;
108
108
  opportunityId: string;
109
109
  creatorAddress: string;
110
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
110
111
  })[]>;
111
112
  /**
112
113
  * Retrieves all past campaigns from the database.
@@ -149,6 +150,7 @@ export declare abstract class CampaignRepository {
149
150
  amount: string;
150
151
  opportunityId: string;
151
152
  creatorAddress: string;
153
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
152
154
  })[]>;
153
155
  /**
154
156
  * Retrieves all live campaigns from the database.
@@ -159,6 +161,7 @@ export declare abstract class CampaignRepository {
159
161
  * @dev Excludes test campaigns
160
162
  */
161
163
  static getLiveCampaigns(query?: {
164
+ distributionChainId?: number;
162
165
  computeChainId?: number;
163
166
  type?: string;
164
167
  }): Promise<({
@@ -191,7 +194,13 @@ export declare abstract class CampaignRepository {
191
194
  amount: string;
192
195
  opportunityId: string;
193
196
  creatorAddress: string;
197
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
194
198
  })[]>;
199
+ static countLives(query?: {
200
+ distributionChainId?: number;
201
+ computeChainId?: number;
202
+ type?: string;
203
+ }): Promise<number>;
195
204
  /**
196
205
  * Upserts a campaign in the database. If the campaign already exists, it updates the existing record;
197
206
  * otherwise, it creates a new one.
@@ -199,6 +208,8 @@ export declare abstract class CampaignRepository {
199
208
  * @param {CreateCampaignModel} campaign - The campaign data to be upserted.
200
209
  * @returns The upserted campaign record.
201
210
  *
211
+ * @dev Should be the only way of creating campaigns in the database.
212
+ *
202
213
  * @throws {Error} If unable to fetch data for the reward token.
203
214
  *
204
215
  * @remarks
@@ -225,18 +236,14 @@ export declare abstract class CampaignRepository {
225
236
  amount: string;
226
237
  opportunityId: string;
227
238
  creatorAddress: string;
239
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
228
240
  } | undefined>;
229
- static upsertMany(campaigns: CreateCampaignModel[]): Promise<{
230
- success: number;
231
- fail: number;
232
- }>;
233
241
  /**
234
- * Fetches the campaign data for a v3 campaign in database
235
- * @param chainId
236
- * @param timestamp from which campaigns endTimestamp are filtered
237
- * @returns
242
+ * Retrieves a campaign from the engine database by its chain and campaign id.
243
+ * @dev Types are different from the API database.
244
+ * @dev IDs are different from the API database.
245
+ * id in the engine database = campaignId in the API database
238
246
  */
239
- static getFromEngineDb(chainId: number, timestamp: number): Promise<CampaignParameters<CampaignV3>[]>;
240
247
  static getFromEngineDbWithId(campaignIds: CampaignUnique[]): Promise<{
241
248
  index: number;
242
249
  creator: string;
@@ -252,8 +259,44 @@ export declare abstract class CampaignRepository {
252
259
  mainParameter: string;
253
260
  campaignParameters: import("database/engine/.generated/runtime/library").JsonValue;
254
261
  }[]>;
255
- static checkIfExist(id: string): Promise<boolean>;
256
- static findUnique(id: string): Promise<{
262
+ static findUnique(id: string): Promise<({
263
+ ComputeChain: {
264
+ name: string;
265
+ id: number;
266
+ icon: string;
267
+ };
268
+ DistributionChain: {
269
+ name: string;
270
+ id: number;
271
+ icon: string;
272
+ };
273
+ RewardToken: {
274
+ symbol: string;
275
+ name: string | null;
276
+ id: string;
277
+ icon: string;
278
+ chainId: number;
279
+ address: string;
280
+ decimals: number;
281
+ displaySymbol: string;
282
+ verified: boolean;
283
+ isTest: boolean;
284
+ price: number | null;
285
+ };
286
+ Creator: {
287
+ tags: string[];
288
+ address: string;
289
+ creatorId: string | null;
290
+ };
291
+ CampaignStatus: {
292
+ error: string;
293
+ details: Prisma.JsonValue;
294
+ status: import("../../../../database/api/.generated").$Enums.RunStatus;
295
+ campaignId: string;
296
+ computedUntil: bigint;
297
+ processingStarted: bigint;
298
+ }[];
299
+ } & {
257
300
  type: string;
258
301
  id: string;
259
302
  params: Prisma.JsonValue;
@@ -267,7 +310,8 @@ export declare abstract class CampaignRepository {
267
310
  amount: string;
268
311
  opportunityId: string;
269
312
  creatorAddress: string;
270
- } | null>;
313
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
314
+ }) | null>;
271
315
  static findUniqueOrThrow(id: string, withOpportunity: boolean): Promise<{
272
316
  ComputeChain: {
273
317
  name: string;
@@ -334,6 +378,7 @@ export declare abstract class CampaignRepository {
334
378
  amount: string;
335
379
  opportunityId: string;
336
380
  creatorAddress: string;
381
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
337
382
  }>;
338
383
  static findCampaignsToProcess(distributionChainId: ChainId): Promise<{
339
384
  endTimestamp: bigint;
@@ -395,28 +440,14 @@ export declare abstract class CampaignRepository {
395
440
  amount: string;
396
441
  opportunityId: string;
397
442
  creatorAddress: string;
443
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
398
444
  })[]>;
399
445
  static countMany(query: GetCampaignQueryModel): Promise<number>;
400
- static countLives(chainId: number): Promise<number>;
401
- static findManyCampaignId(chainId: ChainId): Promise<{
402
- campaignId: string;
403
- }[]>;
404
446
  static findChains(): Promise<Record<string, ChainId>>;
405
- static updateOpportunity(id: string, data: extendedUpdateCampaignModel): Promise<{
406
- type: string;
407
- id: string;
408
- params: Prisma.JsonValue;
409
- subType: number | null;
410
- startTimestamp: bigint;
411
- endTimestamp: bigint;
412
- computeChainId: number;
413
- distributionChainId: number;
414
- campaignId: string;
415
- rewardTokenId: string;
416
- amount: string;
417
- opportunityId: string;
418
- creatorAddress: string;
419
- }>;
447
+ static addManualOverride(id: string, field: CampaignManualOverride): Promise<void>;
448
+ static removeManualOverride(id: string, field: CampaignManualOverride): Promise<void>;
449
+ static updateOpportunity(id: string, data: extendedUpdateCampaignModel): Promise<void>;
450
+ static updateCreator(id: string, creatorAddress: string): Promise<void>;
420
451
  static updateMetaData(id: string, params: string): Promise<{
421
452
  type: string;
422
453
  id: string;
@@ -431,5 +462,6 @@ export declare abstract class CampaignRepository {
431
462
  amount: string;
432
463
  opportunityId: string;
433
464
  creatorAddress: string;
465
+ manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
434
466
  }>;
435
467
  }