@merkl/api 0.19.7 → 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 (293) hide show
  1. package/dist/src/backgroundJobs/jobs/campaignsCacheUpdater.js +4 -3
  2. package/dist/src/eden/index.d.ts +15 -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}/subtypesRound2.d.ts +1 -1
  44. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20.js +3 -3
  45. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Euler.d.ts +1 -1
  46. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Euler.js +7 -7
  47. package/dist/src/{factories → engine}/opportunityMetadata/implementations/Vest.js +1 -1
  48. package/dist/src/index.d.ts +5 -16
  49. package/dist/src/jobs/update-euler-vaults.js +2 -2
  50. package/dist/src/modules/v4/apr/apr.service.d.ts +1 -1
  51. package/dist/src/modules/v4/apr/apr.service.js +4 -4
  52. package/dist/src/modules/v4/campaign/campaign.service.d.ts +0 -8
  53. package/dist/src/modules/v4/campaign/campaign.service.js +0 -13
  54. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +3 -4
  55. package/dist/src/modules/v4/opportunity/opportunity.service.js +1 -1
  56. package/dist/src/modules/v4/uniswapV4/uniswapV4.controller.d.ts +2 -2
  57. package/dist/src/modules/v4/uniswapV4/uniswapV4.service.d.ts +2 -2
  58. package/dist/src/modules/v4/uniswapV4/uniswapV4.service.js +1 -1
  59. package/dist/src/routes/v3/campaigns.d.ts +1 -1
  60. package/dist/src/routes/v3/compoundV2.d.ts +2 -10
  61. package/dist/src/routes/v3/compoundV2.js +1 -1
  62. package/dist/src/routes/v3/dolomite.js +1 -1
  63. package/dist/src/routes/v3/euler.js +1 -1
  64. package/dist/src/routes/v3/router.d.ts +5 -16
  65. package/dist/src/routes/v3/uniswapv4.d.ts +2 -5
  66. package/dist/src/routes/v3/uniswapv4.js +1 -1
  67. package/dist/src/utils/decodeCalls.d.ts +1 -1
  68. package/dist/src/utils/decodeCalls.js +1 -1
  69. package/dist/src/utils/encodeCalls.d.ts +1 -1
  70. package/dist/src/utils/encodeCalls.js +1 -1
  71. package/dist/src/utils/generateCardName.d.ts +1 -1
  72. package/dist/src/utils/generateCardName.js +1 -1
  73. package/dist/src/utils/generateIcons.d.ts +1 -1
  74. package/dist/src/utils/generateIcons.js +1 -1
  75. package/dist/tsconfig.package.tsbuildinfo +1 -1
  76. package/package.json +1 -1
  77. package/dist/src/factories/dynamicData/factory.d.ts +0 -0
  78. package/dist/src/factories/dynamicData/factory.js +0 -10
  79. package/dist/src/libs/campaigns/campaignTypes/AjnaDynamicData.d.ts +0 -5
  80. package/dist/src/libs/campaigns/campaignTypes/AjnaDynamicData.js +0 -111
  81. package/dist/src/libs/campaigns/campaignTypes/AmbientDynamicData.d.ts +0 -3
  82. package/dist/src/libs/campaigns/campaignTypes/AmbientDynamicData.js +0 -245
  83. package/dist/src/libs/campaigns/campaignTypes/BadgerDynamicData.d.ts +0 -5
  84. package/dist/src/libs/campaigns/campaignTypes/BadgerDynamicData.js +0 -96
  85. package/dist/src/libs/campaigns/campaignTypes/CLAMMDynamicData.d.ts +0 -3
  86. package/dist/src/libs/campaigns/campaignTypes/CLAMMDynamicData.js +0 -988
  87. package/dist/src/libs/campaigns/campaignTypes/CompoundDynamicData.d.ts +0 -3
  88. package/dist/src/libs/campaigns/campaignTypes/CompoundDynamicData.js +0 -142
  89. package/dist/src/libs/campaigns/campaignTypes/DolomiteDynamicData.d.ts +0 -5
  90. package/dist/src/libs/campaigns/campaignTypes/DolomiteDynamicData.js +0 -63
  91. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicData.d.ts +0 -4
  92. package/dist/src/libs/campaigns/campaignTypes/ERC20DynamicData.js +0 -167
  93. package/dist/src/libs/campaigns/campaignTypes/ERC20_SNAPSHOTDynamicData.d.ts +0 -5
  94. package/dist/src/libs/campaigns/campaignTypes/ERC20_SNAPSHOTDynamicData.js +0 -38
  95. package/dist/src/libs/campaigns/campaignTypes/EigenLayerDynamicData.d.ts +0 -3
  96. package/dist/src/libs/campaigns/campaignTypes/EigenLayerDynamicData.js +0 -70
  97. package/dist/src/libs/campaigns/campaignTypes/EncompassingDynamicData.d.ts +0 -5
  98. package/dist/src/libs/campaigns/campaignTypes/EncompassingDynamicData.js +0 -34
  99. package/dist/src/libs/campaigns/campaignTypes/EventBasedDynamicData.d.ts +0 -3
  100. package/dist/src/libs/campaigns/campaignTypes/EventBasedDynamicData.js +0 -115
  101. package/dist/src/libs/campaigns/campaignTypes/HyperdriveDynamicData.d.ts +0 -5
  102. package/dist/src/libs/campaigns/campaignTypes/HyperdriveDynamicData.js +0 -102
  103. package/dist/src/libs/campaigns/campaignTypes/JSON_AIRDROPDynamicData.d.ts +0 -5
  104. package/dist/src/libs/campaigns/campaignTypes/JSON_AIRDROPDynamicData.js +0 -19
  105. package/dist/src/libs/campaigns/campaignTypes/MORPHODynamicData.d.ts +0 -5
  106. package/dist/src/libs/campaigns/campaignTypes/MORPHODynamicData.js +0 -115
  107. package/dist/src/libs/campaigns/campaignTypes/RadiantDynamicData.d.ts +0 -3
  108. package/dist/src/libs/campaigns/campaignTypes/RadiantDynamicData.js +0 -125
  109. package/dist/src/libs/campaigns/campaignTypes/SILODynamicData.d.ts +0 -7
  110. package/dist/src/libs/campaigns/campaignTypes/SILODynamicData.js +0 -118
  111. package/dist/src/libs/campaigns/campaignTypes/UniswapV4DynamicData.d.ts +0 -3
  112. package/dist/src/libs/campaigns/campaignTypes/UniswapV4DynamicData.js +0 -267
  113. package/dist/src/libs/campaigns/campaignTypes/VestDynamicData.d.ts +0 -5
  114. package/dist/src/libs/campaigns/campaignTypes/VestDynamicData.js +0 -64
  115. package/dist/src/libs/campaigns/campaignsDynamicData.d.ts +0 -3
  116. package/dist/src/libs/campaigns/campaignsDynamicData.js +0 -131
  117. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchA51Strategies.d.ts +0 -0
  118. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchA51Strategies.js +0 -0
  119. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchAmbientInfo.d.ts +0 -0
  120. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchAmbientInfo.js +0 -0
  121. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchClamInfo.d.ts +0 -0
  122. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchClamInfo.js +0 -0
  123. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchLogs.d.ts +0 -0
  124. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/fetchLogs.js +0 -0
  125. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getCompV2ForksVaults.d.ts +0 -0
  126. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getCompV2ForksVaults.js +0 -0
  127. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getContractCreationBlock.d.ts +0 -0
  128. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getContractCreationBlock.js +0 -0
  129. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getDolomiteMarkets.d.ts +0 -0
  130. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getDolomiteMarkets.js +0 -0
  131. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getEulerV2Vaults.d.ts +0 -0
  132. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getUniswapV4Pools.d.ts +0 -0
  133. /package/dist/src/{libs/campaigns → engine/dynamicData}/utils/getUniswapV4Pools.js +0 -0
  134. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/GenericProcessor.js +0 -0
  135. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/eulerVaultNames.d.ts +0 -0
  136. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/eulerVaultNames.js +0 -0
  137. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/factoryFinder.d.ts +0 -0
  138. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/factoryFinder.js +0 -0
  139. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.d.ts +0 -0
  140. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.js +0 -0
  141. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/hardcoded.d.ts +0 -0
  142. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/hardcoded.js +0 -0
  143. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/metamorphoTvl.d.ts +0 -0
  144. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/metamorphoTvl.js +0 -0
  145. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/ownerFinder.d.ts +0 -0
  146. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/ownerFinder.js +0 -0
  147. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/spliceTVL.d.ts +0 -0
  148. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/spliceTVL.js +0 -0
  149. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/tokenType.d.ts +0 -0
  150. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/helpers/tokenType.js +0 -0
  151. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AaveProcessor.d.ts +0 -0
  152. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AaveProcessor.js +0 -0
  153. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AnglesLiquid.d.ts +0 -0
  154. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AnglesLiquid.js +0 -0
  155. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AssetProcessor.d.ts +0 -0
  156. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AssetProcessor.js +0 -0
  157. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AuraProcessor.d.ts +0 -0
  158. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/AuraProcessor.js +0 -0
  159. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.d.ts +0 -0
  160. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.js +0 -0
  161. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.d.ts +0 -0
  162. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.js +0 -0
  163. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.d.ts +0 -0
  164. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.js +0 -0
  165. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BeefyProcessor.d.ts +0 -0
  166. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BeefyProcessor.js +0 -0
  167. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BunniV2Processor.d.ts +0 -0
  168. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/BunniV2Processor.js +0 -0
  169. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/CompoundProcessor.d.ts +0 -0
  170. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/CompoundProcessor.js +0 -0
  171. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ERC4626Processor.d.ts +0 -0
  172. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ERC4626Processor.js +0 -0
  173. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EnzymeProcessor.d.ts +0 -0
  174. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EnzymeProcessor.js +0 -0
  175. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.d.ts +0 -0
  176. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.js +0 -0
  177. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.d.ts +0 -0
  178. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.js +0 -0
  179. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerLendProcessor.d.ts +0 -0
  180. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/EulerLendProcessor.js +0 -0
  181. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FluidProcessor.d.ts +0 -0
  182. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FluidProcessor.js +0 -0
  183. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FraxProcessor.d.ts +0 -0
  184. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/FraxProcessor.js +0 -0
  185. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GammaProcessor.d.ts +0 -0
  186. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GammaProcessor.js +0 -0
  187. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GearboxProcessor.d.ts +0 -0
  188. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/GearboxProcessor.js +0 -0
  189. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.d.ts +0 -0
  190. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.js +0 -0
  191. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HoldStationProcessor.d.ts +0 -0
  192. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HoldStationProcessor.js +0 -0
  193. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HourglassProcessor.d.ts +0 -0
  194. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/HourglassProcessor.js +0 -0
  195. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.d.ts +0 -0
  196. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.js +0 -0
  197. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.d.ts +0 -0
  198. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.js +0 -0
  199. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.d.ts +0 -0
  200. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.js +0 -0
  201. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleProcessor.d.ts +0 -0
  202. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleProcessor.js +0 -0
  203. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleYTProcessor.d.ts +0 -0
  204. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/PendleYTProcessor.js +0 -0
  205. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RadiantProcessor.d.ts +0 -0
  206. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RadiantProcessor.js +0 -0
  207. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RfxProcessor.d.ts +0 -0
  208. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/RfxProcessor.js +0 -0
  209. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/Satlayer.d.ts +0 -0
  210. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/Satlayer.js +0 -0
  211. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraProcessor.d.ts +0 -0
  212. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraProcessor.js +0 -0
  213. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.d.ts +0 -0
  214. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.js +0 -0
  215. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpliceProcessor.d.ts +0 -0
  216. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SpliceProcessor.js +0 -0
  217. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.d.ts +0 -0
  218. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.js +0 -0
  219. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.d.ts +0 -0
  220. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.js +0 -0
  221. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TemplateProcessor.d.ts +0 -0
  222. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TemplateProcessor.js +0 -0
  223. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TorosProcessor.d.ts +0 -0
  224. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/TorosProcessor.js +0 -0
  225. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/UniswapProcessor.d.ts +0 -0
  226. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/UniswapProcessor.js +0 -0
  227. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/VicunaProcessor.d.ts +0 -0
  228. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/VicunaProcessor.js +0 -0
  229. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/WoofiProcessor.d.ts +0 -0
  230. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/WoofiProcessor.js +0 -0
  231. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.d.ts +0 -0
  232. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.js +0 -0
  233. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.d.ts +0 -0
  234. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.js +0 -0
  235. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveProcessor.d.ts +0 -0
  236. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/curveProcessor.js +0 -0
  237. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/processorMapping.d.ts +0 -0
  238. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/processorMapping.js +0 -0
  239. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.d.ts +0 -0
  240. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.js +0 -0
  241. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/xU308Processor.d.ts +0 -0
  242. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/implementations/xU308Processor.js +0 -0
  243. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesPrices.d.ts +0 -0
  244. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesPrices.js +0 -0
  245. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound1.d.ts +0 -0
  246. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound1.js +0 -0
  247. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound2.js +0 -0
  248. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound3.d.ts +0 -0
  249. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound3.js +0 -0
  250. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound4.d.ts +0 -0
  251. /package/dist/src/{libs/campaigns/campaignTypes/ERC20SubTypes → engine/erc20SubTypeProcessors}/subtypesRound4.js +0 -0
  252. /package/dist/src/{factories → engine}/opportunityMetadata/factory.d.ts +0 -0
  253. /package/dist/src/{factories → engine}/opportunityMetadata/factory.js +0 -0
  254. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ajna.d.ts +0 -0
  255. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ajna.js +0 -0
  256. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ambiant.d.ts +0 -0
  257. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ambiant.js +0 -0
  258. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Badger.d.ts +0 -0
  259. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Badger.js +0 -0
  260. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Clamm.d.ts +0 -0
  261. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Clamm.js +0 -0
  262. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Compound.d.ts +0 -0
  263. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Compound.js +0 -0
  264. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Default.d.ts +0 -0
  265. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Default.js +0 -0
  266. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Dolomite.d.ts +0 -0
  267. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Dolomite.js +0 -0
  268. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/EigenLayer.d.ts +0 -0
  269. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/EigenLayer.js +0 -0
  270. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Encompassing.d.ts +0 -0
  271. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Encompassing.js +0 -0
  272. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20.d.ts +0 -0
  273. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20Snapshot.d.ts +0 -0
  274. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Erc20Snapshot.js +0 -0
  275. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/EventBased.d.ts +0 -0
  276. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/EventBased.js +0 -0
  277. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Hyperdrive.d.ts +0 -0
  278. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Hyperdrive.js +0 -0
  279. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Invalid.d.ts +0 -0
  280. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Invalid.js +0 -0
  281. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ion.d.ts +0 -0
  282. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Ion.js +0 -0
  283. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/JsonAirdrop.d.ts +0 -0
  284. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/JsonAirdrop.js +0 -0
  285. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Morpho.d.ts +0 -0
  286. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Morpho.js +0 -0
  287. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Radiant.d.ts +0 -0
  288. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Radiant.js +0 -0
  289. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Silo.d.ts +0 -0
  290. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Silo.js +0 -0
  291. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/UniswapV4.d.ts +0 -0
  292. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/UniswapV4.js +0 -0
  293. /package/dist/src/{factories → engine}/opportunityMetadata/implementations/Vest.d.ts +0 -0
