@merkl/api 0.20.72 → 0.20.73

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 +17 -0
  2. package/dist/database/api/.generated/drizzle/schema.js +1 -0
  3. package/dist/database/api/.generated/drizzle/schema.ts +1 -0
  4. package/dist/database/api/.generated/edge.js +4 -3
  5. package/dist/database/api/.generated/index-browser.js +1 -0
  6. package/dist/database/api/.generated/index.d.ts +69 -1
  7. package/dist/database/api/.generated/index.js +4 -3
  8. package/dist/database/api/.generated/package.json +1 -1
  9. package/dist/database/api/.generated/schema.prisma +24 -23
  10. package/dist/database/api/.generated/wasm.js +1 -0
  11. package/dist/src/eden/index.d.ts +99 -37
  12. package/dist/src/engine/dynamicData/utils/getEulerV2Vaults.js +7 -6
  13. package/dist/src/index.d.ts +27 -17
  14. package/dist/src/jobs/update-euler-vaults.js +3 -1
  15. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +3 -0
  16. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +5 -0
  17. package/dist/src/modules/v4/campaign/campaign.service.d.ts +9 -0
  18. package/dist/src/modules/v4/campaign/campaign.service.js +10 -1
  19. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +7 -0
  20. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +3 -0
  21. package/dist/src/modules/v4/opportunity/opportunity.model.js +4 -1
  22. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +9 -0
  23. package/dist/src/modules/v4/opportunity/opportunity.repository.js +0 -1
  24. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +12 -0
  25. package/dist/src/modules/v4/opportunity/opportunity.service.js +4 -3
  26. package/dist/src/modules/v4/protocol/protocol.repository.d.ts +1 -0
  27. package/dist/src/modules/v4/reward/reward.repository.d.ts +1 -0
  28. package/dist/src/modules/v4/reward/reward.service.d.ts +8 -0
  29. package/dist/src/modules/v4/router.d.ts +12 -0
  30. package/dist/src/modules/v4/user/user.controller.d.ts +2 -0
  31. package/dist/src/routes/v3/euler.d.ts +16 -18
  32. package/dist/src/routes/v3/euler.js +20 -11
  33. package/dist/src/routes/v3/router.d.ts +15 -17
  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
@@ -54,6 +54,7 @@ export declare abstract class ProtocolRepository {
54
54
  tvl: number;
55
55
  apr: number;
56
56
  dailyRewards: number;
57
+ lastCampaignCreatedAt: Date;
57
58
  })[];
58
59
  } & {
59
60
  id: string;
@@ -75,6 +75,7 @@ export declare abstract class RewardRepository {
75
75
  tvl: number;
76
76
  apr: number;
77
77
  dailyRewards: number;
78
+ lastCampaignCreatedAt: Date;
78
79
  };
79
80
  };
80
81
  } & {
@@ -122,6 +122,7 @@ export declare abstract class RewardService {
122
122
  tvl: number;
123
123
  apr: number;
124
124
  dailyRewards: number;
125
+ lastCampaignCreatedAt: Date;
125
126
  };
126
127
  id: string;
127
128
  type: string;
@@ -137,6 +138,7 @@ export declare abstract class RewardService {
137
138
  id: string;
138
139
  depositUrl: string | undefined;
139
140
  explorerAddress: string | undefined;
141
+ lastCampaignCreatedAt: string;
140
142
  tokens: ({
141
143
  symbol: string;
142
144
  id: string;
@@ -239,6 +241,7 @@ export declare abstract class RewardService {
239
241
  tvl: number;
240
242
  apr: number;
241
243
  dailyRewards: number;
244
+ lastCampaignCreatedAt: Date;
242
245
  };
243
246
  pending: string;
244
247
  reason: string;
@@ -321,6 +324,7 @@ export declare abstract class RewardService {
321
324
  tvl: number;
322
325
  apr: number;
323
326
  dailyRewards: number;
327
+ lastCampaignCreatedAt: Date;
324
328
  };
325
329
  pending: string;
326
330
  reason: string;
@@ -407,6 +411,7 @@ export declare abstract class RewardService {
407
411
  tvl: number;
408
412
  apr: number;
409
413
  dailyRewards: number;
414
+ lastCampaignCreatedAt: Date;
410
415
  };
411
416
  };
412
417
  } & {
@@ -522,6 +527,7 @@ export declare abstract class RewardService {
522
527
  tvl: number;
523
528
  apr: number;
524
529
  dailyRewards: number;
530
+ lastCampaignCreatedAt: Date;
525
531
  };
526
532
  pending: string;
527
533
  reason: string;
@@ -619,6 +625,7 @@ export declare abstract class RewardService {
619
625
  tvl: number;
620
626
  apr: number;
621
627
  dailyRewards: number;
628
+ lastCampaignCreatedAt: Date;
622
629
  };
623
630
  pending: string;
624
631
  reason: string;
@@ -714,6 +721,7 @@ export declare abstract class RewardService {
714
721
  tvl: number;
715
722
  apr: number;
716
723
  dailyRewards: number;
724
+ lastCampaignCreatedAt: Date;
717
725
  };
718
726
  };
719
727
  } & {
@@ -69,6 +69,7 @@ export declare const v4: Elysia<"/v4", false, {
69
69
  tvl: number;
70
70
  apr: number;
71
71
  dailyRewards: number;
72
+ lastCampaignCreatedAt: Date;
72
73
  } | null;
73
74
  };
74
75
  };
