@merkl/api 0.16.1 → 0.16.3

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 (59) hide show
  1. package/dist/database/api/.generated/drizzle/schema.d.ts +8 -9
  2. package/dist/database/api/.generated/drizzle/schema.js +2 -3
  3. package/dist/database/api/.generated/drizzle/schema.ts +2 -4
  4. package/dist/database/api/.generated/edge.js +5 -33
  5. package/dist/database/api/.generated/index-browser.js +2 -30
  6. package/dist/database/api/.generated/index.d.ts +123 -210
  7. package/dist/database/api/.generated/index.js +5 -33
  8. package/dist/database/api/.generated/package.json +1 -1
  9. package/dist/database/api/.generated/schema.prisma +2 -32
  10. package/dist/database/api/.generated/wasm.js +2 -30
  11. package/dist/src/constants.d.ts +259 -13
  12. package/dist/src/eden/index.d.ts +98 -98
  13. package/dist/src/index.d.ts +19 -19
  14. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicData.js +6 -1
  15. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/factoryFinder.js +1 -0
  16. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.d.ts +4 -1
  17. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.js +6 -0
  18. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/BalancerV3PoolProcessor.d.ts +44 -0
  19. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/BalancerV3PoolProcessor.js +69 -0
  20. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/HourglassProcessor.d.ts +36 -0
  21. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/HourglassProcessor.js +31 -0
  22. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/processorMapping.js +5 -0
  23. package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/subtypesRound1.js +10 -0
  24. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +6 -6
  25. package/dist/src/modules/v4/campaign/campaign.model.d.ts +5 -65
  26. package/dist/src/modules/v4/campaign/campaign.model.js +1 -34
  27. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +7 -7
  28. package/dist/src/modules/v4/campaign/campaign.service.d.ts +14 -15
  29. package/dist/src/modules/v4/campaign/campaign.service.js +6 -6
  30. package/dist/src/modules/v4/chain/chain.repository.d.ts +1 -1
  31. package/dist/src/modules/v4/dynamicData/dynamicData.controller.d.ts +2 -2
  32. package/dist/src/modules/v4/dynamicData/dynamicData.model.d.ts +2 -58
  33. package/dist/src/modules/v4/dynamicData/dynamicData.model.js +2 -3
  34. package/dist/src/modules/v4/dynamicData/dynamicData.service.d.ts +1 -8
  35. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +4 -13
  36. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +9 -9
  37. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +3 -31
  38. package/dist/src/modules/v4/opportunity/opportunity.model.js +2 -2
  39. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +33 -18
  40. package/dist/src/modules/v4/opportunity/opportunity.repository.js +9 -1
  41. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +15 -15
  42. package/dist/src/modules/v4/opportunity/opportunity.service.js +3 -2
  43. package/dist/src/modules/v4/opportunity/subservices/getErc20Metadata.service.d.ts +1 -1
  44. package/dist/src/modules/v4/opportunity/subservices/getErc20Metadata.service.js +2 -2
  45. package/dist/src/modules/v4/opportunity/subservices/getEulerMetadata.service.d.ts +1 -1
  46. package/dist/src/modules/v4/opportunity/subservices/getEulerMetadata.service.js +3 -2
  47. package/dist/src/modules/v4/opportunity/validate-id.pipe.js +3 -3
  48. package/dist/src/modules/v4/protocol/protocol.repository.d.ts +2 -2
  49. package/dist/src/modules/v4/reward/reward.repository.d.ts +1 -1
  50. package/dist/src/modules/v4/reward/reward.service.d.ts +8 -8
  51. package/dist/src/modules/v4/reward/reward.service.js +2 -2
  52. package/dist/src/modules/v4/router.d.ts +19 -19
  53. package/dist/src/modules/v4/user/user.controller.d.ts +2 -2
  54. package/dist/src/utils/decodeCalls.js +9 -1
  55. package/dist/src/utils/encodeCalls.js +25 -1
  56. package/dist/src/utils/generateCardName.d.ts +1 -1
  57. package/dist/src/utils/generateCardName.js +17 -0
  58. package/dist/tsconfig.package.tsbuildinfo +1 -1
  59. package/package.json +1 -1
