@merkl/api 0.20.100 → 0.20.102

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 (104) hide show
  1. package/dist/src/eden/index.d.ts +12 -12
  2. package/dist/src/engine/{erc20SubTypeProcessors/helpers/tokenType.d.ts → campaignTVL/implementations/Erc20/Erc20SubType.d.ts} +5 -13
  3. package/dist/src/engine/campaignTVL/implementations/Erc20/Erc20SubType.js +106 -0
  4. package/dist/src/engine/campaignTVL/implementations/Erc20/computeSubTypes.d.ts +9 -0
  5. package/dist/src/engine/campaignTVL/implementations/Erc20/computeSubTypes.js +11 -0
  6. package/dist/src/engine/campaignTVL/implementations/Erc20/index.d.ts +6 -0
  7. package/dist/src/engine/campaignTVL/implementations/Erc20/index.js +8 -0
  8. package/dist/src/engine/dynamicData/implementations/Erc20.d.ts +4 -4
  9. package/dist/src/engine/dynamicData/implementations/Erc20.js +2 -2
  10. package/dist/src/engine/erc20SubTypeProcessors/GenericProcessor.d.ts +20 -19
  11. package/dist/src/engine/erc20SubTypeProcessors/GenericProcessor.js +1 -4
  12. package/dist/src/engine/erc20SubTypeProcessors/helpers/factoryFinder.d.ts +2 -2
  13. package/dist/src/engine/erc20SubTypeProcessors/helpers/factoryFinder.js +31 -31
  14. package/dist/src/engine/erc20SubTypeProcessors/helpers/hardcoded.d.ts +2 -2
  15. package/dist/src/engine/erc20SubTypeProcessors/helpers/hardcoded.js +17 -17
  16. package/dist/src/engine/erc20SubTypeProcessors/helpers/ownerFinder.d.ts +2 -2
  17. package/dist/src/engine/erc20SubTypeProcessors/helpers/ownerFinder.js +6 -6
  18. package/dist/src/engine/erc20SubTypeProcessors/implementations/AaveProcessor.d.ts +2 -2
  19. package/dist/src/engine/erc20SubTypeProcessors/implementations/AnglesLiquid.d.ts +7 -7
  20. package/dist/src/engine/erc20SubTypeProcessors/implementations/AssetProcessor.d.ts +2 -2
  21. package/dist/src/engine/erc20SubTypeProcessors/implementations/AssetProcessor.js +2 -2
  22. package/dist/src/engine/erc20SubTypeProcessors/implementations/AuraProcessor.d.ts +40 -3
  23. package/dist/src/engine/erc20SubTypeProcessors/implementations/BEXRewardGaugeProcessor.d.ts +32 -3
  24. package/dist/src/engine/erc20SubTypeProcessors/implementations/BEXRewardGaugeProcessor.js +2 -2
  25. package/dist/src/engine/erc20SubTypeProcessors/implementations/BalancerGaugeProcessor.d.ts +29 -3
  26. package/dist/src/engine/erc20SubTypeProcessors/implementations/BalancerPoolProcessor.d.ts +31 -3
  27. package/dist/src/engine/erc20SubTypeProcessors/implementations/BalancerV3PoolProcessor.d.ts +3 -3
  28. package/dist/src/engine/erc20SubTypeProcessors/implementations/BeefyProcessor.d.ts +2 -2
  29. package/dist/src/engine/erc20SubTypeProcessors/implementations/BunniV2Processor.d.ts +2 -2
  30. package/dist/src/engine/erc20SubTypeProcessors/implementations/CompoundProcessor.d.ts +2 -2
  31. package/dist/src/engine/erc20SubTypeProcessors/implementations/ERC4626Processor.d.ts +2 -2
  32. package/dist/src/engine/erc20SubTypeProcessors/implementations/EnzymeProcessor.d.ts +3 -3
  33. package/dist/src/engine/erc20SubTypeProcessors/implementations/EqualizerGaugeProcessor.d.ts +2 -2
  34. package/dist/src/engine/erc20SubTypeProcessors/implementations/EulerBorrowProcessor.d.ts +2 -2
  35. package/dist/src/engine/erc20SubTypeProcessors/implementations/EulerLendProcessor.d.ts +2 -2
  36. package/dist/src/engine/erc20SubTypeProcessors/implementations/FluidProcessor.d.ts +2 -2
  37. package/dist/src/engine/erc20SubTypeProcessors/implementations/FraxProcessor.d.ts +2 -2
  38. package/dist/src/engine/erc20SubTypeProcessors/implementations/FraxProcessor.js +2 -2
  39. package/dist/src/engine/erc20SubTypeProcessors/implementations/GammaALMProcessor.d.ts +2 -2
  40. package/dist/src/engine/erc20SubTypeProcessors/implementations/GammaProcessor.d.ts +7 -7
  41. package/dist/src/engine/erc20SubTypeProcessors/implementations/GearboxProcessor.d.ts +2 -2
  42. package/dist/src/engine/erc20SubTypeProcessors/implementations/HanjiVaultProcessor.d.ts +4 -4
  43. package/dist/src/engine/erc20SubTypeProcessors/implementations/HoldStationProcessor.d.ts +2 -2
  44. package/dist/src/engine/erc20SubTypeProcessors/implementations/HourglassProcessor.d.ts +2 -2
  45. package/dist/src/engine/erc20SubTypeProcessors/implementations/MaverickBPProcessor.d.ts +2 -2
  46. package/dist/src/engine/erc20SubTypeProcessors/implementations/MetamorphoProcessor.d.ts +3 -3
  47. package/dist/src/engine/erc20SubTypeProcessors/implementations/NoLinkVaultProcessor.d.ts +7 -7
  48. package/dist/src/engine/erc20SubTypeProcessors/implementations/NoLinkVaultProcessor.js +2 -2
  49. package/dist/src/engine/erc20SubTypeProcessors/implementations/PendleProcessor.d.ts +2 -2
  50. package/dist/src/engine/erc20SubTypeProcessors/implementations/PendleYTProcessor.d.ts +2 -2
  51. package/dist/src/engine/erc20SubTypeProcessors/implementations/RadiantProcessor.d.ts +3 -3
  52. package/dist/src/engine/erc20SubTypeProcessors/implementations/RfxProcessor.d.ts +2 -2
  53. package/dist/src/engine/erc20SubTypeProcessors/implementations/Satlayer.d.ts +2 -2
  54. package/dist/src/engine/erc20SubTypeProcessors/implementations/SpectraProcessor.d.ts +2 -2
  55. package/dist/src/engine/erc20SubTypeProcessors/implementations/SpectraYTProcessor.d.ts +2 -2
  56. package/dist/src/engine/erc20SubTypeProcessors/implementations/SpliceProcessor.d.ts +3 -3
  57. package/dist/src/engine/erc20SubTypeProcessors/implementations/SturdySiloProcessor.d.ts +2 -2
  58. package/dist/src/engine/erc20SubTypeProcessors/implementations/TempestVaultProcessor.d.ts +3 -3
  59. package/dist/src/engine/erc20SubTypeProcessors/implementations/TempestVaultProcessor.js +2 -2
  60. package/dist/src/engine/erc20SubTypeProcessors/implementations/TemplateProcessor.d.ts +7 -7
  61. package/dist/src/engine/erc20SubTypeProcessors/implementations/TorosProcessor.d.ts +2 -2
  62. package/dist/src/engine/erc20SubTypeProcessors/implementations/UniswapProcessor.d.ts +3 -3
  63. package/dist/src/engine/erc20SubTypeProcessors/implementations/VicunaProcessor.d.ts +2 -2
  64. package/dist/src/engine/erc20SubTypeProcessors/implementations/WoofiProcessor.d.ts +2 -2
  65. package/dist/src/engine/erc20SubTypeProcessors/implementations/ZkSwapThreePoolProcessor.d.ts +2 -2
  66. package/dist/src/engine/erc20SubTypeProcessors/implementations/curveNPoolProcessor.d.ts +4 -4
  67. package/dist/src/engine/erc20SubTypeProcessors/implementations/curveProcessor.d.ts +2 -2
  68. package/dist/src/engine/erc20SubTypeProcessors/implementations/curveProcessor.js +2 -2
  69. package/dist/src/engine/erc20SubTypeProcessors/implementations/processorMapping.d.ts +2 -2
  70. package/dist/src/engine/erc20SubTypeProcessors/implementations/processorMapping.js +100 -100
  71. package/dist/src/engine/erc20SubTypeProcessors/implementations/stakedCurveProcessor.d.ts +2 -2
  72. package/dist/src/engine/erc20SubTypeProcessors/implementations/stakedCurveProcessor.js +2 -2
  73. package/dist/src/engine/erc20SubTypeProcessors/implementations/xU308Processor.d.ts +2 -2
  74. package/dist/src/engine/erc20SubTypeProcessors/subtypesPrices.d.ts +3 -2
  75. package/dist/src/engine/erc20SubTypeProcessors/subtypesPrices.js +2 -2
  76. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound1.d.ts +1 -1
  77. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound1.js +84 -84
  78. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound2.d.ts +3 -3
  79. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound3.d.ts +2 -2
  80. package/dist/src/engine/erc20SubTypeProcessors/subtypesRound4.d.ts +2 -2
  81. package/dist/src/engine/erc20SubTypeProcessors/tokenTypeStruct.d.ts +7 -0
  82. package/dist/src/engine/erc20SubTypeProcessors/tokenTypeStruct.js +1 -0
  83. package/dist/src/engine/erc20SubTypeProcessors/tokenTypeToProtocolAndAction.d.ts +7 -0
  84. package/dist/src/engine/erc20SubTypeProcessors/tokenTypeToProtocolAndAction.js +130 -0
  85. package/dist/src/engine/opportunityMetadata/implementations/{Erc20.d.ts → Erc20/index.d.ts} +1 -1
  86. package/dist/src/engine/opportunityMetadata/implementations/{Erc20.js → Erc20/index.js} +1 -1
  87. package/dist/src/engine/opportunityMetadata/implementations/JsonAirdrop.d.ts +2 -2
  88. package/dist/src/index.d.ts +4 -4
  89. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +2 -2
  90. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +7 -5
  91. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +2 -2
  92. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +3 -3
  93. package/dist/src/modules/v4/router.d.ts +4 -4
  94. package/dist/src/utils/decodeCalls.d.ts +3 -3
  95. package/dist/src/utils/decodeCalls.js +80 -80
  96. package/dist/src/utils/encodeCalls.d.ts +2 -2
  97. package/dist/src/utils/encodeCalls.js +77 -77
  98. package/dist/src/utils/generateCardName.d.ts +2 -2
  99. package/dist/src/utils/generateCardName.js +97 -97
  100. package/dist/tsconfig.package.tsbuildinfo +1 -1
  101. package/package.json +1 -1
  102. package/dist/src/engine/erc20SubTypeProcessors/helpers/tokenType.js +0 -232
  103. package/dist/src/utils/generateIcons.d.ts +0 -3
  104. package/dist/src/utils/generateIcons.js +0 -65
