@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
@@ -1,5 +1,5 @@
1
+ import type { UncachedResult } from "@/utils/execute";
1
2
  import { type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
3
  export declare function getERC20UserPositions(user: string, _chainId: MerklChainId, tokens: {
4
4
  [marketAddress: string]: string[];
5
5
  }): Promise<UncachedResult<any>>;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  import { BN2Number, ERC20Interface } from "@sdk";
3
2
  import { getAddress } from "ethers/lib/utils";
4
3
  export async function getERC20UserPositions(user, _chainId, tokens) {
@@ -1,5 +1,5 @@
1
+ import type { UncachedResult } from "@/utils/execute";
1
2
  import { type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
3
  export declare function getEulerUserPositions(user: string, _chainId: MerklChainId, tokens: {
4
4
  [marketAddress: string]: string[];
5
5
  }): Promise<UncachedResult<any>>;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  import { BN2Number, Campaign, ERC20Interface } from "@sdk";
3
2
  import { getAddress } from "ethers/lib/utils";
4
3
  export async function getEulerUserPositions(user, _chainId, tokens) {
@@ -1,7 +1,7 @@
1
+ import { executeSimple } from "@/utils/execute";
1
2
  // @ts-nocheck
2
3
  import { Campaign, withTimeout } from "@sdk";
3
4
  import { MERKL_USER_POSITION_FETCHING_GLOBAL_TIMEOUT } from "../../constants";
4
- import { executeSimple } from "../../utils/execute";
5
5
  import { getEigenLayerUserPositions } from "./EigenLayer";
6
6
  import { getAjnaUserPositions } from "./ajna";
7
7
  import { getBadgerUserPositions } from "./badger";
@@ -1,5 +1,5 @@
1
+ import type { UncachedResult } from "@/utils/execute";
1
2
  import { type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
3
  import type { MorphoFetchedCampaign, PositionType } from "../types";
4
4
  export declare function getMorphoUserPositions(user: string, _chainId: MerklChainId, campaigns: {
5
5
  [mainparameter: string]: MorphoFetchedCampaign;
@@ -1,5 +1,5 @@
1
1
  // @ts-nocheck
2
- import { VEST_TOKEN } from "@/engine/dynamicData/implementations/Vest";
2
+ import { VEST_TOKEN } from "@/engine/deprecated/dynamicData/implementations/Vest";
3
3
  import { Campaign, Forwarder, MorphoSubCampaignType, } from "@sdk";
4
4
  import { utils } from "ethers";
5
5
  function prepareClammFetch(previous, campaign) {
@@ -1,5 +1,5 @@
1
+ import type { UncachedResult } from "@/utils/execute";
1
2
  import { type MerklChainId } from "@sdk";
2
- import type { UncachedResult } from "../../../utils/execute";
3
3
  export declare function getSiloUserPositions(user: string, _chainId: MerklChainId, mainParameters: {
4
4
  [key: string]: any;
5
5
  }): Promise<UncachedResult<any>>;
@@ -1,4 +1,4 @@
1
- import type { UncachedResult } from "../../utils/execute";
1
+ import type { UncachedResult } from "@/utils/execute";
2
2
  type ReturnType = {
3
3
  [address: string]: {
4
4
  symbol: string;
@@ -1,7 +1,7 @@
1
1
  import { TokenService } from "@/modules/v4/token/token.service";
2
+ import { log } from "@/utils/logger";
2
3
  import { ChainId, ChainInteractionService, ETH_ADDRESS, ETH_ZKSYNC_ADDRESS, Erc20__factory, EthOnZKSync_INTERFACE, NETWORK_LABELS, } from "@sdk";
3
4
  import { isAddress } from "viem";
4
- import { log } from "../../utils/logger";
5
5
  export async function getOnlyUserBalance(chainId, userAddress, tokenAddresses) {
6
6
  const calls = [];
7
7
  const ERC20_Interface = Erc20__factory.createInterface();
@@ -39,22 +39,49 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
39
39
  response: {
40
40
  200: {
41
41
  id: string;
42
+ name: string;
42
43
  type: string;
43
- params: import("database/api/.generated/runtime/library").JsonValue;
44
- subType: number | null;
45
- computeChainId: number;
46
- distributionChainId: number;
47
- campaignId: string;
48
- distributionType: import("@db/api").$Enums.DistributionType;
49
- rewardTokenId: string;
50
- amount: string;
51
- opportunityId: string;
52
- startTimestamp: bigint;
53
- endTimestamp: bigint;
54
- creatorAddress: string;
55
- manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
56
- createdAt: Date;
57
- } | undefined;
44
+ status: import("@db/api").$Enums.Status;
45
+ tags: string[];
46
+ identifier: string;
47
+ action: import("@db/api").$Enums.OpportunityAction;
48
+ manualOverrides: import("@db/api").$Enums.OpportunityManualOverride[];
49
+ chainId: number;
50
+ depositUrl: string | null;
51
+ explorerAddress: string | null;
52
+ mainProtocolId: string | null;
53
+ tvl: number;
54
+ apr: number;
55
+ dailyRewards: number;
56
+ lastCampaignCreatedAt: Date;
57
+ } | {
58
+ id: string;
59
+ chainId: number;
60
+ type: string;
61
+ identifier: string;
62
+ name: string;
63
+ status: "PAST" | "LIVE" | "SOON";
64
+ action: any;
65
+ tokens: ({
66
+ symbol: string;
67
+ id: string;
68
+ name: string | null;
69
+ icon: string;
70
+ address: string;
71
+ chainId: number;
72
+ decimals: number;
73
+ verified: boolean;
74
+ isTest: boolean;
75
+ isPoint: boolean;
76
+ isNative: boolean;
77
+ } & {
78
+ price?: number | null | undefined;
79
+ })[];
80
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "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" | "ambient" | "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" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
81
+ depositUrl: string | undefined;
82
+ explorerAddress: string | undefined;
83
+ tags: string[];
84
+ } | null | undefined;
58
85
  };
59
86
  };
60
87
  };
@@ -1,4 +1,4 @@
1
- import type { CampaignUnique, CreateCampaignModel, GetCampaignQueryModel, extendedUpdateCampaignModel } from "@/modules/v4/campaign";
1
+ import type { CampaignUnique, CampaignWithParams, GetCampaignQueryModel } from "@/modules/v4/campaign";
2
2
  import { type CampaignManualOverride, Prisma } from "@db/api";
3
3
  import { type ChainId } from "@sdk";
4
4
  export declare abstract class CampaignRepository {
@@ -469,14 +469,12 @@ export declare abstract class CampaignRepository {
469
469
  * @remarks
470
470
  * This method performs the following steps:
471
471
  * 1. Determines the campaign type from the provided campaign data.
472
- * 2. Fetches or creates the reward token associated with the campaign.
473
- * 3. Parses the campaign parameters.
474
- * 4. Computes the opportunity ID based on the campaign data.
475
- * 5. Constructs the data object for the campaign to be upserted.
476
- * 6. Upserts the campaign in the database using the constructed data object.
477
- * 7. Logs an error if the upsert operation fails.
472
+ * 2. Computes the opportunity ID based on the campaign data.
473
+ * 3. Constructs the data object for the campaign to be upserted.
474
+ * 4. Upserts the campaign in the database using the constructed data object.
475
+ * 5. Logs an error if the upsert operation fails.
478
476
  */
479
- static upsert(campaign: CreateCampaignModel): Promise<{
477
+ static upsert(campaign: Omit<CampaignWithParams, "manualOverrides">, opportunityIdentifier: string): Promise<{
480
478
  id: string;
481
479
  type: string;
482
480
  params: Prisma.JsonValue;
@@ -735,7 +733,7 @@ export declare abstract class CampaignRepository {
735
733
  static findChains(): Promise<Record<string, ChainId>>;
736
734
  static addManualOverride(id: string, field: CampaignManualOverride): Promise<void>;
737
735
  static removeManualOverride(id: string, field: CampaignManualOverride): Promise<void>;
738
- static updateOpportunity(id: string, data: extendedUpdateCampaignModel): Promise<void>;
736
+ static updateOpportunity(id: string, opportunityId: string): Promise<void>;
739
737
  static updateCreator(id: string, creatorAddress: string): Promise<void>;
740
738
  static updateParams(id: string, params: string): Promise<{
741
739
  id: string;
@@ -1,5 +1,3 @@
1
- import { CampaignService } from "@/modules/v4/campaign/campaign.service";
2
- import { TokenService } from "@/modules/v4/token/token.service";
3
1
  import { CannotUpdateOpportunityLastCreatedAt } from "@/utils/error";
4
2
  import { log } from "@/utils/logger";
5
3
  import { apiDbClient, engineDbClient } from "@db";
@@ -176,33 +174,23 @@ export class CampaignRepository {
176
174
  * @remarks
177
175
  * This method performs the following steps:
178
176
  * 1. Determines the campaign type from the provided campaign data.
179
- * 2. Fetches or creates the reward token associated with the campaign.
180
- * 3. Parses the campaign parameters.
181
- * 4. Computes the opportunity ID based on the campaign data.
182
- * 5. Constructs the data object for the campaign to be upserted.
183
- * 6. Upserts the campaign in the database using the constructed data object.
184
- * 7. Logs an error if the upsert operation fails.
177
+ * 2. Computes the opportunity ID based on the campaign data.
178
+ * 3. Constructs the data object for the campaign to be upserted.
179
+ * 4. Upserts the campaign in the database using the constructed data object.
180
+ * 5. Logs an error if the upsert operation fails.
185
181
  */
186
- static async upsert(campaign) {
187
- const campaignType = CampaignService.getTypeFromV3(campaign.type);
182
+ static async upsert(campaign, opportunityIdentifier) {
188
183
  try {
189
- const [rewardToken] = await TokenService.findManyOrCreate([
190
- { chainId: campaign.chainId, address: campaign.rewardTokenAddress },
191
- ]);
192
- if (!rewardToken) {
193
- throw new Error(`unable to fetch data for token ${campaign.rewardTokenAddress}`);
194
- }
195
184
  const previousCampaign = await CampaignRepository.findUnique(campaign.id);
196
185
  const creatorAddress = previousCampaign?.manualOverrides?.includes("creatorAddress")
197
186
  ? previousCampaign.creatorAddress
198
- : campaign.creator;
199
- const params = JSON.parse(campaign.params);
187
+ : campaign.creatorAddress;
200
188
  const opportunityId = previousCampaign?.manualOverrides?.includes("opportunityId")
201
189
  ? previousCampaign.opportunityId
202
190
  : OpportunityService.hashId({
203
191
  chainId: campaign.computeChainId,
204
- identifier: campaign.opportunityIdentifier,
205
- type: campaignType,
192
+ identifier: opportunityIdentifier,
193
+ type: campaign.type,
206
194
  });
207
195
  // If the campaign is being created, update the lastCampaignCreatedAt field in the opportunity
208
196
  if (!previousCampaign) {
@@ -210,7 +198,7 @@ export class CampaignRepository {
210
198
  await OpportunityService.update(opportunityId, { lastCampaignCreatedAt: new Date() });
211
199
  }
212
200
  catch {
213
- throw new CannotUpdateOpportunityLastCreatedAt(campaign.campaignId, campaign.chainId, campaign.type);
201
+ throw new CannotUpdateOpportunityLastCreatedAt(campaign.campaignId, campaign.distributionChainId, campaign.type);
214
202
  }
215
203
  }
216
204
  const data = {
@@ -218,9 +206,9 @@ export class CampaignRepository {
218
206
  amount: campaign.amount,
219
207
  campaignId: campaign.campaignId,
220
208
  endTimestamp: BigInt(campaign.endTimestamp),
221
- params,
209
+ params: campaign.params,
222
210
  startTimestamp: BigInt(campaign.startTimestamp),
223
- type: campaignType,
211
+ type: campaign.type,
224
212
  ComputeChain: {
225
213
  connect: {
226
214
  id: campaign.computeChainId,
@@ -238,10 +226,15 @@ export class CampaignRepository {
238
226
  connect: { id: opportunityId },
239
227
  },
240
228
  RewardToken: {
241
- connectOrCreate: { where: { id: rewardToken?.id }, create: rewardToken },
229
+ connect: {
230
+ chainId_address: {
231
+ chainId: campaign.rewardToken.chainId,
232
+ address: campaign.rewardToken.address,
233
+ },
234
+ },
242
235
  },
243
236
  subType: campaign.subType,
244
- DistributionChain: { connect: { id: campaign.chainId } },
237
+ DistributionChain: { connect: { id: campaign.distributionChainId } },
245
238
  };
246
239
  return await apiDbClient.campaign.upsert({
247
240
  where: {
@@ -429,12 +422,12 @@ export class CampaignRepository {
429
422
  },
430
423
  });
431
424
  }
432
- static async updateOpportunity(id, data) {
425
+ static async updateOpportunity(id, opportunityId) {
433
426
  await apiDbClient.campaign.update({
434
427
  where: { id },
435
428
  data: {
436
429
  Opportunity: {
437
- connect: { id: data.opportunityId },
430
+ connect: { id: opportunityId },
438
431
  },
439
432
  },
440
433
  });
@@ -147,24 +147,51 @@ export declare abstract class CampaignService {
147
147
  computeChainId?: number;
148
148
  type?: string;
149
149
  }): Promise<number>;
150
- static create(campaign: Omit<CreateCampaignModel, "id">): Promise<{
150
+ static create(body: Omit<CreateCampaignModel, "id">, dryRun?: boolean): Promise<{
151
151
  id: string;
152
+ name: string;
152
153
  type: string;
153
- params: import("database/api/.generated/runtime/library").JsonValue;
154
- subType: number | null;
155
- computeChainId: number;
156
- distributionChainId: number;
157
- campaignId: string;
158
- distributionType: import("@db/api").$Enums.DistributionType;
159
- rewardTokenId: string;
160
- amount: string;
161
- opportunityId: string;
162
- startTimestamp: bigint;
163
- endTimestamp: bigint;
164
- creatorAddress: string;
165
- manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
166
- createdAt: Date;
167
- } | undefined>;
154
+ status: import("@db/api").$Enums.Status;
155
+ tags: string[];
156
+ identifier: string;
157
+ action: import("@db/api").$Enums.OpportunityAction;
158
+ manualOverrides: import("@db/api").$Enums.OpportunityManualOverride[];
159
+ chainId: number;
160
+ depositUrl: string | null;
161
+ explorerAddress: string | null;
162
+ mainProtocolId: string | null;
163
+ tvl: number;
164
+ apr: number;
165
+ dailyRewards: number;
166
+ lastCampaignCreatedAt: Date;
167
+ } | {
168
+ id: string;
169
+ chainId: number;
170
+ type: string;
171
+ identifier: string;
172
+ name: string;
173
+ status: "PAST" | "LIVE" | "SOON";
174
+ action: OpportunityAction;
175
+ tokens: ({
176
+ symbol: string;
177
+ id: string;
178
+ name: string | null;
179
+ icon: string;
180
+ address: string;
181
+ chainId: number;
182
+ decimals: number;
183
+ verified: boolean;
184
+ isTest: boolean;
185
+ isPoint: boolean;
186
+ isNative: boolean;
187
+ } & {
188
+ price?: number | null | undefined;
189
+ })[];
190
+ mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "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" | "ambient" | "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" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
191
+ depositUrl: string | undefined;
192
+ explorerAddress: string | undefined;
193
+ tags: string[];
194
+ } | null | undefined>;
168
195
  /**
169
196
  * @dev back-office function
170
197
  * @dev deprecated should be replaced with a manual override
@@ -194,7 +221,7 @@ export declare abstract class CampaignService {
194
221
  /**
195
222
  * @dev back-office function
196
223
  */
197
- static moveToOpportunity(campaign: Omit<UpdateCampaignModel, "id">, upsert?: boolean): Promise<string>;
224
+ static moveToOpportunity(data: Omit<UpdateCampaignModel, "id">, upsert?: boolean): Promise<string>;
198
225
  /**
199
226
  * Get the list of campaigns satisfying the query
200
227
  * @param query
@@ -775,6 +802,9 @@ export declare abstract class CampaignService {
775
802
  amount: string;
776
803
  opportunityId: string;
777
804
  };
805
+ /**
806
+ * @deprecated Used only in tentative position fetcher
807
+ */
778
808
  static formatAsCampaignParameters<C extends CampaignEnum>(campaign: CampaignWithParams): CampaignParameters<C>;
779
809
  /**
780
810
  * Shortcut to get daily amount from total
@@ -1,13 +1,13 @@
1
1
  import { HttpError } from "@/errors";
2
2
  import { OpportunityService } from "@/modules/v4/opportunity";
3
3
  import { StatusService } from "@/modules/v4/status/status.service";
4
- import { TokenRepository } from "@/modules/v4/token/token.repository";
5
4
  import { TokenService } from "@/modules/v4/token/token.service";
6
5
  import { CannotParseOpportunity, InvalidParameter } from "@/utils/error";
7
6
  import { log } from "@/utils/logger";
8
7
  import { Campaign as CampaignEnum, NETWORK_LABELS, } from "@sdk";
9
8
  import { utils } from "ethers";
10
9
  import moment from "moment";
10
+ import { ChainService } from "../chain/chain.service";
11
11
  import { ComputedValueService } from "../computedValue/computedValue.service";
12
12
  import { CampaignRepository } from "./campaign.repository";
13
13
  export class CampaignService {
@@ -32,16 +32,43 @@ export class CampaignService {
32
32
  static async countLives(query) {
33
33
  return await CampaignRepository.countLives(query);
34
34
  }
35
- static async create(campaign) {
36
- const id = CampaignService.hashId({ distributionChain: campaign.chainId, campaignId: campaign.campaignId });
35
+ static async create(body, dryRun = false) {
36
+ const campaignType = CampaignService.getTypeFromV3(body.type);
37
+ const id = CampaignService.hashId({ distributionChain: body.chainId, campaignId: body.campaignId });
38
+ const [rewardToken] = await TokenService.findManyOrCreate([
39
+ { chainId: body.chainId, address: body.rewardTokenAddress },
40
+ ]);
41
+ if (!rewardToken) {
42
+ throw new Error(`unable to fetch data for token ${body.rewardTokenAddress}`);
43
+ }
44
+ const chain = await ChainService.findUniqueOrThrow(body.chainId);
45
+ const campaign = {
46
+ distributionChainId: body.chainId,
47
+ computeChainId: body.computeChainId,
48
+ campaignId: body.campaignId,
49
+ id,
50
+ type: campaignType,
51
+ subType: body.subType ?? null,
52
+ rewardToken,
53
+ params: JSON.parse(body.params),
54
+ endTimestamp: Number(body.endTimestamp),
55
+ startTimestamp: Number(body.startTimestamp),
56
+ amount: body.amount,
57
+ creatorAddress: body.creator,
58
+ distributionType: "DUTCH_AUCTION",
59
+ createdAt: new Date().toISOString(),
60
+ chain,
61
+ };
37
62
  try {
38
- await OpportunityService.createFromCampaign(campaign);
63
+ const opportunity = await OpportunityService.createFromCampaign(campaign, body.opportunityIdentifier, false, dryRun);
64
+ if (dryRun)
65
+ return opportunity;
39
66
  }
40
67
  catch (e) {
41
68
  console.error(e);
42
- throw new CannotParseOpportunity(campaign.campaignId, campaign.chainId, campaign.type);
69
+ throw new CannotParseOpportunity(campaign.campaignId, campaign.distributionChainId, campaign.type);
43
70
  }
44
- return await CampaignRepository.upsert({ id, ...campaign });
71
+ await CampaignRepository.upsert(campaign, body.opportunityIdentifier);
45
72
  }
46
73
  /**
47
74
  * @dev back-office function
@@ -78,49 +105,32 @@ export class CampaignService {
78
105
  /**
79
106
  * @dev back-office function
80
107
  */
81
- static async moveToOpportunity(campaign, upsert = false) {
108
+ static async moveToOpportunity(data, upsert = false) {
82
109
  const id = CampaignService.hashId({
83
- distributionChain: campaign.distributionChain,
84
- campaignId: campaign.campaignId,
110
+ distributionChain: data.distributionChain,
111
+ campaignId: data.campaignId,
85
112
  });
86
- const existingCampaign = await CampaignService.findUniqueOrThrow(campaign);
87
- const token = await TokenRepository.findUniqueOrThrow(existingCampaign.rewardTokenId);
88
- if (existingCampaign.type === "ERC20" && campaign.opportunityIdentifier === undefined) {
89
- const campaignParams = existingCampaign.params;
90
- campaign.opportunityIdentifier = utils
113
+ const campaign = CampaignService.format(await CampaignService.findUniqueOrThrow(id));
114
+ if (campaign.type === "ERC20" && data.opportunityIdentifier === undefined) {
115
+ const campaignParams = campaign.params;
116
+ data.opportunityIdentifier = utils
91
117
  .keccak256(utils.defaultAbiCoder.encode(["string", "address[]"], [campaignParams.targetToken, campaignParams.whitelist.sort()]))
92
118
  .slice(0, 42);
93
119
  }
94
- if (campaign.opportunityIdentifier === undefined) {
120
+ if (data.opportunityIdentifier === undefined) {
95
121
  throw new HttpError("Bad Request: opportunityIdentifier is required for CampaignService campaign type", 400);
96
122
  }
97
- const updatedCampaign = {
98
- ...existingCampaign,
99
- opportunityIdentifier: campaign.opportunityIdentifier,
100
- chainId: campaign.distributionChain,
101
- creator: existingCampaign.creatorAddress,
102
- rewardTokenAddress: token.address,
103
- params: JSON.stringify(existingCampaign.params),
104
- type: CampaignEnum[existingCampaign.type],
105
- subType: existingCampaign.subType ?? undefined,
106
- startTimestamp: existingCampaign.startTimestamp.toString(),
107
- endTimestamp: existingCampaign.endTimestamp.toString(),
108
- };
109
- const opportunityId = OpportunityService.hashId({
110
- chainId: existingCampaign.computeChainId,
111
- identifier: campaign.opportunityIdentifier,
112
- type: existingCampaign.type,
123
+ const newOpportunityId = OpportunityService.hashId({
124
+ chainId: campaign.computeChainId,
125
+ identifier: data.opportunityIdentifier,
126
+ type: campaign.type,
113
127
  });
114
- const updatedCampaignData = {
115
- ...campaign,
116
- opportunityId,
117
- };
118
128
  // Create new opportunity
119
- await OpportunityService.createFromCampaign(updatedCampaign, upsert);
129
+ await OpportunityService.createFromCampaign(campaign, data.opportunityIdentifier, upsert);
120
130
  // Move campaign to new opportunity
121
- await CampaignRepository.updateOpportunity(id, { id, ...updatedCampaignData });
131
+ await CampaignRepository.updateOpportunity(id, newOpportunityId);
122
132
  // Return new opportunityId
123
- return (await CampaignService.findUniqueOrThrow(campaign)).opportunityId;
133
+ return (await CampaignService.findUniqueOrThrow(data)).opportunityId;
124
134
  }
125
135
  /**
126
136
  * Get the list of campaigns satisfying the query
@@ -304,6 +314,9 @@ export class CampaignService {
304
314
  createdAt: createdAt.toISOString(),
305
315
  };
306
316
  }
317
+ /**
318
+ * @deprecated Used only in tentative position fetcher
319
+ */
307
320
  static formatAsCampaignParameters(campaign) {
308
321
  return {
309
322
  campaignSubType: campaign.subType ?? 0,