@merkl/api 1.5.21 → 1.5.22

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 (60) hide show
  1. package/dist/src/eden/index.d.ts +6723 -6036
  2. package/dist/src/engine/nativeAPR/factory.d.ts +2 -0
  3. package/dist/src/engine/nativeAPR/factory.js.map +1 -0
  4. package/dist/src/engine/nativeAPR/implementations/clientEndpoint.d.ts +7 -0
  5. package/dist/src/engine/nativeAPR/implementations/clientEndpoint.js.map +1 -0
  6. package/dist/src/engine/nativeAPR/implementations/morphoSupplySingleToken.d.ts +6 -0
  7. package/dist/src/engine/nativeAPR/implementations/morphoSupplySingleToken.js.map +1 -0
  8. package/dist/src/index.d.ts +734 -106
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/jobs/native-aprs.d.ts +1 -0
  11. package/dist/src/jobs/native-aprs.js.map +1 -0
  12. package/dist/src/modules/v4/apr/apr.controller.d.ts +115 -0
  13. package/dist/src/modules/v4/apr/apr.controller.js.map +1 -0
  14. package/dist/src/modules/v4/apr/apr.model.d.ts +84 -0
  15. package/dist/src/modules/v4/apr/apr.model.js.map +1 -1
  16. package/dist/src/modules/v4/apr/apr.repository.d.ts +4 -0
  17. package/dist/src/modules/v4/apr/apr.repository.js.map +1 -0
  18. package/dist/src/modules/v4/apr/apr.service.d.ts +15 -3
  19. package/dist/src/modules/v4/apr/apr.service.js.map +1 -1
  20. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +79 -0
  21. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +9 -0
  22. package/dist/src/modules/v4/campaign/campaign.service.d.ts +36 -0
  23. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +88 -0
  24. package/dist/src/modules/v4/carousel/carousel.controller.d.ts +4 -0
  25. package/dist/src/modules/v4/carousel/carousel.repository.d.ts +6 -0
  26. package/dist/src/modules/v4/carousel/carousel.service.d.ts +6 -0
  27. package/dist/src/modules/v4/config/config.controller.d.ts +29 -0
  28. package/dist/src/modules/v4/config/config.controller.js.map +1 -1
  29. package/dist/src/modules/v4/config/config.model.d.ts +25 -0
  30. package/dist/src/modules/v4/config/config.model.js.map +1 -0
  31. package/dist/src/modules/v4/config/config.service.d.ts +243 -0
  32. package/dist/src/modules/v4/config/config.service.js.map +1 -0
  33. package/dist/src/modules/v4/creator/creator.controller.d.ts +27 -1
  34. package/dist/src/modules/v4/creator/creator.model.d.ts +29 -0
  35. package/dist/src/modules/v4/creator/creator.repository.d.ts +1 -0
  36. package/dist/src/modules/v4/creator/creator.service.d.ts +2 -1
  37. package/dist/src/modules/v4/creator/creator.service.js.map +1 -1
  38. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +210 -0
  39. package/dist/src/modules/v4/opportunity/opportunity.formatter.d.ts +30 -0
  40. package/dist/src/modules/v4/opportunity/opportunity.formatter.js.map +1 -1
  41. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +66 -3
  42. package/dist/src/modules/v4/opportunity/opportunity.model.js.map +1 -1
  43. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +178 -0
  44. package/dist/src/modules/v4/opportunity/opportunity.repository.js.map +1 -1
  45. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +171 -0
  46. package/dist/src/modules/v4/payload/payload.controller.d.ts +87 -0
  47. package/dist/src/modules/v4/payload/payload.service.d.ts +116 -0
  48. package/dist/src/modules/v4/program/program.repository.d.ts +4 -0
  49. package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +5233 -5233
  50. package/dist/src/modules/v4/protocol/protocol.repository.d.ts +1 -0
  51. package/dist/src/modules/v4/reward/reward.repository.d.ts +2 -0
  52. package/dist/src/modules/v4/reward/reward.service.d.ts +41 -0
  53. package/dist/src/modules/v4/router.d.ts +734 -106
  54. package/dist/src/modules/v4/router.js.map +1 -1
  55. package/dist/src/modules/v4/uniswap/uniswap.controller.d.ts +58 -0
  56. package/dist/src/modules/v4/uniswap/uniswap.service.d.ts +29 -0
  57. package/dist/src/modules/v4/user/user.controller.d.ts +31 -0
  58. package/dist/src/scripts/exportOpportunities.js.map +1 -1
  59. package/dist/src/scripts/importOpportunities.js.map +1 -1
  60. package/package.json +1 -1
