@merkl/api 0.19.6 → 0.19.8

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 (311) hide show
  1. package/dist/src/backgroundJobs/jobs/campaignsCacheUpdater.js +4 -3
  2. package/dist/src/eden/index.d.ts +85 -48
  3. package/dist/src/engine/dynamicData/factory.d.ts +3 -0
  4. package/dist/src/engine/dynamicData/factory.js +54 -0
  5. package/dist/src/engine/dynamicData/implementations/Ajna.d.ts +7 -0
  6. package/dist/src/engine/dynamicData/implementations/Ajna.js +101 -0
  7. package/dist/src/engine/dynamicData/implementations/Ambiant.d.ts +7 -0
  8. package/dist/src/engine/dynamicData/implementations/Ambiant.js +227 -0
  9. package/dist/src/engine/dynamicData/implementations/Badger.d.ts +7 -0
  10. package/dist/src/engine/dynamicData/implementations/Badger.js +84 -0
  11. package/dist/src/engine/dynamicData/implementations/Clamm.d.ts +7 -0
  12. package/dist/src/engine/dynamicData/implementations/Clamm.js +970 -0
  13. package/dist/src/engine/dynamicData/implementations/Compound.d.ts +7 -0
  14. package/dist/src/engine/dynamicData/implementations/Compound.js +136 -0
  15. package/dist/src/engine/dynamicData/implementations/Dolomite.d.ts +7 -0
  16. package/dist/src/engine/dynamicData/implementations/Dolomite.js +53 -0
  17. package/dist/src/engine/dynamicData/implementations/EigenLayer.d.ts +7 -0
  18. package/dist/src/engine/dynamicData/implementations/EigenLayer.js +64 -0
  19. package/dist/src/engine/dynamicData/implementations/Encompassing.d.ts +7 -0
  20. package/dist/src/engine/dynamicData/implementations/Encompassing.js +26 -0
  21. package/dist/src/engine/dynamicData/implementations/Erc20.d.ts +6 -0
  22. package/dist/src/engine/dynamicData/implementations/Erc20.js +159 -0
  23. package/dist/src/engine/dynamicData/implementations/Erc20Snapshot.d.ts +7 -0
  24. package/dist/src/engine/dynamicData/implementations/Erc20Snapshot.js +32 -0
  25. package/dist/src/engine/dynamicData/implementations/EventBased.d.ts +7 -0
  26. package/dist/src/engine/dynamicData/implementations/EventBased.js +104 -0
  27. package/dist/src/engine/dynamicData/implementations/Hyperdrive.d.ts +7 -0
  28. package/dist/src/engine/dynamicData/implementations/Hyperdrive.js +96 -0
  29. package/dist/src/engine/dynamicData/implementations/Morpho.d.ts +7 -0
  30. package/dist/src/engine/dynamicData/implementations/Morpho.js +109 -0
  31. package/dist/src/engine/dynamicData/implementations/Radiant.d.ts +7 -0
  32. package/dist/src/engine/dynamicData/implementations/Radiant.js +117 -0
  33. package/dist/src/engine/dynamicData/implementations/Silo.d.ts +9 -0
  34. package/dist/src/engine/dynamicData/implementations/Silo.js +109 -0
  35. package/dist/src/engine/dynamicData/implementations/UniswapV4.d.ts +7 -0
  36. package/dist/src/engine/dynamicData/implementations/UniswapV4.js +249 -0
  37. package/dist/src/engine/dynamicData/implementations/Vest.d.ts +9 -0
  38. package/dist/src/engine/dynamicData/implementations/Vest.js +58 -0
  39. package/dist/src/engine/dynamicData/implementations/default.d.ts +5 -0
  40. package/dist/src/engine/dynamicData/implementations/default.js +5 -0
  41. package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getEulerV2Vaults.js +1 -1
  42. package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/GenericProcessor.d.ts +1 -1
  43. package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/tokenType.d.ts +2 -1
  44. package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/tokenType.js +2 -0
  45. package/dist/src/engine/erc20SubTypeProcessors/implementations/BunniV2Processor.d.ts +45 -0
  46. package/dist/src/engine/erc20SubTypeProcessors/implementations/BunniV2Processor.js +87 -0
  47. package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/processorMapping.js +2 -0
  48. package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound1.js +2 -0
  49. package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound2.d.ts +1 -1
  50. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20.js +3 -3
  51. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Euler.d.ts +1 -1
  52. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Euler.js +7 -7
  53. package/dist/src/{factories → engine}/opportunityMetadata/implementations/EventBased.d.ts +1 -1
  54. package/dist/src/{factories → engine}/opportunityMetadata/implementations/EventBased.js +2 -2
  55. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Vest.js +1 -1
  56. package/dist/src/index.d.ts +19 -16
  57. package/dist/src/jobs/update-euler-vaults.js +2 -2
  58. package/dist/src/modules/v4/apr/apr.service.d.ts +1 -1
  59. package/dist/src/modules/v4/apr/apr.service.js +4 -4
  60. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +5 -0
  61. package/dist/src/modules/v4/campaign/campaign.model.d.ts +1 -0
  62. package/dist/src/modules/v4/campaign/campaign.model.js +1 -0
  63. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +4 -0
  64. package/dist/src/modules/v4/campaign/campaign.repository.js +2 -1
  65. package/dist/src/modules/v4/campaign/campaign.service.d.ts +0 -8
  66. package/dist/src/modules/v4/campaign/campaign.service.js +0 -13
  67. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +3 -4
  68. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +8 -0
  69. package/dist/src/modules/v4/opportunity/opportunity.converter.js +2 -2
  70. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +2 -0
  71. package/dist/src/modules/v4/opportunity/opportunity.model.js +2 -0
  72. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +1 -1
  73. package/dist/src/modules/v4/opportunity/opportunity.repository.js +14 -10
  74. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +2 -2
  75. package/dist/src/modules/v4/opportunity/opportunity.service.js +5 -5
  76. package/dist/src/modules/v4/router.d.ts +14 -0
  77. package/dist/src/modules/v4/token/token.controller.d.ts +1 -0
  78. package/dist/src/modules/v4/token/token.model.d.ts +1 -0
  79. package/dist/src/modules/v4/token/token.model.js +1 -0
  80. package/dist/src/modules/v4/token/token.service.d.ts +3 -1
  81. package/dist/src/modules/v4/token/token.service.js +18 -0
  82. package/dist/src/modules/v4/uniswapV4/uniswapV4.controller.d.ts +2 -2
  83. package/dist/src/modules/v4/uniswapV4/uniswapV4.service.d.ts +2 -2
  84. package/dist/src/modules/v4/uniswapV4/uniswapV4.service.js +1 -1
  85. package/dist/src/routes/v3/campaigns.d.ts +1 -1
  86. package/dist/src/routes/v3/compoundV2.d.ts +2 -10
  87. package/dist/src/routes/v3/compoundV2.js +1 -1
  88. package/dist/src/routes/v3/dolomite.js +1 -1
  89. package/dist/src/routes/v3/euler.js +1 -1
  90. package/dist/src/routes/v3/router.d.ts +5 -16
  91. package/dist/src/routes/v3/uniswapv4.d.ts +2 -5
  92. package/dist/src/routes/v3/uniswapv4.js +1 -1
  93. package/dist/src/utils/decodeCalls.d.ts +1 -1
  94. package/dist/src/utils/decodeCalls.js +8 -2
  95. package/dist/src/utils/encodeCalls.d.ts +1 -1
  96. package/dist/src/utils/encodeCalls.js +20 -2
  97. package/dist/src/utils/generateCardName.d.ts +1 -1
  98. package/dist/src/utils/generateCardName.js +3 -1
  99. package/dist/src/utils/generateIcons.d.ts +1 -1
  100. package/dist/src/utils/generateIcons.js +1 -1
  101. package/dist/tsconfig.package.tsbuildinfo +1 -1
  102. package/package.json +2 -2
  103. package/dist/src/factories/dynamicData/factory.d.ts +0 -0
  104. package/dist/src/factories/dynamicData/factory.js +0 -10
  105. package/dist/src/libs/campaigns/campaignTypes/AjnaDynamicData.d.ts +0 -5
  106. package/dist/src/libs/campaigns/campaignTypes/AjnaDynamicData.js +0 -111
  107. package/dist/src/libs/campaigns/campaignTypes/AmbientDynamicData.d.ts +0 -3
  108. package/dist/src/libs/campaigns/campaignTypes/AmbientDynamicData.js +0 -243
  109. package/dist/src/libs/campaigns/campaignTypes/BadgerDynamicData.d.ts +0 -5
  110. package/dist/src/libs/campaigns/campaignTypes/BadgerDynamicData.js +0 -93
  111. package/dist/src/libs/campaigns/campaignTypes/CLAMMDynamicData.d.ts +0 -3
  112. package/dist/src/libs/campaigns/campaignTypes/CLAMMDynamicData.js +0 -986
  113. package/dist/src/libs/campaigns/campaignTypes/CompoundDynamicData.d.ts +0 -3
  114. package/dist/src/libs/campaigns/campaignTypes/CompoundDynamicData.js +0 -139
  115. package/dist/src/libs/campaigns/campaignTypes/DolomiteDynamicData.d.ts +0 -5
  116. package/dist/src/libs/campaigns/campaignTypes/DolomiteDynamicData.js +0 -60
  117. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicData.d.ts +0 -4
  118. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicData.js +0 -164
  119. package/dist/src/libs/campaigns/campaignTypes/ERC20_SNAPSHOTDynamicData.d.ts +0 -5
  120. package/dist/src/libs/campaigns/campaignTypes/ERC20_SNAPSHOTDynamicData.js +0 -38
  121. package/dist/src/libs/campaigns/campaignTypes/EigenLayerDynamicData.d.ts +0 -3
  122. package/dist/src/libs/campaigns/campaignTypes/EigenLayerDynamicData.js +0 -67
  123. package/dist/src/libs/campaigns/campaignTypes/EncompassingDynamicData.d.ts +0 -5
  124. package/dist/src/libs/campaigns/campaignTypes/EncompassingDynamicData.js +0 -34
  125. package/dist/src/libs/campaigns/campaignTypes/EventBasedDynamicData.d.ts +0 -3
  126. package/dist/src/libs/campaigns/campaignTypes/EventBasedDynamicData.js +0 -114
  127. package/dist/src/libs/campaigns/campaignTypes/HyperdriveDynamicData.d.ts +0 -5
  128. package/dist/src/libs/campaigns/campaignTypes/HyperdriveDynamicData.js +0 -99
  129. package/dist/src/libs/campaigns/campaignTypes/JSON_AIRDROPDynamicData.d.ts +0 -5
  130. package/dist/src/libs/campaigns/campaignTypes/JSON_AIRDROPDynamicData.js +0 -19
  131. package/dist/src/libs/campaigns/campaignTypes/MORPHODynamicData.d.ts +0 -5
  132. package/dist/src/libs/campaigns/campaignTypes/MORPHODynamicData.js +0 -112
  133. package/dist/src/libs/campaigns/campaignTypes/RadiantDynamicData.d.ts +0 -3
  134. package/dist/src/libs/campaigns/campaignTypes/RadiantDynamicData.js +0 -122
  135. package/dist/src/libs/campaigns/campaignTypes/SILODynamicData.d.ts +0 -7
  136. package/dist/src/libs/campaigns/campaignTypes/SILODynamicData.js +0 -115
  137. package/dist/src/libs/campaigns/campaignTypes/UniswapV4DynamicData.d.ts +0 -3
  138. package/dist/src/libs/campaigns/campaignTypes/UniswapV4DynamicData.js +0 -265
  139. package/dist/src/libs/campaigns/campaignTypes/VestDynamicData.d.ts +0 -5
  140. package/dist/src/libs/campaigns/campaignTypes/VestDynamicData.js +0 -61
  141. package/dist/src/libs/campaigns/campaignsDynamicData.d.ts +0 -3
  142. package/dist/src/libs/campaigns/campaignsDynamicData.js +0 -131
  143. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchA51Strategies.d.ts +0 -0
  144. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchA51Strategies.js +0 -0
  145. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchAmbientInfo.d.ts +0 -0
  146. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchAmbientInfo.js +0 -0
  147. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchClamInfo.d.ts +0 -0
  148. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchClamInfo.js +0 -0
  149. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchLogs.d.ts +0 -0
  150. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchLogs.js +0 -0
  151. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getCompV2ForksVaults.d.ts +0 -0
  152. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getCompV2ForksVaults.js +0 -0
  153. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getContractCreationBlock.d.ts +0 -0
  154. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getContractCreationBlock.js +0 -0
  155. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getDolomiteMarkets.d.ts +0 -0
  156. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getDolomiteMarkets.js +0 -0
  157. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getEulerV2Vaults.d.ts +0 -0
  158. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getUniswapV4Pools.d.ts +0 -0
  159. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getUniswapV4Pools.js +0 -0
  160. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/GenericProcessor.js +0 -0
  161. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/eulerVaultNames.d.ts +0 -0
  162. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/eulerVaultNames.js +0 -0
  163. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/factoryFinder.d.ts +0 -0
  164. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/factoryFinder.js +0 -0
  165. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.d.ts +0 -0
  166. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.js +0 -0
  167. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/hardcoded.d.ts +0 -0
  168. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/hardcoded.js +0 -0
  169. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/metamorphoTvl.d.ts +0 -0
  170. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/metamorphoTvl.js +0 -0
  171. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/ownerFinder.d.ts +0 -0
  172. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/ownerFinder.js +0 -0
  173. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/spliceTVL.d.ts +0 -0
  174. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/spliceTVL.js +0 -0
  175. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AaveProcessor.d.ts +0 -0
  176. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AaveProcessor.js +0 -0
  177. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AnglesLiquid.d.ts +0 -0
  178. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AnglesLiquid.js +0 -0
  179. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AssetProcessor.d.ts +0 -0
  180. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AssetProcessor.js +0 -0
  181. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AuraProcessor.d.ts +0 -0
  182. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AuraProcessor.js +0 -0
  183. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.d.ts +0 -0
  184. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.js +0 -0
  185. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.d.ts +0 -0
  186. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.js +0 -0
  187. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.d.ts +0 -0
  188. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.js +0 -0
  189. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BeefyProcessor.d.ts +0 -0
  190. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BeefyProcessor.js +0 -0
  191. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/CompoundProcessor.d.ts +0 -0
  192. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/CompoundProcessor.js +0 -0
  193. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ERC4626Processor.d.ts +0 -0
  194. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ERC4626Processor.js +0 -0
  195. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EnzymeProcessor.d.ts +0 -0
  196. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EnzymeProcessor.js +0 -0
  197. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.d.ts +0 -0
  198. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.js +0 -0
  199. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.d.ts +0 -0
  200. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.js +0 -0
  201. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerLendProcessor.d.ts +0 -0
  202. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerLendProcessor.js +0 -0
  203. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FluidProcessor.d.ts +0 -0
  204. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FluidProcessor.js +0 -0
  205. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FraxProcessor.d.ts +0 -0
  206. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FraxProcessor.js +0 -0
  207. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GammaProcessor.d.ts +0 -0
  208. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GammaProcessor.js +0 -0
  209. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GearboxProcessor.d.ts +0 -0
  210. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GearboxProcessor.js +0 -0
  211. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.d.ts +0 -0
  212. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.js +0 -0
  213. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HoldStationProcessor.d.ts +0 -0
  214. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HoldStationProcessor.js +0 -0
  215. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HourglassProcessor.d.ts +0 -0
  216. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HourglassProcessor.js +0 -0
  217. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.d.ts +0 -0
  218. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.js +0 -0
  219. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.d.ts +0 -0
  220. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.js +0 -0
  221. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.d.ts +0 -0
  222. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.js +0 -0
  223. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleProcessor.d.ts +0 -0
  224. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleProcessor.js +0 -0
  225. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleYTProcessor.d.ts +0 -0
  226. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleYTProcessor.js +0 -0
  227. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RadiantProcessor.d.ts +0 -0
  228. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RadiantProcessor.js +0 -0
  229. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RfxProcessor.d.ts +0 -0
  230. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RfxProcessor.js +0 -0
  231. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/Satlayer.d.ts +0 -0
  232. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/Satlayer.js +0 -0
  233. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraProcessor.d.ts +0 -0
  234. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraProcessor.js +0 -0
  235. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.d.ts +0 -0
  236. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.js +0 -0
  237. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpliceProcessor.d.ts +0 -0
  238. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpliceProcessor.js +0 -0
  239. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.d.ts +0 -0
  240. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.js +0 -0
  241. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.d.ts +0 -0
  242. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.js +0 -0
  243. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TemplateProcessor.d.ts +0 -0
  244. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TemplateProcessor.js +0 -0
  245. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TorosProcessor.d.ts +0 -0
  246. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TorosProcessor.js +0 -0
  247. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/UniswapProcessor.d.ts +0 -0
  248. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/UniswapProcessor.js +0 -0
  249. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/VicunaProcessor.d.ts +0 -0
  250. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/VicunaProcessor.js +0 -0
  251. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/WoofiProcessor.d.ts +0 -0
  252. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/WoofiProcessor.js +0 -0
  253. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.d.ts +0 -0
  254. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.js +0 -0
  255. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.d.ts +0 -0
  256. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.js +0 -0
  257. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveProcessor.d.ts +0 -0
  258. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveProcessor.js +0 -0
  259. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/processorMapping.d.ts +0 -0
  260. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.d.ts +0 -0
  261. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.js +0 -0
  262. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/xU308Processor.d.ts +0 -0
  263. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/xU308Processor.js +0 -0
  264. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesPrices.d.ts +0 -0
  265. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesPrices.js +0 -0
  266. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound1.d.ts +0 -0
  267. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound2.js +0 -0
  268. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound3.d.ts +0 -0
  269. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound3.js +0 -0
  270. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound4.d.ts +0 -0
  271. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound4.js +0 -0
  272. /package/dist/src/{factories → engine}/opportunityMetadata/factory.d.ts +0 -0
  273. /package/dist/src/{factories → engine}/opportunityMetadata/factory.js +0 -0
  274. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ajna.d.ts +0 -0
  275. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ajna.js +0 -0
  276. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ambiant.d.ts +0 -0
  277. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ambiant.js +0 -0
  278. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Badger.d.ts +0 -0
  279. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Badger.js +0 -0
  280. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Clamm.d.ts +0 -0
  281. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Clamm.js +0 -0
  282. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Compound.d.ts +0 -0
  283. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Compound.js +0 -0
  284. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Default.d.ts +0 -0
  285. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Default.js +0 -0
  286. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Dolomite.d.ts +0 -0
  287. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Dolomite.js +0 -0
  288. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/EigenLayer.d.ts +0 -0
  289. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/EigenLayer.js +0 -0
  290. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Encompassing.d.ts +0 -0
  291. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Encompassing.js +0 -0
  292. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20.d.ts +0 -0
  293. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20Snapshot.d.ts +0 -0
  294. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20Snapshot.js +0 -0
  295. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Hyperdrive.d.ts +0 -0
  296. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Hyperdrive.js +0 -0
  297. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Invalid.d.ts +0 -0
  298. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Invalid.js +0 -0
  299. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ion.d.ts +0 -0
  300. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ion.js +0 -0
  301. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/JsonAirdrop.d.ts +0 -0
  302. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/JsonAirdrop.js +0 -0
  303. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Morpho.d.ts +0 -0
  304. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Morpho.js +0 -0
  305. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Radiant.d.ts +0 -0
  306. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Radiant.js +0 -0
  307. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Silo.d.ts +0 -0
  308. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Silo.js +0 -0
  309. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/UniswapV4.d.ts +0 -0
  310. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/UniswapV4.js +0 -0
  311. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Vest.d.ts +0 -0
