@merkl/api 1.1.15 → 1.1.18

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 (50) hide show
  1. package/dist/src/constants.d.ts +0 -61
  2. package/dist/src/eden/index.d.ts +5130 -775
  3. package/dist/src/engine/deprecated/dynamicData/implementations/default.d.ts +1 -1
  4. package/dist/src/engine/implementations/Aave/metadata.d.ts +1 -1
  5. package/dist/src/engine/implementations/Erc20/subTypes/implementations/ERC4626/metadata.d.ts +31 -0
  6. package/dist/src/engine/implementations/Erc20/subTypes/implementations/ERC4626/tvl.d.ts +6 -0
  7. package/dist/src/engine/implementations/Erc20/subTypes/index.d.ts +2 -1
  8. package/dist/src/engine/tvl/factory.d.ts +1 -1
  9. package/dist/src/index.d.ts +2432 -250
  10. package/dist/src/modules/v4/apr/apr.model.d.ts +8 -0
  11. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +396 -20
  12. package/dist/src/modules/v4/campaign/campaign.convertor.d.ts +2 -1
  13. package/dist/src/modules/v4/campaign/campaign.model.d.ts +15 -17
  14. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +63 -60
  15. package/dist/src/modules/v4/campaign/campaign.service.d.ts +54 -34
  16. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +1168 -44
  17. package/dist/src/modules/v4/dynamicData/dynamicData.service.d.ts +14 -1
  18. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +271 -46
  19. package/dist/src/modules/v4/opportunity/opportunity.converter.d.ts +6 -0
  20. package/dist/src/modules/v4/opportunity/opportunity.formatter.d.ts +3 -6
  21. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +74 -21
  22. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +21 -34
  23. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +38 -40
  24. package/dist/src/modules/v4/payload/payload.controller.d.ts +468 -16
  25. package/dist/src/modules/v4/payload/payload.model.d.ts +10 -1
  26. package/dist/src/modules/v4/payload/payload.service.d.ts +379 -12
  27. package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +17 -3
  28. package/dist/src/modules/v4/programPayload/programPayload.model.d.ts +1 -1
  29. package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +429 -7
  30. package/dist/src/modules/v4/programPayload/programPayload.service.d.ts +1 -2
  31. package/dist/src/modules/v4/programPayload/subPayloads/hypurrFi.d.ts +11 -3
  32. package/dist/src/modules/v4/reward/reward.controller.d.ts +3 -3
  33. package/dist/src/modules/v4/reward/reward.model.d.ts +18 -4
  34. package/dist/src/modules/v4/reward/reward.repository.d.ts +2 -4
  35. package/dist/src/modules/v4/reward/reward.service.d.ts +13 -26
  36. package/dist/src/modules/v4/router.d.ts +2430 -251
  37. package/dist/src/modules/v4/status/status.controller.d.ts +0 -1
  38. package/dist/src/modules/v4/status/status.model.d.ts +0 -1
  39. package/dist/src/modules/v4/token/token.controller.d.ts +14 -22
  40. package/dist/src/modules/v4/token/token.model.d.ts +15 -5
  41. package/dist/src/modules/v4/token/token.repository.d.ts +7 -11
  42. package/dist/src/modules/v4/token/token.service.d.ts +348 -0
  43. package/dist/src/modules/v4/transaction/transaction.model.d.ts +17 -0
  44. package/dist/src/modules/v4/user/user.controller.d.ts +2 -4
  45. package/dist/src/routes/v3/opportunity.d.ts +3 -0
  46. package/dist/src/routes/v3/payload.d.ts +1 -1
  47. package/dist/src/routes/v3/router.d.ts +4 -1
  48. package/dist/src/utils/parseDistributionType.d.ts +2 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +1 -1
@@ -1,27 +1,394 @@
1
- import { Campaign, type ChainId, type campaignConfig } from "@angleprotocol/sdk/ts";
2
- import type { CampaignPayloadInputModel, SinglePayloadInputDtoModel } from "./payload.model";
1
+ import { Campaign as CampaignType, type ChainId, type campaignConfig } from "@angleprotocol/sdk/ts";
2
+ import { type OnChainCampaignDto } from "@angleprotocol/sdk/ts";
3
+ import type { TransactionParametersModel } from "../transaction/transaction.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;
6
8
  }): {
7
9
  [key: string]: string;
8
10
  };
