@merkl/api 0.21.35 → 0.21.37

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 (24) hide show
  1. package/dist/src/eden/index.d.ts +1277 -878
  2. package/dist/src/engine/implementations/Erc20/subTypes/detect.js +105 -98
  3. package/dist/src/engine/implementations/Erc20/subTypes/implementations/aave/metadata.d.ts +1 -1
  4. package/dist/src/engine/implementations/JsonAirdrop/metadata.d.ts +2 -2
  5. package/dist/src/index.d.ts +399 -254
  6. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +1 -1
  7. package/dist/src/modules/v4/campaign/campaign.service.d.ts +5 -1
  8. package/dist/src/modules/v4/campaign/campaign.service.js +41 -2
  9. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +385 -240
  10. package/dist/src/modules/v4/campaign/campaign.test.controller.js +39 -13
  11. package/dist/src/modules/v4/creator/creator.controller.d.ts +8 -8
  12. package/dist/src/modules/v4/creator/creator.controller.js +9 -9
  13. package/dist/src/modules/v4/creator/creator.model.d.ts +2 -2
  14. package/dist/src/modules/v4/creator/creator.model.js +2 -2
  15. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +2 -2
  16. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +3 -3
  17. package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +100 -0
  18. package/dist/src/modules/v4/programPayload/programPayload.repository.js +44 -0
  19. package/dist/src/modules/v4/protocol/protocol.model.d.ts +1 -1
  20. package/dist/src/modules/v4/protocol/protocol.model.js +1 -0
  21. package/dist/src/modules/v4/reward/reward.repository.js +1 -1
  22. package/dist/src/modules/v4/router.d.ts +399 -254
  23. package/dist/tsconfig.package.tsbuildinfo +1 -1
  24. package/package.json +1 -1
