@merkl/api 0.10.137 → 0.10.139

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 (65) hide show
  1. package/dist/src/eden/index.d.ts +291 -520
  2. package/dist/src/index.d.ts +99 -186
  3. package/dist/src/index.js +1 -1
  4. package/dist/src/libs/campaigns/campaignTypes/CompoundDynamicData.js +21 -7
  5. package/dist/src/libs/deprecated-merklv3/index.js +1 -1
  6. package/dist/src/libs/positions/compound/index.d.ts +0 -2
  7. package/dist/src/libs/positions/compound/index.js +3 -6
  8. package/dist/src/modules/v4/blacklist/blacklist.controller.d.ts +0 -21
  9. package/dist/src/modules/v4/blacklist/blacklist.controller.js +2 -2
  10. package/dist/src/modules/v4/blacklist/blacklist.repository.d.ts +0 -8
  11. package/dist/src/modules/v4/blacklist/blacklist.repository.js +1 -4
  12. package/dist/src/modules/v4/blacklist/blacklist.service.d.ts +1 -9
  13. package/dist/src/modules/v4/blacklist/blacklist.service.js +1 -4
  14. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +3 -3
  15. package/dist/src/modules/v4/campaign/campaign.controller.js +8 -6
  16. package/dist/src/modules/v4/campaign/campaign.service.js +1 -2
  17. package/dist/src/modules/v4/chain/chain.controller.js +2 -1
  18. package/dist/src/modules/v4/dynamicData/dynamicData.controller.d.ts +20 -26
  19. package/dist/src/modules/v4/dynamicData/dynamicData.controller.js +5 -5
  20. package/dist/src/modules/v4/enso/enso.service.d.ts +1 -1
  21. package/dist/src/modules/v4/{participate/participate.controller.d.ts → interaction/interaction.controller.d.ts} +6 -6
  22. package/dist/src/modules/v4/{participate/participate.controller.js → interaction/interaction.controller.js} +12 -13
  23. package/dist/src/modules/v4/{participate/participate.model.d.ts → interaction/interaction.model.d.ts} +12 -12
  24. package/dist/src/modules/v4/{participate/participate.model.js → interaction/interaction.model.js} +3 -3
  25. package/dist/src/modules/v4/{participate/participate.service.d.ts → interaction/interaction.service.d.ts} +5 -5
  26. package/dist/src/modules/v4/{participate/participate.service.js → interaction/interaction.service.js} +3 -3
  27. package/dist/src/modules/v4/merklRoot/merklRoot.controller.d.ts +2 -2
  28. package/dist/src/modules/v4/merklRoot/merklRoot.controller.js +2 -2
  29. package/dist/src/modules/v4/opportunity/opportunity.controller.js +5 -1
  30. package/dist/src/modules/v4/price/price.controller.js +3 -0
  31. package/dist/src/modules/v4/reward/reward.controller.d.ts +31 -29
  32. package/dist/src/modules/v4/reward/reward.controller.js +3 -3
  33. package/dist/src/modules/v4/reward/{rewardConvertor.service.d.ts → subservices/converter.d.ts} +2 -2
  34. package/dist/src/modules/v4/reward/{rewardConvertor.service.js → subservices/converter.js} +1 -1
  35. package/dist/src/modules/v4/router.d.ts +99 -186
  36. package/dist/src/modules/v4/router.js +2 -2
  37. package/dist/src/modules/v4/status/status.controller.d.ts +40 -102
  38. package/dist/src/modules/v4/status/status.controller.js +16 -22
  39. package/dist/src/modules/v4/status/status.model.d.ts +33 -26
  40. package/dist/src/modules/v4/status/status.model.js +9 -20
  41. package/dist/src/modules/v4/status/status.repository.d.ts +12 -42
  42. package/dist/src/modules/v4/status/status.repository.js +10 -22
  43. package/dist/src/modules/v4/status/status.service.d.ts +4 -36
  44. package/dist/src/modules/v4/status/status.service.js +9 -18
  45. package/dist/src/modules/v4/uniswapV4/uniswapV4.controller.d.ts +1 -1
  46. package/dist/src/modules/v4/uniswapV4/uniswapV4.controller.js +1 -1
  47. package/dist/src/modules/v4/user/user.controller.js +3 -2
  48. package/dist/src/routes/v3/ERC20Campaigns.d.ts +99 -186
  49. package/dist/src/routes/v3/blacklist.d.ts +99 -186
  50. package/dist/src/routes/v3/campaigns.d.ts +99 -186
  51. package/dist/src/routes/v3/campaignsInfo.d.ts +99 -186
  52. package/dist/src/routes/v3/multiChainPositions.d.ts +99 -186
  53. package/dist/src/routes/v3/opportunity.d.ts +99 -186
  54. package/dist/src/routes/v3/positions.d.ts +99 -186
  55. package/dist/src/routes/v3/rewards.d.ts +99 -186
  56. package/dist/src/routes/v3/rewards.js +1 -1
  57. package/dist/src/routes/v3/updates.d.ts +99 -186
  58. package/dist/src/routes/v3/userRewards.d.ts +99 -186
  59. package/dist/src/routes/v3/userRewards.js +1 -1
  60. package/dist/tsconfig.package.tsbuildinfo +1 -1
  61. package/package.json +4 -5
  62. package/dist/src/modules/v4/apr/apr.repository.d.ts +0 -0
  63. package/dist/src/modules/v4/apr/apr.repository.js +0 -1
  64. package/dist/src/modules/v4/tvl/tvl.repository.d.ts +0 -0
  65. package/dist/src/modules/v4/tvl/tvl.repository.js +0 -1
