@merkl/api 0.20.106 → 0.20.109

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 (366) hide show
  1. package/dist/src/constants.d.ts +1 -23
  2. package/dist/src/constants.js +1 -36
  3. package/dist/src/eden/index.d.ts +347 -226
  4. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Ajna.js +1 -1
  5. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Clamm.js +4 -4
  6. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Compound.js +2 -2
  7. package/dist/src/engine/deprecated/dynamicData/implementations/CompoundV3.js +101 -0
  8. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Dolomite.js +1 -1
  9. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERC721.js +2 -2
  10. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERCMultiToken.js +2 -2
  11. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EigenLayer.js +1 -1
  12. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20.d.ts +1 -1
  13. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20.js +10 -10
  14. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20Snapshot.js +1 -1
  15. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EventBased.js +2 -2
  16. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Morpho.js +1 -1
  17. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Radiant.js +3 -3
  18. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Silo.js +2 -2
  19. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/UniswapV4.js +2 -2
  20. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Vest.js +2 -2
  21. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchA51Strategies.js +2 -2
  22. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getDolomiteMarkets.js +2 -2
  23. package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getEulerV2Vaults.js +1 -1
  24. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/GenericProcessor.d.ts +1 -1
  25. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/factoryFinder.d.ts +1 -1
  26. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/factoryFinder.js +1 -1
  27. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/hardcoded.d.ts +1 -1
  28. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/hardcoded.js +1 -1
  29. package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/ownerFinder.d.ts +2 -0
  30. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/ownerFinder.js +1 -1
  31. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AaveProcessor.d.ts +1 -1
  32. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AnglesLiquid.d.ts +1 -1
  33. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AssetProcessor.d.ts +1 -1
  34. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AssetProcessor.js +1 -1
  35. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AuraProcessor.d.ts +1 -1
  36. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BEXRewardGaugeProcessor.d.ts +1 -1
  37. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.d.ts +1 -1
  38. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.d.ts +1 -1
  39. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.d.ts +1 -1
  40. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BeefyProcessor.d.ts +1 -1
  41. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BunniV2Processor.d.ts +1 -1
  42. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/CompoundProcessor.d.ts +1 -1
  43. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ERC4626Processor.d.ts +1 -1
  44. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EnzymeProcessor.d.ts +1 -1
  45. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.d.ts +1 -1
  46. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.d.ts +1 -1
  47. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerLendProcessor.d.ts +1 -1
  48. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FluidProcessor.d.ts +1 -1
  49. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FraxProcessor.d.ts +1 -1
  50. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FraxProcessor.js +1 -1
  51. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaALMProcessor.d.ts +1 -1
  52. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaProcessor.d.ts +1 -1
  53. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GearboxProcessor.d.ts +1 -1
  54. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.d.ts +1 -1
  55. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HoldStationProcessor.d.ts +1 -1
  56. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HourglassProcessor.d.ts +1 -1
  57. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.d.ts +1 -1
  58. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.d.ts +1 -1
  59. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.d.ts +1 -1
  60. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.js +1 -1
  61. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleProcessor.d.ts +1 -1
  62. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleYTProcessor.d.ts +1 -1
  63. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RadiantProcessor.d.ts +1 -1
  64. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RfxProcessor.d.ts +1 -1
  65. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/Satlayer.d.ts +1 -1
  66. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraProcessor.d.ts +1 -1
  67. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraProcessor.js +3 -3
  68. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.d.ts +1 -1
  69. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.js +3 -3
  70. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpliceProcessor.d.ts +1 -1
  71. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.d.ts +1 -1
  72. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.d.ts +1 -1
  73. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.js +1 -1
  74. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TemplateProcessor.d.ts +1 -1
  75. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TorosProcessor.d.ts +1 -1
  76. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/UniswapProcessor.d.ts +1 -1
  77. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/VicunaProcessor.d.ts +1 -1
  78. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/WoofiProcessor.d.ts +1 -1
  79. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.d.ts +1 -1
  80. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.d.ts +1 -1
  81. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveProcessor.d.ts +1 -1
  82. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveProcessor.js +1 -1
  83. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/processorMapping.d.ts +1 -1
  84. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/processorMapping.js +3 -1
  85. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.d.ts +1 -1
  86. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.js +1 -1
  87. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/xU308Processor.d.ts +1 -1
  88. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesPrices.d.ts +1 -1
  89. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesPrices.js +1 -1
  90. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound1.js +5 -1
  91. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound2.d.ts +1 -1
  92. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound3.d.ts +1 -1
  93. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound4.d.ts +1 -1
  94. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeStruct.d.ts +1 -1
  95. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeToProtocolAndAction.d.ts +1 -1
  96. package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeToProtocolAndAction.js +3 -1
  97. package/dist/src/engine/{opportunityMetadata/implementations/Ajna.d.ts → implementations/Ajna/metadata.d.ts} +4 -3
  98. package/dist/src/engine/{opportunityMetadata/implementations/Ajna.js → implementations/Ajna/metadata.js} +4 -3
  99. package/dist/src/engine/implementations/Ajna/tvl.d.ts +7 -0
  100. package/dist/src/engine/{campaignTVL/implementations/Ajna.js → implementations/Ajna/tvl.js} +9 -9
  101. package/dist/src/engine/{opportunityMetadata/implementations/Ambient.d.ts → implementations/Ambient/metadata.d.ts} +4 -3
  102. package/dist/src/engine/{opportunityMetadata/implementations/Ambient.js → implementations/Ambient/metadata.js} +2 -1
  103. package/dist/src/engine/{campaignTVL/implementations/Ambiant.d.ts → implementations/Ambient/tvl.d.ts} +3 -3
  104. package/dist/src/engine/{campaignTVL/implementations/Ambiant.js → implementations/Ambient/tvl.js} +2 -2
  105. package/dist/src/engine/{opportunityMetadata/implementations/Badger.d.ts → implementations/Badger/metadata.d.ts} +4 -3
  106. package/dist/src/engine/{opportunityMetadata/implementations/Badger.js → implementations/Badger/metadata.js} +2 -1
  107. package/dist/src/engine/{opportunityMetadata/implementations/Clamm.d.ts → implementations/Clamm/metadata.d.ts} +4 -3
  108. package/dist/src/engine/{opportunityMetadata/implementations/Clamm.js → implementations/Clamm/metadata.js} +2 -1
  109. package/dist/src/engine/{opportunityMetadata/implementations/Compound.d.ts → implementations/Compound/metadata.d.ts} +5 -4
  110. package/dist/src/engine/{opportunityMetadata/implementations/Compound.js → implementations/Compound/metadata.js} +3 -2
  111. package/dist/src/engine/{opportunityMetadata/implementations/CompoundV3.d.ts → implementations/CompoundV3/metadata.d.ts} +5 -4
  112. package/dist/src/engine/{opportunityMetadata/implementations/CompoundV3.js → implementations/CompoundV3/metadata.js} +4 -3
  113. package/dist/src/engine/implementations/Default/metadata.d.ts +13 -0
  114. package/dist/src/engine/{opportunityMetadata/implementations/Default.js → implementations/Default/metadata.js} +3 -2
  115. package/dist/src/engine/{opportunityMetadata/implementations/Dolomite.d.ts → implementations/Dolomite/metadata.d.ts} +5 -4
  116. package/dist/src/engine/{opportunityMetadata/implementations/Dolomite.js → implementations/Dolomite/metadata.js} +3 -2
  117. package/dist/src/engine/{opportunityMetadata/implementations/EigenLayer.d.ts → implementations/EigenLayer/metadata.d.ts} +5 -4
  118. package/dist/src/engine/{opportunityMetadata/implementations/EigenLayer.js → implementations/EigenLayer/metadata.js} +2 -1
  119. package/dist/src/engine/implementations/Encompassing/metadata.d.ts +16 -0
  120. package/dist/src/engine/{opportunityMetadata/implementations/Encompassing.js → implementations/Encompassing/metadata.js} +4 -3
  121. package/dist/src/engine/implementations/Erc20/metadata.d.ts +29 -0
  122. package/dist/src/engine/{opportunityMetadata/implementations/Erc20/index.js → implementations/Erc20/metadata.js} +19 -14
  123. package/dist/src/engine/{campaignTVL/implementations/Erc20/computeSubTypes.d.ts → implementations/Erc20/subTypes/detect.d.ts} +2 -2
  124. package/dist/src/engine/{campaignTVL/implementations/Erc20/computeSubTypes.js → implementations/Erc20/subTypes/detect.js} +6 -6
  125. package/dist/src/engine/implementations/Erc20/subTypes/factories.d.ts +5 -0
  126. package/dist/src/engine/implementations/Erc20/subTypes/factories.js +33 -0
  127. package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/metadata.d.ts +17 -0
  128. package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/metadata.js +21 -0
  129. package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/tvl.d.ts +6 -0
  130. package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/tvl.js +43 -0
  131. package/dist/src/engine/{campaignTVL/implementations/Erc20/Erc20SubType.d.ts → implementations/Erc20/subTypes/index.d.ts} +2 -0
  132. package/dist/src/engine/{campaignTVL/implementations/Erc20/Erc20SubType.js → implementations/Erc20/subTypes/index.js} +2 -0
  133. package/dist/src/engine/implementations/Erc20/tvl.d.ts +6 -0
  134. package/dist/src/engine/implementations/Erc20/tvl.js +98 -0
  135. package/dist/src/engine/implementations/Erc20Snapshot/metadata.d.ts +15 -0
  136. package/dist/src/engine/{opportunityMetadata/implementations/Erc20Snapshot.js → implementations/Erc20Snapshot/metadata.js} +2 -1
  137. package/dist/src/engine/implementations/Erc721/metadata.d.ts +17 -0
  138. package/dist/src/engine/{opportunityMetadata/implementations/ERC721.js → implementations/Erc721/metadata.js} +3 -2
  139. package/dist/src/engine/implementations/ErcMultiToken/metadata.d.ts +29 -0
  140. package/dist/src/engine/{opportunityMetadata/implementations/ERCMultiToken.js → implementations/ErcMultiToken/metadata.js} +5 -4
  141. package/dist/src/engine/{opportunityMetadata/implementations/Euler.d.ts → implementations/Euler/metadata.d.ts} +4 -3
  142. package/dist/src/engine/{opportunityMetadata/implementations/Euler.js → implementations/Euler/metadata.js} +5 -4
  143. package/dist/src/engine/{opportunityMetadata/implementations/EventBased.d.ts → implementations/EventBased/metadata.d.ts} +4 -3
  144. package/dist/src/engine/{opportunityMetadata/implementations/EventBased.js → implementations/EventBased/metadata.js} +2 -1
  145. package/dist/src/engine/{opportunityMetadata/implementations/Hyperdrive.d.ts → implementations/Hyperdrive/metadata.d.ts} +4 -3
  146. package/dist/src/engine/{opportunityMetadata/implementations/Hyperdrive.js → implementations/Hyperdrive/metadata.js} +3 -2
  147. package/dist/src/engine/{opportunityMetadata/implementations/Invalid.d.ts → implementations/Invalid/metadata.d.ts} +1 -1
  148. package/dist/src/engine/{opportunityMetadata/implementations/Ion.d.ts → implementations/Ion/metadata.d.ts} +4 -4
  149. package/dist/src/engine/{opportunityMetadata/implementations/Ion.js → implementations/Ion/metadata.js} +2 -1
  150. package/dist/src/engine/implementations/JsonAirdrop/metadata.d.ts +24 -0
  151. package/dist/src/engine/{opportunityMetadata/implementations/JsonAirdrop.js → implementations/JsonAirdrop/metadata.js} +4 -3
  152. package/dist/src/engine/{opportunityMetadata/implementations/Morpho.d.ts → implementations/Morpho/metadata.d.ts} +4 -3
  153. package/dist/src/engine/{opportunityMetadata/implementations/Morpho.js → implementations/Morpho/metadata.js} +4 -1
  154. package/dist/src/engine/{opportunityMetadata/implementations/Radiant.d.ts → implementations/Radiant/metadata.d.ts} +5 -4
  155. package/dist/src/engine/{opportunityMetadata/implementations/Radiant.js → implementations/Radiant/metadata.js} +4 -1
  156. package/dist/src/engine/{opportunityMetadata/implementations/Silo.d.ts → implementations/Silo/metadata.d.ts} +5 -4
  157. package/dist/src/engine/{opportunityMetadata/implementations/Silo.js → implementations/Silo/metadata.js} +4 -1
  158. package/dist/src/engine/{opportunityMetadata/implementations/UniswapV4.d.ts → implementations/UniswapV4/metadata.d.ts} +4 -3
  159. package/dist/src/engine/{opportunityMetadata/implementations/UniswapV4.js → implementations/UniswapV4/metadata.js} +2 -1
  160. package/dist/src/engine/implementations/UniswapV4/tvl.d.ts +7 -0
  161. package/dist/src/engine/{campaignTVL/implementations/UniswapV4.js → implementations/UniswapV4/tvl.js} +11 -11
  162. package/dist/src/engine/{opportunityMetadata/implementations/Vest.d.ts → implementations/Vest/metadata.d.ts} +5 -4
  163. package/dist/src/engine/{opportunityMetadata/implementations/Vest.js → implementations/Vest/metadata.js} +3 -2
  164. package/dist/src/engine/metadata/factory.js +71 -0
  165. package/dist/src/engine/tvl/factory.d.ts +3 -0
  166. package/dist/src/engine/tvl/factory.js +23 -0
  167. package/dist/src/hooks/checkQueryAddressValidity.js +1 -1
  168. package/dist/src/hooks/checkQueryChainIdValidity.js +1 -1
  169. package/dist/src/index.d.ts +123 -80
  170. package/dist/src/jobs/dynamic-data.js +1 -1
  171. package/dist/src/jobs/update-analytics.js +290 -34
  172. package/dist/src/jobs/update-euler-vaults.js +1 -1
  173. package/dist/src/libs/computeFee.js +1 -1
  174. package/dist/src/libs/deprecated-merklv3/index.js +1 -1
  175. package/dist/src/libs/getTokensList.js +1 -1
  176. package/dist/src/libs/merklChainData.js +1 -1
  177. package/dist/src/libs/positions/EigenLayer/index.d.ts +1 -1
  178. package/dist/src/libs/positions/ajna/index.d.ts +1 -1
  179. package/dist/src/libs/positions/badger/index.d.ts +1 -1
  180. package/dist/src/libs/positions/clamm/index.js +3 -3
  181. package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.js +1 -1
  182. package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.js +1 -1
  183. package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.js +1 -1
  184. package/dist/src/libs/positions/compound/index.d.ts +1 -1
  185. package/dist/src/libs/positions/dolomite/index.d.ts +1 -1
  186. package/dist/src/libs/positions/erc20/index.d.ts +1 -1
  187. package/dist/src/libs/positions/erc20/index.js +0 -1
  188. package/dist/src/libs/positions/euler/index.d.ts +1 -1
  189. package/dist/src/libs/positions/euler/index.js +0 -1
  190. package/dist/src/libs/positions/index.js +1 -1
  191. package/dist/src/libs/positions/morpho/index.d.ts +1 -1
  192. package/dist/src/libs/positions/prepareFetch.js +1 -1
  193. package/dist/src/libs/positions/silo/index.d.ts +1 -1
  194. package/dist/src/libs/tokens/balances.d.ts +1 -1
  195. package/dist/src/libs/tokens/balances.js +1 -1
  196. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +42 -15
  197. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +7 -9
  198. package/dist/src/modules/v4/campaign/campaign.repository.js +20 -27
  199. package/dist/src/modules/v4/campaign/campaign.service.d.ts +47 -17
  200. package/dist/src/modules/v4/campaign/campaign.service.js +51 -38
  201. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +67 -22
  202. package/dist/src/modules/v4/campaign/campaign.test.controller.js +32 -9
  203. package/dist/src/modules/v4/chain/chain.controller.d.ts +3 -1
  204. package/dist/src/modules/v4/chain/chain.repository.d.ts +8 -2
  205. package/dist/src/modules/v4/chain/chain.repository.js +1 -2
  206. package/dist/src/modules/v4/chain/chain.service.d.ts +16 -2
  207. package/dist/src/modules/v4/chain/chain.service.js +3 -3
  208. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +49 -13
  209. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +4 -4
  210. package/dist/src/modules/v4/opportunity/opportunity.converter.d.ts +2 -1
  211. package/dist/src/modules/v4/opportunity/opportunity.converter.js +1 -1
  212. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +8 -8
  213. package/dist/src/modules/v4/opportunity/opportunity.service.js +16 -32
  214. package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +7 -7
  215. package/dist/src/modules/v4/programPayload/programPayload.model.d.ts +3 -3
  216. package/dist/src/modules/v4/programPayload/programPayload.model.js +2 -2
  217. package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +279 -4
  218. package/dist/src/modules/v4/programPayload/programPayload.repository.js +295 -3
  219. package/dist/src/modules/v4/protocol/protocol.model.d.ts +1 -1
  220. package/dist/src/modules/v4/protocol/protocol.model.js +1 -0
  221. package/dist/src/modules/v4/router.d.ts +123 -80
  222. package/dist/src/modules/v4/router.js +0 -2
  223. package/dist/src/modules/v4/uniswap/uniswap.service.js +1 -1
  224. package/dist/src/routes/v3/campaigns.js +3 -3
  225. package/dist/src/routes/v3/compoundV2.js +1 -1
  226. package/dist/src/routes/v3/createCampaign.js +1 -1
  227. package/dist/src/routes/v3/dolomite.js +1 -1
  228. package/dist/src/routes/v3/euler.js +1 -1
  229. package/dist/src/routes/v3/fetch.js +1 -1
  230. package/dist/src/routes/v3/lostyield.js +3 -3
  231. package/dist/src/routes/v3/merkl.js +2 -2
  232. package/dist/src/routes/v3/multiChainPositions.js +1 -1
  233. package/dist/src/routes/v3/overview.js +1 -1
  234. package/dist/src/routes/v3/poolInfo.js +2 -2
  235. package/dist/src/routes/v3/rewardsReport.js +1 -1
  236. package/dist/src/scripts/reparse-opportunities.js +5 -3
  237. package/dist/src/utils/decodeCalls.d.ts +1 -1
  238. package/dist/src/utils/decodeCalls.js +3 -1
  239. package/dist/src/utils/encodeCalls.d.ts +1 -1
  240. package/dist/src/utils/encodeCalls.js +3 -1
  241. package/dist/src/utils/error.d.ts +6 -6
  242. package/dist/src/utils/generateCardName.d.ts +1 -1
  243. package/dist/src/utils/generateCardName.js +3 -1
  244. package/dist/tsconfig.package.tsbuildinfo +1 -1
  245. package/package.json +1 -1
  246. package/dist/src/engine/campaignTVL/factory.d.ts +0 -3
  247. package/dist/src/engine/campaignTVL/factory.js +0 -23
  248. package/dist/src/engine/campaignTVL/implementations/Ajna.d.ts +0 -7
  249. package/dist/src/engine/campaignTVL/implementations/Erc20/factory.d.ts +0 -3
  250. package/dist/src/engine/campaignTVL/implementations/Erc20/factory.js +0 -13
  251. package/dist/src/engine/campaignTVL/implementations/Erc20/index.d.ts +0 -6
  252. package/dist/src/engine/campaignTVL/implementations/Erc20/index.js +0 -34
  253. package/dist/src/engine/campaignTVL/implementations/UniswapV4.d.ts +0 -7
  254. package/dist/src/engine/dynamicData/implementations/CompoundV3.js +0 -69
  255. package/dist/src/engine/erc20SubTypeProcessors/helpers/ownerFinder.d.ts +0 -2
  256. package/dist/src/engine/opportunityMetadata/factory.js +0 -71
  257. package/dist/src/engine/opportunityMetadata/implementations/Default.d.ts +0 -13
  258. package/dist/src/engine/opportunityMetadata/implementations/ERC721.d.ts +0 -16
  259. package/dist/src/engine/opportunityMetadata/implementations/ERCMultiToken.d.ts +0 -28
  260. package/dist/src/engine/opportunityMetadata/implementations/Encompassing.d.ts +0 -15
  261. package/dist/src/engine/opportunityMetadata/implementations/Erc20/index.d.ts +0 -18
  262. package/dist/src/engine/opportunityMetadata/implementations/Erc20Snapshot.d.ts +0 -14
  263. package/dist/src/engine/opportunityMetadata/implementations/JsonAirdrop.d.ts +0 -23
  264. package/dist/src/entities/campaign.d.ts +0 -58
  265. package/dist/src/entities/campaign.js +0 -136
  266. package/dist/src/modules/v4/dynamicData/dynamicData.controller.d.ts +0 -51
  267. package/dist/src/modules/v4/dynamicData/dynamicData.controller.js +0 -19
  268. package/dist/src/modules/v4/dynamicData/dynamicData.repository.d.ts +0 -0
  269. package/dist/src/modules/v4/dynamicData/dynamicData.repository.js +0 -1
  270. package/dist/src/types/returnTypes.d.ts +0 -19
  271. package/dist/src/types/returnTypes.js +0 -1
  272. package/dist/src/types/utils.d.ts +0 -5
  273. package/dist/src/types/utils.js +0 -1
  274. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/factory.d.ts +0 -0
  275. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/factory.js +0 -0
  276. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Ajna.d.ts +0 -0
  277. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Badger.d.ts +0 -0
  278. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Badger.js +0 -0
  279. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Clamm.d.ts +0 -0
  280. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Compound.d.ts +0 -0
  281. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/CompoundV3.d.ts +0 -0
  282. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Dolomite.d.ts +0 -0
  283. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERC721.d.ts +0 -0
  284. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERCMultiToken.d.ts +0 -0
  285. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EigenLayer.d.ts +0 -0
  286. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Encompassing.d.ts +0 -0
  287. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Encompassing.js +0 -0
  288. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20Snapshot.d.ts +0 -0
  289. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EventBased.d.ts +0 -0
  290. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Hyperdrive.d.ts +0 -0
  291. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Hyperdrive.js +0 -0
  292. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Morpho.d.ts +0 -0
  293. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Radiant.d.ts +0 -0
  294. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Silo.d.ts +0 -0
  295. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/UniswapV4.d.ts +0 -0
  296. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Vest.d.ts +0 -0
  297. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/default.d.ts +0 -0
  298. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/default.js +0 -0
  299. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchA51Strategies.d.ts +0 -0
  300. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchClamInfo.d.ts +0 -0
  301. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchClamInfo.js +0 -0
  302. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchLogs.d.ts +0 -0
  303. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchLogs.js +0 -0
  304. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getCompV2ForksVaults.d.ts +0 -0
  305. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getCompV2ForksVaults.js +0 -0
  306. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getContractCreationBlock.d.ts +0 -0
  307. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getContractCreationBlock.js +0 -0
  308. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getDolomiteMarkets.d.ts +0 -0
  309. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getEulerV2Vaults.d.ts +0 -0
  310. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getFixedApr.d.ts +0 -0
  311. /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getFixedApr.js +0 -0
  312. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/GenericProcessor.js +0 -0
  313. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/eulerVaultNames.d.ts +0 -0
  314. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/eulerVaultNames.js +0 -0
  315. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.d.ts +0 -0
  316. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.js +0 -0
  317. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/metamorphoTvl.d.ts +0 -0
  318. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/metamorphoTvl.js +0 -0
  319. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/spliceTVL.d.ts +0 -0
  320. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/spliceTVL.js +0 -0
  321. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AaveProcessor.js +0 -0
  322. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AnglesLiquid.js +0 -0
  323. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AuraProcessor.js +0 -0
  324. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BEXRewardGaugeProcessor.js +0 -0
  325. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.js +0 -0
  326. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.js +0 -0
  327. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.js +0 -0
  328. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BeefyProcessor.js +0 -0
  329. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BunniV2Processor.js +0 -0
  330. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/CompoundProcessor.js +0 -0
  331. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ERC4626Processor.js +0 -0
  332. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EnzymeProcessor.js +0 -0
  333. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.js +0 -0
  334. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.js +0 -0
  335. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerLendProcessor.js +0 -0
  336. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FluidProcessor.js +0 -0
  337. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaALMProcessor.js +0 -0
  338. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaProcessor.js +0 -0
  339. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GearboxProcessor.js +0 -0
  340. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.js +0 -0
  341. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HoldStationProcessor.js +0 -0
  342. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HourglassProcessor.js +0 -0
  343. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.js +0 -0
  344. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.js +0 -0
  345. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleProcessor.js +0 -0
  346. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleYTProcessor.js +0 -0
  347. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RadiantProcessor.js +0 -0
  348. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RfxProcessor.js +0 -0
  349. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/Satlayer.js +0 -0
  350. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpliceProcessor.js +0 -0
  351. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.js +0 -0
  352. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TemplateProcessor.js +0 -0
  353. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TorosProcessor.js +0 -0
  354. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/UniswapProcessor.js +0 -0
  355. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/VicunaProcessor.js +0 -0
  356. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/WoofiProcessor.js +0 -0
  357. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.js +0 -0
  358. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.js +0 -0
  359. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/xU308Processor.js +0 -0
  360. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound1.d.ts +0 -0
  361. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound2.js +0 -0
  362. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound3.js +0 -0
  363. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound4.js +0 -0
  364. /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeStruct.js +0 -0
  365. /package/dist/src/engine/{opportunityMetadata/implementations/Invalid.js → implementations/Invalid/metadata.js} +0 -0
  366. /package/dist/src/engine/{opportunityMetadata → metadata}/factory.d.ts +0 -0
