@merkl/api 0.10.342 → 0.10.344

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.
@@ -125,7 +125,7 @@ declare const eden: {
125
125
  } & {
126
126
  price?: number | null | undefined;
127
127
  })[];
128
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
128
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
129
129
  depositUrl: any;
130
130
  tags: string[];
131
131
  };
@@ -1022,6 +1022,30 @@ declare const eden: {
1022
1022
  };
1023
1023
  }>>;
1024
1024
  }) & {
1025
+ reward: ((params: {
1026
+ chainId: string | number;
1027
+ }) => {
1028
+ get: (options?: {
1029
+ headers?: Record<string, unknown> | undefined;
1030
+ query?: Record<string, unknown> | undefined;
1031
+ fetch?: RequestInit | undefined;
1032
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
1033
+ 200: {
1034
+ minimumAmountPerHour: any;
1035
+ symbol: string;
1036
+ name: string | null;
1037
+ id: string;
1038
+ icon: string;
1039
+ chainId: number;
1040
+ address: string;
1041
+ decimals: number;
1042
+ displaySymbol: string;
1043
+ verified: boolean;
1044
+ isTest: boolean;
1045
+ price: number | null;
1046
+ }[];
1047
+ }>>;
1048
+ }) & {};
1025
1049
  balances: {
1026
1050
  get: (options: {
1027
1051
  headers?: Record<string, unknown> | undefined;
@@ -2520,6 +2544,16 @@ declare const eden: {
2520
2544
  boost: string;
2521
2545
  }[];
2522
2546
  }>>;
2547
+ get: (options?: {
2548
+ headers?: Record<string, unknown> | undefined;
2549
+ query?: Record<string, unknown> | undefined;
2550
+ fetch?: RequestInit | undefined;
2551
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
2552
+ 200: {
2553
+ address: string;
2554
+ boost: string;
2555
+ }[];
2556
+ }>>;
2523
2557
  };
2524
2558
  };
2525
2559
  };
@@ -2578,8 +2612,8 @@ declare const eden: {
2578
2612
  query: {
2579
2613
  types?: string | number | string[] | number[] | undefined;
2580
2614
  chainIds?: string | string[] | undefined;
2581
- creatorTag?: string | undefined;
2582
2615
  live?: boolean | undefined;
2616
+ creatorTag?: string | undefined;
2583
2617
  hideTestTokens?: string | undefined;
2584
2618
  };
2585
2619
  fetch?: RequestInit | undefined;
@@ -3328,7 +3362,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
3328
3362
  } & {
3329
3363
  price?: number | null | undefined;
3330
3364
  })[];
3331
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
3365
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
3332
3366
  depositUrl: any;
3333
3367
  tags: string[];
3334
3368
  };
@@ -4295,6 +4329,37 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
4295
4329
  };
4296
4330
  };
4297
4331
  };
4332
+ } & {
4333
+ tokens: {
4334
+ reward: {
4335
+ ":chainId": {
4336
+ get: {
4337
+ body: unknown;
4338
+ params: {
4339
+ chainId: number;
4340
+ };
4341
+ query: unknown;
4342
+ headers: unknown;
4343
+ response: {
4344
+ 200: {
4345
+ minimumAmountPerHour: any;
4346
+ symbol: string;
4347
+ name: string | null;
4348
+ id: string;
4349
+ icon: string;
4350
+ chainId: number;
4351
+ address: string;
4352
+ decimals: number;
4353
+ displaySymbol: string;
4354
+ verified: boolean;
4355
+ isTest: boolean;
4356
+ price: number | null;
4357
+ }[];
4358
+ };
4359
+ };
4360
+ };
4361
+ };
4362
+ };
4298
4363
  } & {
4299
4364
  tokens: {
4300
4365
  balances: {
@@ -6233,6 +6298,23 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
6233
6298
  };
6234
6299
  };
6235
6300
  };
6301
+ } & {
6302
+ boosts: {
6303
+ euler: {
6304
+ get: {
6305
+ body: unknown;
6306
+ params: {};
6307
+ query: unknown;
6308
+ headers: unknown;
6309
+ response: {
6310
+ 200: {
6311
+ address: string;
6312
+ boost: string;
6313
+ }[];
6314
+ };
6315
+ };
6316
+ };
6317
+ };
6236
6318
  };