@@ -1,36 +1,30 @@
1
1
  import { AuthorizationHeadersDto, EngineGuard } from "../../../guards/Engine.guard";
2
- import { throwOnUnsupportedChainId } from "../../../utils/throw";
3
2
  import Elysia from "elysia";
4
3
  import { CampaignUniqueDto } from "../campaign";
5
- import { ChainDto, RunStatusListDto, UpdateStatusDto } from "./status.model";
4
+ import { QueryCampaignStatusDto, UpdateCampaignStatusDto } from "./status.model";
6
5
  import { StatusService } from "./status.service";
7
- export const StatusController = new Elysia({ prefix: "/campaignStatus", detail: { tags: ["Status"] } })
6
+ export const StatusController = new Elysia({ prefix: "/campaign-status", detail: { tags: ["Status"] } })
8
7
  // ─── Update a Campaign Status ──────────────────────────────────────
9
- .post("/engine", async ({ body }) => await StatusService.update(body), {
8
+ .put("/engine/:campaignId", async ({ params, body }) => {
9
+ const [distributionChain, campaignId] = params.campaignId.split("-");
10
+ return await StatusService.update({ distributionChain: +distributionChain, campaignId }, body);
11
+ }, {
10
12
  beforeHandle: EngineGuard,
11
13
  headers: AuthorizationHeadersDto,
12
- body: UpdateStatusDto,
13
- })
14
- // ─── Get All Status ────────────────────────────────────────────────
15
- .get("/", async () => await StatusService.findMany())
16
- .get("/status", async ({ query }) => await StatusService.findManyByRunStatus(query), { query: RunStatusListDto })
17
- // ─── Get A Status By Id ────────────────────────────────────────────
18
- .get("/unique", async ({ query }) => await StatusService.findUniqueOrThrow(query), {
19
- query: CampaignUniqueDto,
20
- beforeHandle: ({ query }) => {
21
- throwOnUnsupportedChainId(query.distributionChain);
22
- },
23
- })
24
- // ─── Get All Status on a chain ─────────────────────────────────────
25
- .get("/computeChain/:chainId", async ({ params }) => await StatusService.findManyPerChain(params.chainId), {
26
- params: ChainDto,
27
- beforeHandle: ({ params }) => {
28
- throwOnUnsupportedChainId(params.chainId);
29
- },
14
+ body: UpdateCampaignStatusDto,
30
15
  })
31
16
  // ─── Is Safe For Overlaps ──────────────────────────────────────────
32
17
  .get("/engine/overlaps", async ({ query }) => await StatusService.isSafeForOverlaps(query), {
33
18
  beforeHandle: EngineGuard,
34
19
  headers: AuthorizationHeadersDto,
35
20
  query: CampaignUniqueDto,
21
+ })
22
+ // ─── Find Many Status ────────────────────────────────────────────────
23
+ .get("/", async ({ query }) => await StatusService.findMany(query), { query: QueryCampaignStatusDto })
24
+ // ─── Get A Status By Id ────────────────────────────────────────────
25
+ .get("/:campaignId", async ({ params }) => {
26
+ if (!params.campaignId.includes("-"))
27
+ return await StatusService.findUniqueOrThrow(params.campaignId);
28
+ const [distributionChain, campaignId] = params.campaignId.split("-");
29
+ return await StatusService.findUniqueOrThrow({ distributionChain: +distributionChain, campaignId });
36
30
  });
@@ -1,28 +1,35 @@
1
- export declare const ChainDto: import("@sinclair/typebox").TObject<{
2
- chainId: import("@sinclair/typebox").TNumber;
1
+ import type { Campaign } from "../campaign";
2
+ import type { Resource } from "../prisma";
3
+ export type Status = Resource<"CampaignStatus", "campaignId", {
4
+ campaign: Campaign["model"];
3
5
  }>;
4
- export declare const UpdateStatusDto: import("@sinclair/typebox").TObject<{
5
- distributionChain: import("@sinclair/typebox").TNumber;
6
- campaignId: import("@sinclair/typebox").TString;
7
- status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
8
- value: import("@sinclair/typebox").TLiteral<"SUCCESS">;
9
- computedUntil: import("@sinclair/typebox").TNumber;
10
- }>, import("@sinclair/typebox").TObject<{
11
- value: import("@sinclair/typebox").TLiteral<"PROCESSING">;
12
- }>, import("@sinclair/typebox").TObject<{
13
- value: import("@sinclair/typebox").TLiteral<"SKIPPED">;
14
- error: import("@sinclair/typebox").TString;
15
- details: import("@sinclair/typebox").TString;
16
- }>, import("@sinclair/typebox").TObject<{
17
- value: import("@sinclair/typebox").TLiteral<"FAILED">;
18
- error: import("@sinclair/typebox").TString;
19
- details: import("@sinclair/typebox").TString;
20
- }>]>;
6
+ export declare const UpdateCampaignStatusDto: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
7
+ value: import("@sinclair/typebox").TLiteral<"SUCCESS">;
8
+ computedUntil: import("@sinclair/typebox").TNumber;
9
+ }>, import("@sinclair/typebox").TObject<{
10
+ value: import("@sinclair/typebox").TLiteral<"PROCESSING">;
11
+ }>, import("@sinclair/typebox").TObject<{
12
+ value: import("@sinclair/typebox").TLiteral<"SKIPPED">;
13
+ error: import("@sinclair/typebox").TString;
14
+ details: import("@sinclair/typebox").TString;
15
+ }>, import("@sinclair/typebox").TObject<{
16
+ value: import("@sinclair/typebox").TLiteral<"FAILED">;
17
+ error: import("@sinclair/typebox").TString;
18
+ details: import("@sinclair/typebox").TString;
19
+ }>]>;
20
+ export declare const QueryCampaignStatusDto: import("@sinclair/typebox").TObject<{
21
+ computeChainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
22
+ status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TEnum<{
23
+ PROCESSING: "PROCESSING";
24
+ SUCCESS: "SUCCESS";
25
+ FAILED: "FAILED";
26
+ SKIPPED: "SKIPPED";
27
+ }>>, import("@sinclair/typebox").TEnum<{
28
+ PROCESSING: "PROCESSING";
29
+ SUCCESS: "SUCCESS";
30
+ FAILED: "FAILED";
31
+ SKIPPED: "SKIPPED";
32
+ }>]>>;
21
33
  }>;