@@ -1,169 +1,169 @@
1
1
  import { decodeCall, decodeReturnValue } from "@/utils/decodeCalls";
2
+ import { Erc20SubType } from "../campaignTVL/implementations/Erc20/Erc20SubType";
2
3
  import { enzymeFundValueCalculatorRouterMapping, getTypeFromFactoryAddress } from "./helpers/factoryFinder";
3
4
  import { getTypeFromAddressChain } from "./helpers/hardcoded";
4
5
  import { getTypeFromOwnerAddress } from "./helpers/ownerFinder";
5
- import { tokenType } from "./helpers/tokenType";
6
6
  import { processorMapping } from "./implementations/processorMapping";
7
7
  function satisfiesNameConditions(name, type) {
8
8
  const lowerCaseName = name.toLowerCase();
9
9
  switch (type) {
10
- case tokenType.hourglass:
10
+ case Erc20SubType.hourglass:
11
11
  return lowerCaseName.startsWith("ct-hourglass");
12
- case tokenType.fraxlend:
12
+ case Erc20SubType.fraxlend:
13
13
  return lowerCaseName.includes("fraxlend interest bearing");
14
- case tokenType.sturdy_aggregator:
14
+ case Erc20SubType.sturdy_aggregator:
15
15
  return lowerCaseName.includes("aggregator");
16
- case tokenType.sturdy_silo:
16
+ case Erc20SubType.sturdy_silo:
17
17
  return lowerCaseName.includes("sturdy interest bearing");
18
- case tokenType.aura:
18
+ case Erc20SubType.aura:
19
19
  return lowerCaseName.includes("aura deposit vault");
20
- case tokenType.poolside:
20
+ case Erc20SubType.poolside:
21
21
  return lowerCaseName.includes("poolside");
22
- case tokenType.anglesLiquid:
22
+ case Erc20SubType.anglesLiquid:
23
23
  return lowerCaseName.includes("angles liquid");
24
- case tokenType.balancerGauge:
24
+ case Erc20SubType.balancerGauge:
25
25
  return (lowerCaseName.includes("balancer") &&
26
26
  !lowerCaseName.includes("aura deposit vault") &&
27
27
  !lowerCaseName.startsWith("vifi"));
28
- case tokenType.beraborrow_gauge:
28
+ case Erc20SubType.beraborrow_gauge:
29
29
  return lowerCaseName.includes("beraborrow") && lowerCaseName.includes("bpt");
30
- case tokenType.beratrax_vault:
30
+ case Erc20SubType.beratrax_vault:
31
31
  return lowerCaseName.startsWith("beratrax vault");
32
- case tokenType.gearbox:
32
+ case Erc20SubType.gearbox:
33
33
  return lowerCaseName.includes("farming of") || lowerCaseName.startsWith("trade");
34
- case tokenType.euler_borrow:
34
+ case Erc20SubType.euler_borrow:
35
35
  return lowerCaseName.startsWith("debt token of evk vault");
36
- case tokenType.euler_lend:
36
+ case Erc20SubType.euler_lend:
37
37
  return lowerCaseName.includes("evk vault");
38
- case tokenType.fluid:
38
+ case Erc20SubType.fluid:
39
39
  return lowerCaseName.startsWith("fluid");
40
- case tokenType.filament:
40
+ case Erc20SubType.filament:
41
41
  return lowerCaseName.startsWith("filament");
42
- case tokenType.radiant_lend:
42
+ case Erc20SubType.radiant_lend:
43
43
  return lowerCaseName.includes("radiant interest");
44
- case tokenType.radiant_borrow:
44
+ case Erc20SubType.radiant_borrow:
45
45
  return lowerCaseName.includes("radiant variable debt");
46
- case tokenType.ionic:
46
+ case Erc20SubType.ionic:
47
47
  return lowerCaseName.includes("ionic");
48
- case tokenType.venus:
48
+ case Erc20SubType.venus:
49
49
  return lowerCaseName.startsWith("venus");
50
- case tokenType.reactor_fusion:
50
+ case Erc20SubType.reactor_fusion:
51
51
  return lowerCaseName.startsWith("reactorfusion");
52
- case tokenType.rfx:
52
+ case Erc20SubType.rfx:
53
53
  return lowerCaseName.includes("rfx");
54
- case tokenType.rfx_slv:
54
+ case Erc20SubType.rfx_slv:
55
55
  return lowerCaseName.includes("rfx") && lowerCaseName.includes("shared liquidity vault");
56
- case tokenType.layerbank:
56
+ case Erc20SubType.layerbank:
57
57
  return lowerCaseName.includes("layerbank");
58
- case tokenType.moonwell:
58
+ case Erc20SubType.moonwell:
59
59
  return lowerCaseName.includes("moonwell");
60
- case tokenType.curve_2:
60
+ case Erc20SubType.curve_2:
61
61
  return (lowerCaseName === "crvusd/frax" ||
62
62
  lowerCaseName === "ezeth/wfrxeth" ||
63
63
  lowerCaseName === "pufeth/wsteth" ||
64
64
  lowerCaseName === "hai/lusd" ||
65
65
  lowerCaseName === "weth/pufeth");
66
- case tokenType.crosscurve:
66
+ case Erc20SubType.crosscurve:
67
67
  return lowerCaseName.startsWith("crosscurve") || lowerCaseName === "eywa/usdt";
68
- case tokenType.curveNPool:
68
+ case Erc20SubType.curveNPool:
69
69
  return lowerCaseName === "zai/usdc" || lowerCaseName === "zai/szai";
70
- case tokenType.silostaking:
70
+ case Erc20SubType.silostaking:
71
71
  return lowerCaseName === "isei";
72
- case tokenType.beefy:
72
+ case Erc20SubType.beefy:
73
73
  return lowerCaseName.startsWith("moo velo");
74
- case tokenType.uniswapv2:
74
+ case Erc20SubType.uniswapv2:
75
75
  return lowerCaseName.includes("uniswap") && lowerCaseName !== "uniswap";
76
- case tokenType.fenix:
76
+ case Erc20SubType.fenix:
77
77
  return lowerCaseName.includes("stablev1 amm");
78
- case tokenType.ra:
78
+ case Erc20SubType.ra:
79
79
  return lowerCaseName.includes("volatile pair -") || lowerCaseName.includes("correlated pair -");
80
- case tokenType.syncswap:
80
+ case Erc20SubType.syncswap:
81
81
  return lowerCaseName.includes("syncswap");
82
- case tokenType.aave_lending:
82
+ case Erc20SubType.aave_lending:
83
83
  return lowerCaseName.includes("aave");
84
- case tokenType.aave_borrowing:
84
+ case Erc20SubType.aave_borrowing:
85
85
  return lowerCaseName.includes("aave") && lowerCaseName.includes("debt");
86
- case tokenType.xlend_lending:
86
+ case Erc20SubType.xlend_lending:
87
87
  return ((lowerCaseName.startsWith("extrafi x") || lowerCaseName.startsWith("extrax")) && !lowerCaseName.includes("debt"));
88
- case tokenType.xlend_borrowing:
88
+ case Erc20SubType.xlend_borrowing:
89
89
  return ((lowerCaseName.startsWith("extrafi x") || lowerCaseName.startsWith("extrax")) && lowerCaseName.includes("debt"));
90
- case tokenType.curve_gauge:
90
+ case Erc20SubType.curve_gauge:
91
91
  return lowerCaseName.startsWith("curve.fi") && lowerCaseName.includes("gauge");
92
- case tokenType.vicuna_lending:
92
+ case Erc20SubType.vicuna_lending:
93
93
  return lowerCaseName.startsWith("vicuna sonic") && !lowerCaseName.includes("debt");
94
- case tokenType.vicuna_borrowing:
94
+ case Erc20SubType.vicuna_borrowing:
95
95
  return lowerCaseName.startsWith("vicuna sonic variable debt");
96
- case tokenType.yei_borrowing:
96
+ case Erc20SubType.yei_borrowing:
97
97
  return ((lowerCaseName.startsWith("yei") || (lowerCaseName.includes("aave") && lowerCaseName.includes("yei"))) &&
98
98
  lowerCaseName.includes("debt"));
99
- case tokenType.ironclad_borrowing:
99
+ case Erc20SubType.ironclad_borrowing:
100
100
  return ((lowerCaseName.startsWith("ironclad") ||
101
101
  (lowerCaseName.includes("aave") && lowerCaseName.includes("ironclad"))) &&
102
102
  lowerCaseName.includes("debt") &&
103
103
  name.toLowerCase() !== "ironclad token");
104
- case tokenType.zerolend_borrowing:
104
+ case Erc20SubType.zerolend_borrowing:
105
105
  return lowerCaseName.includes("zerolend") && lowerCaseName.includes("debt");
106
- case tokenType.yei_lending:
106
+ case Erc20SubType.yei_lending:
107
107
  return lowerCaseName.startsWith("yei") || (lowerCaseName.includes("aave") && lowerCaseName.includes("yei"));
108
- case tokenType.ironclad_lending:
108
+ case Erc20SubType.ironclad_lending:
109
109
  return ((lowerCaseName.startsWith("ironclad") ||
110
110
  (lowerCaseName.includes("aave") && lowerCaseName.includes("ironclad"))) &&
111
111
  name.toLowerCase() !== "ironclad token");
112
- case tokenType.zerolend_lending:
112
+ case Erc20SubType.zerolend_lending:
113
113
  return lowerCaseName.includes("zerolend");
114
- case tokenType.compound:
114
+ case Erc20SubType.compound:
115
115
  return lowerCaseName.includes("compound");
116
- case tokenType.ironcladStaking:
116
+ case Erc20SubType.ironcladStaking:
117
117
  return lowerCaseName === "ironclad token";
118
- case tokenType.woofi:
118
+ case Erc20SubType.woofi:
119
119
  return lowerCaseName.includes("woofi");
120
- case tokenType.maverickBoostedPosition:
120
+ case Erc20SubType.maverickBoostedPosition:
121
121
  return lowerCaseName.includes("maverick");
122
- case tokenType.zkSwapThreePool:
122
+ case Erc20SubType.zkSwapThreePool:
123
123
  return lowerCaseName.includes("zf");
124
- case tokenType.maha:
124
+ case Erc20SubType.maha:
125
125
  return lowerCaseName.includes("staked") && lowerCaseName.includes("maha");
126
- case tokenType.tempest:
126
+ case Erc20SubType.tempest:
127
127
  return lowerCaseName.startsWith("ts");
128
- case tokenType.tempestStaking:
128
+ case Erc20SubType.tempestStaking:
129
129
  return lowerCaseName.startsWith("tempest");
130
- case tokenType.holdstation:
130
+ case Erc20SubType.holdstation:
131
131
  return lowerCaseName.startsWith("hs");
132
- case tokenType.noLinkVault:
132
+ case Erc20SubType.noLinkVault:
133
133
  return lowerCaseName.startsWith("unifi");
134
- case tokenType.vicuna:
134
+ case Erc20SubType.vicuna:
135
135
  return lowerCaseName.startsWith("vifi");
136
- case tokenType.avalon_borrowing:
136
+ case Erc20SubType.avalon_borrowing:
137
137
  return lowerCaseName.includes("avalon") && lowerCaseName.includes("debt");
138
- case tokenType.avalon_lending:
138
+ case Erc20SubType.avalon_lending:
139
139
  return lowerCaseName.includes("avalon");
140
- case tokenType.superlend_borrowing:
140
+ case Erc20SubType.superlend_borrowing:
141
141
  return lowerCaseName.includes("superlend") && lowerCaseName.includes("debt");
142
- case tokenType.superlend_lending:
142
+ case Erc20SubType.superlend_lending:
143
143
  return lowerCaseName.includes("superlend");
144
- case tokenType.lendle_borrowing:
144
+ case Erc20SubType.lendle_borrowing:
145
145
  return lowerCaseName.includes("lendle") && lowerCaseName.includes("debt");
146
- case tokenType.lendle_lending:
146
+ case Erc20SubType.lendle_lending:
147
147
  return lowerCaseName.includes("lendle");
148
- case tokenType.takotako_borrowing:
148
+ case Erc20SubType.takotako_borrowing:
149
149
  return lowerCaseName.includes("takotako") && lowerCaseName.includes("debt");
150
- case tokenType.takotako_lending:
150
+ case Erc20SubType.takotako_lending:
151
151
  return lowerCaseName.includes("takotako");
152
- case tokenType.cian:
152
+ case Erc20SubType.cian:
153
153
  return lowerCaseName.includes("cian");
154
- case tokenType.concrete:
154
+ case Erc20SubType.concrete:
155
155
  return lowerCaseName.includes("concrete");
156
- case tokenType.equalizer_gauge:
156
+ case Erc20SubType.equalizer_gauge:
157
157
  return lowerCaseName.includes("equalizer");
158
- case tokenType.spectra_lpt:
158
+ case Erc20SubType.spectra_lpt:
159
159
  return lowerCaseName.includes("spectra") && lowerCaseName.includes("curve");
160
- case tokenType.spectra_yt:
160
+ case Erc20SubType.spectra_yt:
161
161
  return lowerCaseName.includes("yield") && lowerCaseName.includes("token");
162
- case tokenType.bunniV2:
162
+ case Erc20SubType.bunniV2:
163
163
  return lowerCaseName.includes("bunni");
164
- case tokenType.sake_lending:
164
+ case Erc20SubType.sake_lending:
165
165
  return lowerCaseName.includes("sake soneium");
166
- case tokenType.sake_borrowing:
166
+ case Erc20SubType.sake_borrowing:
167
167
  return lowerCaseName.includes("sake soneium") && lowerCaseName.includes("debt");
168
168
  default:
169
169
  return false;
@@ -203,7 +203,7 @@ function parseForFactory(calls, targetToken, campaign) {
203
203
  const factory = decodeReturnValue(calls.factory, "factory");
204
204
  const name = decodeReturnValue(calls.name, "name");
205
205
  const type = getTypeFromFactoryAddress(factory);
206
- if (type !== tokenType.unknown)
206
+ if (type !== Erc20SubType.unknown)
207
207
  return generateResult(type, name, targetToken, { factory }, campaign);
208
208
  }
209
209
  catch (e) {
@@ -216,7 +216,7 @@ function parseForOwner(calls, targetToken) {
216
216
  const owner = decodeReturnValue(calls.owner, "owner");
217
217
  const name = decodeReturnValue(calls.name, "name");
218
218
  const type = getTypeFromOwnerAddress(owner);
219
- if (type !== tokenType.unknown)
219
+ if (type !== Erc20SubType.unknown)
220
220
  return generateResult(type, name, targetToken, { owner: owner });
221
221
  }
222
222
  catch (e) {
@@ -235,7 +235,7 @@ function parseForEnzyme(calls, targetToken) {
235
235
  fundValueCalculator,
236
236
  dispatcher,
237
237
  };
238
- if (type === tokenType.enzyme) {
238
+ if (type === Erc20SubType.enzyme) {
239
239
  return generateResult(type, name, targetToken, typeInfo);
240
240
  }
241
241
  }
@@ -248,7 +248,7 @@ function parseForMetamorpho(calls, targetToken) {
248
248
  try {
249
249
  decodeReturnValue(calls.metamorpho, "MORPHO");
250
250
  const name = decodeReturnValue(calls.name, "name");
251
- return generateResult(tokenType.metamorpho, name, targetToken, {});
251
+ return generateResult(Erc20SubType.metamorpho, name, targetToken, {});
252
252
  }
253
253
  catch (e) {
254
254
  // Not a metamorpho token
@@ -258,14 +258,14 @@ function parseForBalancer(calls, targetToken, name) {
258
258
  // Check for balancer pools
259
259
  try {
260
260
  decodeReturnValue(calls.poolId, "getPoolId");
261
- return generateResult(tokenType.balancerPool, name, targetToken, {});
261
+ return generateResult(Erc20SubType.balancerPool, name, targetToken, {});
262
262
  }
263
263
  catch (e) {
264
264
  // Not a balancer pool
265
265
  }
266
266
  try {
267
267
  decodeReturnValue(calls.vault, "getVault");
268
- return generateResult(tokenType.balancerV3, name, targetToken, {});
268
+ return generateResult(Erc20SubType.balancerV3, name, targetToken, {});
269
269
  }
270
270
  catch (e) {
271
271
  // Not a balancer v3 pool
@@ -276,7 +276,7 @@ function checkAgainstHardcoded(calls, chainId, targetToken) {
276
276
  try {
277
277
  const name = decodeReturnValue(calls.name, "name");
278
278
  const type = getTypeFromAddressChain(chainId, targetToken);
279
- if (type !== tokenType.unknown)
279
+ if (type !== Erc20SubType.unknown)
280
280
  return generateResult(type, name, targetToken, {});
281
281
  }
282
282
  catch (e) {
@@ -332,15 +332,15 @@ export function getTokenTypeRound1(calls, targetToken, index, campaign) {
332
332
  name = decodeCall(returnValueOfCalls, index + 2, "name");
333
333
  }
334
334
  catch {
335
- return generateResult(tokenType.unknown, "Unknown", targetToken, {}, campaign);
335
+ return generateResult(Erc20SubType.unknown, "Unknown", targetToken, {}, campaign);
336
336
  }
337
337
  result = parseForBalancer(returnValue, targetToken, name);
338
338
  if (result)
339
339
  return result;
340
340
  // Order matters
341
- const ordered_token_Type = Object.values(tokenType).filter(value => typeof value === "string");
341
+ const ordered_token_Type = Object.values(Erc20SubType).filter(value => typeof value === "string");
342
342
  result = processNamingConditionsInOrder(ordered_token_Type, name, targetToken, campaign);
343
343
  if (result)
344
344
  return result;
345
- return generateResult(tokenType.unknown, name, targetToken, {}, campaign);
345
+ return generateResult(Erc20SubType.unknown, name, targetToken, {}, campaign);
346
346
  }
@@ -1,4 +1,4 @@
1
1
  import type { CampaignParameters, ResultDto } from "@sdk";
2
- import type { ERC20SupportedCampaignType } from "../dynamicData/implementations/Erc20";
3
- import type { tokenType, tokenTypeStruct } from "./helpers/tokenType";
4
- export declare function getTokenTypeRound2(index: number, type: tokenType, typeInfo: any, calls: ResultDto[], campaign?: CampaignParameters<ERC20SupportedCampaignType>): tokenTypeStruct;
2
+ import type { Erc20LikeCampaignEnum } from "../campaignTVL/implementations/Erc20";
3
+ import type { Erc20SubType } from "../campaignTVL/implementations/Erc20/Erc20SubType";
4
+ export declare function getTokenTypeRound2(index: number, type: Erc20SubType, typeInfo: any, calls: ResultDto[], campaign?: CampaignParameters<Erc20LikeCampaignEnum>): import("./tokenTypeStruct").tokenTypeStruct;
@@ -1,3 +1,3 @@
1
1
  import type { ResultDto } from "@sdk";
2
- import type { tokenType, tokenTypeStruct } from "./helpers/tokenType";
3
- export declare function getTokenTypeRound3(index: number, type: tokenType, typeInfo: any, calls: ResultDto[]): tokenTypeStruct;
2
+ import type { Erc20SubType } from "../campaignTVL/implementations/Erc20/Erc20SubType";
3
+ export declare function getTokenTypeRound3(index: number, type: Erc20SubType, typeInfo: any, calls: ResultDto[]): import("./tokenTypeStruct").tokenTypeStruct;
@@ -1,3 +1,3 @@
1
1
  import type { Campaign, CampaignParameters, ResultDto } from "@sdk";
2
- import type { tokenType, tokenTypeStruct } from "./helpers/tokenType";
3
- export declare function getTokenTypeRound4(index: number, type: tokenType, typeInfo: any, calls: ResultDto[], campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): tokenTypeStruct;
2
+ import type { Erc20SubType } from "../campaignTVL/implementations/Erc20/Erc20SubType";
3
+ export declare function getTokenTypeRound4(index: number, type: Erc20SubType, typeInfo: any, calls: ResultDto[], campaign: CampaignParameters<Campaign.ERC20> | CampaignParameters<Campaign.ERC20LOGPROCESSOR> | CampaignParameters<Campaign.ERC20REBASELOGPROCESSOR> | CampaignParameters<Campaign.EULER>): import("./tokenTypeStruct").tokenTypeStruct;
@@ -0,0 +1,7 @@
1
+ import type { CallDto } from "@sdk";
2
+ import type { Erc20SubType } from "../campaignTVL/implementations/Erc20/Erc20SubType";
3
+ export type tokenTypeStruct = {
4
+ type: Erc20SubType;
5
+ calls: CallDto[];
6
+ typeInfo: any;
7
+ };
@@ -0,0 +1,7 @@
1
+ import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
2
+ import { OpportunityAction } from "@db/api";
3
+ import { Erc20SubType } from "../campaignTVL/implementations/Erc20/Erc20SubType";
4
+ export declare const tokenTypeToProtocolAndAction: Record<Erc20SubType, {
5
+ protocol: ProtocolId | undefined;
6
+ action: OpportunityAction;
7
+ }>;
@@ -0,0 +1,130 @@
1
+ import { OpportunityAction } from "@db/api";
2
+ import { Erc20SubType } from "../campaignTVL/implementations/Erc20/Erc20SubType";
3
+ export const tokenTypeToProtocolAndAction = {
4
+ [Erc20SubType.aave_borrowing]: { protocol: "aave", action: OpportunityAction.BORROW },
5
+ [Erc20SubType.anglesLiquid]: { protocol: "angles", action: OpportunityAction.LEND },
6
+ [Erc20SubType.aave_lending]: { protocol: "aave", action: OpportunityAction.LEND },
7
+ [Erc20SubType.aerodrome]: { protocol: "aerodrome", action: OpportunityAction.POOL },
8
+ [Erc20SubType.akron]: { protocol: "akron", action: OpportunityAction.POOL },
9
+ [Erc20SubType.aura]: { protocol: "aura", action: OpportunityAction.POOL },
10
+ [Erc20SubType.balancerGauge]: { protocol: "balancer", action: OpportunityAction.POOL },
11
+ [Erc20SubType.balancerPool]: { protocol: "balancer", action: OpportunityAction.POOL },
12
+ [Erc20SubType.baseswap]: { protocol: "base-swap", action: OpportunityAction.HOLD },
13
+ [Erc20SubType.beefy]: { protocol: "beefy", action: OpportunityAction.POOL },
14
+ [Erc20SubType.compound]: { protocol: "compound", action: OpportunityAction.LEND },
15
+ [Erc20SubType.curve]: { protocol: "curve", action: OpportunityAction.POOL },
16
+ [Erc20SubType.curve_2]: { protocol: "curve", action: OpportunityAction.POOL },
17
+ [Erc20SubType.dragonswap]: { protocol: "dragonswap", action: OpportunityAction.POOL },
18
+ [Erc20SubType.enzyme]: { protocol: "enzyme", action: OpportunityAction.HOLD },
19
+ [Erc20SubType.euler_borrow]: { protocol: "euler", action: OpportunityAction.BORROW },
20
+ [Erc20SubType.euler_lend]: { protocol: "euler", action: OpportunityAction.LEND },
21
+ [Erc20SubType.fenix]: { protocol: "fenix", action: OpportunityAction.HOLD },
22
+ [Erc20SubType.filament]: { protocol: "filament", action: OpportunityAction.LONG },
23
+ [Erc20SubType.fluid]: { protocol: "fluid", action: OpportunityAction.LEND },
24
+ [Erc20SubType.fraxlend]: { protocol: "fraxlend", action: OpportunityAction.LEND },
25
+ [Erc20SubType.gearbox]: { protocol: "gearbox", action: OpportunityAction.LEND },
26
+ [Erc20SubType.ionic]: { protocol: "ionic", action: OpportunityAction.LEND },
27
+ [Erc20SubType.ironclad_borrowing]: { protocol: "ironclad", action: OpportunityAction.HOLD },
28
+ [Erc20SubType.ironclad_lending]: { protocol: "ironclad", action: OpportunityAction.HOLD },
29
+ [Erc20SubType.koi]: { protocol: "koi", action: OpportunityAction.POOL },
30
+ [Erc20SubType.layerbank]: { protocol: "layerbank", action: OpportunityAction.LEND },
31
+ [Erc20SubType.metamorpho]: { protocol: "morpho", action: OpportunityAction.HOLD },
32
+ [Erc20SubType.moonwell]: { protocol: "moonwell", action: OpportunityAction.LEND },
33
+ [Erc20SubType.pendle]: { protocol: "pendle", action: OpportunityAction.HOLD },
34
+ [Erc20SubType.poolside]: { protocol: "poolside", action: OpportunityAction.POOL },
35
+ [Erc20SubType.ra]: { protocol: "ra", action: OpportunityAction.HOLD },
36
+ [Erc20SubType.radiant_borrow]: { protocol: "radiant", action: OpportunityAction.BORROW },
37
+ [Erc20SubType.radiant_lend]: { protocol: "radiant", action: OpportunityAction.LEND },
38
+ [Erc20SubType.reactor_fusion]: { protocol: "reactor_fusion", action: OpportunityAction.LEND },
39
+ [Erc20SubType.silostaking]: { protocol: "silo", action: OpportunityAction.LEND },
40
+ [Erc20SubType.splice]: { protocol: "splice", action: OpportunityAction.HOLD },
41
+ [Erc20SubType.sturdy_aggregator]: { protocol: "sturdy", action: OpportunityAction.LEND },
42
+ [Erc20SubType.sturdy_silo]: { protocol: "sturdy", action: OpportunityAction.LEND },
43
+ [Erc20SubType.syncswap]: { protocol: "syncswap", action: OpportunityAction.POOL },
44
+ [Erc20SubType.toros]: { protocol: "toros", action: OpportunityAction.HOLD },
45
+ [Erc20SubType.uniswapv2]: { protocol: "uniswap", action: OpportunityAction.POOL },
46
+ [Erc20SubType.velodrome]: { protocol: "velodrome", action: OpportunityAction.POOL },
47
+ [Erc20SubType.venus]: { protocol: "venus", action: OpportunityAction.LEND },
48
+ [Erc20SubType.unknown]: { protocol: undefined, action: OpportunityAction.HOLD },
49
+ [Erc20SubType.yei_borrowing]: { protocol: "yei", action: OpportunityAction.HOLD },
50
+ [Erc20SubType.yei_lending]: { protocol: "yei", action: OpportunityAction.HOLD },
51
+ [Erc20SubType.zerolend_borrowing]: { protocol: "zerolend", action: OpportunityAction.BORROW },
52
+ [Erc20SubType.zerolend_lending]: { protocol: "zerolend", action: OpportunityAction.LEND },
53
+ [Erc20SubType.zkswap]: { protocol: "zk-swap", action: OpportunityAction.POOL },
54
+ [Erc20SubType.rfx]: { protocol: "rfx", action: OpportunityAction.POOL },
55
+ [Erc20SubType.woofi]: { protocol: "woofi", action: OpportunityAction.LEND },
56
+ [Erc20SubType.ironcladStaking]: { protocol: "ironclad", action: OpportunityAction.HOLD },
57
+ [Erc20SubType.maverickBoostedPosition]: { protocol: "maverick", action: OpportunityAction.POOL },
58
+ [Erc20SubType.zkSwapThreePool]: { protocol: "zk-swap", action: OpportunityAction.POOL },
59
+ [Erc20SubType.maha]: { protocol: "maha", action: OpportunityAction.HOLD },
60
+ [Erc20SubType.tempest]: { protocol: "tempest", action: OpportunityAction.POOL },
61
+ [Erc20SubType.pendleYT]: { protocol: "pendle", action: OpportunityAction.HOLD },
62
+ [Erc20SubType.pancakeswap]: { protocol: "pancake-swap", action: OpportunityAction.POOL },
63
+ [Erc20SubType.tempestStaking]: { protocol: "tempest", action: OpportunityAction.HOLD },
64
+ [Erc20SubType.holdstation]: { protocol: "holdstation", action: OpportunityAction.HOLD },
65
+ [Erc20SubType.noLinkVault]: { protocol: undefined, action: OpportunityAction.HOLD },
66
+ [Erc20SubType.cpmmGamma]: { protocol: "gammaswap", action: OpportunityAction.POOL },
67
+ [Erc20SubType.crosscurve]: { protocol: "cross_curve", action: OpportunityAction.POOL },
68
+ [Erc20SubType.curveNPool]: { protocol: "curve", action: OpportunityAction.POOL },
69
+ [Erc20SubType.vicuna]: { protocol: "vicuna", action: OpportunityAction.POOL },
70
+ [Erc20SubType.traderJoe]: { protocol: "trader-joe", action: OpportunityAction.HOLD },
71
+ [Erc20SubType.avalon_lending]: { protocol: "avalon", action: OpportunityAction.HOLD },
72
+ [Erc20SubType.avalon_borrowing]: { protocol: "avalon", action: OpportunityAction.HOLD },
73
+ [Erc20SubType.satlayer]: { protocol: "satlayer", action: OpportunityAction.HOLD },
74
+ [Erc20SubType.veda]: { protocol: "veda", action: OpportunityAction.HOLD },
75
+ [Erc20SubType.superlend_borrowing]: { protocol: "superlend", action: OpportunityAction.BORROW },
76
+ [Erc20SubType.superlend_lending]: { protocol: "superlend", action: OpportunityAction.LEND },
77
+ [Erc20SubType.cian]: { protocol: "cian", action: OpportunityAction.HOLD },
78
+ [Erc20SubType.concrete]: { protocol: "concrete", action: OpportunityAction.HOLD },
79
+ [Erc20SubType.lendle_borrowing]: { protocol: "lendle", action: OpportunityAction.BORROW },
80
+ [Erc20SubType.lendle_lending]: { protocol: "lendle", action: OpportunityAction.LEND },
81
+ [Erc20SubType.takotako_borrowing]: { protocol: "tako-tako", action: OpportunityAction.BORROW },
82
+ [Erc20SubType.takotako_lending]: { protocol: "tako-tako", action: OpportunityAction.LEND },
83
+ [Erc20SubType.equalizer_gauge]: { protocol: "equalizer", action: OpportunityAction.HOLD },
84
+ [Erc20SubType.vicuna_lending]: { protocol: "vicuna", action: OpportunityAction.LEND },
85
+ [Erc20SubType.vicuna_borrowing]: { protocol: "vicuna", action: OpportunityAction.BORROW },
86
+ [Erc20SubType.spectra_lpt]: { protocol: "spectra", action: OpportunityAction.POOL },
87
+ [Erc20SubType.spectra_yt]: { protocol: "spectra", action: OpportunityAction.POOL },
88
+ [Erc20SubType.rfx_slv]: { protocol: "rfx", action: OpportunityAction.POOL },
89
+ [Erc20SubType.hourglass]: { protocol: "hourglass", action: OpportunityAction.HOLD },
90
+ [Erc20SubType.katana]: { protocol: "katana", action: OpportunityAction.POOL },
91
+ [Erc20SubType.balancerV3]: { protocol: "balancer", action: OpportunityAction.POOL },
92
+ [Erc20SubType.hanji_liquidity_vault_token]: { protocol: "hanji", action: OpportunityAction.POOL },
93
+ [Erc20SubType.xU308]: { protocol: "uranium", action: OpportunityAction.HOLD },
94
+ [Erc20SubType.bunniV2]: {
95
+ protocol: "bunni",
96
+ action: OpportunityAction.HOLD,
97
+ },
98
+ [Erc20SubType.beratrax_vault]: {
99
+ protocol: "beratrax",
100
+ action: OpportunityAction.HOLD,
101
+ },
102
+ [Erc20SubType.beraborrow_gauge]: {
103
+ protocol: "beraborrow",
104
+ action: OpportunityAction.HOLD,
105
+ },
106
+ [Erc20SubType.xlend_lending]: {
107
+ protocol: "xlend",
108
+ action: OpportunityAction.LEND,
109
+ },
110
+ [Erc20SubType.xlend_borrowing]: {
111
+ protocol: "xlend",
112
+ action: OpportunityAction.BORROW,
113
+ },
114
+ [Erc20SubType.curve_gauge]: {
115
+ protocol: "curve",
116
+ action: OpportunityAction.POOL,
117
+ },
118
+ [Erc20SubType.sake_borrowing]: {
119
+ protocol: "sake",
120
+ action: OpportunityAction.BORROW,
121
+ },
122
+ [Erc20SubType.sake_lending]: {
123
+ protocol: "sake",
124
+ action: OpportunityAction.LEND,
125
+ },
126
+ [Erc20SubType.gamma]: {
127
+ protocol: "gamma",
128
+ action: OpportunityAction.POOL,
129
+ },
130
+ };
@@ -1,5 +1,5 @@
1
1
  import { type CampaignDynamicData, Campaign as CampaignEnum, type CampaignParameters, type ChainId } from "@sdk";
2
- import type { MetadataBuilder } from "../interface";
2
+ import type { MetadataBuilder } from "../../interface";
3
3
  type campaignType = CampaignEnum.ERC20;
4
4
  export declare class Erc20Metadata implements MetadataBuilder<campaignType> {
5
5
  build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], rewardTokenAddress: string, distributionChainId: ChainId, campaignId: string): Promise<{
@@ -2,7 +2,7 @@ import { dynamicDataBuilderFactory } from "@/engine/dynamicData/factory";
2
2
  import { log } from "@/utils/logger";
3
3
  import { Campaign as CampaignEnum, } from "@sdk";
4
4
  import { getAddress } from "viem";
5
- import { ProtocolService } from "../../../modules/v4/protocol/protocol.service";
5
+ import { ProtocolService } from "../../../../modules/v4/protocol/protocol.service";
6
6
  export class Erc20Metadata {
7
7
  async build(computeChainId, params, _subType, rewardTokenAddress, distributionChainId, campaignId) {
8
8
  let action = "HOLD";
@@ -9,13 +9,13 @@ export declare class JsonAirdropMetadata implements MetadataBuilder<campaignType
9
9
  chainId: ChainId;
10
10
  address: string;
11
11
  }[];
12
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "uniswap" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "satlayer" | undefined;
12
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
13
13
  depositUrl?: undefined;
14
14
  } | {
15
15
  action: "DROP";
16
16
  name: string;
17
17
  tokens: never[];
18
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "uniswap" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "curve" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "fraxlend" | "ironclad" | "gearbox" | "compound" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "silo" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "vest" | "zerolend" | "hyperdrive" | "gamma" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "satlayer" | undefined;
18
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "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" | "uniswap" | "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" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
19
19
  depositUrl: any;
20
20
  }>;
21
21
  static generateUrl(_computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): any;