@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
@@ -1,115 +0,0 @@
1
- import { BucketService } from "@/modules/v4/bucket/bucket.service";
2
- import { TokenService } from "@/modules/v4/token/token.service";
3
- import { engineDbClient } from "@db";
4
- import { BN2Number, ChainInteractionService, NETWORK_LABELS, } from "@sdk";
5
- import moment from "moment";
6
- import { log } from "../../../utils/logger";
7
- import { Pricer } from "../../../utils/pricer";
8
- // Constants
9
- const CALLS_LENGTH = 2;
10
- /**
11
- * Compute TVL
12
- * @dev important: using the most recent state save with current prices
13
- * it's only an estimate
14
- */
15
- async function computeEventBasedPoolTVLFromMostRecentStateSave(chainId, campaignID, priceCurrency, decimalsCurrency) {
16
- let stateSave;
17
- let blockNumber;
18
- let states = {};
19
- try {
20
- const currentBlock = await ChainInteractionService(chainId).getBlockNumber();
21
- const mostRecentStateSave = await engineDbClient.stateSave.findFirst({
22
- where: {
23
- id: `EventBasedProcessor_${chainId}_${campaignID}`,
24
- blockNumber: {
25
- lte: currentBlock,
26
- },
27
- },
28
- orderBy: {
29
- blockNumber: "desc",
30
- },
31
- });
32
- stateSave = mostRecentStateSave.state;
33
- blockNumber = mostRecentStateSave?.blockNumber;
34
- states = stateSave.states;
35
- // const globalState = stateSave.globalState as { tick: number; liquidity: string };
36
- }
37
- catch (e) {
38
- log.warn(`merklDynamic data - failed to read a recent state of ${campaignID} on ${NETWORK_LABELS[chainId]}`);
39
- }
40
- const { fileName, bucketName } = states;
41
- // Bucket service
42
- let tvl = 0;
43
- try {
44
- const bucket = new BucketService(bucketName, "merkl-production");
45
- const storedStates = JSON.parse(await bucket.pull(fileName));
46
- for (const [_, { value, params: _params }] of Object.entries(storedStates)) {
47
- tvl += BN2Number(value.allTimeValue, decimalsCurrency);
48
- }
49
- tvl = tvl * priceCurrency;
50
- tvl = Math.max(tvl, 1);
51
- }
52
- catch (e) {
53
- log.warn(`merklDynamic data - failed to decode state of event based on ${NETWORK_LABELS[chainId]}`);
54
- }
55
- return { tvl, blockNumber: blockNumber };
56
- }
57
- export async function EventBasedDynamicData(chainId, campaigns) {
58
- const dynamicData = [];
59
- const pricer = await Pricer.load();
60
- const calls = [];
61
- return {
62
- cached: false,
63
- call: {
64
- callData: calls,
65
- handler: () => { },
66
- reducer: async (result) => {
67
- for (const campaign of campaigns) {
68
- try {
69
- const decimalsCurrency0 = 6;
70
- const symbolCurrency0 = "USDC";
71
- const priceToken = (await pricer.get({
72
- chainId: chainId,
73
- symbol: symbolCurrency0,
74
- }));
75
- const { tvl, blockNumber } = await computeEventBasedPoolTVLFromMostRecentStateSave(chainId, campaign.campaignId, priceToken, decimalsCurrency0);
76
- const c = campaign;
77
- const amount = BN2Number(c.amount, c.campaignParameters.decimalsRewardToken);
78
- const multiplier = BN2Number(c.campaignParameters.topicToData[0].multiplier, 12 + 9);
79
- const startTimestamp = BN2Number(c.startTimestamp, 0);
80
- const endTimestamp = BN2Number(c.endTimestamp, 0);
81
- const isLive = moment().unix() > startTimestamp && moment().unix() < endTimestamp;
82
- let distributionMeanAPR = 0;
83
- const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
84
- if (isLive) {
85
- /** Yearly rewards in $ */
86
- const fixRewardRate = multiplier * priceRewardToken;
87
- distributionMeanAPR = fixRewardRate;
88
- if (tvl * fixRewardRate >
89
- (amount * (moment().unix() - startTimestamp)) / (endTimestamp - startTimestamp)) {
90
- distributionMeanAPR =
91
- (fixRewardRate * amount * (moment().unix() - startTimestamp)) / (endTimestamp - startTimestamp) / tvl;
92
- }
93
- distributionMeanAPR = !distributionMeanAPR || Number.isNaN(distributionMeanAPR) ? 0 : distributionMeanAPR;
94
- dynamicData.push({
95
- ...campaign,
96
- apr: distributionMeanAPR,
97
- priceRewardToken: priceRewardToken,
98
- tvl: tvl,
99
- });
100
- }
101
- }
102
- catch (e) {
103
- dynamicData.push({
104
- ...campaign,
105
- apr: 0,
106
- priceRewardToken: 0,
107
- tvl: 1,
108
- });
109
- }
110
- }
111
- return dynamicData;
112
- },
113
- },
114
- };
115
- }
@@ -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.HYPERDRIVELOGPROCESSOR | Campaign.HYPERDRIVELOGFIXPROCESSOR>[];
4
- export declare function HyperdriveDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.HYPERDRIVELOGPROCESSOR | Campaign.HYPERDRIVELOGFIXPROCESSOR>[]): Promise<UncachedResult<Partial<ReturnType>>>;
5
- export {};
@@ -1,102 +0,0 @@
1
- import { TokenService } from "@/modules/v4/token/token.service";
2
- import { Pricer } from "@/utils/pricer";
3
- import { BN2Number, ETH_ADDRESS, HyperDriveSubCampaignType, HyperdriveTargetInterface, YEAR, } from "@sdk";
4
- export async function HyperdriveDynamicData(chainId, campaigns) {
5
- const pricer = await Pricer.load();
6
- const calls = [];
7
- for (const campaign of campaigns) {
8
- calls.push({
9
- allowFailure: false,
10
- callData: HyperdriveTargetInterface.encodeFunctionData("getPoolInfo"),
11
- target: campaign.campaignParameters.targetToken,
12
- }, {
13
- allowFailure: false,
14
- callData: HyperdriveTargetInterface.encodeFunctionData("getPoolConfig"),
15
- target: campaign.campaignParameters.targetToken,
16
- });
17
- }
18
- return {
19
- cached: false,
20
- call: {
21
- callData: calls,
22
- handler: () => { },
23
- reducer: async (result) => {
24
- let i = 0;
25
- const dynamicData = [];
26
- for (const campaign of campaigns) {
27
- try {
28
- const poolInfo = HyperdriveTargetInterface.decodeFunctionResult("getPoolInfo", result[i])[0];
29
- const poolConfig = HyperdriveTargetInterface.decodeFunctionResult("getPoolConfig", result[i + 1])[0];
30
- // const priceRewardToken =
31
- // (await pricer.get({
32
- // address: campaign.rewardToken,
33
- // chainId,
34
- // symbol: campaign.campaignParameters.symbolRewardToken,
35
- // })) ?? 0;
36
- const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
37
- const lpSupply = BN2Number(poolInfo.lpTotalSupply, 18);
38
- const longSupply = BN2Number(poolInfo.longsOutstanding, 18);
39
- const shortSupply = BN2Number(poolInfo.shortsOutstanding, 18);
40
- const marketSupply = lpSupply * BN2Number(poolInfo.lpSharePrice, 18);
41
- const priceBaseToken = (poolConfig.baseToken === ETH_ADDRESS
42
- ? await pricer.get({
43
- chainId,
44
- symbol: "ETH",
45
- })
46
- : await pricer.get({
47
- address: campaign.campaignParameters.baseToken,
48
- chainId,
49
- symbol: campaign.campaignParameters.baseTokenSymbol,
50
- })) ?? 0;
51
- const tvl = campaign.campaignSubType === HyperDriveSubCampaignType.LP
52
- ? priceBaseToken * marketSupply
53
- : campaign.campaignSubType === HyperDriveSubCampaignType.LONG
54
- ? priceBaseToken * longSupply
55
- : priceBaseToken * shortSupply;
56
- dynamicData.push({
57
- ...campaign,
58
- totalSupplyTargetToken: marketSupply,
59
- tvl: tvl,
60
- apr: priceRewardToken !== 0
61
- ? (priceRewardToken *
62
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
63
- YEAR *
64
- 100) /
65
- campaign.campaignParameters.duration /
66
- tvl
67
- : 0,
68
- priceRewardToken: priceRewardToken,
69
- });
70
- }
71
- catch (e) {
72
- dynamicData.push({
73
- ...campaign,
74
- totalSupplyTargetToken: 0,
75
- tvl: 0,
76
- apr: 0,
77
- priceRewardToken: 0,
78
- });
79
- console.error(e);
80
- }
81
- i += 2;
82
- }
83
- return dynamicData;
84
- },
85
- },
86
- };
87
- }
88
- // enum AssetIdPrefix {
89
- // LP = 0,
90
- // Long = 1,
91
- // Short = 2,
92
- // WithdrawalShare = 3,
93
- // }
94
- // function encodeAssetId(prefix: AssetIdPrefix, timestamp: bigint): bigint {
95
- // // Check if the timestamp is within the valid range
96
- // const maxTimestamp = BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
97
- // if (timestamp > maxTimestamp) {
98
- // throw new Error("InvalidTimestamp");
99
- // }
100
- // // Encode the asset ID
101
- // return (BigInt(prefix) << BigInt(248)) | timestamp;
102
- // }
@@ -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.JSON_AIRDROP>[];
4
- export declare function JSON_AIRDROPDynamicData(_chainId: MerklChainId, campaigns: CampaignParameters<Campaign.JSON_AIRDROP>[]): Promise<UncachedResult<Partial<ReturnType>>>;
5
- export {};
@@ -1,19 +0,0 @@
1
- export async function JSON_AIRDROPDynamicData(_chainId, campaigns) {
2
- const calls = [];
3
- return {
4
- cached: false,
5
- call: {
6
- callData: calls,
7
- handler: () => { },
8
- reducer: async (_result) => {
9
- const dynamicData = [];
10
- for (const campaign of campaigns) {
11
- dynamicData.push({
12
- ...campaign,
13
- });
14
- }
15
- return dynamicData;
16
- },
17
- },
18
- };
19
- }
@@ -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 = Partial<CampaignDynamicData<Campaign.MORPHO>[]>;
4
- export declare function MORPHODynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.MORPHO>[]): Promise<UncachedResult<ReturnType>>;
5
- export {};
@@ -1,115 +0,0 @@
1
- import { TokenService } from "@/modules/v4/token/token.service";
2
- import { BN2Number, MetamorphoInterface, MorphoSubCampaignType, YEAR, } from "@sdk";
3
- import { Pricer } from "../../../utils/pricer";
4
- const axios = require("axios");
5
- export async function MORPHODynamicData(chainId, campaigns) {
6
- const pricer = await Pricer.load();
7
- const calls = [];
8
- const endpoint = "https://blue-api.morpho.org/graphql";
9
- const headers = {
10
- "content-type": "application/json",
11
- };
12
- for (const campaign of campaigns) {
13
- if (campaign.campaignSubType === MorphoSubCampaignType.META) {
14
- calls.push({
15
- allowFailure: true,
16
- callData: MetamorphoInterface.encodeFunctionData("totalAssets"),
17
- target: campaign.campaignParameters.targetToken,
18
- }, {
19
- allowFailure: true,
20
- callData: MetamorphoInterface.encodeFunctionData("totalSupply"),
21
- target: campaign.campaignParameters.targetToken,
22
- });
23
- }
24
- }
25
- return {
26
- cached: false,
27
- call: {
28
- callData: calls,
29
- handler: () => { },
30
- reducer: async (result) => {
31
- const dynamicData = [];
32
- let index = 0;
33
- for (const campaign of campaigns) {
34
- // const priceRewardToken =
35
- // (await pricer.get({
36
- // address: campaign.rewardToken,
37
- // chainId,
38
- // symbol: campaign.campaignParameters.symbolRewardToken,
39
- // })) ?? 0;
40
- const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
41
- let tvl = 0;
42
- let totalSupplyTargetToken = 0;
43
- if (campaign.campaignSubType === MorphoSubCampaignType.META) {
44
- const totalAssets = BN2Number(MetamorphoInterface.decodeFunctionResult("totalAssets", result[index++])[0], campaign.campaignParameters.decimalsUnderlyingToken);
45
- const totalSupply = BN2Number(MetamorphoInterface.decodeFunctionResult("totalSupply", result[index++])[0], campaign.campaignParameters.decimalsTargetToken);
46
- const priceAsset = (await pricer.get({
47
- symbol: campaign.campaignParameters.symbolUnderlyingToken,
48
- })) ?? 0;
49
- tvl = priceAsset * totalAssets;
50
- totalSupplyTargetToken = totalSupply;
51
- }
52
- if (campaign.campaignSubType === MorphoSubCampaignType.SUPPLY_BLUE ||
53
- campaign.campaignSubType === MorphoSubCampaignType.BORROWING_BLUE ||
54
- campaign.campaignSubType === MorphoSubCampaignType.COLLATERAL_BLUE) {
55
- const graphqlQueryMarket = {
56
- query: `query MarketByUniqueKey($uniqueKey: String!, $chainId: Int) {
57
- marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
58
- state {
59
- borrowAssetsUsd
60
- borrowAssets
61
- collateralAssets
62
- collateralAssetsUsd
63
- supplyAssets
64
- supplyAssetsUsd
65
- }
66
- }
67
- }
68
- `,
69
- variables: {
70
- uniqueKey: campaign.campaignParameters.marketId,
71
- chainId: campaign.computeChainId,
72
- },
73
- };
74
- try {
75
- const response = await axios({
76
- url: endpoint,
77
- method: "post",
78
- headers: headers,
79
- data: graphqlQueryMarket,
80
- });
81
- if (campaign.campaignSubType === MorphoSubCampaignType.SUPPLY_BLUE) {
82
- tvl = response.data.data.marketByUniqueKey.state.supplyAssetsUsd;
83
- totalSupplyTargetToken = response.data.data.marketByUniqueKey.state.supplyAssets;
84
- }
85
- if (campaign.campaignSubType === MorphoSubCampaignType.BORROWING_BLUE) {
86
- tvl = response.data.data.marketByUniqueKey.state.borrowAssetsUsd;
87
- totalSupplyTargetToken = response.data.data.marketByUniqueKey.state.borrowAssets;
88
- }
89
- if (campaign.campaignSubType === MorphoSubCampaignType.COLLATERAL_BLUE) {
90
- tvl = response.data.data.marketByUniqueKey.state.collateralAssetsUsd;
91
- totalSupplyTargetToken = response.data.data.marketByUniqueKey.state.collateralAssets;
92
- }
93
- }
94
- catch (e) {
95
- console.log(e);
96
- }
97
- }
98
- dynamicData.push({
99
- ...campaign,
100
- apr: (priceRewardToken *
101
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
102
- YEAR *
103
- 100) /
104
- campaign.campaignParameters.duration /
105
- tvl,
106
- totalSupplyTargetToken,
107
- tvl: tvl,
108
- priceRewardToken: priceRewardToken,
109
- });
110
- }
111
- return dynamicData;
112
- },
113
- },
114
- };
115
- }
@@ -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 RadiantDynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.RADIANT>[]): Promise<UncachedResult<Partial<CampaignDynamicData<Campaign.RADIANT>[]>>>;
@@ -1,125 +0,0 @@
1
- import { ComputedValueService } from "@/modules/v4/computedValue";
2
- import { TokenService } from "@/modules/v4/token/token.service";
3
- import { engineDbClient } from "@db";
4
- import { BN2Number, ERC20Interface, NULL_ADDRESS, RadiantInterface, RadiantPoolInterface, YEAR, } from "@sdk";
5
- import { Contract } from "ethers";
6
- import { log } from "../../../utils/logger";
7
- import { Pricer } from "../../../utils/pricer";
8
- import { providers } from "../../../utils/providers";
9
- import { merklChainDataWithCache } from "../../merklChainData";
10
- export async function RadiantDynamicData(chainId, campaigns) {
11
- const pricer = await Pricer.load();
12
- const calls = [];
13
- const currentRoot = (await merklChainDataWithCache(chainId)).merkleRoot;
14
- for (const campaign of campaigns) {
15
- calls.push({
16
- allowFailure: true,
17
- callData: ERC20Interface.encodeFunctionData("totalSupply"),
18
- target: campaign.campaignParameters.targetToken,
19
- });
20
- calls.push({
21
- allowFailure: true,
22
- callData: RadiantPoolInterface.encodeFunctionData("getRizRegistry"),
23
- target: campaign.campaignParameters.poolAddressProvider ?? NULL_ADDRESS,
24
- });
25
- calls.push({
26
- allowFailure: true,
27
- callData: RadiantInterface.encodeFunctionData("getAssetPrice"),
28
- target: campaign.campaignParameters.targetToken,
29
- });
30
- }
31
- return {
32
- cached: false,
33
- call: {
34
- callData: calls,
35
- handler: () => { },
36
- reducer: async (result) => {
37
- let i = 0;
38
- const dynamicData = [];
39
- for (const campaign of campaigns) {
40
- let totalSupplyTargetToken;
41
- try {
42
- totalSupplyTargetToken = BN2Number(ERC20Interface.decodeFunctionResult("totalSupply", result[i++])[0], campaign.campaignParameters.decimalsTargetToken);
43
- }
44
- catch {
45
- log.warn(`Error getting totalSupply for campaign ${campaign.campaignId} and token ${campaign.campaignParameters.targetToken}`);
46
- totalSupplyTargetToken = 0.0000001;
47
- }
48
- const backupCampaignIds = (await engineDbClient.campaigns.findMany({
49
- select: {
50
- campaignId: true,
51
- campaignParameters: true,
52
- endTimestamp: true,
53
- },
54
- where: {
55
- chainId: chainId,
56
- mainParameter: campaign.mainParameter,
57
- },
58
- }))
59
- .filter(c => c.campaignParameters?.symbolRewardToken === "mtwRDNT")
60
- .sort((a, b) => b.endTimestamp - a.endTimestamp)
61
- .map(c => c?.campaignId);
62
- let lastEligibilityRatio = 1;
63
- if (!!campaign.campaignParameters.hooks?.length) {
64
- for (const campaignId of [campaign.campaignId, ...backupCampaignIds]) {
65
- lastEligibilityRatio =
66
- (await ComputedValueService.findCampaignValue({
67
- campaignId: `${campaignId}-${chainId}`,
68
- field: "averageBoost",
69
- }))?.averageBoost ?? 1;
70
- if (lastEligibilityRatio !== 1)
71
- break;
72
- }
73
- }
74
- // const priceRewardToken =
75
- // (await pricer.get({
76
- // address: campaign.rewardToken,
77
- // chainId,
78
- // symbol: campaign.campaignParameters.symbolRewardToken,
79
- // })) ?? 0;
80
- const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
81
- let priceDecimals = 8;
82
- let rizRegistry = "";
83
- try {
84
- rizRegistry = RadiantPoolInterface.decodeFunctionResult("getRizRegistry", result[i])[0];
85
- const isRiz = await new Contract(rizRegistry, RadiantPoolInterface, providers[chainId]).isLendingPoolValid(campaign.campaignParameters.pool);
86
- if (isRiz)
87
- priceDecimals = 18;
88
- }
89
- catch {
90
- // If it is doesn't work it means it's not a Radiant Innovation Zone Market
91
- }
92
- i++;
93
- let priceTargetToken = 0;
94
- try {
95
- priceTargetToken = BN2Number(RadiantInterface.decodeFunctionResult("getAssetPrice", result[i])[0], priceDecimals);
96
- }
97
- catch (e) {
98
- log.local("Error getting priceTargetToken");
99
- priceTargetToken =
100
- (await pricer.get({
101
- symbol: campaign.campaignParameters.symbolTargetToken,
102
- address: campaign.campaignParameters.targetToken,
103
- })) ?? 0;
104
- }
105
- i++;
106
- dynamicData.push({
107
- ...campaign,
108
- apr: (lastEligibilityRatio *
109
- priceRewardToken *
110
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
111
- YEAR *
112
- 100) /
113
- campaign.campaignParameters.duration /
114
- (totalSupplyTargetToken * priceTargetToken),
115
- totalSupplyTargetToken,
116
- tvl: totalSupplyTargetToken * priceTargetToken,
117
- lastEligibilityRatio,
118
- priceRewardToken: priceRewardToken,
119
- });
120
- }
121
- return dynamicData;
122
- },
123
- },
124
- };
125
- }
@@ -1,7 +0,0 @@
1
- import { type Campaign, type CampaignDynamicData, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import { utils } from "ethers";
3
- import type { UncachedResult } from "../../../utils/execute";
4
- export declare const SILO_INTERFACE: utils.Interface;
5
- type ReturnType = Partial<CampaignDynamicData<Campaign.SILO>>[];
6
- export declare function SILODynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.SILO>[]): Promise<UncachedResult<ReturnType>>;
7
- export {};
@@ -1,118 +0,0 @@
1
- import { TokenService } from "@/modules/v4/token/token.service";
2
- import { BN2Number, ERC20Interface, Forwarder, YEAR, } from "@sdk";
3
- import { utils } from "ethers";
4
- import { batchMulticallCallWithRetry } from "../../../utils/generic";
5
- import { log } from "../../../utils/logger";
6
- import { Pricer } from "../../../utils/pricer";
7
- const SILO_ABI = [
8
- "function getAssets() view returns (address[])",
9
- "function assetStorage(address) external view returns (address,address,address,uint256,uint256,uint256)",
10
- "function siloAsset() view returns (address)",
11
- ];
12
- export const SILO_INTERFACE = new utils.Interface(SILO_ABI);
13
- export async function SILODynamicData(chainId, campaigns) {
14
- const pricer = await Pricer.load();
15
- const siloAssetsCalls = [];
16
- for (const campaign of campaigns) {
17
- if (campaign.campaignParameters.whitelist.length === 1) {
18
- siloAssetsCalls.push({
19
- allowFailure: true,
20
- callData: SILO_INTERFACE.encodeFunctionData("siloAsset"),
21
- target: campaign.campaignParameters.whitelist[0],
22
- });
23
- }
24
- }
25
- const siloAssetsCallsResults = await batchMulticallCallWithRetry(chainId, {
26
- calls: siloAssetsCalls,
27
- });
28
- const calls = [];
29
- let i = 0;
30
- for (const campaign of campaigns) {
31
- for (const forwarder of campaign.campaignParameters.forwarders) {
32
- if (forwarder.forwarderType === Forwarder.ERC20) {
33
- calls.push({
34
- allowFailure: true,
35
- callData: SILO_INTERFACE.encodeFunctionData("assetStorage", [campaign.campaignParameters.targetToken]),
36
- target: forwarder.sender,
37
- });
38
- if (campaign.campaignParameters.whitelist.length === 1) {
39
- const siloAsset = SILO_INTERFACE.decodeFunctionResult("siloAsset", siloAssetsCallsResults[i].returnData)[0];
40
- calls.push({
41
- allowFailure: true,
42
- callData: ERC20Interface.encodeFunctionData("symbol"),
43
- target: siloAsset,
44
- });
45
- }
46
- }
47
- }
48
- if (campaign.campaignParameters.whitelist.length === 1) {
49
- i++;
50
- }
51
- }
52
- return {
53
- cached: false,
54
- call: {
55
- callData: calls,
56
- handler: () => { },
57
- reducer: async (result) => {
58
- let i = 0;
59
- let j = 0;
60
- const dynamicData = [];
61
- for (const campaign of campaigns) {
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: campaign.campaignParameters.targetToken,
71
- chainId,
72
- symbol: campaign.campaignParameters.symbolTargetToken,
73
- })) ?? 0;
74
- let totalSupplyTargetToken = 0;
75
- const forwarders = (campaign.campaignParameters.forwarders ??
76
- []);
77
- for (const _forwarder of forwarders) {
78
- if (_forwarder.forwarderType === Forwarder.ERC20) {
79
- try {
80
- totalSupplyTargetToken += BN2Number(SILO_INTERFACE.decodeFunctionResult("assetStorage", result[i])[3 + campaign.campaignSubType], campaign.campaignParameters.decimalsTargetToken);
81
- i++;
82
- }
83
- catch (e) {
84
- log.local(`Issue with ${_forwarder.sender} on ${campaign.campaignParameters.targetToken}`);
85
- i++;
86
- }
87
- if (campaign.campaignParameters.whitelist.length === 1) {
88
- const siloAsset = SILO_INTERFACE.decodeFunctionResult("siloAsset", siloAssetsCallsResults[j].returnData)[0];
89
- const siloAssetSymbol = ERC20Interface.decodeFunctionResult("symbol", result[i++])[0];
90
- // @BaptistG not sure to get this
91
- forwarders[0].siloAsset = siloAsset;
92
- forwarders[0].siloAssetSymbol = siloAssetSymbol;
93
- }
94
- }
95
- }
96
- if (campaign.campaignParameters.whitelist.length === 1) {
97
- j++;
98
- }
99
- // Remove all silo forwarders
100
- campaign.campaignParameters.forwarders = forwarders.filter(forwarder => forwarder.forwarderType !== Forwarder.SILO);
101
- dynamicData.push({
102
- ...campaign,
103
- apr: (priceRewardToken *
104
- BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) *
105
- YEAR *
106
- 100) /
107
- campaign.campaignParameters.duration /
108
- (totalSupplyTargetToken * priceTargetToken),
109
- totalSupplyTargetToken,
110
- tvl: totalSupplyTargetToken * priceTargetToken,
111
- priceRewardToken: priceRewardToken,
112
- });
113
- }
114
- return dynamicData;
115
- },
116
- },
117
- };
118
- }
@@ -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 UniswapV4DynamicData(chainId: MerklChainId, campaigns: CampaignParameters<Campaign.UNISWAP_V4>[]): Promise<UncachedResult<Partial<CampaignDynamicData<Campaign.UNISWAP_V4>[]>>>;