22
- export declare const RunStatusDto: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"SUCCESS">, import("@sinclair/typebox").TLiteral<"FAILED">, import("@sinclair/typebox").TLiteral<"PROCESSING">, import("@sinclair/typebox").TLiteral<"SKIPPED">]>;
23
- export declare const RunStatusListDto: import("@sinclair/typebox").TObject<{
24
- status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"SUCCESS">, import("@sinclair/typebox").TLiteral<"FAILED">, import("@sinclair/typebox").TLiteral<"PROCESSING">, import("@sinclair/typebox").TLiteral<"SKIPPED">]>>, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"SUCCESS">, import("@sinclair/typebox").TLiteral<"FAILED">, import("@sinclair/typebox").TLiteral<"PROCESSING">, import("@sinclair/typebox").TLiteral<"SKIPPED">]>]>;
25
- }>;
26
- export type ChainModel = typeof ChainDto.static;
27
- export type RunStatusListModel = typeof RunStatusListDto.static;
28
- export type UpdateStatusModel = typeof UpdateStatusDto.static;
34
+ export type UpdateStatusModel = typeof UpdateCampaignStatusDto.static;
35
+ export type QueryCampaignStatus = typeof QueryCampaignStatusDto.static;
@@ -1,24 +1,13 @@
1
1
  import { RunStatus } from "../../../../database/api/.generated";