package/package.json CHANGED
@@ -105,5 +105,5 @@
105
105
  "access": "public",
106
106
  "registry": "https://registry.npmjs.org/"
107
107
  },
108
- "version": "v0.19.7"
108
+ "version": "v0.19.8"
109
109
  }
File without changes
@@ -1,10 +0,0 @@
1
- "use strict";
2
- // import { Campaign } from "@sdk";
3
- // import type { MetadataBuilder } from "./interface";
4
- // // @dev Casts are made to enforce type safety
5
- // // @dev A type error must be thrown if a new campaign type is added and the corresponding builder is not implemented
6
- // const map = {
7
- // [Campaign.INVALID]: new InvalidMetadata() as MetadataBuilder<Campaign.INVALID>,
8
- // } as const;
9
- // export const dynamicDataBuilderFactory = (campaignType: Campaign) =>
10
- // map[campaignType] as MetadataBuilder<typeof campaignType>;
@@ -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.AJNA;
4
- export declare function AjnaDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<UncachedResult<Partial<CampaignDynamicData<campaignType>[]>>>;
5
- export {};
@@ -1,111 +0,0 @@
1
- import { TokenService } from "@/modules/v4/token/token.service";
2
- import { batchMulticallCallWithRetry } from "@/utils/generic";
3
- import { providers } from "@/utils/providers";
4
- import { AjnaSubCampaignType, BN2Number, ERC20Pool__factory, NETWORK_LABELS, PoolInfoUtilsInterface, YEAR, } from "@sdk";
5
- import { POOL_INFO_UTILS } from "@sdk";
6
- import axios from "axios";
7
- import { log } from "../../../utils/logger";
8
- export async function AjnaDynamicData(chainId, campaigns) {
9
- const calls = [];
10
- for (const campaign of campaigns) {
11
- if (campaign.campaignParameters.subCampaignType === AjnaSubCampaignType.lend) {
12
- calls.push({
13
- allowFailure: true,
14
- callData: PoolInfoUtilsInterface.encodeFunctionData("poolPricesInfo", [campaign.campaignParameters.poolId]),
15
- target: POOL_INFO_UTILS[campaign.computeChainId],
16
- });
17
- }
18
- }
19
- return {
20
- cached: false,
21
- call: {
22
- callData: calls,
23
- handler: () => { },
24
- reducer: async (result) => {
25
- const dynamicData = [];
26
- const resIndexes = await batchMulticallCallWithRetry(chainId, {
27
- calls,
28
- });
29
- let index = 0;
30
- for (const campaign of campaigns) {
31
- const res = await axios.get(`https://ajna-api.blockanalitica.com/v4/${NETWORK_LABELS[chainId].toLowerCase()}/pools/${campaign.campaignParameters.poolId.toLowerCase()}`);
32
- try {
33
- let totalSupplyTargetToken = 0;
34
- let totalComputedTargetToken = 0;
35
- let blacklistedSupply = 0;
36
- let blacklistedPosition;
37
- if (campaign.campaignParameters.subCampaignType === AjnaSubCampaignType.lend) {
38
- totalSupplyTargetToken = res?.data.results?.quote_token_balance;
39
- const htpIndex = PoolInfoUtilsInterface.decodeFunctionResult("poolPricesInfo", resIndexes[index].returnData)[3];
40
- const lupIndex = PoolInfoUtilsInterface.decodeFunctionResult("poolPricesInfo", resIndexes[index].returnData)[5];
41
- const threshold = BN2Number(lupIndex, 0) === 0 ? lupIndex : lupIndex.gt(htpIndex) ? lupIndex.add(22) : htpIndex.add(22);
42
- const InterestEarningSupplyRes = await ERC20Pool__factory.connect(campaign.campaignParameters.poolId, providers[campaign.computeChainId]).depositUpToIndex(threshold);
43
- totalComputedTargetToken = BN2Number(InterestEarningSupplyRes, 18);
44
- index++;
45
- }
46
- else {
47
- totalSupplyTargetToken = res?.data.results?.debt;
48
- }
49
- totalComputedTargetToken =
50
- campaign.campaignSubType === AjnaSubCampaignType.lend ? totalComputedTargetToken : totalSupplyTargetToken;
51
- if (campaign.campaignParameters.blacklist.length !== 0 && totalComputedTargetToken !== 0) {
52
- for (const blacklisted of campaign.campaignParameters.blacklist) {
53
- const res = await axios.get(`https://ajna-api.blockanalitica.com/v4/${NETWORK_LABELS[chainId].toLowerCase()}/wallets/${blacklisted}/pools/?days_ago=1&order=-debt&p_size=50`);
54
- let nextRoute = null;
55
- if (!!res.data.next) {
56
- nextRoute = `https://${res.data.next.slice(res.data.next.indexOf(":") + 1)}`;
57
- }
58
- blacklistedPosition = res.data.results.find((position) => position.pool_address === campaign.campaignParameters.poolId);
59
- blacklistedSupply = !blacklistedPosition
60
- ? 0
61
- : campaign.campaignSubType === AjnaSubCampaignType.lend
62
- ? Number(blacklistedPosition.supply)
63
- : Number(blacklistedPosition.debt);
64
- while (nextRoute !== null && blacklistedSupply !== 0) {
65
- const res = await axios.get(nextRoute);
66
- blacklistedPosition = res.data.results.find((position) => position.pool_address === campaign.campaignParameters.poolId);
67
- blacklistedSupply = !blacklistedPosition
68
- ? 0
69
- : campaign.campaignSubType === AjnaSubCampaignType.lend
70
- ? Number(blacklistedPosition.supply)
71
- : Number(blacklistedPosition.debt);
72
- if (!!res.data.next) {
73
- nextRoute = `https://${res.data.next.slice(res.data.next.indexOf(":") + 1)}`;
74
- }
75
- else {
76
- nextRoute = null;
77
- }
78
- }
79
- }
80
- }
81
- totalComputedTargetToken -= blacklistedSupply;
82
- const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
83
- // (await pricer.get({
84
- // address: campaign.rewardToken,
85
- // chainId,
86
- // symbol: campaign.campaignParameters.symbolRewardToken,
87
- // })) ?? 0;
88
- dynamicData.push({
89
- ...campaign,
90
- apr: (priceRewardToken *
91
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
92
- YEAR *
93
- 100) /
94
- campaign.campaignParameters.duration /
95
- (totalComputedTargetToken * res?.data.results?.quote_token_underlying_price),
96
- totalSupplyTargetToken,
97
- tvl: res?.data.results?.tvl,
98
- computedtotalSupply: totalComputedTargetToken,
99
- });
100
- }
101
- catch (e) {
102
- log.error("Failed to fetch Ajna data", e);
103
- // In this case we return just the staticData
104
- dynamicData.push({ ...campaign });
105
- }
106
- }
107
- return dynamicData;
108
- },
109
- },
110
- };
111
- }
@@ -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 AmbientDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.AMBIENTPROCESSOR>[]): Promise<UncachedResult<Partial<CampaignDynamicData<Campaign.AMBIENTPROCESSOR>[]>>>;
@@ -1,245 +0,0 @@
1
- import { TokenService } from "@/modules/v4/token/token.service";
2
- import { AmbientAddresses, AmbientLens, BN2Number, EAprBreakdownType, NETWORK_LABELS, YEAR, } from "@sdk";
3
- import moment from "moment";
4
- import { log } from "../../../utils/logger";
5
- import { Pricer } from "../../../utils/pricer";
6
- import { fetchAmbientPotentialPositions } from "../utils/fetchAmbientInfo";
7
- var AmbientPositionType;
8
- (function (AmbientPositionType) {
9
- AmbientPositionType["Concentrated"] = "concentrated";
10
- AmbientPositionType["Ambient"] = "ambient";
11
- AmbientPositionType["Knockout"] = "knockout";
12
- })(AmbientPositionType || (AmbientPositionType = {}));
13
- function encodeCall(chainId, holder) {
14
- if (holder.positionType === AmbientPositionType.Concentrated) {
15
- return [
16
- {
17
- allowFailure: true,
18
- callData: AmbientLens.encodeFunctionData("queryRangeTokens", [
19
- holder.owner,
20
- holder.base,
21
- holder.quote,
22
- holder.poolIdx,
23
- holder.lowerTick,
24
- holder.upperTick,
25
- ]),
26
- target: AmbientAddresses[chainId].CrocQuery,
27
- },
28
- ];
29
- }
30
- return [
31
- {
32
- allowFailure: true,
33
- callData: AmbientLens.encodeFunctionData("queryAmbientTokens", [
34
- holder.owner,
35
- holder.base,
36
- holder.quote,
37
- holder.poolIdx,
38
- ]),
39
- target: AmbientAddresses[chainId].CrocQuery,
40
- },
41
- ];
42
- }
43
- async function decodeCall(result, holder) {
44
- let amount0 = BigInt(0n);
45
- let amount1 = BigInt(0n);
46
- if (holder.positionType === AmbientPositionType.Concentrated) {
47
- const resTok = AmbientLens.decodeFunctionResult("queryRangeTokens", result);
48
- amount0 = BigInt(resTok[1]);
49
- amount1 = BigInt(resTok[2]);
50
- }
51
- if (holder.positionType === AmbientPositionType.Ambient) {
52
- const resTok = AmbientLens.decodeFunctionResult("queryAmbientTokens", result);
53
- amount0 = BigInt(resTok[1]);
54
- amount1 = BigInt(resTok[2]);
55
- }
56
- return { amount0, amount1 };
57
- }
58
- export async function AmbientDynamicData(chainId, campaigns) {
59
- const dynamicData = [];
60
- const pricer = await Pricer.load();
61
- let calls = [];
62
- /** Dedupe pools from campaigns to build pool list */
63
- const poolList = [];
64
- for (const campaign of campaigns ?? []) {
65
- /** Loop through all campaigns to add pools */
66
- if (!poolList?.map(p => p.mainParameter.toLowerCase()).includes(campaign.mainParameter.toLowerCase())) {
67
- poolList.push({
68
- id: campaign.campaignParameters.poolId,
69
- mainParameter: campaign.mainParameter, // main parameter containes info of poolAddress + AMM (in case its a priority AMM)
70
- baseToken: campaign.campaignParameters.baseToken,
71
- quoteToken: campaign.campaignParameters.quoteToken,
72
- poolIdx: campaign.campaignParameters.poolIdx,
73
- potentialHolders: await fetchAmbientPotentialPositions(campaign.campaignParameters.poolId, campaign.computeChainId),
74
- });
75
- }
76
- }
77
- if (!!poolList) {
78
- for (const pool of poolList) {
79
- calls.push({
80
- allowFailure: true,
81
- callData: AmbientLens.encodeFunctionData("queryLiquidity", [pool.baseToken, pool.quoteToken, pool.poolIdx]),
82
- target: AmbientAddresses[chainId].CrocQuery,
83
- }, {
84
- allowFailure: true,
85
- callData: AmbientLens.encodeFunctionData("queryCurveTick", [pool.baseToken, pool.quoteToken, pool.poolIdx]),
86
- target: AmbientAddresses[chainId].CrocQuery,
87
- });
88
- calls = calls.concat(...pool.potentialHolders.map(holder => encodeCall(chainId, holder)));
89
- }
90
- return {
91
- cached: false,
92
- call: {
93
- callData: calls,
94
- handler: () => { },
95
- reducer: async (result) => {
96
- let i = 0;
97
- if (!!poolList) {
98
- for (const pool of poolList) {
99
- // This liquidity call gives the active liquidity on the pool. To get the total liquidity we would need to loop over all positions
100
- let poolTotalLiquidity;
101
- let activeTick;
102
- let poolBalanceToken0 = 0;
103
- let poolBalanceToken1 = 0;
104
- const d = campaigns?.filter(campaign => campaign.mainParameter.toLowerCase() === pool.mainParameter.toLowerCase())[0];
105
- const decimalsBaseToken = d.campaignParameters.decimalsBaseToken;
106
- const decimalsQuoteToken = d.campaignParameters.decimalsQuoteToken;
107
- const symbolBaseToken = d.campaignParameters.symbolBaseToken;
108
- const symbolQuoteToken = d.campaignParameters.symbolQuoteToken;
109
- const prevI = i;
110
- try {
111
- poolTotalLiquidity = BN2Number(AmbientLens.decodeFunctionResult("queryLiquidity", result[i++])[0]);
112
- activeTick = Number(AmbientLens.decodeFunctionResult("queryCurveTick", result[i++])[0]);
113
- for (let index = 0; index < pool.potentialHolders.length; index++) {
114
- // to verify
115
- if (calls.length === 0) {
116
- break;
117
- }
118
- const res = await decodeCall(result[i++], pool.potentialHolders[index]);
119
- poolBalanceToken0 += BN2Number(res.amount0, decimalsBaseToken);
120
- poolBalanceToken1 += BN2Number(res.amount1, decimalsQuoteToken);
121
- }
122
- }
123
- catch (e) {
124
- log.warn(`merklDynamic data - failed to decode state of pool ${pool.id} on ${NETWORK_LABELS[chainId]}`);
125
- i = prevI + 2 + pool.potentialHolders.length;
126
- continue;
127
- }
128
- const priceToken0 = (await pricer.get({
129
- address: d.campaignParameters.baseToken,
130
- chainId: chainId,
131
- symbol: symbolBaseToken,
132
- }));
133
- const priceToken1 = (await pricer.get({
134
- address: d.campaignParameters.quoteToken,
135
- chainId: chainId,
136
- symbol: symbolQuoteToken,
137
- }));
138
- /** Iterate over distributions to compute APRs */
139
- for (const campaign of campaigns.filter(campaign => campaign.mainParameter.toLowerCase() === pool.mainParameter.toLowerCase())) {
140
- const c = campaign;
141
- const amount = BN2Number(c.amount, c.campaignParameters.decimalsRewardToken);
142
- const startTimestamp = BN2Number(c.startTimestamp, 0);
143
- const endTimestamp = BN2Number(c.endTimestamp, 0);
144
- const isLive = moment().unix() >= startTimestamp && moment().unix() < endTimestamp;
145
- const totalWeight = BN2Number(c.campaignParameters.weightFees, 4) +
146
- BN2Number(c.campaignParameters.weightToken0, 4) +
147
- BN2Number(c.campaignParameters.weightToken1, 4);
148
- // Proportions in percentage
149
- const propFees = (BN2Number(c.campaignParameters.weightFees, 4) / totalWeight) * 100;
150
- const propToken0 = (BN2Number(c.campaignParameters.weightToken0, 4) / totalWeight) * 100;
151
- const propToken1 = (BN2Number(c.campaignParameters.weightToken1, 4) / totalWeight) * 100;
152
- let distributionMeanAPR = 0;
153
- const aprs = {};
154
- const aprBreakdowns = [];
155
- let priceRewardToken = 0;
156
- if (isLive && c.campaignParameters.symbolRewardToken !== "aglaMerkl") {
157
- // priceRewardToken = (await pricer.get({
158
- // address: c.rewardToken,
159
- // chainId: chainId,
160
- // symbol: c.campaignParameters.symbolRewardToken,
161
- // })) as number;
162
- priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
163
- /** Yearly rewards in $ */
164
- const yearlyToken0Rewards = (propToken0 * priceRewardToken * amount * YEAR) / (endTimestamp - startTimestamp);
165
- const yearlyToken1Rewards = (propToken1 * priceRewardToken * amount * YEAR) / (endTimestamp - startTimestamp);
166
- const yearlyFeeRewards = (propFees * priceRewardToken * amount * YEAR) / (endTimestamp - startTimestamp);
167
- let poolAPRkey = "";
168
- const tvl = poolBalanceToken0 * priceToken0 + poolBalanceToken1 * priceToken1;
169
- distributionMeanAPR = (yearlyToken0Rewards + yearlyToken1Rewards + yearlyFeeRewards) / tvl;
170
- distributionMeanAPR =
171
- !distributionMeanAPR || Number.isNaN(distributionMeanAPR) ? 0 : distributionMeanAPR;
172
- /**
173
- * @dev We cannot include a whitelisted distrib apr into the mean APR
174
- */
175
- if (c.campaignParameters.whitelist.length === 0) {
176
- poolAPRkey = "Average APR (rewards / pool TVL)";
177
- if (!aprs[poolAPRkey])
178
- aprs[poolAPRkey] = 0;
179
- aprs[poolAPRkey] += distributionMeanAPR;
180
- // @Hugo wip: new way to structure aprBreakdowns
181
- aprBreakdowns.push({
182
- address: pool.id,
183
- value: distributionMeanAPR,
184
- type: EAprBreakdownType.AVERAGE,
185
- label: "Average APR (rewards / pool TVL)",
186
- });
187
- // APR per token
188
- poolAPRkey = `APR for holding ${c.campaignParameters.symbolBaseToken} in pool`;
189
- if (!aprs[poolAPRkey])
190
- aprs[poolAPRkey] = 0;
191
- aprs[poolAPRkey] += yearlyToken0Rewards / (poolBalanceToken0 * priceToken0);
192
- // @Hugo wip: new way to structure aprBreakdowns
193
- aprBreakdowns.push({
194
- address: pool.id,
195
- value: yearlyToken0Rewards / (poolBalanceToken0 * priceToken0),
196
- type: EAprBreakdownType.TOKEN1,
197
- label: c.campaignParameters.symbolBaseToken,
198
- });
199
- poolAPRkey = `APR for holding ${c.campaignParameters.symbolQuoteToken} in pool`;
200
- if (!aprs[poolAPRkey])
201
- aprs[poolAPRkey] = 0;
202
- aprs[poolAPRkey] += yearlyToken1Rewards / (poolBalanceToken1 * priceToken1);
203
- // @Hugo wip: new way to structure aprBreakdowns
204
- aprBreakdowns.push({
205
- address: pool.id,
206
- value: yearlyToken1Rewards / (poolBalanceToken1 * priceToken1),
207
- type: EAprBreakdownType.TOKEN2,
208
- label: c.campaignParameters.symbolQuoteToken,
209
- });
210
- }
211
- else {
212
- }
213
- }
214
- dynamicData.push({
215
- ...campaign,
216
- apr: distributionMeanAPR,
217
- aprs,
218
- forwarders: [],
219
- poolBalanceToken0,
220
- poolBalanceToken1,
221
- poolTotalLiquidity,
222
- tick: activeTick,
223
- priceRewardToken: priceRewardToken,
224
- tvl: poolBalanceToken0 * priceToken0 + poolBalanceToken1 * priceToken1,
225
- });
226
- }
227
- }
228
- }
229
- return dynamicData;
230
- },
231
- },
232
- };
233
- }
234
- // Fallback in case something fails
235
- return {
236
- cached: false,
237
- call: {
238
- callData: [],
239
- handler: () => { },
240
- reducer: async (_result) => {
241
- return campaigns;
242
- },
243
- },
244
- };
245
- }
@@ -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.BADGER;
4
- export declare function BadgerDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<UncachedResult<Partial<CampaignDynamicData<campaignType>[]>>>;
5
- export {};
@@ -1,96 +0,0 @@
1
- import { BN2Number, SortedCdpsInterface, YEAR, } from "@sdk";
2
- import { log } from "../../../utils/logger";
3
- import { Pricer } from "../../../utils/pricer";
4
- import { CDPMANAGER_ADDRESS, EBTC_ADDRESS, SORTEDCDPS_ADDRESS } from "@/constants";
5
- import { TokenService } from "@/modules/v4/token/token.service";
6
- import { batchMulticallCallWithRetry } from "@/utils/generic";
7
- import { CdpManagerInterface } from "../../../../libs/sdk/src/merkl/interface";
8
- export async function BadgerDynamicData(chainId, campaigns) {
9
- const pricer = await Pricer.load();
10
- const calls = [];
11
- calls.push({
12
- allowFailure: false,
13
- callData: CdpManagerInterface.encodeFunctionData("getSystemDebt"),
14
- target: CDPMANAGER_ADDRESS,
15
- });
16
- return {
17
- cached: false,
18
- call: {
19
- callData: calls,
20
- handler: () => { },
21
- reducer: async (result) => {
22
- const dynamicData = [];
23
- for (const campaign of campaigns) {
24
- try {
25
- // Blacklist management
26
- let blacklistSupply = 0;
27
- let calls = [];
28
- for (const blacklisted of [
29
- "0xFBC472DdbE6DaE23fc0771518d1791D06a52cf4D",
30
- "0x690C74AF48BE029e763E61b4aDeB10E06119D3ba",
31
- "0xD0A7A8B98957b9CD3cFB9c0425AbE44551158e9e",
32
- "0x68682e8857D24A5Bb71fCd5C6Dc5867731226B62",
33
- ]) {
34
- calls.push({
35
- allowFailure: false,
36
- callData: SortedCdpsInterface.encodeFunctionData("getCdpsOf", [blacklisted]),
37
- target: SORTEDCDPS_ADDRESS,
38
- });
39
- }
40
- const resCdps = await batchMulticallCallWithRetry(chainId, {
41
- calls,
42
- });
43
- calls = [];
44
- for (const res of resCdps) {
45
- const cdp = SortedCdpsInterface.decodeFunctionResult("getCdpsOf", res.returnData)[0];
46
- if (cdp.length !== 0) {
47
- calls.push({
48
- allowFailure: false,
49
- callData: CdpManagerInterface.encodeFunctionData("Cdps", cdp),
50
- target: CDPMANAGER_ADDRESS,
51
- });
52
- }
53
- }
54
- const resBlacklist = await batchMulticallCallWithRetry(chainId, {
55
- calls,
56
- });
57
- for (const res of resBlacklist) {
58
- const cdpBlacklistedSupply = CdpManagerInterface.decodeFunctionResult("Cdps", res.returnData)[0];
59
- blacklistSupply += BN2Number(cdpBlacklistedSupply, campaign.campaignParameters.decimalsTargetToken);
60
- }
61
- const totalSupplyTargetToken = BN2Number(CdpManagerInterface.decodeFunctionResult("getSystemDebt", result[0])[0], campaign.campaignParameters.decimalsTargetToken) - blacklistSupply;
62
- // const priceRewardToken =
63
- // (await pricer.get({
64
- // address: campaign.rewardToken,
65
- // chainId,
66
- // symbol: campaign.campaignParameters.symbolRewardToken,
67
- // })) ?? 0;
68
- const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
69
- const priceTargetToken = (await pricer.get({
70
- address: EBTC_ADDRESS,
71
- chainId,
72
- symbol: campaign.campaignParameters.symbolTargetToken,
73
- })) ?? 0;
74
- dynamicData.push({
75
- ...campaign,
76
- apr: (priceRewardToken *
77
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
78
- YEAR *
79
- 100) /
80
- campaign.campaignParameters.duration /
81
- (totalSupplyTargetToken * priceTargetToken),
82
- totalSupplyTargetToken,
83
- tvl: totalSupplyTargetToken * priceTargetToken,
84
- });
85
- }
86
- catch (e) {
87
- log.error("Failed to fetch Dolomite data", e);
88
- // In this case we return just the staticData
89
- dynamicData.push({ ...campaign });
90
- }
91
- }
92
- return dynamicData;
93
- },
94
- },
95
- };
96
- }
@@ -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 CLAMMDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.CLAMM>[]): Promise<UncachedResult<Partial<CampaignDynamicData<Campaign.CLAMM>[]>>>;