6237
6319
  } & {
6238
6320
  v3: {
@@ -6311,8 +6393,8 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
6311
6393
  query: {
6312
6394
  types?: string | number | string[] | number[] | undefined;
6313
6395
  chainIds?: string | string[] | undefined;
6314
- creatorTag?: string | undefined;
6315
6396
  live?: boolean | undefined;
6397
+ creatorTag?: string | undefined;
6316
6398
  hideTestTokens?: string | undefined;
6317
6399
  };
6318
6400
  headers: unknown;
@@ -7119,7 +7201,7 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
7119
7201
  } & {
7120
7202
  price?: number | null | undefined;
7121
7203
  })[];
7122
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
7204
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
7123
7205
  depositUrl: any;
7124
7206
  tags: string[];
7125
7207
  };
@@ -8016,6 +8098,30 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
8016
8098
  };
8017
8099
  }>>;
8018
8100
  }) & {
8101
+ reward: ((params: {
8102
+ chainId: string | number;
8103
+ }) => {
8104
+ get: (options?: {
8105
+ headers?: Record<string, unknown> | undefined;
8106
+ query?: Record<string, unknown> | undefined;
8107
+ fetch?: RequestInit | undefined;
8108
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
8109
+ 200: {
8110
+ minimumAmountPerHour: any;
8111
+ symbol: string;
8112
+ name: string | null;
8113
+ id: string;
8114
+ icon: string;
8115
+ chainId: number;
8116
+ address: string;
8117
+ decimals: number;
8118
+ displaySymbol: string;
8119
+ verified: boolean;
8120
+ isTest: boolean;
8121
+ price: number | null;
8122
+ }[];
8123
+ }>>;
8124
+ }) & {};
8019
8125
  balances: {
8020
8126
  get: (options: {
8021
8127
  headers?: Record<string, unknown> | undefined;
@@ -9514,6 +9620,16 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
9514
9620
  boost: string;
9515
9621
  }[];
9516
9622
  }>>;
9623
+ get: (options?: {
9624
+ headers?: Record<string, unknown> | undefined;
9625
+ query?: Record<string, unknown> | undefined;
9626
+ fetch?: RequestInit | undefined;
9627
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
9628
+ 200: {
9629
+ address: string;
9630
+ boost: string;
9631
+ }[];
9632
+ }>>;
9517
9633
  };
9518
9634
  };
9519
9635
  };
@@ -9572,8 +9688,8 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
9572
9688
  query: {
9573
9689
  types?: string | number | string[] | number[] | undefined;
9574
9690
  chainIds?: string | string[] | undefined;
9575
- creatorTag?: string | undefined;
9576
9691
  live?: boolean | undefined;
9692
+ creatorTag?: string | undefined;
9577
9693
  hideTestTokens?: string | undefined;
9578
9694
  };
9579
9695
  fetch?: RequestInit | undefined;
@@ -221,7 +221,7 @@ declare const app: Elysia<"", false, {
221
221
  } & {
222
222
  price?: number | null | undefined;
223
223
  })[];
224
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
224
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
225
225
  depositUrl: any;
226
226
  tags: string[];
227
227
  };
@@ -1188,6 +1188,37 @@ declare const app: Elysia<"", false, {
1188
1188
  };
1189
1189
  };
1190
1190
  };
1191
+ } & {
1192
+ tokens: {
1193
+ reward: {
1194
+ ":chainId": {
1195
+ get: {
1196
+ body: unknown;
1197
+ params: {
1198
+ chainId: number;
1199
+ };
1200
+ query: unknown;
1201
+ headers: unknown;
1202
+ response: {
1203
+ 200: {
1204
+ minimumAmountPerHour: any;
1205
+ symbol: string;
1206
+ name: string | null;
1207
+ id: string;
1208
+ icon: string;
1209
+ chainId: number;
1210
+ address: string;
1211
+ decimals: number;
1212
+ displaySymbol: string;
1213
+ verified: boolean;
1214
+ isTest: boolean;
1215
+ price: number | null;
1216
+ }[];
1217
+ };
1218
+ };
1219
+ };
1220
+ };
1221
+ };
1191
1222
  } & {
1192
1223
  tokens: {
1193
1224
  balances: {
@@ -3126,6 +3157,23 @@ declare const app: Elysia<"", false, {
3126
3157
  };
3127
3158
  };
3128
3159
  };
3160
+ } & {
3161
+ boosts: {
3162
+ euler: {
3163
+ get: {
3164
+ body: unknown;
3165
+ params: {};
3166
+ query: unknown;
3167
+ headers: unknown;
3168
+ response: {
3169
+ 200: {
3170
+ address: string;
3171
+ boost: string;
3172
+ }[];
3173
+ };
3174
+ };
3175
+ };
3176
+ };
3129
3177
  };
