@merkl/api 0.20.155 → 0.20.157

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.
@@ -162,7 +162,9 @@ declare const app: Elysia<"", false, {
162
162
  post: {
163
163
  body: {
164
164
  name?: string | undefined;
165
+ description?: string | undefined;
165
166
  tags?: string[] | undefined;
167
+ howToSteps?: string[] | undefined;
166
168
  depositUrl?: string | undefined;
167
169
  explorerAddress?: string | undefined;
168
170
  protocols?: string[] | undefined;
@@ -359,6 +361,8 @@ declare const app: Elysia<"", false, {
359
361
  price?: number | null | undefined;
360
362
  })[];
361
363
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
364
+ description: string;
365
+ howToSteps: string[];
362
366
  depositUrl: string | undefined;
363
367
  explorerAddress: string | undefined;
364
368
  tags: string[];
@@ -450,6 +454,8 @@ declare const app: Elysia<"", false, {
450
454
  price?: number | null | undefined;
451
455
  })[];
452
456
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
457
+ description: string;
458
+ howToSteps: string[];
453
459
  depositUrl: string | undefined;
454
460
  explorerAddress: string | undefined;
455
461
  tags: string[];
@@ -735,9 +741,7 @@ declare const app: Elysia<"", false, {
735
741
  tags: string[];
736
742
  icon: string;
737
743
  } | null | undefined;
738
- description?: string | undefined;
739
744
  distributionType?: "DUTCH_AUCTION" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | undefined;
740
- howToSteps?: string[] | undefined;
741
745
  depositUrl?: string | undefined;
742
746
  explorerAddress?: string | undefined;
743
747
  aprRecord?: {
@@ -806,6 +810,7 @@ declare const app: Elysia<"", false, {
806
810
  isPoint: boolean;
807
811
  isPreTGE: boolean;
808
812
  }[];
813
+ description: string;
809
814
  tags: string[];
810
815
  identifier: string;
811
816
  chain: {
@@ -815,6 +820,7 @@ declare const app: Elysia<"", false, {
815
820
  };
816
821
  action: string;
817
822
  chainId: number;
823
+ howToSteps: string[];
818
824
  tvl: number;
819
825
  apr: number;
820
826
  dailyRewards: number;
@@ -874,9 +880,7 @@ declare const app: Elysia<"", false, {
874
880
  tags: string[];
875
881
  icon: string;
876
882
  } | null | undefined;
877
- description?: string | undefined;
878
883
  distributionType?: "DUTCH_AUCTION" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | undefined;
879
- howToSteps?: string[] | undefined;
880
884
  depositUrl?: string | undefined;
881
885
  explorerAddress?: string | undefined;
882
886
  aprRecord?: {
@@ -945,6 +949,7 @@ declare const app: Elysia<"", false, {
945
949
  isPoint: boolean;
946
950
  isPreTGE: boolean;
947
951
  }[];
952
+ description: string;
948
953
  tags: string[];
949
954
  identifier: string;
950
955
  chain: {
@@ -954,6 +959,7 @@ declare const app: Elysia<"", false, {
954
959
  };
955
960
  action: string;
956
961
  chainId: number;
962
+ howToSteps: string[];
957
963
  tvl: number;
958
964
  apr: number;
959
965
  dailyRewards: number;
@@ -1050,9 +1056,7 @@ declare const app: Elysia<"", false, {
1050
1056
  tags: string[];
1051
1057
  icon: string;
1052
1058
  } | null | undefined;
1053
- description?: string | undefined;
1054
1059
  distributionType?: "DUTCH_AUCTION" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | undefined;
1055
- howToSteps?: string[] | undefined;
1056
1060
  depositUrl?: string | undefined;
1057
1061
  explorerAddress?: string | undefined;
1058
1062
  aprRecord?: {
@@ -1121,6 +1125,7 @@ declare const app: Elysia<"", false, {
1121
1125
  isPoint: boolean;
1122
1126
  isPreTGE: boolean;
1123
1127
  }[];
1128
+ description: string;
1124
1129
  tags: string[];
1125
1130
  identifier: string;
1126
1131
  chain: {
@@ -1130,6 +1135,7 @@ declare const app: Elysia<"", false, {
1130
1135
  };
1131
1136
  action: string;
1132
1137
  chainId: number;
1138
+ howToSteps: string[];
1133
1139
  tvl: number;
1134
1140
  apr: number;
1135
1141
  dailyRewards: number;
@@ -1447,6 +1453,8 @@ declare const app: Elysia<"", false, {
1447
1453
  price?: number | null | undefined;
1448
1454
  })[];
1449
1455
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
1456
+ description: string;
1457
+ howToSteps: string[];
1450
1458
  depositUrl: string | undefined;
1451
1459
  explorerAddress: string | undefined;
1452
1460
  tags: string[];
@@ -1544,6 +1552,24 @@ declare const app: Elysia<"", false, {
1544
1552
  };
1545
1553
  };
1546
1554
  };
1555
+ } & {
1556
+ tvls: {
1557
+ ":opportunityId": {
1558
+ put: {
1559
+ body: unknown;
1560
+ params: {
1561
+ opportunityId: string;
1562
+ };
1563
+ query: unknown;
1564
+ headers: {
1565
+ authorization: string;
1566
+ };
1567
+ response: {
1568
+ 200: unknown[];
1569
+ };
1570
+ };
1571
+ };
1572
+ };
1547
1573
  } & {
1548
1574
  index: {
1549
1575
  get: {
@@ -1824,21 +1850,6 @@ declare const app: Elysia<"", false, {
1824
1850
  };
1825
1851
  };
1826
1852
  };
1827
- campaignstvls: {
1828
- ":opportunityId": {
1829
- put: {
1830
- body: unknown;
1831
- params: {
1832
- opportunityId: string;
1833
- };
1834
- query: unknown;
1835
- headers: unknown;
1836
- response: {
1837
- 200: unknown[];
1838
- };
1839
- };
1840
- };
1841
- };
1842
1853
  } & {
1843
1854
  campaigns: {
1844
1855
  index: {
@@ -2120,37 +2131,41 @@ declare const app: Elysia<"", false, {
2120
2131
  } & {
2121
2132
  v4: {
2122
2133
  campaigns: {
2123
- "dry-runtvl": {
2124
- ":campaignId": {
2125
- get: {
2126
- body: unknown;
2127
- params: {
2128
- campaignId: string;
2129
- };
2130
- query: unknown;
2131
- headers: {
2132
- authorization: string;
2133
- };
2134
- response: {
2135
- 200: unknown[];
2134
+ "dry-run": {
2135
+ tvl: {
2136
+ ":campaignId": {
2137
+ get: {
2138
+ body: unknown;
2139
+ params: {
2140
+ campaignId: string;
2141
+ };
2142
+ query: unknown;
2143
+ headers: {
2144
+ authorization: string;
2145
+ };
2146
+ response: {
2147
+ 200: unknown[];
2148
+ };
2136
2149
  };
2137
2150
  };
2138
2151
  };
2139
2152
  };
2140
2153
  } & {
2141
- "dry-runtvls": {
2142
- ":opportunityId": {
2143
- get: {
2144
- body: unknown;
2145
- params: {
2146
- opportunityId: string;
2147
- };
2148
- query: unknown;
2149
- headers: {
2150
- authorization: string;
2151
- };
2152
- response: {
2153
- 200: unknown[];
2154
+ "dry-run": {
2155
+ tvls: {
2156
+ ":opportunityId": {
2157
+ get: {
2158
+ body: unknown;
2159
+ params: {
2160
+ opportunityId: string;
2161
+ };
2162
+ query: unknown;
2163
+ headers: {
2164
+ authorization: string;
2165
+ };
2166
+ response: {
2167
+ 200: unknown[];
2168
+ };
2154
2169
  };
2155
2170
  };
2156
2171
  };
@@ -2341,6 +2356,8 @@ declare const app: Elysia<"", false, {
2341
2356
  price?: number | null | undefined;
2342
2357
  })[];
2343
2358
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
2359
+ description: string;
2360
+ howToSteps: string[];
2344
2361
  depositUrl: string | undefined;
2345
2362
  explorerAddress: string | undefined;
2346
2363
  tags: string[];
@@ -2449,6 +2466,8 @@ declare const app: Elysia<"", false, {
2449
2466
  price?: number | null | undefined;
2450
2467
  })[];
2451
2468
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
2469
+ description: string;
2470
+ howToSteps: string[];
2452
2471
  depositUrl: string | undefined;
2453
2472
  explorerAddress: string | undefined;
2454
2473
  tags: string[];
@@ -123,6 +123,8 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
123
123
  price?: number | null | undefined;
124
124
  })[];
125
125
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
126
+ description: string;
127
+ howToSteps: string[];
126
128
  depositUrl: string | undefined;
127
129
  explorerAddress: string | undefined;
128
130
  tags: string[];
@@ -220,6 +222,24 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
220
222
  };
221
223
  };
222
224
  };
225
+ } & {
226
+ tvls: {
227
+ ":opportunityId": {
228
+ put: {
229
+ body: unknown;
230
+ params: {
231
+ opportunityId: string;
232
+ };
233
+ query: unknown;
234
+ headers: {
235
+ authorization: string;
236
+ };
237
+ response: {
238
+ 200: unknown[];
239
+ };
240
+ };
241
+ };
242
+ };
223
243
  } & {
224
244
  index: {
225
245
  get: {
@@ -500,21 +520,6 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
500
520
  };
501
521
  };
502
522
  };
503
- campaignstvls: {
504
- ":opportunityId": {
505
- put: {
506
- body: unknown;
507
- params: {
508
- opportunityId: string;
509
- };
510
- query: unknown;
511
- headers: unknown;
512
- response: {
513
- 200: unknown[];
514
- };
515
- };
516
- };
517
- };
518
523
  } & {
519
524
  campaigns: {
520
525
  index: {
@@ -47,7 +47,7 @@ export const CampaignController = new Elysia({ prefix: "/campaigns", detail: { t
47
47
  body: UpdateMetaDataCampaignDto,
48
48
  detail: { hide: true },
49
49
  })
50
- .put("tvls/:opportunityId", async ({ params }) => {
50
+ .put("/tvls/:opportunityId", async ({ params }) => {
51
51
  const campaigns = (await CampaignService.findMany({
52
52
  opportunityId: params.opportunityId,
53
53
  status: "LIVE",
@@ -58,6 +58,10 @@ export const CampaignController = new Elysia({ prefix: "/campaigns", detail: { t
58
58
  if (!campaigns.length)
59
59
  throw new NotFoundError("Opportunity not found");
60
60
  return await DynamicDataService.update(campaigns[0]?.computeChainId, campaigns[0].campaignType, campaigns);
61
+ }, {
62
+ beforeHandle: BackOfficeGuard,
63
+ headers: AuthorizationHeadersDto,
64
+ detail: { hide: true },
61
65
  })
62
66
  // ─── Get Many Campaigns ──────────────────────────────────────────────
63
67
  .get("/", async ({ query }) => {
@@ -244,6 +244,8 @@ export declare abstract class CampaignService {
244
244
  price?: number | null | undefined;
245
245
  })[];
246
246
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
247
+ description: string;
248
+ howToSteps: string[];
247
249
  depositUrl: string | undefined;
248
250
  explorerAddress: string | undefined;
249
251
  tags: string[];
@@ -13,37 +13,41 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
13
13
  macroFn: {};
14
14
  }, {
15
15
  campaigns: {
16
- "dry-runtvl": {
17
- ":campaignId": {
18
- get: {
19
- body: unknown;
20
- params: {
21
- campaignId: string;
22
- };
23
- query: unknown;
24
- headers: {
25
- authorization: string;
26
- };
27
- response: {
28
- 200: unknown[];
16
+ "dry-run": {
17
+ tvl: {
18
+ ":campaignId": {
19
+ get: {
20
+ body: unknown;
21
+ params: {
22
+ campaignId: string;
23
+ };
24
+ query: unknown;
25
+ headers: {
26
+ authorization: string;
27
+ };
28
+ response: {
29
+ 200: unknown[];
30
+ };
29
31
  };
30
32
  };
31
33
  };
32
34
  };
33
35
  } & {
34
- "dry-runtvls": {
35
- ":opportunityId": {
36
- get: {
37
- body: unknown;
38
- params: {
39
- opportunityId: string;
40
- };
41
- query: unknown;
42
- headers: {
43
- authorization: string;
44
- };
45
- response: {
46
- 200: unknown[];
36
+ "dry-run": {
37
+ tvls: {
38
+ ":opportunityId": {
39
+ get: {
40
+ body: unknown;
41
+ params: {
42
+ opportunityId: string;
43
+ };
44
+ query: unknown;
45
+ headers: {
46
+ authorization: string;
47
+ };
48
+ response: {
49
+ 200: unknown[];
50
+ };
47
51
  };
48
52
  };
49
53
  };
@@ -234,6 +238,8 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
234
238
  price?: number | null | undefined;
235
239
  })[];
236
240
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
241
+ description: string;
242
+ howToSteps: string[];
237
243
  depositUrl: string | undefined;
238
244
  explorerAddress: string | undefined;
239
245
  tags: string[];
@@ -342,6 +348,8 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
342
348
  price?: number | null | undefined;
343
349
  })[];
344
350
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
351
+ description: string;
352
+ howToSteps: string[];
345
353
  depositUrl: string | undefined;
346
354
  explorerAddress: string | undefined;
347
355
  tags: string[];
@@ -20,7 +20,7 @@ export const CampaignTestController = new Elysia({
20
20
  beforeHandle: BackOfficeGuard,
21
21
  })
22
22
  // ─── Test TVL computation given a campaignId ───────────────────────
23
- .get("tvl/:campaignId", async ({ params }) => {
23
+ .get("/tvl/:campaignId", async ({ params }) => {
24
24
  const id = (await CampaignService.findMany({ campaignId: params.campaignId, test: true }))?.[0]?.id;
25
25
  if (!id)
26
26
  throw new NotFoundError();
@@ -29,7 +29,7 @@ export const CampaignTestController = new Elysia({
29
29
  return await DynamicDataService.update(campaignV3.computeChainId, campaignV3.campaignType, [campaignV3], true);
30
30
  })
31
31
  // ─── Test TVL computation given a campaignId ───────────────────────
32
- .get("tvls/:opportunityId", async ({ params }) => {
32
+ .get("/tvls/:opportunityId", async ({ params }) => {
33
33
  const campaigns = (await CampaignService.findMany({
34
34
  opportunityId: params.opportunityId,
35
35
  status: "LIVE",
@@ -40,6 +40,10 @@ export const CampaignTestController = new Elysia({
40
40
  if (!campaigns.length)
41
41
  throw new NotFoundError("Opportunity not found");
42
42
  return await DynamicDataService.update(campaigns[0]?.computeChainId, campaigns[0].campaignType, campaigns, true);
43
+ }, {
44
+ beforeHandle: BackOfficeGuard,
45
+ headers: AuthorizationHeadersDto,
46
+ detail: { hide: true },
43
47
  })
44
48
  // ─── Test TVL computation with a list of campaignId ───────────────────────
45
49
  .post("/tvls/list", async ({ body }) => {
@@ -17,7 +17,9 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
17
17
  post: {
18
18
  body: {
19
19
  name?: string | undefined;
20
+ description?: string | undefined;
20
21
  tags?: string[] | undefined;
22
+ howToSteps?: string[] | undefined;
21
23
  depositUrl?: string | undefined;
22
24
  explorerAddress?: string | undefined;
23
25
  protocols?: string[] | undefined;
@@ -214,6 +216,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
214
216
  price?: number | null | undefined;
215
217
  })[];
216
218
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
219
+ description: string;
220
+ howToSteps: string[];
217
221
  depositUrl: string | undefined;
218
222
  explorerAddress: string | undefined;
219
223
  tags: string[];
@@ -305,6 +309,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
305
309
  price?: number | null | undefined;
306
310
  })[];
307
311
  mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
312
+ description: string;
313
+ howToSteps: string[];
308
314
  depositUrl: string | undefined;
309
315
  explorerAddress: string | undefined;
310
316
  tags: string[];
@@ -590,9 +596,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
590
596
  tags: string[];
591
597
  icon: string;
592
598
  } | null | undefined;
593
- description?: string | undefined;
594
599
  distributionType?: "DUTCH_AUCTION" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | undefined;
595
- howToSteps?: string[] | undefined;
596
600
  depositUrl?: string | undefined;
597
601
  explorerAddress?: string | undefined;
598
602
  aprRecord?: {
@@ -661,6 +665,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
661
665
  isPoint: boolean;
662
666
  isPreTGE: boolean;
663
667
  }[];
668
+ description: string;
664
669
  tags: string[];
665
670
  identifier: string;
666
671
  chain: {
@@ -670,6 +675,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
670
675
  };
671
676
  action: string;
672
677
  chainId: number;
678
+ howToSteps: string[];
673
679
  tvl: number;
674
680
  apr: number;
675
681
  dailyRewards: number;
@@ -729,9 +735,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
729
735
  tags: string[];
730
736
  icon: string;
731
737
  } | null | undefined;
732
- description?: string | undefined;
733
738
  distributionType?: "DUTCH_AUCTION" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | undefined;
734
- howToSteps?: string[] | undefined;
735
739
  depositUrl?: string | undefined;
736
740
  explorerAddress?: string | undefined;
737
741
  aprRecord?: {
@@ -800,6 +804,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
800
804
  isPoint: boolean;
801
805
  isPreTGE: boolean;
802
806
  }[];
807
+ description: string;
803
808
  tags: string[];
804
809
  identifier: string;
805
810
  chain: {
@@ -809,6 +814,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
809
814
  };
810
815
  action: string;
811
816
  chainId: number;
817
+ howToSteps: string[];
812
818
  tvl: number;
813
819
  apr: number;
814
820
  dailyRewards: number;
@@ -905,9 +911,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
905
911
  tags: string[];
906
912
  icon: string;
907
913
  } | null | undefined;
908
- description?: string | undefined;
909
914
  distributionType?: "DUTCH_AUCTION" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | undefined;
910
- howToSteps?: string[] | undefined;
911
915
  depositUrl?: string | undefined;
912
916
  explorerAddress?: string | undefined;
913
917
  aprRecord?: {
@@ -976,6 +980,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
976
980
  isPoint: boolean;
977
981
  isPreTGE: boolean;
978
982
  }[];
983
+ description: string;
979
984
  tags: string[];
980
985
  identifier: string;
981
986
  chain: {
@@ -985,6 +990,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
985
990
  };
986
991
  action: string;
987
992
  chainId: number;
993
+ howToSteps: string[];
988
994
  tvl: number;
989
995
  apr: number;
990
996
  dailyRewards: number;
@@ -36,8 +36,8 @@ export declare const OpportunityResourceDto: import("@sinclair/typebox").TObject
36
36
  type: import("@sinclair/typebox").TString;
37
37
  identifier: import("@sinclair/typebox").TString;
38
38
  name: import("@sinclair/typebox").TString;
39
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
40
- howToSteps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
39
+ description: import("@sinclair/typebox").TString;
40
+ howToSteps: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
41
41
  status: import("@sinclair/typebox").TString;
42
42
  action: import("@sinclair/typebox").TString;
43
43
  tvl: import("@sinclair/typebox").TNumber;
@@ -165,7 +165,7 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
165
165
  price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
166
166
  symbol: import("@sinclair/typebox").TString;
167
167
  }>>;
168
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
168
+ description: import("@sinclair/typebox").TString;
169
169
  tags: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
170
170
  identifier: import("@sinclair/typebox").TString;
171
171
  chain: import("@sinclair/typebox").TObject<{
@@ -182,7 +182,7 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
182
182
  FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT: "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT";
183
183
  }>>;
184
184
  chainId: import("@sinclair/typebox").TNumber;
185
- howToSteps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
185
+ howToSteps: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
186
186
  depositUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
187
187
  explorerAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
188
188
  tvl: import("@sinclair/typebox").TNumber;
@@ -358,6 +358,8 @@ export declare const CreateOpportunityDto: import("@sinclair/typebox").TObject<{
358
358
  SWAP: "SWAP";
359
359
  INVALID: "INVALID";
360
360
  }>;
361
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
362
+ howToSteps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
361
363
  tokens: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
362
364
  address: import("@sinclair/typebox").TString;
363
365
  chainId: import("@sinclair/typebox").TNumber;