@@ -15,18 +15,42 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
15
15
  campaigns: {
16
16
  "dry-run": {
17
17
  tvl: {
18
- ":campaignId": {
19
- get: {
20
- body: unknown;
21
- params: {
22
- campaignId: string;
23
- };
24
- query: unknown;
25
- headers: {
26
- authorization: string;
18
+ campaign: {
19
+ ":campaignId": {
20
+ get: {
21
+ body: unknown;
22
+ params: {
23
+ campaignId: string;
24
+ };
25
+ query: unknown;
26
+ headers: {
27
+ authorization: string;
28
+ };
29
+ response: {
30
+ 200: unknown[];
31
+ };
27
32
  };
28
- response: {
29
- 200: unknown[];
33
+ };
34
+ };
35
+ };
36
+ };
37
+ } & {
38
+ "dry-run": {
39
+ tvl: {
40
+ opportunity: {
41
+ ":opportunityId": {
42
+ get: {
43
+ body: unknown;
44
+ params: {
45
+ opportunityId: string;
46
+ };
47
+ query: unknown;
48
+ headers: {
49
+ authorization: string;
50
+ };
51
+ response: {
52
+ 200: unknown[];
53
+ };
30
54
  };
31
55
  };
32
56
  };
@@ -34,14 +58,15 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
34
58
  };
35
59
  } & {
36
60
  "dry-run": {
37
- tvls: {
38
- ":opportunityId": {
61
+ tvl: {
62
+ erc20: {
39
63
  get: {
40
64
  body: unknown;
41
- params: {
42
- opportunityId: string;
65
+ params: {};
66
+ query: {
67
+ address: string;
68
+ chainId: number;
43
69
  };
44
- query: unknown;
45
70
  headers: {
46
71
  authorization: string;
47
72
  };
@@ -54,7 +79,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
54
79
  };
55
80
  } & {
56
81
  "dry-run": {
57
- tvls: {
82
+ tvl: {
58
83
  list: {
59
84
  post: {
60
85
  body: string[];
@@ -73,28 +98,30 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
73
98
  } & {
74
99
  "dry-run": {
75
100
  tvl: {
76
- post: {
77
- body: {
78
- id?: string | undefined;
79
- subType?: number | undefined;
80
- campaignId?: string | undefined;
81
- amount?: string | undefined;
82
- creatorAddress?: string | undefined;
83
- type: string;
84
- params: any;
85
- computeChainId: number;
86
- distributionChainId: number;
87
- startTimestamp: number;
88
- endTimestamp: number;
89
- rewardToken: string;
90
- };
91
- params: {};
92
- query: unknown;
93
- headers: {
94
- authorization: string;
95
- };
96
- response: {
97
- 200: unknown[];
101
+ index: {
102
+ post: {
103
+ body: {
104
+ id?: string | undefined;
105
+ subType?: number | undefined;
106
+ campaignId?: string | undefined;
107
+ amount?: string | undefined;
108
+ creatorAddress?: string | undefined;
109
+ type: string;
110
+ params: any;
111
+ computeChainId: number;
112
+ distributionChainId: number;
113
+ startTimestamp: number;
114
+ endTimestamp: number;
115
+ rewardToken: string;
116
+ };
117
+ params: {};
118
+ query: unknown;
119
+ headers: {
120
+ authorization: string;
121
+ };
122
+ response: {
123
+ 200: unknown[];
124
+ };
98
125
  };
99
126
  };
100
127
  };
@@ -102,121 +129,123 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
102
129
  } & {
103
130
  "dry-run": {
104
131
  metadata: {
105
- post: {
106
- body: {
107
- id?: string | undefined;
108
- subType?: number | undefined;
109
- campaignId?: string | undefined;
110
- amount?: string | undefined;
111
- creatorAddress?: string | undefined;
112
- type: string;
113
- params: any;
114
- computeChainId: number;
115
- distributionChainId: number;
116
- startTimestamp: number;
117
- endTimestamp: number;
118
- rewardToken: string;
119
- };
120
- params: {};
121
- query: unknown;
122
- headers: {
123
- authorization: string;
124
- };
125
- response: {
126
- 200: {
132
+ metadata: {
133
+ post: {
134
+ body: {
135
+ id?: string | undefined;
136
+ subType?: number | undefined;
137
+ campaignId?: string | undefined;
138
+ amount?: string | undefined;
139
+ creatorAddress?: string | undefined;
127
140
  type: string;
128
- description: string | null;
129
- id: string;
130
- params: import("database/api/.generated/runtime/library").JsonValue;
131
- subType: number | null;
141
+ params: any;
132
142
  computeChainId: number;
133
143
  distributionChainId: number;
134
- campaignId: string;
135
- distributionType: import("@db/api").$Enums.DistributionType;
136
- rewardTokenId: string;
137
- amount: string;
138
- opportunityId: string;
139
- startTimestamp: bigint;
140
- endTimestamp: bigint;
141
- creatorAddress: string;
142
- manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
143
- createdAt: Date;
144
- rootCampaignId: string | null;
145
- parentCampaignId: string | null;
146
- } | {
147
- Tokens: {
148
- symbol: string;
149
- name: string | null;
144
+ startTimestamp: number;
145
+ endTimestamp: number;
146
+ rewardToken: string;
147
+ };
148
+ params: {};
149
+ query: unknown;
150
+ headers: {
151
+ authorization: string;
152
+ };
153
+ response: {
154
+ 200: {
155
+ type: string;
156
+ description: string | null;
150
157
  id: string;
151
- icon: string;
152
- address: string;
153
- chainId: number;
154
- decimals: number;
155
- displaySymbol: string;
156
- verified: boolean;
157
- isTest: boolean;
158
- isPoint: boolean;
159
- isPreTGE: boolean;
160
- isNative: boolean;
161
- price: number | null;
162
- }[];
163
- Protocols: {
164
- url: string;
158
+ params: import("database/api/.generated/runtime/library").JsonValue;
159
+ subType: number | null;
160
+ computeChainId: number;
161
+ distributionChainId: number;
162
+ campaignId: string;
163
+ distributionType: import("@db/api").$Enums.DistributionType;
164
+ rewardTokenId: string;
165
+ amount: string;
166
+ opportunityId: string;
167
+ startTimestamp: bigint;
168
+ endTimestamp: bigint;
169
+ creatorAddress: string;
170
+ manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
171
+ createdAt: Date;
172
+ rootCampaignId: string | null;
173
+ parentCampaignId: string | null;
174
+ } | {
175
+ Tokens: {
176
+ symbol: string;
177
+ name: string | null;
178
+ id: string;
179
+ icon: string;
180
+ address: string;
181
+ chainId: number;
182
+ decimals: number;
183
+ displaySymbol: string;
184
+ verified: boolean;
185
+ isTest: boolean;
186
+ isPoint: boolean;
187
+ isPreTGE: boolean;
188
+ isNative: boolean;
189
+ price: number | null;
190
+ }[];
191
+ Protocols: {
192
+ url: string;
193
+ name: string;
194
+ description: string;
195
+ id: string;
196
+ tags: string[];
197
+ icon: string;
198
+ }[];
199
+ status: import("@db/api").$Enums.Status;
200
+ type: string;
165
201
  name: string;
166
202
  description: string;
167
203
  id: string;
168
204
  tags: string[];
169
- icon: string;
170
- }[];
171
- status: import("@db/api").$Enums.Status;
172
- type: string;
173
- name: string;
174
- description: string;
175
- id: string;
176
- tags: string[];
177
- identifier: string;
178
- action: import("@db/api").$Enums.OpportunityAction;
179
- manualOverrides: import("@db/api").$Enums.OpportunityManualOverride[];
180
- chainId: number;
181
- howToSteps: string[];
182
- depositUrl: string | null;
183
- explorerAddress: string | null;
184
- mainProtocolId: string | null;
185
- tvl: number;
186
- apr: number;
187
- dailyRewards: number;
188
- lastCampaignCreatedAt: Date;
189
- } | {
190
- id: string;
191
- chainId: number;
192
- type: string;
193
- identifier: string;
194
- name: string;
195
- status: "PAST" | "LIVE" | "SOON";
196
- action: any;
197
- tokens: ({
198
- symbol: string;
199
- name: string | null;
205
+ identifier: string;
206
+ action: import("@db/api").$Enums.OpportunityAction;
207
+ manualOverrides: import("@db/api").$Enums.OpportunityManualOverride[];
208
+ chainId: number;
209
+ howToSteps: string[];
210
+ depositUrl: string | null;
211
+ explorerAddress: string | null;
212
+ mainProtocolId: string | null;
213
+ tvl: number;
214
+ apr: number;
215
+ dailyRewards: number;
216
+ lastCampaignCreatedAt: Date;
217
+ } | {
200
218
  id: string;
201
- icon: string;
202
- address: string;
203
219
  chainId: number;
204
- decimals: number;
205
- verified: boolean;
206
- isTest: boolean;
207
- isPoint: boolean;
208
- isPreTGE: boolean;
209
- isNative: boolean;
210
- } & {
211
- price?: number | null | undefined;
212
- })[];
213
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
214
- description: string;
215
- howToSteps: string[];
216
- depositUrl: string | undefined;
217
- explorerAddress: string | undefined;
218
- tags: string[];
219
- } | undefined;
220
+ type: string;
221
+ identifier: string;
222
+ name: string;
223
+ status: "PAST" | "LIVE" | "SOON";
224
+ action: any;
225
+ tokens: ({
226
+ symbol: string;
227
+ name: string | null;
228
+ id: string;
229
+ icon: string;
230
+ address: string;
231
+ chainId: number;
232
+ decimals: number;
233
+ verified: boolean;
234
+ isTest: boolean;
235
+ isPoint: boolean;
236
+ isPreTGE: boolean;
237
+ isNative: boolean;
238
+ } & {
239
+ price?: number | null | undefined;
240
+ })[];
241
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "pinto" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
242
+ description: string;
243
+ howToSteps: string[];
244
+ depositUrl: string | undefined;
245
+ explorerAddress: string | undefined;
246
+ tags: string[];
247
+ } | undefined;
248
+ };
220
249
  };
221
250
  };
222
251
  };
@@ -224,111 +253,227 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
224
253
  } & {
225
254
  "dry-run": {
226
255
  metadata: {
227
- get: {
228
- body: unknown;
229
- params: {};
230
- query: {
231
- distributionChain?: number | undefined;
232
- campaignId: string;
233
- };
234
- headers: {
235
- authorization: string;
236
- };
237
- response: {
238
- 200: {
239
- type: string;
240
- description: string | null;
241
- id: string;
242
- params: import("database/api/.generated/runtime/library").JsonValue;
243
- subType: number | null;
244
- computeChainId: number;
245
- distributionChainId: number;
256
+ metadata: {
257
+ get: {
258
+ body: unknown;
259
+ params: {};
260
+ query: {
261
+ distributionChain?: number | undefined;
246
262
  campaignId: string;
247
- distributionType: import("@db/api").$Enums.DistributionType;
248
- rewardTokenId: string;
249
- amount: string;
250
- opportunityId: string;
251
- startTimestamp: bigint;
252
- endTimestamp: bigint;
253
- creatorAddress: string;
254
- manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
255
- createdAt: Date;
256
- rootCampaignId: string | null;
257
- parentCampaignId: string | null;
258
- } | {
259
- Tokens: {
260
- symbol: string;
261
- name: string | null;
263
+ };
264
+ headers: {
265
+ authorization: string;
266
+ };
267
+ response: {
268
+ 200: {
269
+ type: string;
270
+ description: string | null;
262
271
  id: string;
263
- icon: string;
264
- address: string;
265
- chainId: number;
266
- decimals: number;
267
- displaySymbol: string;
268
- verified: boolean;
269
- isTest: boolean;
270
- isPoint: boolean;
271
- isPreTGE: boolean;
272
- isNative: boolean;
273
- price: number | null;
274
- }[];
275
- Protocols: {
276
- url: string;
272
+ params: import("database/api/.generated/runtime/library").JsonValue;
273
+ subType: number | null;
274
+ computeChainId: number;
275
+ distributionChainId: number;
276
+ campaignId: string;
277
+ distributionType: import("@db/api").$Enums.DistributionType;
278
+ rewardTokenId: string;
279
+ amount: string;
280
+ opportunityId: string;
281
+ startTimestamp: bigint;
282
+ endTimestamp: bigint;
283
+ creatorAddress: string;
284
+ manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
285
+ createdAt: Date;
286
+ rootCampaignId: string | null;
287
+ parentCampaignId: string | null;
288
+ } | {
289
+ Tokens: {
290
+ symbol: string;
291
+ name: string | null;
292
+ id: string;
293
+ icon: string;
294
+ address: string;
295
+ chainId: number;
296
+ decimals: number;
297
+ displaySymbol: string;
298
+ verified: boolean;
299
+ isTest: boolean;
300
+ isPoint: boolean;
301
+ isPreTGE: boolean;
302
+ isNative: boolean;
303
+ price: number | null;
304
+ }[];
305
+ Protocols: {
306
+ url: string;
307
+ name: string;
308
+ description: string;
309
+ id: string;
310
+ tags: string[];
311
+ icon: string;
312
+ }[];
313
+ status: import("@db/api").$Enums.Status;
314
+ type: string;
277
315
  name: string;
278
316
  description: string;
279
317
  id: string;
280
318
  tags: string[];
281
- icon: string;
282
- }[];
283
- status: import("@db/api").$Enums.Status;
284
- type: string;
285
- name: string;
286
- description: string;
287
- id: string;
288
- tags: string[];
289
- identifier: string;
290
- action: import("@db/api").$Enums.OpportunityAction;
291
- manualOverrides: import("@db/api").$Enums.OpportunityManualOverride[];
292
- chainId: number;
293
- howToSteps: string[];
294
- depositUrl: string | null;
295
- explorerAddress: string | null;
296
- mainProtocolId: string | null;
297
- tvl: number;
298
- apr: number;
299
- dailyRewards: number;
300
- lastCampaignCreatedAt: Date;
301
- } | {
302
- id: string;
319
+ identifier: string;
320
+ action: import("@db/api").$Enums.OpportunityAction;
321
+ manualOverrides: import("@db/api").$Enums.OpportunityManualOverride[];
322
+ chainId: number;
323
+ howToSteps: string[];
324
+ depositUrl: string | null;
325
+ explorerAddress: string | null;
326
+ mainProtocolId: string | null;
327
+ tvl: number;
328
+ apr: number;
329
+ dailyRewards: number;
330
+ lastCampaignCreatedAt: Date;
331
+ } | {
332
+ id: string;
333
+ chainId: number;
334
+ type: string;
335
+ identifier: string;
336
+ name: string;
337
+ status: "PAST" | "LIVE" | "SOON";
338
+ action: any;
339
+ tokens: ({
340
+ symbol: string;
341
+ name: string | null;
342
+ id: string;
343
+ icon: string;
344
+ address: string;
345
+ chainId: number;
346
+ decimals: number;
347
+ verified: boolean;
348
+ isTest: boolean;
349
+ isPoint: boolean;
350
+ isPreTGE: boolean;
351
+ isNative: boolean;
352
+ } & {
353
+ price?: number | null | undefined;
354
+ })[];
355
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "pinto" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
356
+ description: string;
357
+ howToSteps: string[];
358
+ depositUrl: string | undefined;
359
+ explorerAddress: string | undefined;
360
+ tags: string[];
361
+ } | undefined;
362
+ };
363
+ };
364
+ };
365
+ };
366
+ };
367
+ } & {
368
+ "dry-run": {
369
+ metadata: {
370
+ erc20: {
371
+ get: {
372
+ body: unknown;
373
+ params: {};
374
+ query: {
375
+ address: string;
303
376
  chainId: number;
304
- type: string;
305
- identifier: string;
306
- name: string;
307
- status: "PAST" | "LIVE" | "SOON";
308
- action: any;
309
- tokens: ({
310
- symbol: string;
311
- name: string | null;
377
+ };
378
+ headers: {
379
+ authorization: string;
380
+ };
381
+ response: {
382
+ 200: {
383
+ type: string;
384
+ description: string | null;
312
385
  id: string;
313
- icon: string;
314
- address: string;
386
+ params: import("database/api/.generated/runtime/library").JsonValue;
387
+ subType: number | null;
388
+ computeChainId: number;
389
+ distributionChainId: number;
390
+ campaignId: string;
391
+ distributionType: import("@db/api").$Enums.DistributionType;
392
+ rewardTokenId: string;
393
+ amount: string;
394
+ opportunityId: string;
395
+ startTimestamp: bigint;
396
+ endTimestamp: bigint;
397
+ creatorAddress: string;
398
+ manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
399
+ createdAt: Date;
400
+ rootCampaignId: string | null;
401
+ parentCampaignId: string | null;
402
+ } | {
403
+ Tokens: {
404
+ symbol: string;
405
+ name: string | null;
406
+ id: string;
407
+ icon: string;
408
+ address: string;
409
+ chainId: number;
410
+ decimals: number;
411
+ displaySymbol: string;
412
+ verified: boolean;
413
+ isTest: boolean;
414
+ isPoint: boolean;
415
+ isPreTGE: boolean;
416
+ isNative: boolean;
417
+ price: number | null;
418
+ }[];
419
+ Protocols: {
420
+ url: string;
421
+ name: string;
422
+ description: string;
423
+ id: string;
424
+ tags: string[];
425
+ icon: string;
426
+ }[];
427
+ status: import("@db/api").$Enums.Status;
428
+ type: string;
429
+ name: string;
430
+ description: string;
431
+ id: string;
432
+ tags: string[];
433
+ identifier: string;
434
+ action: import("@db/api").$Enums.OpportunityAction;
435
+ manualOverrides: import("@db/api").$Enums.OpportunityManualOverride[];
315
436
  chainId: number;
316
- decimals: number;
317
- verified: boolean;
318
- isTest: boolean;
319
- isPoint: boolean;
320
- isPreTGE: boolean;
321
- isNative: boolean;
322
- } & {
323
- price?: number | null | undefined;
324
- })[];
325
- mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
326
- description: string;
327
- howToSteps: string[];
328
- depositUrl: string | undefined;
329
- explorerAddress: string | undefined;
330
- tags: string[];
331
- } | undefined;
437
+ howToSteps: string[];
438
+ depositUrl: string | null;
439
+ explorerAddress: string | null;
440
+ mainProtocolId: string | null;
441
+ tvl: number;
442
+ apr: number;
443
+ dailyRewards: number;
444
+ lastCampaignCreatedAt: Date;
445
+ } | {
446
+ id: string;
447
+ chainId: number;
448
+ type: string;
449
+ identifier: string;
450
+ name: string;
451
+ status: "PAST" | "LIVE" | "SOON";
452
+ action: any;
453
+ tokens: ({
454
+ symbol: string;
455
+ name: string | null;
456
+ id: string;
457
+ icon: string;
458
+ address: string;
459
+ chainId: number;
460
+ decimals: number;
461
+ verified: boolean;
462
+ isTest: boolean;
463
+ isPoint: boolean;
464
+ isPreTGE: boolean;
465
+ isNative: boolean;
466
+ } & {
467
+ price?: number | null | undefined;
468
+ })[];
469
+ mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "pinto" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
470
+ description: string;
471
+ howToSteps: string[];
472
+ depositUrl: string | undefined;
473
+ explorerAddress: string | undefined;
474
+ tags: string[];
475
+ } | undefined;
476
+ };
332
477
  };
333
478
  };
334
479
  };