9
- static buildConfig(query: CampaignPayloadInputModel): campaignConfig<Campaign>;
10
- static buildPayloadFromConfig(config: SinglePayloadInputDtoModel): Promise<{
11
+ static buildConfig(query: CampaignPayloadInputModel): campaignConfig<CampaignType>;
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
- args?: undefined;
14
- parsedCampaign?: undefined;
15
- payload?: undefined;
16
- fee?: undefined;
110
+ campaign?: undefined;
111
+ opportunity?: undefined;
112
+ tvl?: undefined;
17
113
  } | {
18
- args: import("@angleprotocol/sdk/ts").OnChainCampaignDto;
19
- parsedCampaign: 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").InvalidCampaign | 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").MorphoCampaign<import("@angleprotocol/sdk/ts").MorphoSubCampaignType>;
20
- payload: string;
21
- fee: string | undefined;
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>;
115
+ opportunity: Omit<import("../campaign/campaign.model").CampaignWithParams, "manualOverrides"> | {
116
+ id: string;
117
+ chainId: number;
118
+ type: string;
119
+ identifier: string;
120
+ name: string;
121
+ status: "PAST" | "LIVE" | "SOON";
122
+ action: OpportunityAction;
123
+ tokens: ({
124
+ symbol: string;
125
+ name: string | null;
126
+ decimals: number;
127
+ address: string;
128
+ id: string;
129
+ chainId: number;
130
+ type: import("@package/databases").TokenType;
131
+ icon: string;
132
+ isNative: boolean;
133
+ isTest: boolean;
134
+ verified: boolean;
135
+ } & {
136
+ price?: number | null | undefined;
137
+ isTokenWrapper?: boolean | undefined;
138
+ tokenWrapperAddress?: string | undefined;
139
+ })[];
140
+ 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;
141
+ description: string;
142
+ howToSteps: string[];
143
+ depositUrl: string | undefined;
144
+ explorerAddress: string | undefined;
145
+ tags: string[];
146
+ } | ({
147
+ Tokens: {
148
+ symbol: string;
149
+ name: string | null;
150
+ decimals: number;
151
+ price: number | null;
152
+ address: string;
153
+ id: string;
154
+ chainId: number;
155
+ type: import("@package/databases").TokenType;
156
+ icon: string;
157
+ isNative: boolean;
158
+ isTest: boolean;
159
+ verified: boolean;
160
+ displaySymbol: string;
161
+ }[];
162
+ Protocols: {
163
+ name: string;
164
+ description: string;
165
+ id: string;
166
+ url: string;
167
+ icon: string;
168
+ tags: string[];
169
+ }[];
170
+ } & {
171
+ name: string;
172
+ apr: number;
173
+ tvl: number;
174
+ description: string;
175
+ id: string;
176
+ status: import("@package/databases").Status;
177
+ chainId: number;
178
+ action: import("@package/databases").OpportunityAction;
179
+ type: string;
180
+ depositUrl: string | null;
181
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
182
+ identifier: string;
183
+ howToSteps: string[];
184
+ explorerAddress: string | null;
185
+ mainProtocolId: string | null;
186
+ dailyRewards: number;
187
+ tags: string[];
188
+ lastCampaignCreatedAt: Date;
189
+ });
190
+ tvl: {
191
+ timestamp: bigint;
192
+ total: number;
193
+ breakdowns: ({
194
+ value: number;
195
+ type: import("@package/databases").TvlType;
196
+ identifier: string;
197
+ } & {})[];
198
+ } & {};
22
199
  message?: undefined;
23
200
  name?: undefined;
24
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
+ }>>;
25
392
  static checkMinimumAmount(rewardToken: string, tokenAmount: bigint, numberOfHours: bigint, distributionChainId: ChainId): Promise<boolean>;
26
393
  static getMinimumAmount(rewardToken: string, distributionChainId: ChainId): Promise<bigint>;
27
394
  }
@@ -383,7 +383,7 @@ export declare const ProgramPayloadController: Elysia<"/program-payload", {
383
383
  hooks?: (import("@angleprotocol/sdk/ts").HookParameters<import("@angleprotocol/sdk/ts").HOOK> | string)[] | undefined;
384
384
  computeScoreParameters?: import("@angleprotocol/sdk/ts").ComputeScoreParameters<import("@angleprotocol/sdk/ts").ComputeScoreMethod> | undefined;
385
385
  distributionMethodParameters?: import("@angleprotocol/sdk/ts").DistributionParameters<import("@angleprotocol/sdk/ts").DistributionMethod> | undefined;
386
- campaignType: import("@angleprotocol/sdk/ts").Campaign.MORPHOVAULT | import("@angleprotocol/sdk/ts").MORPHO_SINGLETOKEN;
386
+ campaignType: import("@angleprotocol/sdk/ts").Campaign.MORPHOVAULT | import("@angleprotocol/sdk/ts").Campaign.CCL_TAC | import("@angleprotocol/sdk/ts").MORPHO_SINGLETOKEN;
387
387
  endTimestamp: number;
388
388
  targetToken: string;
389
389
  whitelist: string[];
@@ -918,6 +918,21 @@ export declare const ProgramPayloadController: Elysia<"/program-payload", {
918
918
  whitelist: string[];
919
919
  blacklist: string[];
920
920
  url?: string | undefined;
921
+ } | {
922
+ rewardToken: string;
923
+ amount: string;
924
+ startTimestamp: number;
925
+ computeChainId?: import("@angleprotocol/sdk/ts").MerklChainId | undefined;
926
+ creator?: string | undefined;
927
+ hooks?: (import("@angleprotocol/sdk/ts").HookParameters<import("@angleprotocol/sdk/ts").HOOK> | string)[] | undefined;
928
+ computeScoreParameters?: import("@angleprotocol/sdk/ts").ComputeScoreParameters<import("@angleprotocol/sdk/ts").ComputeScoreMethod> | undefined;
929
+ distributionMethodParameters?: import("@angleprotocol/sdk/ts").DistributionParameters<import("@angleprotocol/sdk/ts").DistributionMethod> | undefined;
930
+ campaignType: import("@angleprotocol/sdk/ts").FluidVaultCampaignType;
931
+ endTimestamp: number;
932
+ vault: string;
933
+ whitelist: string[];
934
+ blacklist: string[];
935
+ url?: string | undefined;
921
936
  } | {
922
937
  rewardToken: string;
923
938
  amount: string;
@@ -1034,10 +1049,9 @@ export declare const ProgramPayloadController: Elysia<"/program-payload", {
1034
1049
  address: string;
1035
1050
  id: string;
1036
1051
  chainId: number;
1052
+ type: import("@package/databases").TokenType;
1037
1053
  icon: string;
1038
1054
  isNative: boolean;
1039
- isPoint: boolean;
1040
- isPreTGE: boolean;
1041
1055
  isTest: boolean;
1042
1056
  verified: boolean;
1043
1057
  } & {
@@ -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;