@@ -1,3 +0,0 @@
1
- import { type Campaign, type CampaignDynamicData, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
- export declare function CompoundDynamicData(_chainId: MerklChainId, campaigns: CampaignParameters<Campaign.COMPOUND>[]): Promise<UncachedResult<Partial<CampaignDynamicData<Campaign.COMPOUND>[]>>>;
@@ -1,139 +0,0 @@
1
- import { BN2Number, CTokenInterface, ChainInteractionService, CompFork, CompoundSubCampaignType, ERC20Interface, IonicERC20_INTERFACE, LayerBankERC20Interface, NULL_ADDRESS, YEAR, } from "@sdk";
2
- import { log } from "../../../utils/logger";
3
- import { Pricer } from "../../../utils/pricer";
4
- export async function CompoundDynamicData(_chainId, campaigns) {
5
- const pricer = await Pricer.load();
6
- const calls = [];
7
- for (const campaign of campaigns) {
8
- if (campaign.campaignSubType === CompoundSubCampaignType.supply) {
9
- if (campaign.campaignParameters.compFork === CompFork.Ionic) {
10
- calls.push({
11
- allowFailure: true,
12
- callData: IonicERC20_INTERFACE.encodeFunctionData("getTotalUnderlyingSupplied"),
13
- target: campaign.campaignParameters.targetToken,
14
- });
15
- }
16
- else {
17
- if (campaign.campaignParameters.compFork === CompFork.LayerBank) {
18
- calls.push({
19
- allowFailure: true,
20
- callData: LayerBankERC20Interface.encodeFunctionData("totalBorrow"),
21
- target: campaign.campaignParameters.targetToken,
22
- });
23
- }
24
- else {
25
- calls.push({
26
- allowFailure: true,
27
- callData: CTokenInterface.encodeFunctionData("totalBorrows"),
28
- target: campaign.campaignParameters.targetToken,
29
- });
30
- }
31
- if (campaign.campaignParameters.underlyingToken !== NULL_ADDRESS) {
32
- calls.push({
33
- allowFailure: true,
34
- callData: ERC20Interface.encodeFunctionData("balanceOf", [campaign.campaignParameters.targetToken]),
35
- target: campaign.campaignParameters.underlyingToken,
36
- });
37
- }
38
- }
39
- }
40
- else {
41
- if (campaign.campaignParameters.compFork === CompFork.LayerBank) {
42
- calls.push({
43
- allowFailure: true,
44
- callData: LayerBankERC20Interface.encodeFunctionData("totalBorrow"),
45
- target: campaign.campaignParameters.targetToken,
46
- });
47
- }
48
- else {
49
- calls.push({
50
- allowFailure: true,
51
- callData: CTokenInterface.encodeFunctionData("totalBorrows"),
52
- target: campaign.campaignParameters.targetToken,
53
- });
54
- }
55
- }
56
- }
57
- return {
58
- cached: false,
59
- call: {
60
- callData: calls,
61
- handler: () => { },
62
- reducer: async (result) => {
63
- let i = 0;
64
- const dynamicData = [];
65
- for (const campaign of campaigns) {
66
- let totalSupplyTargetToken;
67
- let borrowedAmount;
68
- let nonUtilizedSupplied;
69
- if (campaign.campaignSubType === CompoundSubCampaignType.supply) {
70
- try {
71
- if (campaign.campaignParameters.compFork === CompFork.Ionic) {
72
- totalSupplyTargetToken = BN2Number(IonicERC20_INTERFACE.decodeFunctionResult("getTotalUnderlyingSupplied", result[i++])[0], campaign.campaignParameters.decimalsUnderlyingToken);
73
- }
74
- else {
75
- if (campaign.campaignParameters.compFork === CompFork.LayerBank) {
76
- borrowedAmount = BN2Number(LayerBankERC20Interface.decodeFunctionResult("totalBorrow", result[i++])[0], campaign.campaignParameters.decimalsUnderlyingToken);
77
- }
78
- else {
79
- borrowedAmount = BN2Number(CTokenInterface.decodeFunctionResult("totalBorrows", result[i++])[0], campaign.campaignParameters.decimalsUnderlyingToken);
80
- }
81
- if (campaign.campaignParameters.underlyingToken === NULL_ADDRESS) {
82
- // For the case of ETH
83
- nonUtilizedSupplied = BN2Number(await ChainInteractionService(campaign.computeChainId)
84
- .provider()
85
- .getBalance(campaign.campaignParameters.targetToken), 18);
86
- }
87
- else {
88
- nonUtilizedSupplied = BN2Number(ERC20Interface.decodeFunctionResult("balanceOf", result[i++])[0], campaign.campaignParameters.decimalsUnderlyingToken);
89
- }
90
- totalSupplyTargetToken = borrowedAmount + nonUtilizedSupplied;
91
- }
92
- }
93
- catch {
94
- log.warn(`Error getting totalSupply for campaign ${campaign.campaignId} and token ${campaign.campaignParameters.targetToken}`);
95
- totalSupplyTargetToken = 0.0000001;
96
- }
97
- }
98
- else {
99
- try {
100
- if (campaign.campaignParameters.compFork === CompFork.LayerBank) {
101
- totalSupplyTargetToken = BN2Number(LayerBankERC20Interface.decodeFunctionResult("totalBorrow", result[i++])[0], campaign.campaignParameters.decimalsUnderlyingToken);
102
- }
103
- else {
104
- totalSupplyTargetToken = BN2Number(CTokenInterface.decodeFunctionResult("totalBorrows", result[i++])[0], campaign.campaignParameters.decimalsUnderlyingToken);
105
- }
106
- }
107
- catch {
108
- log.warn(`Error getting totalBorrows for campaign ${campaign.campaignId} and token ${campaign.campaignParameters.targetToken}`);
109
- totalSupplyTargetToken = 0.0000001;
110
- }
111
- }
112
- const priceRewardToken = (await pricer.get({
113
- address: campaign.rewardToken,
114
- chainId: campaign.chainId,
115
- symbol: campaign.campaignParameters.symbolRewardToken,
116
- })) ?? 0;
117
- const priceTargetToken = (await pricer.get({
118
- address: campaign.campaignParameters.underlyingToken,
119
- chainId: campaign.computeChainId,
120
- symbol: campaign.campaignParameters.symbolUnderlyingToken,
121
- })) ?? 0;
122
- dynamicData.push({
123
- ...campaign,
124
- apr: (priceRewardToken *
125
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
126
- YEAR *
127
- 100) /
128
- campaign.campaignParameters.duration /
129
- (totalSupplyTargetToken * priceTargetToken),
130
- totalSupplyTargetToken,
131
- tvl: totalSupplyTargetToken * priceTargetToken,
132
- priceRewardToken: priceRewardToken,
133
- });
134
- }
135
- return dynamicData;
136
- },
137
- },
138
- };
139
- }
@@ -1,5 +0,0 @@
1
- import { type Campaign, type CampaignDynamicData, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
- type campaignType = Campaign.DOLOMITE;
4
- export declare function DolomiteDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<UncachedResult<Partial<CampaignDynamicData<campaignType>[]>>>;
5
- export {};
@@ -1,60 +0,0 @@
1
- import { BN2Number, DolomiteSubCampaignType, YEAR, } from "@sdk";
2
- import axios from "axios";
3
- import { log } from "../../../utils/logger";
4
- import { Pricer } from "../../../utils/pricer";
5
- export async function DolomiteDynamicData(chainId, campaigns) {
6
- const pricer = await Pricer.load();
7
- const calls = [];
8
- return {
9
- cached: false,
10
- call: {
11
- callData: calls,
12
- handler: () => { },
13
- reducer: async (result) => {
14
- let i = 0;
15
- const dynamicData = [];
16
- for (const campaign of campaigns) {
17
- try {
18
- const apiRes = (await axios.get(`https://api.dolomite.io/balances/${campaign.computeChainId}/total-supply`))
19
- .data.Result;
20
- const tokenIndex = apiRes.findIndex(x => Number.parseFloat(x.token.marketId) === campaign.campaignParameters.marketIndex);
21
- const tokenData = apiRes[tokenIndex].token;
22
- const totalSupplyTargetToken = campaign.campaignSubType === DolomiteSubCampaignType.borrow
23
- ? Number.parseFloat(tokenData.borrowLiquidity)
24
- : campaign.campaignSubType === DolomiteSubCampaignType.supply
25
- ? Number.parseFloat(tokenData.supplyLiquidity)
26
- : Number.parseFloat(tokenData.supplyLiquidity) - Number.parseFloat(tokenData.borrowLiquidity);
27
- const priceRewardToken = (await pricer.get({
28
- address: campaign.rewardToken,
29
- chainId,
30
- symbol: campaign.campaignParameters.symbolRewardToken,
31
- })) ?? 0;
32
- const priceTargetToken = (await pricer.get({
33
- address: tokenData.id,
34
- chainId,
35
- symbol: tokenData.symbol,
36
- })) ?? 0;
37
- i++;
38
- dynamicData.push({
39
- ...campaign,
40
- apr: (priceRewardToken *
41
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
42
- YEAR *
43
- 100) /
44
- campaign.campaignParameters.duration /
45
- (totalSupplyTargetToken * priceTargetToken),
46
- totalSupplyTargetToken,
47
- tvl: totalSupplyTargetToken * priceTargetToken,
48
- });
49
- }
50
- catch (e) {
51
- log.error("Failed to fetch Dolomite data", e);
52
- // In this case we return just the staticData
53
- dynamicData.push({ ...campaign });
54
- }
55
- }
56
- return dynamicData;
57
- },
58
- },
59
- };
60
- }
@@ -1,4 +0,0 @@
1
- import { type Campaign, type CampaignDynamicData, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
- export type ERC20SupportedCampaignType = Campaign.ERC20 | Campaign.ERC20LOGPROCESSOR | Campaign.ERC20REBASELOGPROCESSOR | Campaign.EULER;
4
- export declare function ERC20DynamicData(chainId: MerklChainId, campaigns: CampaignParameters<ERC20SupportedCampaignType>[]): Promise<UncachedResult<Partial<CampaignDynamicData<ERC20SupportedCampaignType>[]>>>;
@@ -1,164 +0,0 @@
1
- import { merklChainDataWithCache } from "@/libs/merklChainData";
2
- import { ComputedValueService } from "@/modules/v4/computedValue";
3
- import { TokenRepository } from "@/modules/v4/token/token.repository";
4
- import { log } from "@/utils/logger";
5
- import { BN2Number, BalancerPoolInterface, BalancerV3StablePoolInterface, ChainInteractionService, ERC20Interface, EnzymeInterface, FactoryInterface, LayerBankERC20Interface, MetamorphoInterface, YEAR, getEnv, } from "@sdk";
6
- import { Pricer } from "../../../utils/pricer";
7
- import { tokenType } from "./ERC20SubTypes/helpers/tokenType";
8
- import { getTokenPricesInfo } from "./ERC20SubTypes/subtypesPrices";
9
- import { getTokenTypeRound1 } from "./ERC20SubTypes/subtypesRound1";
10
- import { getTokenTypeRound2 } from "./ERC20SubTypes/subtypesRound2";
11
- import { getTokenTypeRound3 } from "./ERC20SubTypes/subtypesRound3";
12
- import { getTokenTypeRound4 } from "./ERC20SubTypes/subtypesRound4";
13
- export async function ERC20DynamicData(chainId, campaigns) {
14
- const pricer = await Pricer.load();
15
- const currentRoot = (await merklChainDataWithCache(chainId)).merkleRoot;
16
- // Round 1: Get the high level type for each token (will need to be refined lated with more calls)
17
- const callsRounds1 = [];
18
- const tokenTypesByCampaign = {};
19
- for (const campaign of campaigns) {
20
- const typeStruct = {
21
- type: tokenType.unknown,
22
- calls: [],
23
- typeInfo: {},
24
- };
25
- const targetToken = campaign.campaignParameters.targetToken;
26
- typeStruct.calls = [
27
- {
28
- allowFailure: true,
29
- callData: FactoryInterface.encodeFunctionData("factory"),
30
- target: targetToken,
31
- },
32
- {
33
- allowFailure: true,
34
- callData: MetamorphoInterface.encodeFunctionData("MORPHO"),
35
- target: targetToken,
36
- },
37
- {
38
- allowFailure: true,
39
- callData: ERC20Interface.encodeFunctionData("name"),
40
- target: targetToken,
41
- },
42
- {
43
- allowFailure: true,
44
- callData: BalancerPoolInterface.encodeFunctionData("getPoolId"),
45
- target: targetToken,
46
- },
47
- {
48
- allowFailure: true,
49
- callData: EnzymeInterface.encodeFunctionData("getCreator"),
50
- target: targetToken,
51
- },
52
- {
53
- allowFailure: true,
54
- callData: LayerBankERC20Interface.encodeFunctionData("owner"),
55
- target: targetToken,
56
- },
57
- {
58
- allowFailure: true,
59
- callData: BalancerV3StablePoolInterface.encodeFunctionData("getVault"),
60
- target: targetToken,
61
- },
62
- ];
63
- callsRounds1.push(...typeStruct.calls);
64
- tokenTypesByCampaign[campaign.campaignId] = typeStruct;
65
- }
66
- const resultRound1 = await ChainInteractionService(chainId).fetchState(callsRounds1);
67
- // Round 2: Decode result from round 1 and get some additional info for the types before the final calls
68
- const callsRounds2 = [];
69
- let i = 0;
70
- for (const campaign of campaigns) {
71
- const callsForCampaign = tokenTypesByCampaign[campaign.campaignId].calls.length;
72
- tokenTypesByCampaign[campaign.campaignId] = getTokenTypeRound1(resultRound1, campaign.campaignParameters.targetToken, i, campaign);
73
- i += callsForCampaign;
74
- callsRounds2.push(...tokenTypesByCampaign[campaign.campaignId].calls);
75
- }
76
- const resultRound2 = await ChainInteractionService(chainId).fetchState(callsRounds2);
77
- // Round 3: Decode result from round 2 and get some additional info for the types before the final calls
78
- const callsRounds3 = [];
79
- let j = 0;
80
- for (const campaign of campaigns) {
81
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
82
- const callsForCampaign = tokenTypesByCampaign[campaign.campaignId].calls.length;
83
- tokenTypesByCampaign[campaign.campaignId] = getTokenTypeRound2(j, tokenTypesByCampaign[campaign.campaignId].type, tokenTypesByCampaign[campaign.campaignId].typeInfo, resultRound2, campaign);
84
- j += callsForCampaign;
85
- callsRounds3.push(...tokenTypesByCampaign[campaign.campaignId].calls);
86
- }
87
- const resultRound3 = await ChainInteractionService(chainId).fetchState(callsRounds3);
88
- // Final round before execute
89
- let callsFinal = [];
90
- j = 0;
91
- for (const campaign of campaigns) {
92
- const callsForCampaign = tokenTypesByCampaign[campaign.campaignId].calls.length;
93
- tokenTypesByCampaign[campaign.campaignId] = getTokenTypeRound3(j, tokenTypesByCampaign[campaign.campaignId].type, tokenTypesByCampaign[campaign.campaignId].typeInfo, resultRound3);
94
- j += callsForCampaign;
95
- callsFinal = callsFinal.concat(tokenTypesByCampaign[campaign.campaignId].calls);
96
- }
97
- // Round 4: Get the final data
98
- const resultsFinal = await ChainInteractionService(chainId).fetchState(callsFinal);
99
- j = 0;
100
- let calls = [];
101
- for (const campaign of campaigns) {
102
- const callsForCampaign = tokenTypesByCampaign[campaign.campaignId].calls.length;
103
- tokenTypesByCampaign[campaign.campaignId] = getTokenTypeRound4(j, tokenTypesByCampaign[campaign.campaignId].type, tokenTypesByCampaign[campaign.campaignId].typeInfo, resultsFinal, campaign);
104
- j += callsForCampaign;
105
- calls = calls.concat(tokenTypesByCampaign[campaign.campaignId].calls);
106
- }
107
- return {
108
- cached: false,
109
- call: {
110
- callData: calls,
111
- handler: () => { },
112
- reducer: async (result) => {
113
- let i = 0;
114
- const dynamicData = [];
115
- for (const campaign of campaigns) {
116
- const priceRewardToken = (await pricer.get({
117
- address: campaign.rewardToken,
118
- chainId,
119
- symbol: campaign.campaignParameters.symbolRewardToken,
120
- })) ?? 0;
121
- // Get the data from the final round and process it to get the price of the target token and some extra info
122
- const callsForCampaign = tokenTypesByCampaign[campaign.campaignId].calls.length;
123
- tokenTypesByCampaign[campaign.campaignId] = await getTokenPricesInfo(i, tokenTypesByCampaign[campaign.campaignId].type, tokenTypesByCampaign[campaign.campaignId].typeInfo, result, campaign, pricer);
124
- try {
125
- if (!!tokenTypesByCampaign[campaign.campaignId]?.typeInfo.priceTargetToken && getEnv() === "prod")
126
- await TokenRepository.updateAddressPrices(campaign.campaignParameters.targetToken, tokenTypesByCampaign[campaign.campaignId]?.typeInfo.priceTargetToken);
127
- }
128
- catch (e) {
129
- log.warn(`failed to update target token price: ${e}`);
130
- }
131
- i += callsForCampaign;
132
- const whitelistedSupplyTargetToken = tokenTypesByCampaign[campaign.campaignId].typeInfo.whitelistedSupplyTargetToken;
133
- const totalSupplyTargetToken = whitelistedSupplyTargetToken;
134
- const priceTargetToken = tokenTypesByCampaign[campaign.campaignId].typeInfo.priceTargetToken;
135
- let lastEligibilityRatio = 1;
136
- if (!!campaign.campaignParameters.hooks?.length) {
137
- lastEligibilityRatio =
138
- (await ComputedValueService.findCampaignValue({
139
- campaignId: `${campaign.campaignId}-${chainId}`,
140
- field: "averageBoost",
141
- }))?.averageBoost ?? 1;
142
- }
143
- dynamicData.push({
144
- ...campaign,
145
- apr: (lastEligibilityRatio *
146
- (priceRewardToken *
147
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
148
- YEAR *
149
- 100)) /
150
- campaign.campaignParameters.duration /
151
- (whitelistedSupplyTargetToken * priceTargetToken),
152
- totalSupplyTargetToken,
153
- tvl: whitelistedSupplyTargetToken * priceTargetToken,
154
- type: tokenTypesByCampaign[campaign.campaignId].type,
155
- typeInfo: tokenTypesByCampaign[campaign.campaignId].typeInfo,
156
- priceRewardToken: priceRewardToken,
157
- lastEligibilityRatio,
158
- });
159
- }
160
- return dynamicData;
161
- },
162
- },
163
- };
164
- }
@@ -1,5 +0,0 @@
1
- import { type Campaign, type CampaignDynamicData, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
- type ReturnType = CampaignDynamicData<Campaign.ERC20_SNAPSHOT>[];
4
- export declare function ERC20_SNAPSHOTDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.ERC20_SNAPSHOT>[]): Promise<UncachedResult<Partial<ReturnType>>>;
5
- export {};
@@ -1,38 +0,0 @@
1
- import { BN2Number, ERC20Interface, } from "@sdk";
2
- import { Pricer } from "../../../utils/pricer";
3
- export async function ERC20_SNAPSHOTDynamicData(chainId, campaigns) {
4
- const pricer = await Pricer.load();
5
- const calls = [];
6
- for (const campaign of campaigns) {
7
- calls.push({
8
- allowFailure: false,
9
- callData: ERC20Interface.encodeFunctionData("totalSupply"),
10
- target: campaign.campaignParameters.targetToken,
11
- });
12
- }
13
- return {
14
- cached: false,
15
- call: {
16
- callData: calls,
17
- handler: () => { },
18
- reducer: async (result) => {
19
- let i = 0;
20
- const dynamicData = [];
21
- for (const campaign of campaigns) {
22
- const priceTargetToken = await pricer.get({
23
- address: campaign.campaignParameters.targetToken,
24
- chainId,
25
- symbol: campaign.campaignParameters.symbolTargetToken,
26
- });
27
- const totalSupplyTargetToken = BN2Number(ERC20Interface.decodeFunctionResult("totalSupply", result[i++])[0], campaign.campaignParameters.decimalsTargetToken);
28
- dynamicData.push({
29
- ...campaign,
30
- totalSupplyTargetToken,
31
- tvl: totalSupplyTargetToken * priceTargetToken,
32
- });
33
- }
34
- return dynamicData;
35
- },
36
- },
37
- };
38
- }
@@ -1,3 +0,0 @@
1
- import { type Campaign, type CampaignDynamicData, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
- export declare function EigenLayerDynamicData(_chainId: MerklChainId, campaigns: CampaignParameters<Campaign.EIGENLAYER>[]): Promise<UncachedResult<Partial<CampaignDynamicData<Campaign.EIGENLAYER>[]>>>;
@@ -1,67 +0,0 @@
1
- import { BN2Number, ChainInteractionService, EigenLayerStrategyInterface, EigenLayerStrategy__factory, YEAR, } from "@sdk";
2
- import { log } from "../../../utils/logger";
3
- import { Pricer } from "../../../utils/pricer";
4
- export async function EigenLayerDynamicData(_chainId, campaigns) {
5
- const pricer = await Pricer.load();
6
- const calls = [];
7
- for (const campaign of campaigns) {
8
- calls.push({
9
- allowFailure: true,
10
- callData: EigenLayerStrategyInterface.encodeFunctionData("totalShares"),
11
- target: campaign.campaignParameters.strategy,
12
- });
13
- }
14
- return {
15
- cached: false,
16
- call: {
17
- callData: calls,
18
- handler: () => { },
19
- reducer: async (result) => {
20
- let i = 0;
21
- const dynamicData = [];
22
- for (const campaign of campaigns) {
23
- let totalSupplyShares;
24
- let totalSupplyStrategy;
25
- try {
26
- totalSupplyShares = EigenLayerStrategyInterface.decodeFunctionResult("totalShares", result[i++])[0];
27
- }
28
- catch {
29
- log.warn(`Error getting totalShares for campaign ${campaign.campaignId} and strategy ${campaign.campaignParameters.strategy}`);
30
- totalSupplyShares = 0.0000001;
31
- }
32
- try {
33
- totalSupplyStrategy = BN2Number(await EigenLayerStrategy__factory.connect(campaign.campaignParameters.strategy, ChainInteractionService(campaign.computeChainId).provider()).sharesToUnderlying(totalSupplyShares), campaign.campaignParameters.decimalsUnderlyingToken);
34
- }
35
- catch {
36
- log.warn(`Error getting totalSupply for campaign ${campaign.campaignId} and strategy ${campaign.campaignParameters.strategy}`);
37
- totalSupplyStrategy = 0.0000001;
38
- }
39
- const priceRewardToken = (await pricer.get({
40
- address: campaign.rewardToken,
41
- chainId: campaign.chainId,
42
- symbol: campaign.campaignParameters.symbolRewardToken,
43
- })) ?? 0;
44
- const priceTargetToken = (await pricer.get({
45
- address: campaign.campaignParameters.underlyingToken,
46
- chainId: campaign.computeChainId,
47
- symbol: campaign.campaignParameters.symbolUnderlyingToken,
48
- })) ?? 0;
49
- const tvl = totalSupplyStrategy * priceTargetToken;
50
- dynamicData.push({
51
- ...campaign,
52
- apr: (priceRewardToken *
53
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
54
- YEAR *
55
- 100) /
56
- campaign.campaignParameters.duration /
57
- (totalSupplyStrategy * priceTargetToken),
58
- totalSupplyTargetToken: totalSupplyStrategy,
59
- tvl,
60
- priceRewardToken: priceRewardToken,
61
- });
62
- }
63
- return dynamicData;
64
- },
65
- },
66
- };
67
- }
@@ -1,5 +0,0 @@
1
- import type { Campaign, CampaignDynamicData, CampaignParameters, MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
- type ReturnType = CampaignDynamicData<Campaign.ENCOMPASSING>[];
4
- export declare function EncompassingDynamicData(_chainId: MerklChainId, campaigns: CampaignParameters<Campaign.ENCOMPASSING>[]): Promise<UncachedResult<Partial<ReturnType>>>;
5
- export {};
@@ -1,34 +0,0 @@
1
- import axios from "axios";
2
- export async function EncompassingDynamicData(_chainId, campaigns) {
3
- const calls = [];
4
- return {
5
- cached: false,
6
- call: {
7
- callData: calls,
8
- handler: () => { },
9
- reducer: async (_result) => {
10
- const dynamicData = [];
11
- for (const campaign of campaigns) {
12
- let tvl = 0;
13
- let apr = 0;
14
- if (campaign.campaignParameters.dataUrl) {
15
- try {
16
- const dataResponse = await axios.get(campaign.campaignParameters.dataUrl);
17
- if (dataResponse.data) {
18
- tvl = dataResponse.data.tvl ?? 0;
19
- apr = dataResponse.data.apr ?? 0;
20
- }
21
- }
22
- catch { }
23
- }
24
- dynamicData.push({
25
- ...campaign,
26
- tvl,
27
- apr,
28
- });
29
- }
30
- return dynamicData;
31
- },
32
- },
33
- };
34
- }
@@ -1,3 +0,0 @@
1
- import { type Campaign, type CampaignDynamicData, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
- export declare function EventBasedDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.EVENT_BASED>[]): Promise<UncachedResult<Partial<CampaignDynamicData<Campaign.EVENT_BASED>[]>>>;
@@ -1,114 +0,0 @@
1
- import { BucketService } from "@/modules/v4/bucket/bucket.service";
2
- import { engineDbClient } from "@db";
3
- import { BN2Number, ChainInteractionService, NETWORK_LABELS, } from "@sdk";
4
- import moment from "moment";
5
- import { log } from "../../../utils/logger";
6
- import { Pricer } from "../../../utils/pricer";
7
- // Constants
8
- const CALLS_LENGTH = 2;
9
- /**
10
- * Compute TVL
11
- * @dev important: using the most recent state save with current prices
12
- * it's only an estimate
13
- */
14
- async function computeEventBasedPoolTVLFromMostRecentStateSave(chainId, campaignID, priceCurrency, decimalsCurrency) {
15
- let stateSave;
16
- let blockNumber;
17
- let states = {};
18
- try {
19
- const currentBlock = await ChainInteractionService(chainId).getBlockNumber();
20
- const mostRecentStateSave = await engineDbClient.stateSave.findFirst({
21
- where: {
22
- id: `EventBasedProcessor_${chainId}_${campaignID}`,
23
- blockNumber: {
24
- lte: currentBlock,
25
- },
26
- },
27
- orderBy: {
28
- blockNumber: "desc",
29
- },
30
- });
31
- stateSave = mostRecentStateSave.state;
32
- blockNumber = mostRecentStateSave?.blockNumber;
33
- states = stateSave.states;
34
- // const globalState = stateSave.globalState as { tick: number; liquidity: string };
35
- }
36
- catch (e) {
37
- log.warn(`merklDynamic data - failed to read a recent state of ${campaignID} on ${NETWORK_LABELS[chainId]}`);
38
- }
39
- const { fileName, bucketName } = states;
40
- // Bucket service
41
- let tvl = 0;
42
- try {
43
- const bucket = new BucketService(bucketName, "merkl-production");
44
- const storedStates = JSON.parse(await bucket.pull(fileName));
45
- for (const [_, { value, params: _params }] of Object.entries(storedStates)) {
46
- tvl += BN2Number(value.allTimeValue, decimalsCurrency);
47
- }
48
- tvl = tvl * priceCurrency;
49
- tvl = Math.max(tvl, 1);
50
- }
51
- catch (e) {
52
- log.warn(`merklDynamic data - failed to decode state of event based on ${NETWORK_LABELS[chainId]}`);
53
- }
54
- return { tvl, blockNumber: blockNumber };
55
- }
56
- export async function EventBasedDynamicData(chainId, campaigns) {
57
- const dynamicData = [];
58
- const pricer = await Pricer.load();
59
- const calls = [];
60
- return {
61
- cached: false,
62
- call: {
63
- callData: calls,
64
- handler: () => { },
65
- reducer: async (result) => {
66
- for (const campaign of campaigns) {
67
- try {
68
- const decimalsCurrency0 = 6;
69
- const symbolCurrency0 = "USDC";
70
- const priceToken = (await pricer.get({
71
- chainId: chainId,
72
- symbol: symbolCurrency0,
73
- }));
74
- const { tvl, blockNumber } = await computeEventBasedPoolTVLFromMostRecentStateSave(chainId, campaign.campaignId, priceToken, decimalsCurrency0);
75
- const c = campaign;
76
- const amount = BN2Number(c.amount, c.campaignParameters.decimalsRewardToken);
77
- const multiplier = BN2Number(c.campaignParameters.topicToData[0].multiplier, 12 + 9);
78
- const startTimestamp = BN2Number(c.startTimestamp, 0);
79
- const endTimestamp = BN2Number(c.endTimestamp, 0);
80
- const isLive = moment().unix() > startTimestamp && moment().unix() < endTimestamp;
81
- let distributionMeanAPR = 0;
82
- const priceRewardToken = 1;
83
- if (isLive) {
84
- /** Yearly rewards in $ */
85
- const fixRewardRate = multiplier * priceRewardToken;
86
- distributionMeanAPR = fixRewardRate;
87
- if (tvl * fixRewardRate >
88
- (amount * (moment().unix() - startTimestamp)) / (endTimestamp - startTimestamp)) {
89
- distributionMeanAPR =
90
- (fixRewardRate * amount * (moment().unix() - startTimestamp)) / (endTimestamp - startTimestamp) / tvl;
91
- }
92
- distributionMeanAPR = !distributionMeanAPR || Number.isNaN(distributionMeanAPR) ? 0 : distributionMeanAPR;
93
- dynamicData.push({
94
- ...campaign,
95
- apr: distributionMeanAPR,
96
- priceRewardToken: priceRewardToken,
97
- tvl: tvl,
98
- });
99
- }
100
- }
101
- catch (e) {
102
- dynamicData.push({
103
- ...campaign,
104
- apr: 0,
105
- priceRewardToken: 0,
106
- tvl: 1,
107
- });
108
- }
109
- }
110
- return dynamicData;
111
- },
112
- },
113
- };
114
- }