2
2
  import { t } from "elysia";
3
- export const ChainDto = t.Object({
4
- chainId: t.Numeric(),
5
- });
6
- export const UpdateStatusDto = t.Object({
7
- distributionChain: t.Numeric(),
8
- campaignId: t.String(), // Identifier of the campaign
9
- status: t.Union([
10
- t.Object({ value: t.Literal(RunStatus.SUCCESS), computedUntil: t.Numeric() }),
11
- t.Object({ value: t.Literal(RunStatus.PROCESSING) }),
12
- t.Object({ value: t.Literal(RunStatus.SKIPPED), error: t.String(), details: t.String() }),
13
- t.Object({ value: t.Literal(RunStatus.FAILED), error: t.String(), details: t.String() }),
14
- ]),
15
- });
16
- export const RunStatusDto = t.Union([
17
- t.Literal(RunStatus.SUCCESS),
18
- t.Literal(RunStatus.FAILED),
19
- t.Literal(RunStatus.PROCESSING),
20
- t.Literal(RunStatus.SKIPPED),
3
+ // ─── DTOs ────────────────────────────────────────────────────────────────────
4
+ export const UpdateCampaignStatusDto = t.Union([
5
+ t.Object({ value: t.Literal(RunStatus.SUCCESS), computedUntil: t.Numeric() }),
6
+ t.Object({ value: t.Literal(RunStatus.PROCESSING) }),
7
+ t.Object({ value: t.Literal(RunStatus.SKIPPED), error: t.String(), details: t.String() }),
8
+ t.Object({ value: t.Literal(RunStatus.FAILED), error: t.String(), details: t.String() }),
21
9
  ]);
22
- export const RunStatusListDto = t.Object({
23
- status: t.Union([t.Array(RunStatusDto), RunStatusDto]),
10
+ export const QueryCampaignStatusDto = t.Object({
11
+ computeChainId: t.Optional(t.Numeric()),
12
+ status: t.Optional(t.Union([t.Array(t.Enum(RunStatus)), t.Enum(RunStatus)])),
24
13
  });
@@ -1,49 +1,19 @@
1
- import type { RunStatus } from "../../../../database/api/.generated";
1
+ import type { Prisma, RunStatus } from "../../../../database/api/.generated";
2
2
  import { type CampaignUnique } from "../campaign";
3
+ import type { QueryCampaignStatus } from "./status.model";
3
4
  export declare class StatusRepository {
4
- static findMany(): Promise<{
5
+ #private;
6
+ static findMany(query: QueryCampaignStatus): Promise<{
5
7
  error: string;
6
- details: import("database/api/.generated/runtime/library").JsonValue;
8
+ details: Prisma.JsonValue;
7
9
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
8
10
  campaignId: string;
9
11
  computedUntil: bigint;
10
12
  processingStarted: bigint;
11
13
  }[]>;
12
- static findManyByRunStatus(statuses: RunStatus[]): Promise<({
13
- Campaign: {
14
- type: import("../../../../database/api/.generated").$Enums.CampaignType;
15
- id: string;
16
- params: import("database/api/.generated/runtime/library").JsonValue;
17
- subType: number | null;
18
- startTimestamp: bigint;
19
- endTimestamp: bigint;
20
- computeChainId: number;
21
- distributionChainId: number;
22
- campaignId: string;
23
- rewardTokenId: string;
24
- amount: string;
25
- opportunityId: string;
26
- creatorAddress: string;
27
- };
28
- } & {
14
+ static findUniqueOrThrow(campaignId: string): Promise<{
29
15
  error: string;
30
- details: import("database/api/.generated/runtime/library").JsonValue;
31
- status: import("../../../../database/api/.generated").$Enums.RunStatus;
32
- campaignId: string;
33
- computedUntil: bigint;
34
- processingStarted: bigint;
35
- })[]>;
36
- static findManyPerChain(chainId: number): Promise<{
37
- error: string;
38
- details: import("database/api/.generated/runtime/library").JsonValue;
39
- status: import("../../../../database/api/.generated").$Enums.RunStatus;
40
- campaignId: string;
41
- computedUntil: bigint;
42
- processingStarted: bigint;
43
- }[]>;
44
- static findUniqueOrThrow(campaignUnique: CampaignUnique): Promise<{
45
- error: string;
46
- details: import("database/api/.generated/runtime/library").JsonValue;
16
+ details: Prisma.JsonValue;
47
17
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
48
18
  campaignId: string;
49
19
  computedUntil: bigint;
@@ -51,7 +21,7 @@ export declare class StatusRepository {
51
21
  }>;
52
22
  static findUnique(campaignUnique: CampaignUnique): Promise<{
53
23
  error: string;
54
- details: import("database/api/.generated/runtime/library").JsonValue;
24
+ details: Prisma.JsonValue;
55
25
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
56
26
  campaignId: string;
57
27
  computedUntil: bigint;
@@ -59,7 +29,7 @@ export declare class StatusRepository {
59
29
  } | null>;
60
30
  static create(campaign: CampaignUnique, startTimestamp: bigint): Promise<{
61
31
  error: string;
62
- details: import("database/api/.generated/runtime/library").JsonValue;
32
+ details: Prisma.JsonValue;
63
33
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
64
34
  campaignId: string;
65
35
  computedUntil: bigint;
@@ -67,7 +37,7 @@ export declare class StatusRepository {
67
37
  }>;
68
38
  static updateSuccess(campaignUnique: CampaignUnique, computedUntil: number): Promise<{
69
39
  error: string;
70
- details: import("database/api/.generated/runtime/library").JsonValue;
40
+ details: Prisma.JsonValue;
71
41
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
72
42
  campaignId: string;
73
43
  computedUntil: bigint;
@@ -75,7 +45,7 @@ export declare class StatusRepository {
75
45
  }>;
76
46
  static updateWithError(campaignUnique: CampaignUnique, status: Exclude<RunStatus, "SUCCESS" | "PROCESSING">, error: string, details: string): Promise<{
77
47
  error: string;
78
- details: import("database/api/.generated/runtime/library").JsonValue;
48
+ details: Prisma.JsonValue;
79
49
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
80
50
  campaignId: string;
81
51
  computedUntil: bigint;
@@ -83,7 +53,7 @@ export declare class StatusRepository {
83
53
  }>;
84
54
  static updateProcessing(campaignUnique: CampaignUnique): Promise<{
85
55
  error: string;
86
- details: import("database/api/.generated/runtime/library").JsonValue;
56
+ details: Prisma.JsonValue;
87
57
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
88
58
  campaignId: string;
89
59
  computedUntil: bigint;
@@ -2,34 +2,22 @@ import { apiDbClient } from "../../../utils/prisma";
2
2
  import moment from "moment";
3
3
  import { CampaignService } from "../campaign";
4
4
  export class StatusRepository {
5
- static async findMany() {
6
- return await apiDbClient.campaignStatus.findMany();
7
- }
8
- static async findManyByRunStatus(statuses) {
9
- return await apiDbClient.campaignStatus.findMany({
5
+ static #formatQuery(query) {
6
+ return {
10
7
  where: {
11
- status: {
12
- in: statuses,
13
- },
8
+ status: Array.isArray(query.status) ? { in: query.status } : query.status,
9
+ Campaign: query.computeChainId ? { computeChainId: query.computeChainId } : undefined,
14
10
  },
15
- include: {
16
- Campaign: true,
17
- },
18
- });
11
+ include: { Campaign: Boolean(query.status) },
12
+ };
19
13
  }
20
- static async findManyPerChain(chainId) {
21
- return await apiDbClient.campaignStatus.findMany({
22
- where: {
23
- Campaign: {
24
- computeChainId: chainId,
25
- },
26
- },
27
- });
14
+ static async findMany(query) {
15
+ return await apiDbClient.campaignStatus.findMany(StatusRepository.#formatQuery(query));
28
16
  }
29
- static async findUniqueOrThrow(campaignUnique) {
17
+ static async findUniqueOrThrow(campaignId) {
30
18
  return await apiDbClient.campaignStatus.findUniqueOrThrow({
31
19
  where: {
32
- campaignId: CampaignService.hashId(campaignUnique),
20
+ campaignId,
33
21
  },
34
22
  });
35
23
  }
@@ -1,7 +1,7 @@
1
1
  import { type CampaignUnique } from "../campaign";
2
- import type { RunStatusListModel, UpdateStatusModel } from "./status.model";
2
+ import type { QueryCampaignStatus, UpdateStatusModel } from "./status.model";
3
3
  export declare class StatusService {
4
- static findMany(): Promise<{
4
+ static findMany(query: QueryCampaignStatus): Promise<{
5
5
  error: string;
6
6
  details: import("database/api/.generated/runtime/library").JsonValue;
7
7
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
@@ -9,39 +9,7 @@ export declare class StatusService {
9
9
  computedUntil: bigint;
10
10
  processingStarted: bigint;
11
11
  }[]>;
12
- static findManyByRunStatus(x: RunStatusListModel): Promise<({
13
- Campaign: {
14
- type: import("../../../../database/api/.generated").$Enums.CampaignType;
15
- id: string;
16
- params: import("database/api/.generated/runtime/library").JsonValue;
17
- subType: number | null;
18
- startTimestamp: bigint;
19
- endTimestamp: bigint;
20
- computeChainId: number;
21
- distributionChainId: number;
22
- campaignId: string;
23
- rewardTokenId: string;
24
- amount: string;
25
- opportunityId: string;
26
- creatorAddress: string;
27
- };
28
- } & {
29
- error: string;
30
- details: import("database/api/.generated/runtime/library").JsonValue;
31
- status: import("../../../../database/api/.generated").$Enums.RunStatus;
32
- campaignId: string;
33
- computedUntil: bigint;
34
- processingStarted: bigint;
35
- })[]>;
36
- static findManyPerChain(chainId: number): Promise<{
37
- error: string;
38
- details: import("database/api/.generated/runtime/library").JsonValue;
39
- status: import("../../../../database/api/.generated").$Enums.RunStatus;
40
- campaignId: string;
41
- computedUntil: bigint;
42
- processingStarted: bigint;
43
- }[]>;
44
- static findUniqueOrThrow(campaignUnique: CampaignUnique): Promise<{
12
+ static findUniqueOrThrow(campaignUnique: CampaignUnique | string): Promise<{
45
13
  error: string;
46
14
  details: import("database/api/.generated/runtime/library").JsonValue;
47
15
  status: import("../../../../database/api/.generated").$Enums.RunStatus;
@@ -57,6 +25,6 @@ export declare class StatusService {
57
25
  computedUntil: bigint;
58
26
  processingStarted: bigint;
59
27
  } | null>;
60
- static update(x: UpdateStatusModel): Promise<void>;
28
+ static update(campaignUnique: CampaignUnique, status: UpdateStatusModel): Promise<void>;
61
29
  static isSafeForOverlaps(campaignUnique: CampaignUnique): Promise<boolean>;
62
30
  }
@@ -4,27 +4,18 @@ import moment from "moment";
4
4
  import { CampaignService } from "../campaign";
5
5
  import { StatusRepository } from "./status.repository";
6
6
  export class StatusService {
7
- static async findMany() {
8
- return await StatusRepository.findMany();
9
- }
10
- static async findManyByRunStatus(x) {
11
- return await StatusRepository.findManyByRunStatus(typeof x.status === "string" ? [x.status] : x.status);
12
- }
13
- static async findManyPerChain(chainId) {
14
- return await StatusRepository.findManyPerChain(chainId);
7
+ static async findMany(query) {
8
+ return await StatusRepository.findMany(query);
15
9
  }
16
10
  static async findUniqueOrThrow(campaignUnique) {
17
- return await StatusRepository.findUniqueOrThrow(campaignUnique);
11
+ const campaignId = typeof campaignUnique === "string" ? campaignUnique : CampaignService.hashId(campaignUnique);
12
+ return await StatusRepository.findUniqueOrThrow(campaignId);
18
13
  }
19
14
  static async findUnique(campaignUnique) {
20
15
  return await StatusRepository.findUnique(campaignUnique);
21
16
  }
22
- static async update(x) {
17
+ static async update(campaignUnique, status) {
23
18
  // Check if the status exists already, otherwise create it
24
- const campaignUnique = {
25
- distributionChain: x.distributionChain,
26
- campaignId: x.campaignId,
27
- };
28
19
  const campaignExists = await StatusRepository.findUnique(campaignUnique);
29
20
  if (!campaignExists) {
30
21
  let campaign = await CampaignService.findUnique(campaignUnique);
@@ -35,18 +26,18 @@ export class StatusService {
35
26
  await StatusRepository.create(campaignUnique, campaign.startTimestamp);
36
27
  }
37
28
  // Update the run status
38
- switch (x.status.value) {
29
+ switch (status.value) {
39
30
  case RunStatus.SUCCESS:
40
- await StatusRepository.updateSuccess(campaignUnique, x.status.computedUntil);
31
+ await StatusRepository.updateSuccess(campaignUnique, status.computedUntil);
41
32
  return;
42
33
  case RunStatus.PROCESSING:
43
34
  await StatusRepository.updateProcessing(campaignUnique);
44
35
  return;
45
36
  case RunStatus.SKIPPED:
46
- await StatusRepository.updateWithError(campaignUnique, x.status.value, x.status.error, x.status.details);
37
+ await StatusRepository.updateWithError(campaignUnique, status.value, status.error, status.details);
47
38
  return;
48
39
  case RunStatus.FAILED:
49
- await StatusRepository.updateWithError(campaignUnique, x.status.value, x.status.error, x.status.details);
40
+ await StatusRepository.updateWithError(campaignUnique, status.value, status.error, status.details);
50
41
  return;
51
42
  }
52
43
  }
@@ -12,7 +12,7 @@ export declare const uniswapV4Controller: Elysia<"", false, {
12
12
  macro: {};
13
13
  macroFn: {};
14
14
  }, {
15
- uniswapV4: {
15
+ "uniswap-v4": {
16
16
  pools: {
17
17
  get: {
18
18
  body: unknown;
@@ -1,6 +1,6 @@
1
1
  import Elysia, { t } from "elysia";
2
2
  import { UniswapV4Service } from "./uniswapV4.service";
3
- export const uniswapV4Controller = new Elysia().group("uniswapV4", app => {
3
+ export const uniswapV4Controller = new Elysia().group("uniswap-v4", app => {
4
4
  return app.get("/pools", async ({ query }) => {
5
5
  return await UniswapV4Service.getPoolsByChain(query.chainId);
6
6
  }, {
@@ -53,11 +53,11 @@ export const UserController = new Elysia({ prefix: "/users", detail: { tags: ["U
53
53
  // ─── Create A User ───────────────────────────────────────────────────
54
54
  .post("/", async ({ body }) => {
55
55
  return await UserService.create(body);
56
- }, { headers: AuthorizationHeadersDto, body: UserDto, beforeHandle: BackOfficeGuard })
56
+ }, { headers: AuthorizationHeadersDto, body: UserDto, beforeHandle: BackOfficeGuard, detail: { hide: true } })
57
57
  // ─── Sync Creator Tags with Engine DB ─────────────────────────────────
58
58
  .post("/sync", async () => {
59
59
  return await UserService.syncTags();
60
- }, { headers: AuthorizationHeadersDto, beforeHandle: BackOfficeGuard })
60
+ }, { headers: AuthorizationHeadersDto, beforeHandle: BackOfficeGuard, detail: { hide: true } })
61
61
  // ─── Update User's Tags ──────────────────────────────────────────────
62
62
  .patch("/:address/tags", async ({ params, body }) => {
63
63
  return await UserService.updateTags(params.address, body.tags);
@@ -66,4 +66,5 @@ export const UserController = new Elysia({ prefix: "/users", detail: { tags: ["U
66
66
  params: UserUniqueDto,
67
67
  body: UpdateUserTagsDto,
68
68
  beforeHandle: BackOfficeGuard,
69
+ detail: { hide: true },
69
70
  });