@merkl/api 1.1.3 → 1.1.4

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.
@@ -1,5 +1,7 @@
1
1
  import { Campaign as CampaignType, type ChainId, type campaignConfig } from "@angleprotocol/sdk/ts";
2
- import type { CampaignPayloadInputModel, SinglePayloadInputDtoModel } from "./payload.model";
2
+ import { type OnChainCampaignDto } from "@angleprotocol/sdk/ts";
3
+ import type { TransactionParametersModel } from "../campaign/campaign.model";
4
+ import type { CampaignPayloadInputModel, SafeFileModel, SinglePayloadInputModel } from "./payload.model";
3
5
  export declare class PayloadService {
4
6
  static buildConfigTemplate(params: {
5
7
  campaignType: number;
@@ -7,19 +9,108 @@ export declare class PayloadService {
7
9
  [key: string]: string;
8
10
  };
9
11
  static buildConfig(query: CampaignPayloadInputModel): campaignConfig<CampaignType>;
10
- static buildPayloadFromConfig(config: SinglePayloadInputDtoModel): Promise<{
12
+ static buildPayloadFromConfig(config: SinglePayloadInputModel): Promise<{
13
+ solidity: {
14
+ args: OnChainCampaignDto;
15
+ payload: string;
16
+ };
17
+ campaign: import("@angleprotocol/sdk/ts").M0Campaign | import("@angleprotocol/sdk/ts").AaveCampaign | import("@angleprotocol/sdk/ts").EigenLayerCampaign | import("@angleprotocol/sdk/ts").ERC20LogCampaign | import("@angleprotocol/sdk/ts").ERC20FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseLogCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseFixAPRCampaign | import("@angleprotocol/sdk/ts").EulerCampaign | import("@angleprotocol/sdk/ts").EventBasedCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogFixCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyFixAPRCampaign | import("@angleprotocol/sdk/ts").TargetTokenCampaign | import("@angleprotocol/sdk/ts").ERC20Campaign | import("@angleprotocol/sdk/ts").CLAMMCampaign | import("@angleprotocol/sdk/ts").ERC20_SNAPSHOTCampaign | import("@angleprotocol/sdk/ts").JSON_AIRDROPCampaign | import("@angleprotocol/sdk/ts").SILOCampaign | import("@angleprotocol/sdk/ts").RadiantCampaign | import("@angleprotocol/sdk/ts").DolomiteCampaign | import("@angleprotocol/sdk/ts").BadgerCampaign | import("@angleprotocol/sdk/ts").CompoundCampaign | import("@angleprotocol/sdk/ts").AjnaCampaign | import("@angleprotocol/sdk/ts").UniswapV4Campaign | import("@angleprotocol/sdk/ts").EkuboCampaign | import("@angleprotocol/sdk/ts").IonCampaign | import("@angleprotocol/sdk/ts").VestCampaign | import("@angleprotocol/sdk/ts").SyncswapVaultCampaign | import("@angleprotocol/sdk/ts").AmbientCampaign | import("@angleprotocol/sdk/ts").EncompassingCampaign | import("@angleprotocol/sdk/ts").MaverickBPCampaign | import("@angleprotocol/sdk/ts").ERC6909Campaign | import("@angleprotocol/sdk/ts").ERC6909FixAPRCampaign | import("@angleprotocol/sdk/ts").CompoundV3Campaign | import("@angleprotocol/sdk/ts").CompoundV3FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC721Campaign | import("@angleprotocol/sdk/ts").ERC721FixAPRCampaign | import("@angleprotocol/sdk/ts").MultiLogCampaign | import("@angleprotocol/sdk/ts").LockerCampaign | import("@angleprotocol/sdk/ts").ConvexCampaign | import("@angleprotocol/sdk/ts").StakeDAOCampaign | import("@angleprotocol/sdk/ts").MappingCampaign | import("@angleprotocol/sdk/ts").FraxLendCampaign | import("@angleprotocol/sdk/ts").FraxLendFixAPRCampaign | import("@angleprotocol/sdk/ts").SymbioticVaultCampaign | import("@angleprotocol/sdk/ts").EkuboPositionManagerCampaign | import("@angleprotocol/sdk/ts").FluidVaultCampaign | import("@angleprotocol/sdk/ts").MorphoCampaign<import("@angleprotocol/sdk/ts").MorphoSubCampaignType> | undefined;
18
+ opportunity: Omit<import("../campaign/campaign.model").CampaignWithParams, "manualOverrides"> | {
19
+ id: string;
20
+ chainId: number;
21
+ type: string;
22
+ identifier: string;
23
+ name: string;
24
+ status: "PAST" | "LIVE" | "SOON";
25
+ action: OpportunityAction;
26
+ tokens: ({
27
+ symbol: string;
28
+ name: string | null;
29
+ decimals: number;
30
+ address: string;
31
+ id: string;
32
+ chainId: number;
33
+ type: import("@package/databases").TokenType;
34
+ icon: string;
35
+ isNative: boolean;
36
+ isTest: boolean;
37
+ verified: boolean;
38
+ } & {
39
+ price?: number | null | undefined;
40
+ isTokenWrapper?: boolean | undefined;
41
+ tokenWrapperAddress?: string | undefined;
42
+ })[];
43
+ mainProtocol: "splice" | "curve" | "morpho" | "compound" | "silo" | "reserve" | "gamma" | "vest" | "zero" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "quickswap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "pinto" | "mimswap" | "ichi" | "ekubo" | "radiant" | "aave" | "fraxlend" | "ironclad" | "euler" | "gearbox" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "hypurrfi" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
44
+ description: string;
45
+ howToSteps: string[];
46
+ depositUrl: string | undefined;
47
+ explorerAddress: string | undefined;
48
+ tags: string[];
49
+ } | ({
50
+ Tokens: {
51
+ symbol: string;
52
+ name: string | null;
53
+ decimals: number;
54
+ price: number | null;
55
+ address: string;
56
+ id: string;
57
+ chainId: number;
58
+ type: import("@package/databases").TokenType;
59
+ icon: string;
60
+ isNative: boolean;
61
+ isTest: boolean;
62
+ verified: boolean;
63
+ displaySymbol: string;
64
+ }[];
65
+ Protocols: {
66
+ name: string;
67
+ description: string;
68
+ id: string;
69
+ url: string;
70
+ icon: string;
71
+ tags: string[];
72
+ }[];
73
+ } & {
74
+ name: string;
75
+ apr: number;
76
+ tvl: number;
77
+ description: string;
78
+ id: string;
79
+ status: import("@package/databases").Status;
80
+ chainId: number;
81
+ action: import("@package/databases").OpportunityAction;
82
+ type: string;
83
+ depositUrl: string | null;
84
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
85
+ identifier: string;
86
+ howToSteps: string[];
87
+ explorerAddress: string | null;
88
+ mainProtocolId: string | null;
89
+ dailyRewards: number;
90
+ tags: string[];
91
+ lastCampaignCreatedAt: Date;
92
+ }) | undefined;
93
+ tvl: ({
94
+ timestamp: bigint;
95
+ total: number;
96
+ breakdowns: ({
97
+ value: number;
98
+ type: import("@package/databases").TvlType;
99
+ identifier: string;
100
+ } & {})[];
101
+ } & {}) | undefined;
102
+ fee: string;
103
+ }>;
104
+ /**
105
+ * Given onchain campaign creation arguments, tries to build the campaign and return the opportunity.
106
+ */
107
+ static analyseOnchainArgs(chainId: number, args: OnChainCampaignDto): Promise<{
11
108
  message: string;
12
109
  name: string;
13
- solidity?: undefined;
14
110
  campaign?: undefined;
15
111
  opportunity?: undefined;
16
112
  tvl?: undefined;
17
- fee?: undefined;
18
113
  } | {
19
- solidity: {
20
- args: import("@angleprotocol/sdk/ts").OnChainCampaignDto;
21
- payload: string;
22
- };
23
114
  campaign: import("@angleprotocol/sdk/ts").M0Campaign | import("@angleprotocol/sdk/ts").AaveCampaign | import("@angleprotocol/sdk/ts").EigenLayerCampaign | import("@angleprotocol/sdk/ts").ERC20LogCampaign | import("@angleprotocol/sdk/ts").ERC20FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseLogCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseFixAPRCampaign | import("@angleprotocol/sdk/ts").EulerCampaign | import("@angleprotocol/sdk/ts").EventBasedCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogFixCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyFixAPRCampaign | import("@angleprotocol/sdk/ts").TargetTokenCampaign | import("@angleprotocol/sdk/ts").ERC20Campaign | import("@angleprotocol/sdk/ts").CLAMMCampaign | import("@angleprotocol/sdk/ts").ERC20_SNAPSHOTCampaign | import("@angleprotocol/sdk/ts").JSON_AIRDROPCampaign | import("@angleprotocol/sdk/ts").SILOCampaign | import("@angleprotocol/sdk/ts").RadiantCampaign | import("@angleprotocol/sdk/ts").DolomiteCampaign | import("@angleprotocol/sdk/ts").BadgerCampaign | import("@angleprotocol/sdk/ts").CompoundCampaign | import("@angleprotocol/sdk/ts").AjnaCampaign | import("@angleprotocol/sdk/ts").UniswapV4Campaign | import("@angleprotocol/sdk/ts").EkuboCampaign | import("@angleprotocol/sdk/ts").IonCampaign | import("@angleprotocol/sdk/ts").VestCampaign | import("@angleprotocol/sdk/ts").SyncswapVaultCampaign | import("@angleprotocol/sdk/ts").AmbientCampaign | import("@angleprotocol/sdk/ts").EncompassingCampaign | import("@angleprotocol/sdk/ts").MaverickBPCampaign | import("@angleprotocol/sdk/ts").ERC6909Campaign | import("@angleprotocol/sdk/ts").ERC6909FixAPRCampaign | import("@angleprotocol/sdk/ts").CompoundV3Campaign | import("@angleprotocol/sdk/ts").CompoundV3FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC721Campaign | import("@angleprotocol/sdk/ts").ERC721FixAPRCampaign | import("@angleprotocol/sdk/ts").MultiLogCampaign | import("@angleprotocol/sdk/ts").LockerCampaign | import("@angleprotocol/sdk/ts").ConvexCampaign | import("@angleprotocol/sdk/ts").StakeDAOCampaign | import("@angleprotocol/sdk/ts").MappingCampaign | import("@angleprotocol/sdk/ts").FraxLendCampaign | import("@angleprotocol/sdk/ts").FraxLendFixAPRCampaign | import("@angleprotocol/sdk/ts").SymbioticVaultCampaign | import("@angleprotocol/sdk/ts").EkuboPositionManagerCampaign | import("@angleprotocol/sdk/ts").FluidVaultCampaign | import("@angleprotocol/sdk/ts").MorphoCampaign<import("@angleprotocol/sdk/ts").MorphoSubCampaignType>;
24
115
  opportunity: Omit<import("../campaign/campaign.model").CampaignWithParams, "manualOverrides"> | {
25
116
  id: string;
@@ -105,10 +196,199 @@ export declare class PayloadService {
105
196
  identifier: string;
106
197
  } & {})[];
107
198
  } & {};
108
- fee: string | undefined;
109
199
  message?: undefined;
110
200
  name?: undefined;
111
201
  }>;
202
+ static simulateAndAnalyze(body: TransactionParametersModel): Promise<Record<string, {
203
+ message: string;
204
+ name: string;
205
+ campaign?: undefined;
206
+ opportunity?: undefined;
207
+ tvl?: undefined;
208
+ } | {
209
+ campaign: import("@angleprotocol/sdk/ts").M0Campaign | import("@angleprotocol/sdk/ts").AaveCampaign | import("@angleprotocol/sdk/ts").EigenLayerCampaign | import("@angleprotocol/sdk/ts").ERC20LogCampaign | import("@angleprotocol/sdk/ts").ERC20FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseLogCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseFixAPRCampaign | import("@angleprotocol/sdk/ts").EulerCampaign | import("@angleprotocol/sdk/ts").EventBasedCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogFixCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyFixAPRCampaign | import("@angleprotocol/sdk/ts").TargetTokenCampaign | import("@angleprotocol/sdk/ts").ERC20Campaign | import("@angleprotocol/sdk/ts").CLAMMCampaign | import("@angleprotocol/sdk/ts").ERC20_SNAPSHOTCampaign | import("@angleprotocol/sdk/ts").JSON_AIRDROPCampaign | import("@angleprotocol/sdk/ts").SILOCampaign | import("@angleprotocol/sdk/ts").RadiantCampaign | import("@angleprotocol/sdk/ts").DolomiteCampaign | import("@angleprotocol/sdk/ts").BadgerCampaign | import("@angleprotocol/sdk/ts").CompoundCampaign | import("@angleprotocol/sdk/ts").AjnaCampaign | import("@angleprotocol/sdk/ts").UniswapV4Campaign | import("@angleprotocol/sdk/ts").EkuboCampaign | import("@angleprotocol/sdk/ts").IonCampaign | import("@angleprotocol/sdk/ts").VestCampaign | import("@angleprotocol/sdk/ts").SyncswapVaultCampaign | import("@angleprotocol/sdk/ts").AmbientCampaign | import("@angleprotocol/sdk/ts").EncompassingCampaign | import("@angleprotocol/sdk/ts").MaverickBPCampaign | import("@angleprotocol/sdk/ts").ERC6909Campaign | import("@angleprotocol/sdk/ts").ERC6909FixAPRCampaign | import("@angleprotocol/sdk/ts").CompoundV3Campaign | import("@angleprotocol/sdk/ts").CompoundV3FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC721Campaign | import("@angleprotocol/sdk/ts").ERC721FixAPRCampaign | import("@angleprotocol/sdk/ts").MultiLogCampaign | import("@angleprotocol/sdk/ts").LockerCampaign | import("@angleprotocol/sdk/ts").ConvexCampaign | import("@angleprotocol/sdk/ts").StakeDAOCampaign | import("@angleprotocol/sdk/ts").MappingCampaign | import("@angleprotocol/sdk/ts").FraxLendCampaign | import("@angleprotocol/sdk/ts").FraxLendFixAPRCampaign | import("@angleprotocol/sdk/ts").SymbioticVaultCampaign | import("@angleprotocol/sdk/ts").EkuboPositionManagerCampaign | import("@angleprotocol/sdk/ts").FluidVaultCampaign | import("@angleprotocol/sdk/ts").MorphoCampaign<import("@angleprotocol/sdk/ts").MorphoSubCampaignType>;
210
+ opportunity: Omit<import("../campaign/campaign.model").CampaignWithParams, "manualOverrides"> | {
211
+ id: string;
212
+ chainId: number;
213
+ type: string;
214
+ identifier: string;
215
+ name: string;
216
+ status: "PAST" | "LIVE" | "SOON";
217
+ action: OpportunityAction;
218
+ tokens: ({
219
+ symbol: string;
220
+ name: string | null;
221
+ decimals: number;
222
+ address: string;
223
+ id: string;
224
+ chainId: number;
225
+ type: import("@package/databases").TokenType;
226
+ icon: string;
227
+ isNative: boolean;
228
+ isTest: boolean;
229
+ verified: boolean;
230
+ } & {
231
+ price?: number | null | undefined;
232
+ isTokenWrapper?: boolean | undefined;
233
+ tokenWrapperAddress?: string | undefined;
234
+ })[];
235
+ mainProtocol: "splice" | "curve" | "morpho" | "compound" | "silo" | "reserve" | "gamma" | "vest" | "zero" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "quickswap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "pinto" | "mimswap" | "ichi" | "ekubo" | "radiant" | "aave" | "fraxlend" | "ironclad" | "euler" | "gearbox" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "hypurrfi" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
236
+ description: string;
237
+ howToSteps: string[];
238
+ depositUrl: string | undefined;
239
+ explorerAddress: string | undefined;
240
+ tags: string[];
241
+ } | ({
242
+ Tokens: {
243
+ symbol: string;
244
+ name: string | null;
245
+ decimals: number;
246
+ price: number | null;
247
+ address: string;
248
+ id: string;
249
+ chainId: number;
250
+ type: import("@package/databases").TokenType;
251
+ icon: string;
252
+ isNative: boolean;
253
+ isTest: boolean;
254
+ verified: boolean;
255
+ displaySymbol: string;
256
+ }[];
257
+ Protocols: {
258
+ name: string;
259
+ description: string;
260
+ id: string;
261
+ url: string;
262
+ icon: string;
263
+ tags: string[];
264
+ }[];
265
+ } & {
266
+ name: string;
267
+ apr: number;
268
+ tvl: number;
269
+ description: string;
270
+ id: string;
271
+ status: import("@package/databases").Status;
272
+ chainId: number;
273
+ action: import("@package/databases").OpportunityAction;
274
+ type: string;
275
+ depositUrl: string | null;
276
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
277
+ identifier: string;
278
+ howToSteps: string[];
279
+ explorerAddress: string | null;
280
+ mainProtocolId: string | null;
281
+ dailyRewards: number;
282
+ tags: string[];
283
+ lastCampaignCreatedAt: Date;
284
+ });
285
+ tvl: {
286
+ timestamp: bigint;
287
+ total: number;
288
+ breakdowns: ({
289
+ value: number;
290
+ type: import("@package/databases").TvlType;
291
+ identifier: string;
292
+ } & {})[];
293
+ } & {};
294
+ message?: undefined;
295
+ name?: undefined;
296
+ }>>;
297
+ static analyseSafe(body: SafeFileModel): Promise<Record<string, {
298
+ message: string;
299
+ name: string;
300
+ campaign?: undefined;
301
+ opportunity?: undefined;
302
+ tvl?: undefined;
303
+ } | {
304
+ campaign: import("@angleprotocol/sdk/ts").M0Campaign | import("@angleprotocol/sdk/ts").AaveCampaign | import("@angleprotocol/sdk/ts").EigenLayerCampaign | import("@angleprotocol/sdk/ts").ERC20LogCampaign | import("@angleprotocol/sdk/ts").ERC20FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseLogCampaign | import("@angleprotocol/sdk/ts").ERC20RebaseFixAPRCampaign | import("@angleprotocol/sdk/ts").EulerCampaign | import("@angleprotocol/sdk/ts").EventBasedCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogCampaign | import("@angleprotocol/sdk/ts").HyperDriveLogFixCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowCampaign | import("@angleprotocol/sdk/ts").MorphoBorrowFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralCampaign | import("@angleprotocol/sdk/ts").MorphoCollateralFixAPRCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyCampaign | import("@angleprotocol/sdk/ts").MorphoSupplyFixAPRCampaign | import("@angleprotocol/sdk/ts").TargetTokenCampaign | import("@angleprotocol/sdk/ts").ERC20Campaign | import("@angleprotocol/sdk/ts").CLAMMCampaign | import("@angleprotocol/sdk/ts").ERC20_SNAPSHOTCampaign | import("@angleprotocol/sdk/ts").JSON_AIRDROPCampaign | import("@angleprotocol/sdk/ts").SILOCampaign | import("@angleprotocol/sdk/ts").RadiantCampaign | import("@angleprotocol/sdk/ts").DolomiteCampaign | import("@angleprotocol/sdk/ts").BadgerCampaign | import("@angleprotocol/sdk/ts").CompoundCampaign | import("@angleprotocol/sdk/ts").AjnaCampaign | import("@angleprotocol/sdk/ts").UniswapV4Campaign | import("@angleprotocol/sdk/ts").EkuboCampaign | import("@angleprotocol/sdk/ts").IonCampaign | import("@angleprotocol/sdk/ts").VestCampaign | import("@angleprotocol/sdk/ts").SyncswapVaultCampaign | import("@angleprotocol/sdk/ts").AmbientCampaign | import("@angleprotocol/sdk/ts").EncompassingCampaign | import("@angleprotocol/sdk/ts").MaverickBPCampaign | import("@angleprotocol/sdk/ts").ERC6909Campaign | import("@angleprotocol/sdk/ts").ERC6909FixAPRCampaign | import("@angleprotocol/sdk/ts").CompoundV3Campaign | import("@angleprotocol/sdk/ts").CompoundV3FixAPRCampaign | import("@angleprotocol/sdk/ts").ERC721Campaign | import("@angleprotocol/sdk/ts").ERC721FixAPRCampaign | import("@angleprotocol/sdk/ts").MultiLogCampaign | import("@angleprotocol/sdk/ts").LockerCampaign | import("@angleprotocol/sdk/ts").ConvexCampaign | import("@angleprotocol/sdk/ts").StakeDAOCampaign | import("@angleprotocol/sdk/ts").MappingCampaign | import("@angleprotocol/sdk/ts").FraxLendCampaign | import("@angleprotocol/sdk/ts").FraxLendFixAPRCampaign | import("@angleprotocol/sdk/ts").SymbioticVaultCampaign | import("@angleprotocol/sdk/ts").EkuboPositionManagerCampaign | import("@angleprotocol/sdk/ts").FluidVaultCampaign | import("@angleprotocol/sdk/ts").MorphoCampaign<import("@angleprotocol/sdk/ts").MorphoSubCampaignType>;
305
+ opportunity: Omit<import("../campaign/campaign.model").CampaignWithParams, "manualOverrides"> | {
306
+ id: string;
307
+ chainId: number;
308
+ type: string;
309
+ identifier: string;
310
+ name: string;
311
+ status: "PAST" | "LIVE" | "SOON";
312
+ action: OpportunityAction;
313
+ tokens: ({
314
+ symbol: string;
315
+ name: string | null;
316
+ decimals: number;
317
+ address: string;
318
+ id: string;
319
+ chainId: number;
320
+ type: import("@package/databases").TokenType;
321
+ icon: string;
322
+ isNative: boolean;
323
+ isTest: boolean;
324
+ verified: boolean;
325
+ } & {
326
+ price?: number | null | undefined;
327
+ isTokenWrapper?: boolean | undefined;
328
+ tokenWrapperAddress?: string | undefined;
329
+ })[];
330
+ mainProtocol: "splice" | "curve" | "morpho" | "compound" | "silo" | "reserve" | "gamma" | "vest" | "zero" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "quickswap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "pinto" | "mimswap" | "ichi" | "ekubo" | "radiant" | "aave" | "fraxlend" | "ironclad" | "euler" | "gearbox" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "hypurrfi" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer" | undefined;
331
+ description: string;
332
+ howToSteps: string[];
333
+ depositUrl: string | undefined;
334
+ explorerAddress: string | undefined;
335
+ tags: string[];
336
+ } | ({
337
+ Tokens: {
338
+ symbol: string;
339
+ name: string | null;
340
+ decimals: number;
341
+ price: number | null;
342
+ address: string;
343
+ id: string;
344
+ chainId: number;
345
+ type: import("@package/databases").TokenType;
346
+ icon: string;
347
+ isNative: boolean;
348
+ isTest: boolean;
349
+ verified: boolean;
350
+ displaySymbol: string;
351
+ }[];
352
+ Protocols: {
353
+ name: string;
354
+ description: string;
355
+ id: string;
356
+ url: string;
357
+ icon: string;
358
+ tags: string[];
359
+ }[];
360
+ } & {
361
+ name: string;
362
+ apr: number;
363
+ tvl: number;
364
+ description: string;
365
+ id: string;
366
+ status: import("@package/databases").Status;
367
+ chainId: number;
368
+ action: import("@package/databases").OpportunityAction;
369
+ type: string;
370
+ depositUrl: string | null;
371
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
372
+ identifier: string;
373
+ howToSteps: string[];
374
+ explorerAddress: string | null;
375
+ mainProtocolId: string | null;
376
+ dailyRewards: number;
377
+ tags: string[];
378
+ lastCampaignCreatedAt: Date;
379
+ });
380
+ tvl: {
381
+ timestamp: bigint;
382
+ total: number;
383
+ breakdowns: ({
384
+ value: number;
385
+ type: import("@package/databases").TvlType;
386
+ identifier: string;
387
+ } & {})[];
388
+ } & {};
389
+ message?: undefined;
390
+ name?: undefined;
391
+ }>>;
112
392
  static checkMinimumAmount(rewardToken: string, tokenAmount: bigint, numberOfHours: bigint, distributionChainId: ChainId): Promise<boolean>;
113
393
  static getMinimumAmount(rewardToken: string, distributionChainId: ChainId): Promise<bigint>;
114
394
  }
@@ -71,7 +71,7 @@ export declare const ProgramPayloadAirdropInputDto: import("@sinclair/typebox").
71
71
  export type CampaignPayloadInputModel = typeof CampaignPayloadInputDto.static;
72
72
  export type ProgramPayloadInputModel = typeof ProgramPayloadInputDto.static;
73
73
  export type CampaignAmountsInputModel = typeof CampaignAmountsInputDto.static;
74
- export type SinglePayloadInputDtoModel = typeof SinglePayloadInputDto.static;
74
+ export type SinglePayloadInputModel = typeof SinglePayloadInputDto.static;
75
75
  export type approvalTransaction = {
76
76
  to: string;
77
77
  value: string;