3130
3178
  } & {
3131
3179
  v3: {
@@ -3204,8 +3252,8 @@ declare const app: Elysia<"", false, {
3204
3252
  query: {
3205
3253
  types?: string | number | string[] | number[] | undefined;
3206
3254
  chainIds?: string | string[] | undefined;
3207
- creatorTag?: string | undefined;
3208
3255
  live?: boolean | undefined;
3256
+ creatorTag?: string | undefined;
3209
3257
  hideTestTokens?: string | undefined;
3210
3258
  };
3211
3259
  headers: unknown;
@@ -1,6 +1,5 @@
1
- import { engineDbClient } from "../../utils/prisma";
1
+ import { UserService } from "../../modules/v4/user";
2
2
  import { Campaign } from "@sdk";
3
- import { getAddress } from "ethers/lib/utils";
4
3
  import { AjnaDynamicData } from "./campaignTypes/AjnaDynamicData";
5
4
  import { BadgerDynamicData } from "./campaignTypes/BadgerDynamicData";
6
5
  import { CLAMMDynamicData } from "./campaignTypes/CLAMMDynamicData";
@@ -17,12 +16,9 @@ import { SILODynamicData } from "./campaignTypes/SILODynamicData";
17
16
  import { VestDynamicData } from "./campaignTypes/VestDynamicData";
18
17
  export async function campaignsDynamicData(chainId, campaigns, type) {
19
18
  try {
20
- const tags = (await engineDbClient.campaignCreators.findMany()).reduce((acc, curr) => {
21
- acc[getAddress(curr.address)] = curr.tags.split(",");
22
- return acc;
23
- }, {});
24
19
  for (const campaign of campaigns) {
25
- campaign.tags = tags[getAddress(campaign.creator)] || [];
20
+ const tags = (await UserService.findUnique(campaign.creator))?.tags;
21
+ campaign.tags = tags || [];
26
22
  }
27
23
  }
28
24
  catch (_err) { }
@@ -33,6 +33,23 @@ export declare const BoostController: Elysia<"/boosts", false, {
33
33
  };
34
34
  };
35
35
  };
36
+ } & {
37
+ boosts: {
38
+ euler: {
39
+ get: {
40
+ body: unknown;
41
+ params: {};
42
+ query: unknown;
43
+ headers: unknown;
44
+ response: {
45
+ 200: {
46
+ address: string;
47
+ boost: string;
48
+ }[];
49
+ };
50
+ };
51
+ };
52
+ };
36
53
  }, {
37
54
  derive: {};
38
55
  resolve: {};
@@ -3,7 +3,8 @@ import { getEulerBoostBody } from "./boost.model";
3
3
  import { BoostService } from "./boost.service";
4
4
  export const BoostController = new Elysia({ prefix: "/boosts", detail: { tags: ["Boosts"], hide: true } })
5
5
  // ─── Get Euler Boost ─────────────────────────────────────────────────
6
- .post("/euler", async ({ body }) => await BoostService.getEulerBoost(), {
6
+ .post("/euler", async ({ body }) => BoostService.getEulerBoost(), {
7
7
  body: getEulerBoostBody,
8
8
  detail: { hide: true },
9
- });
9
+ })
10
+ .get("/euler", async () => BoostService.getEulerBoost());
@@ -90,7 +90,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
90
90
  } & {
91
91
  price?: number | null | undefined;
92
92
  })[];
93
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
93
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
94
94
  depositUrl: any;
95
95
  tags: string[];
96
96
  };