@@ -103,6 +103,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
103
103
  slug: string | null;
104
104
  }[];
105
105
  id: string;
106
+ nativeApr: number | undefined;
106
107
  depositUrl: string | undefined;
107
108
  explorerAddress: string | undefined;
108
109
  lastCampaignCreatedAt: number;
@@ -823,6 +824,34 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
823
824
  opportunityBannerLight: string | null;
824
825
  opportunityBannerDark: string | null;
825
826
  } | null;
827
+ NativeAprRecords: ({
828
+ RewardToken: {
829
+ id: string;
830
+ name: string | null;
831
+ chainId: number;
832
+ address: string;
833
+ decimals: number;
834
+ symbol: string;
835
+ displaySymbol: string;
836
+ icon: string;
837
+ verified: boolean;
838
+ isTest: boolean;
839
+ type: import("@package/databases").TokenType;
840
+ isNative: boolean;
841
+ price: number | null;
842
+ updatedAt: number | null;
843
+ priceSource: string | null;
844
+ } | null;
845
+ } & {
846
+ id: string;
847
+ title: string;
848
+ description: string | null;
849
+ timestamp: bigint;
850
+ value: number;
851
+ amount: bigint | null;
852
+ rewardTokenId: string | null;
853
+ opportunityId: string;
854
+ })[];
826
855
  Protocols: {
827
856
  id: string;
828
857
  tags: string[];
@@ -878,6 +907,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
878
907
  mainProtocolId: string | null;
879
908
  tvl: number;
880
909
  apr: number;
910
+ nativeApr: number | null;
881
911
  maxApr: number | null;
882
912
  dailyRewards: number;
883
913
  tags: string[];
@@ -1042,6 +1072,34 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1042
1072
  opportunityBannerLight: string | null;
1043
1073
  opportunityBannerDark: string | null;
1044
1074
  } | null;
1075
+ NativeAprRecords: ({
1076
+ RewardToken: {
1077
+ id: string;
1078
+ name: string | null;
1079
+ chainId: number;
1080
+ address: string;
1081
+ decimals: number;
1082
+ symbol: string;
1083
+ displaySymbol: string;
1084
+ icon: string;
1085
+ verified: boolean;
1086
+ isTest: boolean;
1087
+ type: import("@package/databases").TokenType;
1088
+ isNative: boolean;
1089
+ price: number | null;
1090
+ updatedAt: number | null;
1091
+ priceSource: string | null;
1092
+ } | null;
1093
+ } & {
1094
+ id: string;
1095
+ title: string;
1096
+ description: string | null;
1097
+ timestamp: bigint;
1098
+ value: number;
1099
+ amount: bigint | null;
1100
+ rewardTokenId: string | null;
1101
+ opportunityId: string;
1102
+ })[];
1045
1103
  Protocols: {
1046
1104
  id: string;
1047
1105
  tags: string[];
@@ -1097,6 +1155,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1097
1155
  mainProtocolId: string | null;
1098
1156
  tvl: number;
1099
1157
  apr: number;
1158
+ nativeApr: number | null;
1100
1159
  maxApr: number | null;
1101
1160
  dailyRewards: number;
1102
1161
  tags: string[];
@@ -1260,6 +1319,34 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1260
1319
  opportunityBannerLight: string | null;
1261
1320
  opportunityBannerDark: string | null;
1262
1321
  } | null;