@@ -109,6 +110,7 @@ export declare const v4: Elysia<"/v4", false, {
109
110
  tvl: number;
110
111
  apr: number;
111
112
  dailyRewards: number;
113
+ lastCampaignCreatedAt: Date;
112
114
  };
113
115
  };
114
116
  };
@@ -352,6 +354,7 @@ export declare const v4: Elysia<"/v4", false, {
352
354
  tvl: number;
353
355
  apr: number;
354
356
  dailyRewards: number;
357
+ lastCampaignCreatedAt: Date;
355
358
  };
356
359
  id: string;
357
360
  type: string;
@@ -367,6 +370,7 @@ export declare const v4: Elysia<"/v4", false, {
367
370
  id: string;
368
371
  depositUrl: string | undefined;
369
372
  explorerAddress: string | undefined;
373
+ lastCampaignCreatedAt: string;
370
374
  tokens: ({
371
375
  symbol: string;
372
376
  id: string;
@@ -545,6 +549,7 @@ export declare const v4: Elysia<"/v4", false, {
545
549
  tvl: number;
546
550
  apr: number;
547
551
  dailyRewards: number;
552
+ lastCampaignCreatedAt: string;
548
553
  };
549
554
  readonly 404: {
550
555
  name: string;
@@ -677,6 +682,7 @@ export declare const v4: Elysia<"/v4", false, {
677
682
  tvl: number;
678
683
  apr: number;
679
684
  dailyRewards: number;
685
+ lastCampaignCreatedAt: string;
680
686
  campaigns: {
681
687
  creator?: {
682
688
  tags?: string[] | undefined;
@@ -843,6 +849,7 @@ export declare const v4: Elysia<"/v4", false, {
843
849
  tvl: number;
844
850
  apr: number;
845
851
  dailyRewards: number;
852
+ lastCampaignCreatedAt: string;
846
853
  campaigns: {
847
854
  creator?: {
848
855
  tags?: string[] | undefined;
@@ -1286,6 +1293,7 @@ export declare const v4: Elysia<"/v4", false, {
1286
1293
  tvl: number;
1287
1294
  apr: number;
1288
1295
  dailyRewards: number;
1296
+ lastCampaignCreatedAt: Date;
1289
1297
  };
1290
1298
  id: string;
1291
1299
  type: string;
@@ -1371,6 +1379,7 @@ export declare const v4: Elysia<"/v4", false, {
1371
1379
  tvl: number;
1372
1380
  apr: number;
1373
1381
  dailyRewards: number;
1382
+ lastCampaignCreatedAt: Date;
1374
1383
  };
1375
1384
  id: string;
1376
1385
  type: string;
@@ -1557,6 +1566,7 @@ export declare const v4: Elysia<"/v4", false, {
1557
1566
  tvl: number;
1558
1567
  apr: number;
1559
1568
  dailyRewards: number;
1569
+ lastCampaignCreatedAt: Date;
1560
1570
  };
1561
1571
  id: string;
1562
1572
  type: string;
@@ -3413,6 +3423,7 @@ export declare const v4: Elysia<"/v4", false, {
3413
3423
  tvl: number;
3414
3424
  apr: number;
3415
3425
  dailyRewards: number;
3426
+ lastCampaignCreatedAt: Date;
3416
3427
  };
3417
3428
  pending: string;
3418
3429
  reason: string;
@@ -3532,6 +3543,7 @@ export declare const v4: Elysia<"/v4", false, {
3532
3543
  tvl: number;
3533
3544
  apr: number;
3534
3545
  dailyRewards: number;
3546
+ lastCampaignCreatedAt: Date;
3535
3547
  };
3536
3548
  pending: string;
3537
3549
  reason: string;
@@ -190,6 +190,7 @@ export declare const UserController: Elysia<"/users", false, {
190
190
  tvl: number;
191
191
  apr: number;
192
192
  dailyRewards: number;
193
+ lastCampaignCreatedAt: Date;
193
194
  };
194
195
  pending: string;
195
196
  reason: string;
@@ -309,6 +310,7 @@ export declare const UserController: Elysia<"/users", false, {
309
310
  tvl: number;
310
311
  apr: number;
311
312
  dailyRewards: number;
313
+ lastCampaignCreatedAt: Date;
312
314
  };
313
315
  pending: string;
314
316
  reason: string;
@@ -1,4 +1,4 @@
1
- import type { Elysia } from "elysia";
1
+ import { type Elysia } from "elysia";
2
2
  declare const _default: (app: Elysia) => Elysia<"", false, {
3
3
  decorator: {};
4
4
  store: {};
@@ -13,34 +13,34 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
13
13
  macroFn: {};
14
14
  }, {
15
15
  euler: {
16
- get: {
17
- body: unknown;
18
- params: {};
19
- query: unknown;
20
- headers: unknown;
21
- response: {
22
- 200: EulerVaultType[];
16
+ index: {
17
+ get: {
18
+ body: unknown;
19
+ params: {};
20
+ query: unknown;
21
+ headers: unknown;
22
+ response: {
23
+ 200: EulerVaultType[];
24
+ };
23
25
  };
24
26
  };
25
- };
26
- } & {
27
- euler: {
27
+ } & {
28
28
  ":chainId": {
29
29
  get: {
30
30
  body: unknown;
31
31
  params: {
32
32
  chainId: number;
33
33
  };
34
- query: unknown;
34
+ query: {
35
+ vaultAddress?: string | undefined;
36
+ };
35
37
  headers: unknown;
36
38
  response: {
37
39
  200: EulerVaultType[];
38
40
  };
39
41
  };
40
42
  };
41
- };
42
- } & {
43
- euler: {
43
+ } & {
44
44
  update: {
45
45
  post: {
46
46
  body: unknown;
@@ -54,9 +54,7 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
54
54
  };
55
55
  };
56
56
  };
57
- };
58
- } & {
59
- euler: {
57
+ } & {
60
58
  update: {
61
59
  ":chainId": {
62
60
  post: {
@@ -4,32 +4,41 @@ import { AuthorizationHeadersDto, BackOfficeGuard } from "@/guards/BackOffice.gu
4
4
  import { ChainUniqueDto } from "@/modules/v4/chain/chain.model";
5
5
  import { UnsupportedNetwork } from "@/utils/error";
6
6
  import { eulerChainIds } from "@sdk";
7
- export default (app) => app
8
- .get("/euler", async () => {
9
- return await Redis.getOrSet("EulerV2Vaults", getEulerV2Vaults);
7
+ import { t } from "elysia";
8
+ export default (app) => app.group("/euler", router => router
9
+ .get("/", async () => {
10
+ return await Redis.get("EulerV2Vaults");
10
11
  }, {
11
12
  tags: ["euler"],
12
13
  })
13
- .get("/euler/:chainId", async ({ params }) => {
14
- return (await Redis.getOrSet("EulerV2Vaults", getEulerV2Vaults, params.chainId)).filter(v => v.chainId === params.chainId);
14
+ .get("/:chainId", async ({ params, query }) => {
15
+ return (await Redis.get("EulerV2Vaults"))
16
+ .filter(v => v.chainId === params.chainId)
17
+ .filter(v => (!!query.vaultAddress ? v.address === query.vaultAddress : true));
15
18
  }, {
16
19
  params: ChainUniqueDto,
20
+ query: t.Object({
21
+ vaultAddress: t.Optional(t.String()),
22
+ }),
17
23
  beforeHandle: ({ params }) => {
18
24
  if (!eulerChainIds.includes(params.chainId))
19
25
  throw new UnsupportedNetwork(params.chainId);
20
26
  },
21
27
  tags: ["euler"],
22
28
  })
23
- // DO NOT MODIFY THIS LINE, USED FOR DEBUGGING PURPOSES
24
- .post("/euler/update", async () => {
25
- return await updateEulerVaultsCollatInDatabase();
29
+ .post("/update", async () => {
30
+ await updateEulerVaultsCollatInDatabase();
31
+ await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults());
26
32
  }, {
27
33
  headers: AuthorizationHeadersDto,
28
34
  beforeHandle: BackOfficeGuard,
29
35
  tags: ["euler"],
30
36
  })
31
- .post("/euler/update/:chainId", async ({ params }) => {
32
- return await updateEulerVaultsCollatInDatabase(params.chainId);
37
+ .post("/update/:chainId", async ({ params }) => {
38
+ await updateEulerVaultsCollatInDatabase(params.chainId);
39
+ await Redis.safeSet("EulerV2Vaults", await getEulerV2Vaults());
40
+ // // DEBUG ONLY
41
+ // return await getEulerV2Vaults(params.chainId);
33
42
  }, {
34
43
  params: ChainUniqueDto,
35
44
  headers: AuthorizationHeadersDto,
@@ -39,4 +48,4 @@ export default (app) => app
39
48
  await BackOfficeGuard({ headers });
40
49
  },
41
50
  tags: ["euler"],
42
- });
51
+ }));
@@ -228,34 +228,34 @@ export declare const v3: Elysia<"/v3", false, {
228
228
  } & {
229
229
  v3: {
230
230
  euler: {
231
- get: {
232
- body: unknown;
233
- params: {};
234
- query: unknown;
235
- headers: unknown;
236
- response: {
237
- 200: EulerVaultType[];
231
+ index: {
232
+ get: {
233
+ body: unknown;
234
+ params: {};
235
+ query: unknown;
236
+ headers: unknown;
237
+ response: {
238
+ 200: EulerVaultType[];
239
+ };
238
240
  };
239
241
  };
240
- };
241
- } & {
242
- euler: {
242
+ } & {
243
243
  ":chainId": {
244
244
  get: {
245
245
  body: unknown;
246
246
  params: {
247
247
  chainId: number;
248
248
  };
249
- query: unknown;
249
+ query: {
250
+ vaultAddress?: string | undefined;
251
+ };
250
252
  headers: unknown;
251
253
  response: {
252
254
  200: EulerVaultType[];
253
255
  };
254
256
  };
255
257
  };
256
- };
257
- } & {
258
- euler: {
258
+ } & {
259
259
  update: {
260
260
  post: {
261
261
  body: unknown;
@@ -269,9 +269,7 @@ export declare const v3: Elysia<"/v3", false, {
269
269
  };
270
270
  };
271
271
  };
272
- };
273
- } & {
274
- euler: {
272
+ } & {
275
273
  update: {
276
274
  ":chainId": {
277
275
  post: {
@@ -21,6 +21,12 @@ export declare class CannotParseOpportunity extends Error {
21
21
  type: number;
22
22
  constructor(campaignId: string, chainId: ChainId, type: number);
23
23
  }
24
+ export declare class CannotUpdateOpportunityLastCreatedAt extends Error {
25
+ campaignId: string;
26
+ chainId: ChainId;
27
+ type: number;
28
+ constructor(campaignId: string, chainId: ChainId, type: number);
29
+ }
24
30
  export declare class MerkleRootNotFound extends Error {
25
31
  chainId: ChainId;
26
32
  constructor(chainId: ChainId);
@@ -39,6 +39,18 @@ export class CannotParseOpportunity extends Error {
39
39
  this.name = "OPPORTUNITY_CANNOT_BE_PARSED";
40
40
  }
41
41
  }
42
+ export class CannotUpdateOpportunityLastCreatedAt extends Error {
43
+ campaignId;
44
+ chainId;
45
+ type;
46
+ constructor(campaignId, chainId, type) {
47
+ super(`Cannot update opportunity last created at for campaign ${campaignId} of type ${type} on chain ${NETWORK_LABELS[chainId]}`);
48
+ this.campaignId = campaignId;
49
+ this.chainId = chainId;
50
+ this.type = type;
51
+ this.name = "OPPORTUNITY_LAST_CREATED_CANNOT_BE_UPDATED";
52
+ }
53
+ }
42
54
  export class MerkleRootNotFound extends Error {
43
55
  chainId;
44
56
  constructor(chainId) {