@@ -47,7 +47,7 @@ export declare abstract class OpportunityService {
47
47
  } & {
48
48
  price?: number | null | undefined;
49
49
  })[];
50
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
50
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
51
51
  depositUrl: any;
52
52
  tags: string[];
53
53
  }>;
@@ -75,7 +75,7 @@ export declare abstract class OpportunityService {
75
75
  } & {
76
76
  price?: number | null | undefined;
77
77
  })[];
78
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
78
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
79
79
  depositUrl: any;
80
80
  tags: string[];
81
81
  }>;
@@ -99,7 +99,7 @@ export declare const v4: Elysia<"/v4", false, {
99
99
  } & {
100
100
  price?: number | null | undefined;
101
101
  })[];
102
- mainProtocol: "morpho" | "aura" | "poolside" | "gearbox" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fenix" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "akron" | "dragonswap" | "koi" | "baseswap" | "zkswap" | "rfx" | "woofi" | "zkSwapThreePool" | "venus" | "reactor_fusion" | "curveNPool" | "balancer" | "aave" | "zerolend" | "arthswap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "supswap-v3" | "thirdtrade" | "uniswap-v2" | "cross_curve" | "syncswap-v3" | "neptune" | "radiant" | "euler" | "sturdy" | "frax" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | undefined;
102
+ mainProtocol: "morpho" | "arthswap" | "baseswap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancakeswap-v3" | "quickswap-algebra" | "quickswap-uni" | "ramses" | "retro" | "stryke" | "stryke-pcs" | "stryke-sushi" | "sushiswap-v3" | "swapr" | "thruster" | "uniswap-v3" | "voltage" | "zero" | "koi" | "supswap-v3" | "zkswap" | "thirdtrade" | "uniswap-v2" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap-v3" | "neptune" | "zkSwapThreePool" | "syncswap" | "rfx" | "radiant" | "aave" | "euler" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "coumpound" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | undefined;
103
103
  depositUrl: any;
104
104
  tags: string[];
105
105
  };
@@ -1066,6 +1066,37 @@ export declare const v4: Elysia<"/v4", false, {
1066
1066
  };
1067
1067
  };
1068
1068
  };
1069
+ } & {
1070
+ tokens: {
1071
+ reward: {
1072
+ ":chainId": {
1073
+ get: {
1074
+ body: unknown;
1075
+ params: {
1076
+ chainId: number;
1077
+ };
1078
+ query: unknown;
1079
+ headers: unknown;
1080
+ response: {
1081
+ 200: {
1082
+ minimumAmountPerHour: any;
1083
+ symbol: string;
1084
+ name: string | null;
1085
+ id: string;
1086
+ icon: string;
1087
+ chainId: number;
1088
+ address: string;
1089
+ decimals: number;
1090
+ displaySymbol: string;
1091
+ verified: boolean;
1092
+ isTest: boolean;
1093
+ price: number | null;
1094
+ }[];
1095
+ };
1096
+ };
1097
+ };
1098
+ };
1099
+ };
1069
1100
  } & {
1070
1101
  tokens: {
1071
1102
  balances: {
@@ -3004,6 +3035,23 @@ export declare const v4: Elysia<"/v4", false, {
3004
3035
  };
3005
3036
  };
3006
3037
  };
3038
+ } & {
3039
+ boosts: {
3040
+ euler: {
3041
+ get: {
3042
+ body: unknown;
3043
+ params: {};
3044
+ query: unknown;
3045
+ headers: unknown;
3046
+ response: {
3047
+ 200: {
3048
+ address: string;
3049
+ boost: string;
3050
+ }[];
3051
+ };
3052
+ };
3053
+ };
3054
+ };
3007
3055
  };
3008
3056
  }, {
3009
3057
  derive: {};
@@ -38,6 +38,37 @@ export declare const TokenController: Elysia<"/tokens", false, {
38
38
  };
39
39
  };
40
40
  };