1322
+ NativeAprRecords: ({
1323
+ RewardToken: {
1324
+ id: string;
1325
+ name: string | null;
1326
+ chainId: number;
1327
+ address: string;
1328
+ decimals: number;
1329
+ symbol: string;
1330
+ displaySymbol: string;
1331
+ icon: string;
1332
+ verified: boolean;
1333
+ isTest: boolean;
1334
+ type: import("@package/databases").TokenType;
1335
+ isNative: boolean;
1336
+ price: number | null;
1337
+ updatedAt: number | null;
1338
+ priceSource: string | null;
1339
+ } | null;
1340
+ } & {
1341
+ id: string;
1342
+ title: string;
1343
+ description: string | null;
1344
+ timestamp: bigint;
1345
+ value: number;
1346
+ amount: bigint | null;
1347
+ rewardTokenId: string | null;
1348
+ opportunityId: string;
1349
+ })[];
1263
1350
  Protocols: {
1264
1351
  id: string;
1265
1352
  tags: string[];
@@ -1315,6 +1402,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", {
1315
1402
  mainProtocolId: string | null;
1316
1403
  tvl: number;
1317
1404
  apr: number;
1405
+ nativeApr: number | null;
1318
1406
  maxApr: number | null;
1319
1407
  dailyRewards: number;
1320
1408
  tags: string[];
@@ -335,6 +335,7 @@ export declare const CarouselController: Elysia<"/carousels", {
335
335
  mainProtocolId: string | null;
336
336
  tvl: number;
337
337
  apr: number;
338
+ nativeApr: number | null;
338
339
  maxApr: number | null;
339
340
  dailyRewards: number;
340
341
  tags: string[];
@@ -412,6 +413,7 @@ export declare const CarouselController: Elysia<"/carousels", {
412
413
  mainProtocolId: string | null;
413
414
  tvl: number;
414
415
  apr: number;
416
+ nativeApr: number | null;
415
417
  maxApr: number | null;
416
418
  dailyRewards: number;
417
419
  tags: string[];
@@ -724,6 +726,7 @@ export declare const CarouselController: Elysia<"/carousels", {
724
726
  mainProtocolId: string | null;
725
727
  tvl: number;
726
728
  apr: number;
729
+ nativeApr: number | null;
727
730
  maxApr: number | null;
728
731
  dailyRewards: number;
729
732
  tags: string[];
@@ -801,6 +804,7 @@ export declare const CarouselController: Elysia<"/carousels", {
801
804
  mainProtocolId: string | null;
802
805
  tvl: number;
803
806
  apr: number;
807
+ nativeApr: number | null;
804
808
  maxApr: number | null;
805
809
  dailyRewards: number;
806
810
  tags: string[];
@@ -115,6 +115,7 @@ export declare abstract class CarouselRepository {
115
115
  mainProtocolId: string | null;
116
116
  tvl: number;
117
117
  apr: number;
118
+ nativeApr: number | null;
118
119
  maxApr: number | null;
119
120
  dailyRewards: number;
120
121
  tags: string[];
@@ -192,6 +193,7 @@ export declare abstract class CarouselRepository {
192
193
  mainProtocolId: string | null;
193
194
  tvl: number;
194
195
  apr: number;
196
+ nativeApr: number | null;
195
197
  maxApr: number | null;
196
198
  dailyRewards: number;
197
199
  tags: string[];
@@ -319,6 +321,7 @@ export declare abstract class CarouselRepository {
319
321
  mainProtocolId: string | null;
320
322
  tvl: number;
321
323
  apr: number;
324
+ nativeApr: number | null;
322
325
  maxApr: number | null;
323
326
  dailyRewards: number;
324
327
  tags: string[];
@@ -396,6 +399,7 @@ export declare abstract class CarouselRepository {
396
399
  mainProtocolId: string | null;
397
400
  tvl: number;
398
401
  apr: number;
402
+ nativeApr: number | null;
399
403
  maxApr: number | null;
400
404
  dailyRewards: number;
401
405
  tags: string[];
@@ -523,6 +527,7 @@ export declare abstract class CarouselRepository {
523
527
  mainProtocolId: string | null;
524
528
  tvl: number;
525
529
  apr: number;
530
+ nativeApr: number | null;
526
531
  maxApr: number | null;
527
532
  dailyRewards: number;
528
533
  tags: string[];
@@ -600,6 +605,7 @@ export declare abstract class CarouselRepository {
600
605
  mainProtocolId: string | null;
601
606
  tvl: number;
602
607
  apr: number;
608
+ nativeApr: number | null;
603
609
  maxApr: number | null;
604
610
  dailyRewards: number;
605
611
  tags: string[];
@@ -87,6 +87,7 @@ export declare abstract class CarouselService {
87
87
  mainProtocolId: string | null;
88
88
  tvl: number;
89
89
  apr: number;
90
+ nativeApr: number | null;
90
91
  maxApr: number | null;
91
92
  dailyRewards: number;
92
93
  tags: string[];
@@ -164,6 +165,7 @@ export declare abstract class CarouselService {
164
165
  mainProtocolId: string | null;
165
166
  tvl: number;
166
167
  apr: number;
168
+ nativeApr: number | null;
167
169
  maxApr: number | null;
168
170
  dailyRewards: number;
169
171
  tags: string[];
@@ -399,6 +401,7 @@ export declare abstract class CarouselService {
399
401
  mainProtocolId: string | null;
400
402
  tvl: number;
401
403
  apr: number;
404
+ nativeApr: number | null;
402
405
  maxApr: number | null;
403
406
  dailyRewards: number;
404
407
  tags: string[];
@@ -476,6 +479,7 @@ export declare abstract class CarouselService {
476
479
  mainProtocolId: string | null;
477
480
  tvl: number;
478
481
  apr: number;
482
+ nativeApr: number | null;
479
483
  maxApr: number | null;
480
484
  dailyRewards: number;
481
485
  tags: string[];
@@ -745,6 +749,7 @@ export declare abstract class CarouselService {
745
749
  mainProtocolId: string | null;
746
750
  tvl: number;
747
751
  apr: number;
752
+ nativeApr: number | null;
748
753
  maxApr: number | null;
749
754
  dailyRewards: number;
750
755
  tags: string[];
@@ -822,6 +827,7 @@ export declare abstract class CarouselService {
822
827
  mainProtocolId: string | null;
823
828
  tvl: number;
824
829
  apr: number;
830
+ nativeApr: number | null;
825
831
  maxApr: number | null;
826
832
  dailyRewards: number;
827
833
  tags: string[];
@@ -199,6 +199,34 @@ export declare const ConfigController: Elysia<"/config", {
199
199
  opportunityBannerLight: string | null;
200
200
  opportunityBannerDark: string | null;
201
201
  } | null;
202
+ NativeAprRecords: ({
203
+ RewardToken: {
204
+ id: string;
205
+ name: string | null;
206
+ chainId: number;
207
+ address: string;
208
+ decimals: number;
209
+ symbol: string;
210
+ displaySymbol: string;
211
+ icon: string;
212
+ verified: boolean;
213
+ isTest: boolean;
214
+ type: import("@package/databases").TokenType;
215
+ isNative: boolean;
216
+ price: number | null;
217
+ updatedAt: number | null;
218
+ priceSource: string | null;
219
+ } | null;
220
+ } & {
221
+ id: string;
222
+ title: string;
223
+ description: string | null;
224
+ timestamp: bigint;
225
+ value: number;
226
+ amount: bigint | null;
227
+ rewardTokenId: string | null;
228
+ opportunityId: string;
229
+ })[];
202
230
  Protocols: {
203
231
  id: string;
204
232
  tags: string[];
@@ -254,6 +282,7 @@ export declare const ConfigController: Elysia<"/config", {
254
282
  mainProtocolId: string | null;
255
283
  tvl: number;
256
284
  apr: number;
285
+ nativeApr: number | null;
257
286
  maxApr: number | null;
258
287
  dailyRewards: number;
259
288
  tags: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/config/config.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/config/config.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { CampaignType } from "@package/resources/enums";
2
+ import type { ExtendedConfig, OnchainCampaign } from "@package/resources/schemas";
3
+ import type { SafePayload } from "../campaignBatch/campaignBatch.model";
4
+ export type EncodeBatchResponse = {
5
+ payloads: Array<{
6
+ payload: string;
7
+ args: OnchainCampaign;
8
+ }>;
9
+ batchPayload: string;
10
+ safePayload: SafePayload | null;
11
+ errors: Array<{
12
+ config: ExtendedConfig<CampaignType>;
13
+ error: unknown;
14
+ }>;
15
+ };
16
+ export declare const ConfigIdParamDto: import("@sinclair/typebox").TObject<{
17
+ id: import("@sinclair/typebox").TString;
18
+ }>;
19
+ export declare const DecodeParamsDto: import("@sinclair/typebox").TObject<{
20
+ distributionChainId: import("@sinclair/typebox").TNumber;
21
+ }>;
22
+ export declare const DecodePayloadParamsDto: import("@sinclair/typebox").TObject<{
23
+ distributionChainId: import("@sinclair/typebox").TNumber;
24
+ payload: import("@sinclair/typebox").TString;
25
+ }>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/config/config.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAY3B,8NAAgF;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;CAC5E,CAAC,CAAC"}
@@ -0,0 +1,243 @@
1
+ import type { CampaignType } from "@package/resources/enums";
2
+ import { type EngineCampaign, type ExtendedConfig, type OnchainCampaign } from "@package/resources/schemas";
3
+ import { type ValidCampaign } from "@package/sdk";
4
+ import type { EncodeBatchResponse } from "./config.model";
5
+ export declare abstract class ConfigService {
6
+ static getConfigById(id: string): Promise<ExtendedConfig<CampaignType>>;
7
+ static extendConfig(config: ExtendedConfig<CampaignType>): Promise<EngineCampaign<CampaignType>>;
8
+ static createOpportunityFromConfig(config: ExtendedConfig<CampaignType>): Promise<({
9
+ chainId: number;
10
+ type: string;
11
+ identifier: string;
12
+ name?: string | undefined;
13
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
14
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
15
+ description?: string | undefined;
16
+ howToSteps?: string[] | undefined;
17
+ tokens: {
18
+ address: string;
19
+ chainId: number;
20
+ }[];
21
+ protocols?: string[] | undefined;
22
+ mainProtocol?: string | undefined;
23
+ depositUrl?: string | undefined;
24
+ explorerAddress?: string | undefined;
25
+ tags?: string[] | undefined;
26
+ } & {
27
+ id: string;
28
+ }) | ({
29
+ ActivePrograms: {
30
+ icon: string;
31
+ id: string;
32
+ name: string;
33
+ slug: string | null;
34
+ }[];
35
+ AprRecords: ({
36
+ AprBreakdown: {
37
+ identifier: string;
38
+ timestamp: bigint;
39
+ type: import("@package/databases").AprType;
40
+ value: number;
41
+ }[];
42
+ } & {
43
+ id: string;
44
+ timestamp: bigint;
45
+ cumulated: number;
46
+ opportunityId: string;
47
+ })[];
48
+ Campaigns: {
49
+ id: string;
50
+ computeChainId: number;
51
+ distributionChainId: number;
52
+ campaignId: string;
53
+ type: string;
54
+ distributionType: import("@package/databases").DistributionType;
55
+ subType: number | null;
56
+ rewardTokenId: string;
57
+ amount: string;
58
+ opportunityId: string;
59
+ startTimestamp: bigint;
60
+ endTimestamp: bigint;
61
+ params: import("@prisma/client/runtime/client").JsonValue;
62
+ description: string | null;
63
+ dailyRewards: number;
64
+ apr: number;
65
+ creatorAddress: string;
66
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
67
+ createdAt: Date;
68
+ rootCampaignId: string | null;
69
+ parentCampaignId: string | null;
70
+ }[];
71
+ Chain: {
72
+ id: number;
73
+ name: string;
74
+ icon: string;
75
+ liveCampaigns: number;
76
+ endOfDisputePeriod: number;
77
+ };
78
+ DailyRewardsRecords: ({
79
+ DailyRewardsBreakdown: ({
80
+ Campaign: {
81
+ CampaignStatus: {
82
+ campaignId: string;
83
+ computedUntil: bigint;
84
+ processingStarted: bigint;
85
+ status: import("@package/databases").RunStatus;
86
+ error: string;
87
+ details: import("@prisma/client/runtime/client").JsonValue;
88
+ }[];
89
+ RewardToken: {
90
+ id: string;
91
+ name: string | null;
92
+ chainId: number;
93
+ address: string;
94
+ decimals: number;
95
+ symbol: string;
96
+ displaySymbol: string;
97
+ icon: string;
98
+ verified: boolean;
99
+ isTest: boolean;
100
+ type: import("@package/databases").TokenType;
101
+ isNative: boolean;
102
+ price: number | null;
103
+ updatedAt: number | null;
104
+ priceSource: string | null;
105
+ };
106
+ amount: string;
107
+ campaignId: string;
108
+ distributionType: import("@package/databases").DistributionType;
109
+ endTimestamp: bigint;
110
+ startTimestamp: bigint;
111
+ };
112
+ } & {
113
+ id: string;
114
+ value: number;
115
+ timestamp: bigint;
116
+ campaignId: string;
117
+ dailyRewardsRecordId: string;
118
+ })[];
119
+ } & {
120
+ id: string;
121
+ timestamp: bigint;
122
+ total: number;
123
+ opportunityId: string;
124
+ })[];
125
+ MainProtocol: {
126
+ id: string;
127
+ tags: string[];
128
+ name: string;
129
+ description: string;
130
+ url: string;
131
+ icon: string;
132
+ banner: string | null;
133
+ opportunityBannerLight: string | null;
134
+ opportunityBannerDark: string | null;
135
+ } | null;
136
+ NativeAprRecords: ({
137
+ RewardToken: {
138
+ id: string;
139
+ name: string | null;
140
+ chainId: number;
141
+ address: string;
142
+ decimals: number;
143
+ symbol: string;
144
+ displaySymbol: string;
145
+ icon: string;
146
+ verified: boolean;
147
+ isTest: boolean;
148
+ type: import("@package/databases").TokenType;
149
+ isNative: boolean;
150
+ price: number | null;
151
+ updatedAt: number | null;
152
+ priceSource: string | null;
153
+ } | null;
154
+ } & {
155
+ id: string;
156
+ title: string;
157
+ description: string | null;
158
+ timestamp: bigint;
159
+ value: number;
160
+ amount: bigint | null;
161
+ rewardTokenId: string | null;
162
+ opportunityId: string;
163
+ })[];
164
+ Protocols: {
165
+ id: string;
166
+ tags: string[];
167
+ name: string;
168
+ description: string;
169
+ url: string;
170
+ icon: string;
171
+ banner: string | null;
172
+ opportunityBannerLight: string | null;
173
+ opportunityBannerDark: string | null;
174
+ }[];
175
+ Tokens: {
176
+ id: string;
177
+ name: string | null;
178
+ chainId: number;
179
+ address: string;
180
+ decimals: number;
181
+ symbol: string;
182
+ displaySymbol: string;
183
+ icon: string;
184
+ verified: boolean;
185
+ isTest: boolean;
186
+ type: import("@package/databases").TokenType;
187
+ isNative: boolean;
188
+ price: number | null;
189
+ updatedAt: number | null;
190
+ priceSource: string | null;
191
+ }[];
192
+ TvlRecords: ({
193
+ TvlBreakdown: {
194
+ identifier: string;
195
+ type: import("@package/databases").TvlType;
196
+ value: number;
197
+ }[];
198
+ } & {
199
+ id: string;
200
+ timestamp: bigint;
201
+ total: number;
202
+ opportunityId: string;
203
+ })[];
204
+ } & {
205
+ id: string;
206
+ chainId: number;
207
+ type: string;
208
+ identifier: string;
209
+ name: string;
210
+ description: string;
211
+ howToSteps: string[];
212
+ depositUrl: string | null;
213
+ explorerAddress: string | null;
214
+ status: import("@package/databases").Status;
215
+ action: import("@package/databases").OpportunityAction;
216
+ mainProtocolId: string | null;
217
+ tvl: number;
218
+ apr: number;
219
+ nativeApr: number | null;
220
+ maxApr: number | null;
221
+ dailyRewards: number;
222
+ tags: string[];
223
+ lastCampaignCreatedAt: Date;
224
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
225
+ liveCampaigns: number;
226
+ })>;
227
+ static encodeCampaign(config: ExtendedConfig<CampaignType>): Promise<{
228
+ payload: string;
229
+ args: {
230
+ campaignId: string;
231
+ creator: string;
232
+ rewardToken: string;
233
+ amount: string;
234
+ campaignType: number;
235
+ startTimestamp: number;
236
+ duration: number;
237
+ campaignData: string;
238
+ };
239
+ }>;
240
+ static encodeBatchCampaigns(configs: ExtendedConfig<ValidCampaign>[]): Promise<EncodeBatchResponse>;
241
+ static decodeCampaign(distributionChainId: number, onchainCampaign: OnchainCampaign): Promise<ExtendedConfig<CampaignType>>;
242
+ static decodeCampaignFromPayload(distributionChainId: number, payload: string): Promise<ExtendedConfig<CampaignType>>;
243
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/config/config.service.ts"],"names":[],"mappings":"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"}