@@ -36,7 +36,7 @@ export declare const v4: Elysia<"/v4", false, {
36
36
  depositUrl?: string | undefined;
37
37
  protocols?: string[] | undefined;
38
38
  mainProtocol?: string | undefined;
39
- type: "INVALID" | "ERC20" | "CLAMM" | "ERC20_SNAPSHOT" | "JSON_AIRDROP" | "SILO" | "RADIANT" | "MORPHO" | "DOLOMITE" | "BADGER" | "COMPOUND" | "AJNA" | "EULER" | "UNISWAP_V4" | "ION" | "EIGENLAYER" | "ERC20TRANSFERS" | "ERC20LOGPROCESSOR" | "ERC20REBASELOGPROCESSOR" | "VEST" | "ERC20_FIX_APR" | "HYPERDRIVELOGPROCESSOR" | "HYPERDRIVELOGFIXPROCESSOR" | "AMBIENTPROCESSOR" | "M0" | "MORPHOSUPPLY" | "SYNCSWAP_VAULT";
39
+ type: string;
40
40
  tokens: {
41
41
  chainId: number;
42
42
  address: string;
@@ -44,7 +44,7 @@ export declare const v4: Elysia<"/v4", false, {
44
44
  status: "NONE" | "PAST" | "LIVE" | "SOON";
45
45
  identifier: string;
46
46
  chainId: number;
47
- action: "INVALID" | "POOL" | "HOLD" | "DROP" | "LEND" | "BORROW" | "LONG" | "SHORT";
47
+ action: "POOL" | "HOLD" | "DROP" | "LEND" | "BORROW" | "LONG" | "SHORT" | "INVALID";
48
48
  };
49
49
  params: {};
50
50
  query: unknown;
@@ -54,7 +54,7 @@ export declare const v4: Elysia<"/v4", false, {
54
54
  response: {
55
55
  200: {
56
56
  name: string;
57
- type: import("../../../database/api/.generated").$Enums.CampaignType;
57
+ type: string;
58
58
  id: string;
59
59
  status: import("../../../database/api/.generated").$Enums.Status;
60
60
  tags: string[];
@@ -88,7 +88,7 @@ export declare const v4: Elysia<"/v4", false, {
88
88
  200: {
89
89
  id: string;
90
90
  chainId: number;
91
- type: import("../../../database/api/.generated").$Enums.CampaignType;
91
+ type: string;
92
92
  identifier: string;
93
93
  name: string;
94
94
  status: "PAST" | "LIVE" | "SOON";
@@ -218,7 +218,7 @@ export declare const v4: Elysia<"/v4", false, {
218
218
  icon: string;
219
219
  } | undefined;
220
220
  name: string;
221
- type: import("../../../database/api/.generated").$Enums.CampaignType;
221
+ type: string;
222
222
  status: import("../../../database/api/.generated").$Enums.Status;
223
223
  tags: string[];
224
224
  identifier: string;
@@ -379,7 +379,7 @@ export declare const v4: Elysia<"/v4", false, {
379
379
  body: unknown;
380
380
  params: {};
381
381
  query: {
382
- type?: "INVALID" | "ERC20" | "CLAMM" | "ERC20_SNAPSHOT" | "JSON_AIRDROP" | "SILO" | "RADIANT" | "MORPHO" | "DOLOMITE" | "BADGER" | "COMPOUND" | "AJNA" | "EULER" | "UNISWAP_V4" | "ION" | "EIGENLAYER" | "ERC20TRANSFERS" | "ERC20LOGPROCESSOR" | "ERC20REBASELOGPROCESSOR" | "VEST" | "ERC20_FIX_APR" | "HYPERDRIVELOGPROCESSOR" | "HYPERDRIVELOGFIXPROCESSOR" | "AMBIENTPROCESSOR" | "M0" | "MORPHOSUPPLY" | "SYNCSWAP_VAULT" | undefined;
382
+ type?: string | undefined;
383
383
  items?: number | undefined;
384
384
  subType?: number | undefined;
385
385
  page?: number | undefined;
@@ -516,12 +516,13 @@ export declare const v4: Elysia<"/v4", false, {
516
516
  computedUntil: bigint;
517
517
  processingStarted: bigint;
518
518
  };
519
+ creatorAddress: string;
519
520
  Creator: {
520
521
  tags: string[];
521
522
  address: string;
522
523
  creatorId: string | null;
523
524
  };
524
- type: import("../../../database/api/.generated").$Enums.CampaignType;
525
+ type: string;
525
526
  id: string;
526
527
  subType: number | null;
527
528
  startTimestamp: bigint;
@@ -532,7 +533,6 @@ export declare const v4: Elysia<"/v4", false, {
532
533
  rewardTokenId: string;
533
534
  amount: string;
534
535
  opportunityId: string;
535
- creatorAddress: string;
536
536
  }[];
537
537
  })[];
538
538
  readonly 404: {
@@ -836,7 +836,7 @@ export declare const v4: Elysia<"/v4", false, {
836
836
  response: {
837
837
  200: {
838
838
  name: string;
839
- type: import("../../../database/api/.generated").$Enums.CampaignType;
839
+ type: string;
840
840
  id: string;
841
841
  status: import("../../../database/api/.generated").$Enums.Status;
842
842
  tags: string[];
@@ -882,7 +882,7 @@ export declare const v4: Elysia<"/v4", false, {
882
882
  };
883
883
  response: {
884
884
  200: {
885
- type: import("../../../database/api/.generated").$Enums.CampaignType;
885
+ type: string;
886
886
  id: string;
887
887
  params: import("database/api/.generated/runtime/library").JsonValue;
888
888
  subType: number | null;
@@ -933,7 +933,7 @@ export declare const v4: Elysia<"/v4", false, {
933
933
  };
934
934
  response: {
935
935
  200: {
936
- type: import("../../../database/api/.generated").$Enums.CampaignType;
936
+ type: string;
937
937
  id: string;
938
938
  params: import("database/api/.generated/runtime/library").JsonValue;
939
939
  subType: number | null;
@@ -956,7 +956,7 @@ export declare const v4: Elysia<"/v4", false, {
956
956
  body: unknown;
957
957
  params: {};
958
958
  query: {
959
- type?: "INVALID" | "ERC20" | "CLAMM" | "ERC20_SNAPSHOT" | "JSON_AIRDROP" | "SILO" | "RADIANT" | "MORPHO" | "DOLOMITE" | "BADGER" | "COMPOUND" | "AJNA" | "EULER" | "UNISWAP_V4" | "ION" | "EIGENLAYER" | "ERC20TRANSFERS" | "ERC20LOGPROCESSOR" | "ERC20REBASELOGPROCESSOR" | "VEST" | "ERC20_FIX_APR" | "HYPERDRIVELOGPROCESSOR" | "HYPERDRIVELOGFIXPROCESSOR" | "AMBIENTPROCESSOR" | "M0" | "MORPHOSUPPLY" | "SYNCSWAP_VAULT" | undefined;
959
+ type?: string | undefined;
960
960
  items?: number | undefined;
961
961
  subType?: number | undefined;
962
962
  page?: number | undefined;
@@ -1008,12 +1008,13 @@ export declare const v4: Elysia<"/v4", false, {
1008
1008
  computedUntil: bigint;
1009
1009
  processingStarted: bigint;
1010
1010
  };
1011
+ creatorAddress: string;
1011
1012
  Creator: {
1012
1013
  tags: string[];
1013
1014
  address: string;
1014
1015
  creatorId: string | null;
1015
1016
  };
1016
- type: import("../../../database/api/.generated").$Enums.CampaignType;
1017
+ type: string;
1017
1018
  id: string;
1018
1019
  subType: number | null;
1019
1020
  startTimestamp: bigint;
@@ -1024,7 +1025,6 @@ export declare const v4: Elysia<"/v4", false, {
1024
1025
  rewardTokenId: string;
1025
1026
  amount: string;
1026
1027
  opportunityId: string;
1027
- creatorAddress: string;
1028
1028
  }[];
1029
1029
  };
1030
1030
  };
@@ -1035,7 +1035,7 @@ export declare const v4: Elysia<"/v4", false, {
1035
1035
  body: unknown;
1036
1036
  params: {};
1037
1037
  query: {
1038
- type?: "INVALID" | "ERC20" | "CLAMM" | "ERC20_SNAPSHOT" | "JSON_AIRDROP" | "SILO" | "RADIANT" | "MORPHO" | "DOLOMITE" | "BADGER" | "COMPOUND" | "AJNA" | "EULER" | "UNISWAP_V4" | "ION" | "EIGENLAYER" | "ERC20TRANSFERS" | "ERC20LOGPROCESSOR" | "ERC20REBASELOGPROCESSOR" | "VEST" | "ERC20_FIX_APR" | "HYPERDRIVELOGPROCESSOR" | "HYPERDRIVELOGFIXPROCESSOR" | "AMBIENTPROCESSOR" | "M0" | "MORPHOSUPPLY" | "SYNCSWAP_VAULT" | undefined;
1038
+ type?: string | undefined;
1039
1039
  items?: number | undefined;
1040
1040
  subType?: number | undefined;
1041
1041
  page?: number | undefined;
@@ -2417,7 +2417,7 @@ export declare const v4: Elysia<"/v4", false, {
2417
2417
  } | null;
2418
2418
  } & {
2419
2419
  name: string;
2420
- type: import("../../../database/api/.generated").$Enums.CampaignType;
2420
+ type: string;
2421
2421
  id: string;
2422
2422
  status: import("../../../database/api/.generated").$Enums.Status;
2423
2423
  tags: string[];
@@ -2530,7 +2530,7 @@ export declare const v4: Elysia<"/v4", false, {
2530
2530
  } | null;
2531
2531
  } & {
2532
2532
  name: string;
2533
- type: import("../../../database/api/.generated").$Enums.CampaignType;
2533
+ type: string;
2534
2534
  id: string;
2535
2535
  status: import("../../../database/api/.generated").$Enums.Status;
2536
2536
  tags: string[];
@@ -3036,7 +3036,7 @@ export declare const v4: Elysia<"/v4", false, {
3036
3036
  rewardTokenAddress?: string | undefined;
3037
3037
  distributionChain?: {} | undefined;
3038
3038
  opportunityIdentifier?: string | undefined;
3039
- type: "INVALID" | "ERC20" | "CLAMM" | "ERC20_SNAPSHOT" | "JSON_AIRDROP" | "SILO" | "RADIANT" | "MORPHO" | "DOLOMITE" | "BADGER" | "COMPOUND" | "AJNA" | "EULER" | "UNISWAP_V4" | "ION" | "EIGENLAYER" | "ERC20TRANSFERS" | "ERC20LOGPROCESSOR" | "ERC20REBASELOGPROCESSOR" | "VEST" | "ERC20_FIX_APR" | "HYPERDRIVELOGPROCESSOR" | "HYPERDRIVELOGFIXPROCESSOR" | "AMBIENTPROCESSOR" | "M0" | "MORPHOSUPPLY" | "SYNCSWAP_VAULT";
3039
+ type: string;
3040
3040
  params: {};
3041
3041
  computeChainId: number;
3042
3042
  };
@@ -3058,7 +3058,7 @@ export declare const v4: Elysia<"/v4", false, {
3058
3058
  body: unknown;
3059
3059
  params: {};
3060
3060
  query: {
3061
- type?: "INVALID" | "ERC20" | "CLAMM" | "ERC20_SNAPSHOT" | "JSON_AIRDROP" | "SILO" | "RADIANT" | "MORPHO" | "DOLOMITE" | "BADGER" | "COMPOUND" | "AJNA" | "EULER" | "UNISWAP_V4" | "ION" | "EIGENLAYER" | "ERC20TRANSFERS" | "ERC20LOGPROCESSOR" | "ERC20REBASELOGPROCESSOR" | "VEST" | "ERC20_FIX_APR" | "HYPERDRIVELOGPROCESSOR" | "HYPERDRIVELOGFIXPROCESSOR" | "AMBIENTPROCESSOR" | "M0" | "MORPHOSUPPLY" | "SYNCSWAP_VAULT" | undefined;
3061
+ type?: string | undefined;
3062
3062
  items?: number | undefined;
3063
3063
  subType?: number | undefined;
3064
3064
  page?: number | undefined;
@@ -172,7 +172,7 @@ export declare const UserController: Elysia<"/users", false, {
172
172
  } | null;
173
173
  } & {
174
174
  name: string;
175
- type: import("../../../../database/api/.generated").$Enums.CampaignType;
175
+ type: string;
176
176
  id: string;
177
177
  status: import("../../../../database/api/.generated").$Enums.Status;
178
178
  tags: string[];
@@ -285,7 +285,7 @@ export declare const UserController: Elysia<"/users", false, {
285
285
  } | null;
286
286
  } & {
287
287
  name: string;
288
- type: import("../../../../database/api/.generated").$Enums.CampaignType;
288
+ type: string;
289
289
  id: string;
290
290
  status: import("../../../../database/api/.generated").$Enums.Status;
291
291
  tags: string[];
@@ -1,4 +1,4 @@
1
- import { AaveInterface, AccountantWithRateProvidersInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerVaultInterface, BeefyInterface, CPMMGammaPoolMainInterface, CompoundInterface, CurveInterface, CurveLPTokenInterface, CurveStableSwapNGInterface, DefutureVaultInterface, ERC20Interface, ERC4626Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, IonicInterface, LayerBankERC20Interface, LayerBankInterface, LendleInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, PendleYTInterface, RadiantInterface, RfxInterface, RswEthStrategyInterface, SpectraYTInterface, SturdyInterface, SymetricAmbientStrategyInterface, SyncSwapClassicPoolInterface, TorosInterface, UniswapV2PoolInterface, VePufferInterface, ZFStableLPINterface, ZFStableSwapThreePoolInterface, } from "@sdk";
1
+ import { AaveInterface, AccountantWithRateProvidersInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerV3StablePoolInterface, BalancerVaultInterface, BeefyInterface, CPMMGammaPoolMainInterface, CompoundInterface, CurveInterface, CurveLPTokenInterface, CurveStableSwapNGInterface, DefutureVaultInterface, ERC20Interface, ERC4626Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, HourglassERC20TBTInterface, HourglassVedaLockDepositorV2Interface, IonicInterface, LayerBankERC20Interface, LayerBankInterface, LendleInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, PendleYTInterface, RadiantInterface, RfxInterface, RswEthStrategyInterface, SpectraYTInterface, SturdyInterface, SymetricAmbientStrategyInterface, SyncSwapClassicPoolInterface, TorosInterface, UniswapV2PoolInterface, VePufferInterface, ZFStableLPINterface, ZFStableSwapThreePoolInterface, } from "@sdk";
2
2
  import { tokenType } from "../libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType";
3
3
  export function decodeCall(calls, index, key, type) {
4
4
  const returnData = calls[index];
@@ -117,6 +117,8 @@ export function decodeReturnValue(returnData, key, type) {
117
117
  case tokenType.euler_lend:
118
118
  case tokenType.maha:
119
119
  return EulerInterface.decodeFunctionResult("asset", returnData)[0];
120
+ case tokenType.hourglass:
121
+ return HourglassVedaLockDepositorV2Interface.decodeFunctionResult("getUnderlying", returnData)[0];
120
122
  default:
121
123
  throw new Error(`Need tokenType for this key ${key}, or type ${type} not matched`);
122
124
  }
@@ -271,6 +273,12 @@ export function decodeReturnValue(returnData, key, type) {
271
273
  return SyncSwapClassicPoolInterface.decodeFunctionResult("reserve1", returnData)[0];
272
274
  case "asset":
273
275
  return ERC4626Interface.decodeFunctionResult("asset", returnData)[0];
276
+ case "depositor":
277
+ return HourglassERC20TBTInterface.decodeFunctionResult("depositor", returnData)[0];
278
+ case "getTokens":
279
+ return BalancerV3StablePoolInterface.decodeFunctionResult("getTokens", returnData)[0].length;
280
+ case "getTokenInfo":
281
+ return BalancerV3StablePoolInterface.decodeFunctionResult("getTokenInfo", returnData);
274
282
  default:
275
283
  throw new Error(`Key not recognized for ${key}`);
276
284
  }
@@ -1,5 +1,5 @@
1
1
  import { tokenType } from "../libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType";
2
- import { AaveInterface, AccountantWithRateProvidersInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerVaultInterface, BeefyInterface, CPMMGammaPoolMainInterface, CompoundInterface, CurveInterface, CurveLPTokenInterface, CurveStableSwapNGInterface, DefutureVaultInterface, ERC20Interface, ERC4626Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, IonicInterface, LayerBankInterface, LendleInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, PendleYTInterface, RadiantInterface, RfxDatastoreInterface, RswEthStrategyInterface, SpectraYTInterface, SturdyInterface, SymetricAmbientStrategyInterface, SyncSwapClassicPoolInterface, TorosInterface, UniswapV2PoolInterface, VePufferInterface, ZFStableLPINterface, } from "@sdk";
2
+ import { AaveInterface, AccountantWithRateProvidersInterface, AuraInterface, AuraOperatorInterface, BalancerGaugeInterface, BalancerPoolInterface, BalancerV3StablePoolInterface, BalancerVaultInterface, BeefyInterface, CPMMGammaPoolMainInterface, CompoundInterface, CurveInterface, CurveLPTokenInterface, CurveStableSwapNGInterface, DefutureVaultInterface, ERC20Interface, ERC4626Interface, EnzymeInterface, EulerInterface, FactoryInterface, FluidInterface, FraxlendInterface, GearboxVaultInterface, HourglassERC20TBTInterface, HourglassVedaLockDepositorV2Interface, IonicInterface, LayerBankInterface, LendleInterface, MaverickBPLensInterface, MetamorphoInterface, MoonwellInterface, OneInchStakingInterface, PendleInterface, PendleYTInterface, RadiantInterface, RfxDatastoreInterface, RswEthStrategyInterface, SpectraYTInterface, SturdyInterface, SymetricAmbientStrategyInterface, SyncSwapClassicPoolInterface, TorosInterface, UniswapV2PoolInterface, VePufferInterface, ZFStableLPINterface, } from "@sdk";
3
3
  export function createCall(target, key, type, metaData) {
4
4
  switch (key) {
5
5
  case "SY":
@@ -148,6 +148,12 @@ export function createCall(target, key, type, metaData) {
148
148
  case tokenType.vicuna_borrowing:
149
149
  case tokenType.vicuna_lending:
150
150
  return { allowFailure: true, callData: AaveInterface.encodeFunctionData("UNDERLYING_ASSET_ADDRESS"), target };
151
+ case tokenType.hourglass:
152
+ return {
153
+ allowFailure: true,
154
+ callData: HourglassVedaLockDepositorV2Interface.encodeFunctionData("getUnderlying"),
155
+ target,
156
+ };
151
157
  default:
152
158
  throw new Error(`Need tokenType for this key ${key}, or unknown type ${type}`);
153
159
  }
@@ -417,6 +423,24 @@ export function createCall(target, key, type, metaData) {
417
423
  callData: SyncSwapClassicPoolInterface.encodeFunctionData("reserve1"),
418
424
  target: target,
419
425
  };
426
+ case "depositor":
427
+ return {
428
+ allowFailure: true,
429
+ callData: HourglassERC20TBTInterface.encodeFunctionData("depositor"),
430
+ target: target,
431
+ };
432
+ case "getTokens":
433
+ return {
434
+ allowFailure: true,
435
+ callData: BalancerV3StablePoolInterface.encodeFunctionData("getTokens"),
436
+ target: target,
437
+ };
438
+ case "getTokenInfo":
439
+ return {
440
+ allowFailure: true,
441
+ callData: BalancerV3StablePoolInterface.encodeFunctionData("getTokenInfo"),
442
+ target: target,
443
+ };
420
444
  default:
421
445
  throw new Error(`Unknown key ${key}`);
422
446
  }
@@ -1,3 +1,3 @@
1
1
  import { tokenType } from "../libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType";
2
- import type { Campaign, CampaignParameters } from "@sdk";
2
+ import { type Campaign, type CampaignParameters } from "@sdk";
3
3
  export declare function generateCardName(type: tokenType, typeInfo: any, campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>, symbols?: string[], displayName?: string): string;
@@ -1,4 +1,5 @@
1
1
  import { tokenType } from "../libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType";
2
+ import { ChainId } from "@sdk";
2
3
  export function generateCardName(type, typeInfo, campaign, symbols = [""], displayName) {
3
4
  switch (type) {
4
5
  case tokenType.uniswapv2:
@@ -15,6 +16,7 @@ export function generateCardName(type, typeInfo, campaign, symbols = [""], displ
15
16
  case tokenType.syncswap:
16
17
  case tokenType.pancakeswap:
17
18
  case tokenType.traderJoe:
19
+ case tokenType.katana:
18
20
  return `Provide liquidity to ${typeInfo.protocol} ${typeInfo.symbolToken0}-${typeInfo.symbolToken1}`;
19
21
  case tokenType.pendleYT:
20
22
  return `Hold ${typeInfo.protocol} ${typeInfo.name}`;
@@ -23,12 +25,25 @@ export function generateCardName(type, typeInfo, campaign, symbols = [""], displ
23
25
  case tokenType.balancerGauge:
24
26
  return `${typeInfo.protocol} ${symbols.join("-")}`;
25
27
  case tokenType.balancerPool: {
28
+ if (campaign.computeChainId === ChainId.SONIC) {
29
+ typeInfo.protocol = "Beets";
30
+ }
26
31
  let cardName = `Provide liquidity to ${typeInfo.protocol} ${symbols.join("-")}`;
27
32
  if (typeInfo.vault === "0xFB43069f6d0473B85686a85F4Ce4Fc1FD8F00875") {
28
33
  cardName = `Provide liquidity to Jellyverse Pool ${symbols.join("-")}`;
29
34
  }
30
35
  return cardName;
31
36
  }
37
+ case tokenType.balancerV3: {
38
+ const symbols = [];
39
+ for (let i = 0; i < typeInfo.numberTokens; i++) {
40
+ symbols.push(typeInfo[`symbolToken${i}`]);
41
+ }
42
+ if (campaign.computeChainId === ChainId.SONIC) {
43
+ typeInfo.protocol = "Beets";
44
+ }
45
+ return `Provide liquidity to ${typeInfo.protocol} ${symbols.join("-")}`;
46
+ }
32
47
  case tokenType.aura:
33
48
  return `Provide liquidity to ${typeInfo.protocol} ${symbols.join("-")}`;
34
49
  case tokenType.gearbox:
@@ -144,6 +159,8 @@ export function generateCardName(type, typeInfo, campaign, symbols = [""], displ
144
159
  return `Provide liquidity on Spectra to ${typeInfo.name}`;
145
160
  case tokenType.spectra_yt:
146
161
  return `Hold Spectra ${typeInfo.name}`;
162
+ case tokenType.hourglass:
163
+ return `Deposit ${typeInfo.symbolUnderlyingToken} into Hourglass`;
147
164
  default:
148
165
  // OVERRIDE
149
166
  switch (typeInfo.tokenAddress) {