41
+ } & {
42
+ tokens: {
43
+ reward: {
44
+ ":chainId": {
45
+ get: {
46
+ body: unknown;
47
+ params: {
48
+ chainId: number;
49
+ };
50
+ query: unknown;
51
+ headers: unknown;
52
+ response: {
53
+ 200: {
54
+ minimumAmountPerHour: any;
55
+ symbol: string;
56
+ name: string | null;
57
+ id: string;
58
+ icon: string;
59
+ chainId: number;
60
+ address: string;
61
+ decimals: number;
62
+ displaySymbol: string;
63
+ verified: boolean;
64
+ isTest: boolean;
65
+ price: number | null;
66
+ }[];
67
+ };
68
+ };
69
+ };
70
+ };
71
+ };
41
72
  } & {
42
73
  tokens: {
43
74
  balances: {
@@ -2,6 +2,7 @@ import { NotFoundError } from "../../../errors/NotFound.error";
2
2
  import { AuthorizationHeadersDto, BackOfficeGuard } from "../../../guards/BackOffice.guard";
3
3
  import { throwOnInvalidRequiredAddress, throwOnUnsupportedChainId } from "../../../utils/throw";
4
4
  import Elysia from "elysia";
5
+ import { ChainDto } from "../accounting";
5
6
  import { CreateTokenDto, FindUniqueTokenDto, GetTokenBalanceDto, GetTokenQueryDto, TokenIdDto, UpdateTokenDto, } from "./token.model";
6
7
  import { TokenService } from "./token.service";
7
8
  // ─── Tokens Controller ───────────────────────────────────────────────────────
@@ -17,6 +18,11 @@ export const TokenController = new Elysia({ prefix: "/tokens", detail: { tags: [
17
18
  throw new NotFoundError();
18
19
  }
19
20
  }, { params: FindUniqueTokenDto })
21
+ // ─── Get Valid Reward Token ───────────────────────────────────────────
22
+ .get("/reward/:chainId", async ({ params }) => TokenService.getValidRewardTokens(params.chainId), {
23
+ params: ChainDto,
24
+ beforeHandle: ({ params }) => throwOnUnsupportedChainId(params.chainId),
25
+ })
20
26
  // ─── Get Tokens With Balances ────────────────────────────────────────
21
27
  .get("/balances", async ({ query: { chainId, userAddress, tokenAddress, additionalTokenAddresses } }) => {
22
28
  if (tokenAddress)
@@ -42,6 +42,19 @@ export declare abstract class TokenRepository {
42
42
  isTest: boolean;
43
43
  price: number | null;
44
44
  }[]>;
45
+ static findList(chainId: number, addresses: string[]): Promise<{
46
+ symbol: string;
47
+ name: string | null;
48
+ id: string;
49
+ icon: string;
50
+ chainId: number;
51
+ address: string;
52
+ decimals: number;
53
+ displaySymbol: string;
54
+ verified: boolean;
55
+ isTest: boolean;
56
+ price: number | null;
57
+ }[]>;
45
58
  static countMany(query: GetTokenQueryModel): Promise<number>;
46
59
  /**
47
60
  * upsert a token on database
@@ -67,6 +67,17 @@ export class TokenRepository {
67
67
  });
68
68
  return tokens;
69
69
  }
70
+ static async findList(chainId, addresses) {
71
+ const tokens = await apiDbClient.token.findMany({
72
+ where: {
73
+ chainId,
74
+ address: {
75
+ in: addresses,
76
+ },
77
+ },
78
+ });
79
+ return tokens;
80
+ }
70
81
  static async countMany(query) {
71
82
  const args = TokenRepository.#transformQueryToPrismaFilters(query);
72
83
  return await apiDbClient.token.count(args);
@@ -188,6 +188,20 @@ export declare abstract class TokenService {
188
188
  * @param address
189
189
  */
190
190
  static getManyOrCreate(tokens: TokenModel[]): Promise<(Token["model"] | undefined)[]>;
191
+ static getValidRewardTokens(chainId: number): Promise<{
192
+ minimumAmountPerHour: any;
193
+ symbol: string;
194
+ name: string | null;
195
+ id: string;
196
+ icon: string;
197
+ chainId: number;
198
+ address: string;
199
+ decimals: number;
200
+ displaySymbol: string;
201
+ verified: boolean;
202
+ isTest: boolean;
203
+ price: number | null;
204
+ }[]>;
191
205
  static update(id: string, data: UpdateTokenModel): Promise<{
192
206
  symbol: string;
193
207
  name: string | null;