package/package.json CHANGED
@@ -110,5 +110,5 @@
110
110
  "access": "public",
111
111
  "registry": "https://registry.npmjs.org/"
112
112
  },
113
- "version": "v0.20.106"
113
+ "version": "v0.20.109"
114
114
  }
@@ -1,3 +0,0 @@
1
- import { Campaign } from "@sdk";
2
- import type { CampaignTVLBuilder } from "./interface";
3
- export declare const campaignTVLBuilderFactory: (campaignType: Campaign) => CampaignTVLBuilder<Campaign> | null;
@@ -1,23 +0,0 @@
1
- import { Campaign } from "@sdk";
2
- import { AjnaCampaignTVLBuilder } from "./implementations/Ajna";
3
- import { AmbiantCampaignTVLBuilder } from "./implementations/Ambiant";
4
- import { Erc20CampaignTVLBuilder } from "./implementations/Erc20";
5
- import { UniswapV4CampaignTVLBuilder } from "./implementations/UniswapV4";
6
- /**
7
- * @dev TYPE SAFETY DISABLED FOR NOW AS WE DON'T HAVE ALL THE CAMPAIGNS IMPLEMENTED
8
- *
9
- * @dev Casts are made to enforce type safety
10
- * @dev A type error must be thrown if a new campaign type is added and the corresponding builder is not implemented
11
- */
12
- const map = {
13
- [Campaign.AJNA]: new AjnaCampaignTVLBuilder(),
14
- [Campaign.AMBIENTPROCESSOR]: new AmbiantCampaignTVLBuilder(),
15
- [Campaign.UNISWAP_V4]: new UniswapV4CampaignTVLBuilder(),
16
- [Campaign.ERC20]: new Erc20CampaignTVLBuilder(),
17
- };
18
- export const campaignTVLBuilderFactory = (campaignType) => {
19
- if (!map[campaignType]) {
20
- return null;
21
- }
22
- return map[campaignType];
23
- };
@@ -1,7 +0,0 @@
1
- import { type Campaign, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { CampaignTVLBuilder, TVLData } from "../interface";
3
- type campaignType = Campaign.AJNA;
4
- export declare class AjnaCampaignTVLBuilder implements CampaignTVLBuilder<campaignType> {
5
- build(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<TVLData>;
6
- }
7
- export {};
@@ -1,3 +0,0 @@
1
- import type { CampaignTVLBuilder } from "../../interface";
2
- import type { Erc20SubType } from "./Erc20SubType";
3
- export declare const erc20SubTypeTVLBuilderFactory: (erc20Subtype: Erc20SubType) => CampaignTVLBuilder<any> | null;
@@ -1,13 +0,0 @@
1
- /**
2
- * @dev TYPE SAFETY DISABLED FOR NOW AS WE DON'T HAVE ALL THE CAMPAIGNS IMPLEMENTED
3
- *
4
- * @dev Casts are made to enforce type safety
5
- * @dev A type error must be thrown if a new erc20Subtype is added and the corresponding builder is not implemented
6
- */
7
- const map = {};
8
- export const erc20SubTypeTVLBuilderFactory = (erc20Subtype) => {
9
- if (!map[erc20Subtype]) {
10
- return null;
11
- }
12
- return map[erc20Subtype];
13
- };
@@ -1,6 +0,0 @@
1
- import type { CampaignParameters, MerklChainId } from "@sdk";
2
- import type { CampaignTVLBuilder, TVLData } from "../../interface";
3
- import type { Erc20LikeCampaignEnum } from "./Erc20SubType";
4
- export declare class Erc20CampaignTVLBuilder implements CampaignTVLBuilder<Erc20LikeCampaignEnum> {
5
- build(chainId: MerklChainId, campaigns: CampaignParameters<Erc20LikeCampaignEnum>[]): Promise<TVLData>;
6
- }
@@ -1,34 +0,0 @@
1
- import { Erc20DynamicData } from "@/engine/dynamicData/implementations/Erc20";
2
- import { computeSubTypes } from "./computeSubTypes";
3
- import { erc20SubTypeTVLBuilderFactory } from "./factory";
4
- export class Erc20CampaignTVLBuilder {
5
- async build(chainId, campaigns) {
6
- const subTypes = await computeSubTypes(chainId, campaigns);
7
- let tvls = [];
8
- const promises = [];
9
- const processSubtype = async (subType) => {
10
- const builder = erc20SubTypeTVLBuilderFactory(subType);
11
- if (!!builder) {
12
- tvls = tvls.concat(await builder.build(chainId, campaigns.filter((_campaign, index) => subTypes[index] === subType)));
13
- }
14
- else {
15
- console.log(`building TVLs for subtype ${subType}`);
16
- // @deprecated In case we don't have the new builder, use the old erc20 dynamic data
17
- const dynamicDataList = await new Erc20DynamicData().build(chainId, campaigns);
18
- for (const [index, dynamicData] of dynamicDataList.entries()) {
19
- tvls.push({
20
- campaign: campaigns[index],
21
- tvl: dynamicData.tvl,
22
- tvlBreakdown: [],
23
- });
24
- }
25
- }
26
- return;
27
- };
28
- for (const subType of new Set(subTypes)) {
29
- promises.push(processSubtype(subType));
30
- }
31
- await Promise.allSettled(promises);
32
- return tvls;
33
- }
34
- }
@@ -1,7 +0,0 @@
1
- import { type Campaign, type CampaignParameters, type MerklChainId } from "@sdk";
2
- import type { CampaignTVLBuilder, TVLData } from "../interface";
3
- type campaignType = Campaign.UNISWAP_V4;
4
- export declare class UniswapV4CampaignTVLBuilder implements CampaignTVLBuilder<campaignType> {
5
- build(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<TVLData>;
6
- }
7
- export {};
@@ -1,69 +0,0 @@
1
- import { TokenService } from "@/modules/v4/token/token.service";
2
- import { BN2Number, ChainInteractionService, CompoundV3Interface, CompoundV3SubCampaignType, NULL_ADDRESS, YEAR, } from "@sdk";
3
- import { log } from "../../../utils/logger";
4
- import { Pricer } from "../../../utils/pricer";
5
- export class CompoundV3DynamicData {
6
- async build(chainId, campaigns) {
7
- const pricer = await Pricer.load();
8
- const calls = [];
9
- for (const campaign of campaigns) {
10
- if (campaign.campaignSubType === CompoundV3SubCampaignType.SUPPLY) {
11
- calls.push({
12
- allowFailure: true,
13
- callData: CompoundV3Interface.encodeFunctionData("totalSupply"),
14
- target: campaign.campaignParameters.targetToken,
15
- });
16
- calls.push({
17
- allowFailure: true,
18
- callData: CompoundV3Interface.encodeFunctionData("baseToken"),
19
- target: campaign.campaignParameters.targetToken,
20
- });
21
- }
22
- }
23
- const result = await ChainInteractionService(chainId).fetchState(calls);
24
- let i = 0;
25
- const dynamicData = [];
26
- for (const campaign of campaigns) {
27
- let totalSupply;
28
- let underlyingToken;
29
- if (campaign.campaignSubType === CompoundV3SubCampaignType.SUPPLY) {
30
- try {
31
- totalSupply = BN2Number(CompoundV3Interface.decodeFunctionResult("totalSupply", result[i++].returnData)[0], campaign.campaignParameters.decimalsTargetToken);
32
- underlyingToken = CompoundV3Interface.decodeFunctionResult("baseToken", result[i++].returnData)[0];
33
- }
34
- catch {
35
- log.warn(`Error getting totalSupply for campaign ${campaign.campaignId} and token ${campaign.campaignParameters.targetToken}`);
36
- totalSupply = 0.0000001;
37
- underlyingToken = NULL_ADDRESS;
38
- }
39
- }
40
- else {
41
- totalSupply = 0.0000001;
42
- underlyingToken = NULL_ADDRESS;
43
- }
44
- const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
45
- const priceTargetToken = (await pricer.get({
46
- address: underlyingToken,
47
- chainId: campaign.computeChainId,
48
- // Remove the `c` at the beginning of the symbol and the `v3` at the end
49
- symbol: campaign.campaignParameters.symbolTargetToken.slice(1, -2),
50
- })) ?? 0;
51
- let apr = (priceRewardToken * BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) * YEAR * 100) /
52
- campaign.campaignParameters.duration /
53
- (totalSupply * priceTargetToken);
54
- const rewardTokens = await TokenService.findManyOrCreate([
55
- { chainId: campaign.chainId, address: campaign.rewardToken },
56
- ]);
57
- const rewardToken = rewardTokens[0];
58
- apr = rewardToken.isPoint ? apr / 365 / 100 : apr;
59
- dynamicData.push({
60
- ...campaign,
61
- apr,
62
- totalSupplyTargetToken: totalSupply,
63
- tvl: totalSupply * priceTargetToken,
64
- priceRewardToken: priceRewardToken,
65
- });
66
- }
67
- return dynamicData;
68
- }
69
- }
@@ -1,2 +0,0 @@
1
- import { Erc20SubType } from "../../campaignTVL/implementations/Erc20/Erc20SubType";
2
- export declare function getTypeFromOwnerAddress(address: string): Erc20SubType;
@@ -1,71 +0,0 @@
1
- import { Campaign } from "@sdk";
2
- import { AjnaMetadata } from "./implementations/Ajna";
3
- import { AmbientMetadata } from "./implementations/Ambient";
4
- import { BadgerMetadata } from "./implementations/Badger";
5
- import { ClammMetadata } from "./implementations/Clamm";
6
- import { CompoundMetadata } from "./implementations/Compound";
7
- import { CompoundV3Metadata } from "./implementations/CompoundV3";
8
- import { DefaultMetadata } from "./implementations/Default";
9
- import { DolomiteMetadata } from "./implementations/Dolomite";
10
- import { ERC721Metadata } from "./implementations/ERC721";
11
- import { ERCMultiTokenMetadata } from "./implementations/ERCMultiToken";
12
- import { EigenLayerMetadata } from "./implementations/EigenLayer";
13
- import { EncompassingMetadata } from "./implementations/Encompassing";
14
- import { Erc20Metadata } from "./implementations/Erc20";
15
- import { EulerMetadata } from "./implementations/Euler";
16
- import { EventBasedMetadata } from "./implementations/EventBased";
17
- import { HyperdriveMetadata } from "./implementations/Hyperdrive";
18
- import { InvalidMetadata } from "./implementations/Invalid";
19
- import { IonMetadata } from "./implementations/Ion";
20
- import { JsonAirdropMetadata } from "./implementations/JsonAirdrop";
21
- import { MorphoMetadata } from "./implementations/Morpho";
22
- import { RadiantMetadata } from "./implementations/Radiant";
23
- import { SiloMetadata } from "./implementations/Silo";
24
- import { UniswapV4Metadata } from "./implementations/UniswapV4";
25
- import { VestMetadata } from "./implementations/Vest";
26
- /**
27
- * @dev Casts are made to enforce type safety
28
- * @dev A type error must be thrown if a new campaign type is added and the corresponding builder is not implemented
29
- */
30
- const map = {
31
- [Campaign.INVALID]: new InvalidMetadata(),
32
- [Campaign.ERC20]: new Erc20Metadata(),
33
- [Campaign.CLAMM]: new ClammMetadata(),
34
- [Campaign.ERC20_SNAPSHOT]: new Erc20Metadata(),
35
- [Campaign.JSON_AIRDROP]: new JsonAirdropMetadata(),
36
- [Campaign.SILO]: new SiloMetadata(),
37
- [Campaign.RADIANT]: new RadiantMetadata(),
38
- [Campaign.DOLOMITE]: new DolomiteMetadata(),
39
- [Campaign.BADGER]: new BadgerMetadata(),
40
- [Campaign.AJNA]: new AjnaMetadata(),
41
- [Campaign.EULER]: new EulerMetadata(),
42
- [Campaign.COMPOUND]: new CompoundMetadata(),
43
- [Campaign.COMPOUND_V3]: new CompoundV3Metadata(),
44
- [Campaign.COMPOUND_V3_FIXAPR]: new CompoundV3Metadata(),
45
- [Campaign.ION]: new IonMetadata(),
46
- [Campaign.MORPHO]: new MorphoMetadata(),
47
- [Campaign.HYPERDRIVELOGFIXPROCESSOR]: new HyperdriveMetadata(),
48
- [Campaign.HYPERDRIVELOGPROCESSOR]: new HyperdriveMetadata(),
49
- [Campaign.ERC20_FIX_APR]: new Erc20Metadata(),
50
- [Campaign.UNISWAP_V4]: new UniswapV4Metadata(),
51
- [Campaign.EIGENLAYER]: new EigenLayerMetadata(),
52
- [Campaign.VEST]: new VestMetadata(),
53
- [Campaign.ERC20LOGPROCESSOR]: new Erc20Metadata(),
54
- [Campaign.ERC20REBASELOGPROCESSOR]: new Erc20Metadata(),
55
- [Campaign.ERC20TRANSFERS]: new DefaultMetadata(), // TODO
56
- [Campaign.M0]: new DefaultMetadata(), // TODO
57
- [Campaign.MORPHOSUPPLY]: new DefaultMetadata(), // TODO
58
- [Campaign.SYNCSWAP_VAULT]: new DefaultMetadata(), // TODO
59
- [Campaign.AMBIENTPROCESSOR]: new AmbientMetadata(),
60
- [Campaign.ENCOMPASSING]: new EncompassingMetadata(),
61
- [Campaign.EVENT_BASED]: new EventBasedMetadata(),
62
- [Campaign.ERC20REBASEFIXAPR]: new Erc20Metadata(),
63
- [Campaign.MAVERICK_BP]: new DefaultMetadata(), // TODO
64
- [Campaign.ERC6909]: new ERCMultiTokenMetadata(),
65
- [Campaign.ERC6909FIXAPR]: new ERCMultiTokenMetadata(),
66
- [Campaign.ERC1155]: new ERCMultiTokenMetadata(),
67
- [Campaign.ERC1155FIXAPR]: new ERCMultiTokenMetadata(),
68
- [Campaign.ERC721]: new ERC721Metadata(),
69
- [Campaign.ERC721FIXAPR]: new ERC721Metadata(),
70
- };
71
- export const metadataBuilderFactory = (campaignType) => map[campaignType];
@@ -1,13 +0,0 @@
1
- import type { Campaign as CampaignEnum } from "@sdk";
2
- import type { CampaignParameters, ChainId } from "@sdk";
3
- import type { MetadataBuilder } from "../interface";
4
- type campaignType = CampaignEnum;
5
- export declare class DefaultMetadata implements MetadataBuilder<campaignType> {
6
- build(_computeChainId: ChainId, _params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], rewardTokenAddress: string): Promise<{
7
- action: "HOLD";
8
- name: string;
9
- tokens: never[];
10
- explorerAddress: string;
11
- }>;
12
- }
13
- export {};
@@ -1,16 +0,0 @@
1
- import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
2
- import type { MetadataBuilder } from "../interface";
3
- type campaignType = CampaignEnum.ERC721 | CampaignEnum.ERC721FIXAPR;
4
- export declare class ERC721Metadata implements MetadataBuilder<campaignType> {
5
- build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): Promise<{
6
- action: "HOLD";
7
- name: string;
8
- tokens: {
9
- chainId: ChainId;
10
- address: any;
11
- }[];
12
- mainProtocol: undefined;
13
- depositUrl: undefined;
14
- }>;
15
- }
16
- export {};
@@ -1,28 +0,0 @@
1
- import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
2
- import { type Campaign as CampaignEnum, type CampaignParameters, type ChainId } from "@sdk";
3
- import type { MetadataBuilder } from "../interface";
4
- type campaignType = CampaignEnum.ERC1155 | CampaignEnum.ERC1155FIXAPR | CampaignEnum.ERC6909 | CampaignEnum.ERC6909FIXAPR;
5
- export declare class ERCMultiTokenMetadata implements MetadataBuilder<campaignType> {
6
- build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): Promise<{
7
- action: "HOLD";
8
- name: string;
9
- tokens: {
10
- chainId: ChainId;
11
- address: CampaignParameters<any>;
12
- }[];
13
- explorerAddress: CampaignParameters<any>;
14
- mainProtocol: ProtocolId;
15
- depositUrl: string;
16
- } | {
17
- action: "HOLD";
18
- name: string;
19
- tokens: {
20
- chainId: ChainId;
21
- address: CampaignParameters<any>;
22
- }[];
23
- explorerAddress: CampaignParameters<any>;
24
- mainProtocol: undefined;
25
- depositUrl: undefined;
26
- }>;
27
- }
28
- export {};
@@ -1,15 +0,0 @@
1
- import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
2
- import type { MetadataBuilder } from "../interface";
3
- type campaignType = CampaignEnum.ENCOMPASSING;
4
- export declare class EncompassingMetadata implements MetadataBuilder<campaignType> {
5
- build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], rewardTokenAddress: string): Promise<{
6
- action: "DROP";
7
- name: any;
8
- tokens: {
9
- chainId: ChainId;
10
- address: string;
11
- }[];
12
- mainProtocol: any;
13
- }>;
14
- }
15
- export {};
@@ -1,18 +0,0 @@
1
- import { type CampaignDynamicData, Campaign as CampaignEnum, type CampaignParameters, type ChainId } from "@sdk";
2
- import type { MetadataBuilder } from "../../interface";
3
- type campaignType = CampaignEnum.ERC20;
4
- export declare class Erc20Metadata implements MetadataBuilder<campaignType> {
5
- build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], rewardTokenAddress: string, distributionChainId: ChainId, campaignId: string): Promise<{
6
- action: import("@db/api").$Enums.OpportunityAction;
7
- name: string;
8
- tokens: {
9
- chainId: ChainId;
10
- address: any;
11
- }[];
12
- mainProtocol: any;
13
- depositUrl: any;
14
- explorerAddress: `0x${string}`;
15
- }>;
16
- static generateUrl(_computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], dynamicData: CampaignDynamicData<campaignType>): any;
17
- }
18
- export {};
@@ -1,14 +0,0 @@
1
- import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
2
- import type { MetadataBuilder } from "../interface";
3
- type campaignType = CampaignEnum.ERC20_SNAPSHOT;
4
- export declare class Erc20SnapshotMetadata implements MetadataBuilder<campaignType> {
5
- build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): Promise<{
6
- name: string;
7
- action: "DROP";
8
- tokens: {
9
- chainId: ChainId;
10
- address: any;
11
- }[];
12
- }>;
13
- }
14
- export {};
@@ -1,23 +0,0 @@
1
- import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
2
- import type { MetadataBuilder } from "../interface";
3
- type campaignType = CampaignEnum.JSON_AIRDROP;
4
- export declare class JsonAirdropMetadata implements MetadataBuilder<campaignType> {
5
- build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], _rewardTokenAddress: string, _distributionChainId: ChainId, _campaignId: string, creator: string): Promise<{
6
- action: "DROP";
7
- name: string;
8
- tokens: {
9
- chainId: ChainId;
10
- address: string;
11
- }[];
12
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "uniswap" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
13
- depositUrl?: undefined;
14
- } | {
15
- action: "DROP";
16
- name: string;
17
- tokens: never[];
18
- mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "uniswap" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
19
- depositUrl: any;
20
- }>;
21
- static generateUrl(_computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): any;
22
- }
23
- export {};
@@ -1,58 +0,0 @@
1
- import { Campaign, type CampaignDynamicData, type ChainId, type Opportunity, type OpportunityId } from "@sdk";
2
- import type { PerChain } from "../types/utils";
3
- export declare const activeCampaign: <C extends ValidCampaign>(v: CampaignDynamicData<C>) => boolean;
4
- export declare const inactiveCampaign: <C extends ValidCampaign>(v: CampaignDynamicData<C>) => boolean;
5
- export declare const removeTestTokens: <C extends ValidCampaign>(v: CampaignDynamicData<C>) => boolean;
6
- export type ValidCampaign = Exclude<Campaign, Campaign.INVALID>;
7
- export type Campaigns = {
8
- [type_mainParameter: string]: {
9
- [campaignId: string]: CampaignDynamicData<Campaign>;
10
- };
11
- };
12
- export declare function getCampaignsFor(chainIds: ChainId[], filters?: {
13
- onlyLive: boolean;
14
- types?: number[];
15
- }): Promise<Campaigns>;
16
- /**
17
- * @returns all opportunityIds in the campaign data
18
- */
19
- export declare function extractIds(campaigns: PerChain<Campaigns>): OpportunityId<ChainId>[];
20
- /**
21
- * @returns the daily price of all rewards from the campaign array
22
- */
23
- export declare function getDailyRewards<C extends ValidCampaign>(campaigns: CampaignDynamicData<C>[], prices: {
24
- [token: string]: number;
25
- }): number;
26
- /**
27
- * @returns the status of an opportunity based on its campaigns
28
- */
29
- export declare function getStatus<C extends ValidCampaign>(campaigns: CampaignDynamicData<C>[]): Opportunity["status"];
30
- /**
31
- * @returns the sum of the APRs from a campaigns array
32
- */
33
- export declare function getApr<C extends Exclude<ValidCampaign, Campaign.ERC20_SNAPSHOT | Campaign.JSON_AIRDROP>>(campaigns: CampaignDynamicData<C>[]): number;
34
- /**
35
- * @returns the sum of the all tags
36
- */
37
- export declare function getTags(campaigns: CampaignDynamicData<ValidCampaign>[]): string[] | undefined;
38
- /**
39
- * @returns all the reward token symbols from a compaign array
40
- */
41
- export declare function getRewardTokenIcons(campaigns: CampaignDynamicData<ValidCampaign>[]): string[];
42
- /**
43
- * @returns the daily reward token symbols from a compaign array
44
- */
45
- export declare function getRewardTokens(campaigns: CampaignDynamicData<ValidCampaign>[]): {
46
- symbol: string;
47
- address: string;
48
- amount: string;
49
- }[];
50
- /**
51
- * @returns campaigns that match the opportunityIds
52
- */
53
- export declare function splitCampaigns(campaigns: PerChain<Campaigns>, ids: OpportunityId<ChainId>[], showTest?: boolean): {
54
- id: OpportunityId<ChainId>;
55
- all: CampaignDynamicData<ValidCampaign>[];
56
- active: CampaignDynamicData<ValidCampaign>[];
57
- inactive: CampaignDynamicData<ValidCampaign>[];
58
- }[];
@@ -1,136 +0,0 @@
1
- import { Redis } from "@/cache";
2
- import { Campaign, Int256 } from "@sdk";
3
- import moment from "moment";
4
- export const activeCampaign = (v) => v.startTimestamp < moment().unix() && v.endTimestamp > moment().unix();
5
- export const inactiveCampaign = (v) => v.startTimestamp > moment().unix() || v.endTimestamp < moment().unix();
6
- export const removeTestTokens = (v) => !["aglamerkl", "test"].includes(v.campaignParameters.symbolRewardToken?.toLowerCase());
7
- export async function getCampaignsFor(chainIds, filters = { onlyLive: false }) {
8
- const cachePrefix = filters?.onlyLive ? "LiveCampaigns" : "Campaigns";
9
- const cacheKeys = chainIds.map(chain => `${cachePrefix}_${chain}`);
10
- return (await Redis.findMany(cacheKeys)).reduce((prev, allData, index) => {
11
- if (!!allData) {
12
- const chain = chainIds[index];
13
- prev[chain] = Object.keys(allData).reduce((acc, curr) => {
14
- const [type, mainParameter] = curr.split("_");
15
- const campaignType = Number.parseInt(type);
16
- if (!filters?.types?.length || filters?.types?.includes(campaignType)) {
17
- acc[`${campaignType}_${mainParameter}`] = allData[curr];
18
- }
19
- return acc;
20
- }, {});
21
- }
22
- return prev;
23
- }, {});
24
- }
25
- /**
26
- * @returns all opportunityIds in the campaign data
27
- */
28
- export function extractIds(campaigns) {
29
- const chains = Object.keys(campaigns).map(n => Number.parseInt(n));
30
- return chains.flatMap(chainId => Object.keys(campaigns[chainId] ?? {})?.map(opportunityId => `${chainId}_${opportunityId}`));
31
- }
32
- /**
33
- * @returns the daily price of all rewards from the campaign array
34
- */
35
- export function getDailyRewards(campaigns, prices) {
36
- const rewardPrices = campaigns
37
- .map(({ campaignParameters: c, amount, endTimestamp, startTimestamp, campaignType }) => {
38
- const isSporadic = [Campaign.ERC20_SNAPSHOT, Campaign.JSON_AIRDROP].includes(campaignType);
39
- const timespan = Math.abs(endTimestamp - startTimestamp);
40
- let dayspan = isSporadic ? 1 : Math.floor(timespan / (60 * 60 * 24));
41
- if (dayspan === 0)
42
- dayspan = 1; // If distribution periode < 1 day -> avoid division by 0
43
- return [c.symbolRewardToken, Int256.from(amount, c.decimalsRewardToken).div(dayspan)];
44
- })
45
- .map(([symbol, amount]) => {
46
- return Math.max(prices?.[symbol] ?? 0, 0) * (amount?.toNumber() ?? 0);
47
- });
48
- return rewardPrices?.length > 0 ? rewardPrices.reduce((a, b) => a + b) : 0;
49
- }
50
- /**
51
- * @returns the status of an opportunity based on its campaigns
52
- */
53
- export function getStatus(campaigns) {
54
- const active = campaigns?.filter(activeCampaign);
55
- const inactive = campaigns?.filter(inactiveCampaign);
56
- if (active?.length)
57
- return "live";
58
- if (inactive?.some(v => v.startTimestamp > moment().unix()))
59
- return "soon";
60
- return "past";
61
- }
62
- /**
63
- * @returns the sum of the APRs from a campaigns array
64
- */
65
- export function getApr(campaigns) {
66
- return campaigns.reduce((res, campaign) => res + (campaign.apr ?? 0), 0);
67
- }
68
- /**
69
- * @returns the sum of the all tags
70
- */
71
- export function getTags(campaigns) {
72
- const tags = Array.from(campaigns.reduce((res, campaign) => {
73
- campaign.tags?.forEach(tag => {
74
- res.add(tag);
75
- });
76
- return res;
77
- }, new Set()));
78
- return tags.length === 0 ? undefined : tags;
79
- }
80
- /**
81
- * @returns all the reward token symbols from a compaign array
82
- */
83
- export function getRewardTokenIcons(campaigns) {
84
- const rewardTokens = new Set();
85
- campaigns.forEach(({ rewardToken }) => rewardTokens.add(rewardToken));
86
- return Array.from(rewardTokens);
87
- }
88
- /**
89
- * @returns the daily reward token symbols from a compaign array
90
- */
91
- export function getRewardTokens(campaigns) {
92
- const rewardTokens = {};
93
- campaigns.forEach(({ amount, rewardToken, campaignParameters: { symbolRewardToken: symbol }, ...c }) => {
94
- const timespan = Math.abs(c.endTimestamp - c.startTimestamp);
95
- const isWithinTimespan = moment().unix() > c.startTimestamp && moment().unix() < c.endTimestamp;
96
- const dayspan = Math.max(Math.floor(timespan / (60 * 60 * 24)), 1);
97
- const dailyAmount = isWithinTimespan ? BigInt(amount) / BigInt(dayspan) : 0n;
98
- if (!rewardTokens[symbol])
99
- rewardTokens[symbol] = { amount: dailyAmount, address: rewardToken };
100
- else
101
- rewardTokens[symbol].amount += dailyAmount;
102
- });
103
- return Object.entries(rewardTokens).map(([symbol, { amount, address }]) => ({
104
- symbol,
105
- address,
106
- amount: amount.toString(),
107
- }));
108
- }
109
- /**
110
- * @returns campaigns that match the opportunityIds
111
- */
112
- export function splitCampaigns(campaigns, ids, showTest) {
113
- if (!campaigns || !ids?.length)
114
- return [];
115
- const campaignAt = (id) => {
116
- const [chainId, type, mainParameter] = id.split("_");
117
- return (campaigns?.[chainId]?.[`${type}_${mainParameter}`] ??
118
- Object.entries(campaigns[chainId] ?? {}).find(([t_m]) => t_m?.toLowerCase() === id?.toLowerCase())?.[1]);
119
- };
120
- return ids
121
- .filter(id => campaignAt(id) !== undefined)
122
- .map(id => {
123
- let all = Object.values(campaignAt(id) ?? {});
124
- if (!showTest)
125
- all = all.filter(removeTestTokens);
126
- const active = all?.filter(activeCampaign);
127
- const inactive = all?.filter(inactiveCampaign);
128
- return {
129
- id,
130
- all,
131
- active,
132
- inactive,
133
- };
134
- })
135
- .filter(opportunity => opportunity?.all?.length);
136
- }
@@ -1,51 +0,0 @@
1
- import Elysia from "elysia";
2
- export declare const DynamicDataController: Elysia<"/dynamic-data", false, {
3
- decorator: {};
4
- store: {};
5
- derive: {};
6
- resolve: {};
7
- }, {
8
- type: {};
9
- error: {};
10
- }, {
11
- schema: {};
12
- macro: {};
13
- macroFn: {};
14
- }, {
15
- "dynamic-data": {
16
- index: {
17
- get: {
18
- body: unknown;
19
- params: {};
20
- query: {
21
- decimals?: number | undefined;
22
- chainId: number;
23
- tokenAddress: string;
24
- rewardTokenAddress: string;
25
- symbolRewardToken: string;
26
- };
27
- headers: {
28
- authorization: string;
29
- };
30
- response: {
31
- 200: {
32
- tvl: number;
33
- totalSupply: number;
34
- cardName: string;
35
- blacklistedSupply: number;
36
- priceTargetToken: number;
37
- type: string;
38
- };
39
- };
40
- };
41
- };
42
- };
43
- }, {
44
- derive: {};
45
- resolve: {};
46
- schema: {};
47
- }, {
48
- derive: {};
49
- resolve: {};
50
- schema: {};
51
- }>;