@paraswap/dex-lib 4.8.24 → 4.8.25

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 (432) hide show
  1. package/build/abi/AaveV2_lending_pool.json +53 -0
  2. package/build/abi/Bancor.json +392 -0
  3. package/build/abi/Compound_CETH.json +12 -0
  4. package/build/abi/SSPM.json +829 -0
  5. package/build/abi/Smoothy.json +1049 -0
  6. package/build/abi/StaderOracle.json +2170 -0
  7. package/build/abi/aave-weth-gateway-avalanche.json +242 -0
  8. package/build/abi/aave-weth-gateway-polygon.json +242 -0
  9. package/build/abi/aave-weth-gateway.json +24 -0
  10. package/build/abi/bunni-v2/BunniHook.abi.json +1921 -0
  11. package/build/abi/bunni-v2/BunniHub.abi.json +1598 -0
  12. package/build/abi/bunni-v2/BunniToken.abi.json +833 -0
  13. package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +1947 -0
  14. package/build/abi/bunni-v2/FloodPlain.abi.json +1195 -0
  15. package/build/abi/bunni-v2/PoolManager.abi.json +1366 -0
  16. package/build/abi/bunni-v2/V4Quoter.abi.json +637 -0
  17. package/build/abi/concentrator/arUSD.json +568 -0
  18. package/build/abi/concentrator/arUSD5115.json +1746 -0
  19. package/build/abi/gmx/fast-price-events.json +70 -0
  20. package/build/abi/gmx/fast-price-feed.json +748 -0
  21. package/build/abi/gmx/reader.json +337 -0
  22. package/build/abi/gmx/vault-price-feed.json +477 -0
  23. package/build/abi/gmx/vault.json +2002 -0
  24. package/build/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +1009 -0
  25. package/build/abi/jarvis/SynthereumPriceFeed.json +381 -0
  26. package/build/abi/jarvis/jarvis-v6-pool.json +1041 -0
  27. package/build/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +1148 -0
  28. package/build/abi/kyberdmm/kyber-dmm-factory.abi.json +335 -0
  29. package/build/abi/kyberdmm/kyber-dmm-pool.abi.json +803 -0
  30. package/build/abi/synthetix/CombinedSynthetix.abi.json +442 -0
  31. package/build/abi/wombat/asset.json +743 -0
  32. package/build/abi/wombat/bmw.json +1247 -0
  33. package/build/abi/wombat/pool-v2.json +1289 -0
  34. package/build/abi/wombat/pool-v3.json +2013 -0
  35. package/build/dex/aave-v2/aave-v2.d.ts +33 -0
  36. package/build/dex/aave-v2/aave-v2.js +328 -0
  37. package/build/dex/aave-v2/aave-v2.js.map +1 -0
  38. package/build/dex/aave-v2/config.d.ts +14 -0
  39. package/build/dex/aave-v2/config.js +49 -0
  40. package/build/dex/aave-v2/config.js.map +1 -0
  41. package/build/dex/aave-v2/tokenlist.json +904 -0
  42. package/build/dex/aave-v2/tokens.d.ts +8 -0
  43. package/build/dex/aave-v2/tokens.js +65 -0
  44. package/build/dex/aave-v2/tokens.js.map +1 -0
  45. package/build/dex/aave-v2/types.d.ts +33 -0
  46. package/build/dex/aave-v2/types.js +11 -0
  47. package/build/dex/aave-v2/types.js.map +1 -0
  48. package/build/dex/bancor/bancor.d.ts +15 -0
  49. package/build/dex/bancor/bancor.js +74 -0
  50. package/build/dex/bancor/bancor.js.map +1 -0
  51. package/build/dex/bancor/config.d.ts +6 -0
  52. package/build/dex/bancor/config.js +11 -0
  53. package/build/dex/bancor/config.js.map +1 -0
  54. package/build/dex/bancor/types.d.ts +16 -0
  55. package/build/dex/bancor/types.js +8 -0
  56. package/build/dex/bancor/types.js.map +1 -0
  57. package/build/dex/bebop/bebop.js +1 -1
  58. package/build/dex/bebop/bebop.js.map +1 -1
  59. package/build/dex/bunni-v2/bunni-v2-pool.d.ts +62 -0
  60. package/build/dex/bunni-v2/bunni-v2-pool.js +505 -0
  61. package/build/dex/bunni-v2/bunni-v2-pool.js.map +1 -0
  62. package/build/dex/bunni-v2/bunni-v2.d.ts +51 -0
  63. package/build/dex/bunni-v2/bunni-v2.js +460 -0
  64. package/build/dex/bunni-v2/bunni-v2.js.map +1 -0
  65. package/build/dex/{renegade → bunni-v2}/config.d.ts +1 -1
  66. package/build/dex/bunni-v2/config.js +130 -0
  67. package/build/dex/bunni-v2/config.js.map +1 -0
  68. package/build/dex/bunni-v2/encoder.d.ts +19 -0
  69. package/build/dex/{pancakeswap-infinity → bunni-v2}/encoder.js +199 -88
  70. package/build/dex/bunni-v2/encoder.js.map +1 -0
  71. package/build/dex/bunni-v2/getOnChainState.d.ts +26 -0
  72. package/build/dex/bunni-v2/getOnChainState.js +493 -0
  73. package/build/dex/bunni-v2/getOnChainState.js.map +1 -0
  74. package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +7 -0
  75. package/build/dex/bunni-v2/hook/BunniSwapMath.js +198 -0
  76. package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +1 -0
  77. package/build/dex/bunni-v2/hook/SwapMath.d.ts +8 -0
  78. package/build/dex/bunni-v2/hook/SwapMath.js +65 -0
  79. package/build/dex/bunni-v2/hook/SwapMath.js.map +1 -0
  80. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +33 -0
  81. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +33 -0
  82. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +1 -0
  83. package/build/dex/bunni-v2/hooklet/index.d.ts +21 -0
  84. package/build/dex/bunni-v2/hooklet/index.js +64 -0
  85. package/build/dex/bunni-v2/hooklet/index.js.map +1 -0
  86. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +70 -0
  87. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +277 -0
  88. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +1 -0
  89. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +64 -0
  90. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +262 -0
  91. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +1 -0
  92. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +60 -0
  93. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +224 -0
  94. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +1 -0
  95. package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +56 -0
  96. package/build/dex/bunni-v2/ldf/GeometricDistribution.js +489 -0
  97. package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +1 -0
  98. package/build/dex/bunni-v2/ldf/LDFType.d.ts +5 -0
  99. package/build/dex/bunni-v2/ldf/LDFType.js +10 -0
  100. package/build/dex/bunni-v2/ldf/LDFType.js.map +1 -0
  101. package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +7 -0
  102. package/build/dex/bunni-v2/ldf/ShiftMode.js +19 -0
  103. package/build/dex/bunni-v2/ldf/ShiftMode.js.map +1 -0
  104. package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +55 -0
  105. package/build/dex/bunni-v2/ldf/UniformDistribution.js +291 -0
  106. package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +1 -0
  107. package/build/dex/bunni-v2/ldf/index.d.ts +15 -0
  108. package/build/dex/bunni-v2/ldf/index.js +21 -0
  109. package/build/dex/bunni-v2/ldf/index.js.map +1 -0
  110. package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +4 -0
  111. package/build/dex/bunni-v2/lib/AmAmmPayload.js +10 -0
  112. package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +1 -0
  113. package/build/dex/bunni-v2/lib/BitMath.d.ts +4 -0
  114. package/build/dex/bunni-v2/lib/BitMath.js +24 -0
  115. package/build/dex/bunni-v2/lib/BitMath.js.map +1 -0
  116. package/build/dex/bunni-v2/lib/Constants.d.ts +15 -0
  117. package/build/dex/bunni-v2/lib/Constants.js +19 -0
  118. package/build/dex/bunni-v2/lib/Constants.js.map +1 -0
  119. package/build/dex/bunni-v2/lib/ExpMath.d.ts +5 -0
  120. package/build/dex/bunni-v2/lib/ExpMath.js +121 -0
  121. package/build/dex/bunni-v2/lib/ExpMath.js.map +1 -0
  122. package/build/dex/bunni-v2/lib/FeeMath.d.ts +2 -0
  123. package/build/dex/bunni-v2/lib/FeeMath.js +27 -0
  124. package/build/dex/bunni-v2/lib/FeeMath.js.map +1 -0
  125. package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +3 -0
  126. package/build/dex/bunni-v2/lib/FixedPointMath.js +15 -0
  127. package/build/dex/bunni-v2/lib/FixedPointMath.js.map +1 -0
  128. package/build/dex/bunni-v2/lib/FullMathX96.d.ts +4 -0
  129. package/build/dex/bunni-v2/lib/FullMathX96.js +21 -0
  130. package/build/dex/bunni-v2/lib/FullMathX96.js.map +1 -0
  131. package/build/dex/bunni-v2/lib/IdleBalance.d.ts +11 -0
  132. package/build/dex/bunni-v2/lib/IdleBalance.js +33 -0
  133. package/build/dex/bunni-v2/lib/IdleBalance.js.map +1 -0
  134. package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +6 -0
  135. package/build/dex/bunni-v2/lib/LiquidityAmounts.js +25 -0
  136. package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +1 -0
  137. package/build/dex/bunni-v2/lib/Math.d.ts +28 -0
  138. package/build/dex/bunni-v2/lib/Math.js +169 -0
  139. package/build/dex/bunni-v2/lib/Math.js.map +1 -0
  140. package/build/dex/bunni-v2/lib/Oracle.d.ts +27 -0
  141. package/build/dex/bunni-v2/lib/Oracle.js +180 -0
  142. package/build/dex/bunni-v2/lib/Oracle.js.map +1 -0
  143. package/build/dex/bunni-v2/lib/QueryLDF.d.ts +12 -0
  144. package/build/dex/bunni-v2/lib/QueryLDF.js +90 -0
  145. package/build/dex/bunni-v2/lib/QueryLDF.js.map +1 -0
  146. package/build/dex/bunni-v2/lib/QueryTwap.d.ts +2 -0
  147. package/build/dex/bunni-v2/lib/QueryTwap.js +13 -0
  148. package/build/dex/bunni-v2/lib/QueryTwap.js.map +1 -0
  149. package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +8 -0
  150. package/build/dex/bunni-v2/lib/SqrtPriceMath.js +84 -0
  151. package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +1 -0
  152. package/build/dex/bunni-v2/lib/TickMath.d.ts +11 -0
  153. package/build/dex/bunni-v2/lib/TickMath.js +100 -0
  154. package/build/dex/bunni-v2/lib/TickMath.js.map +1 -0
  155. package/build/dex/bunni-v2/lib/VaultMath.d.ts +2 -0
  156. package/build/dex/bunni-v2/lib/VaultMath.js +11 -0
  157. package/build/dex/bunni-v2/lib/VaultMath.js.map +1 -0
  158. package/build/dex/bunni-v2/logic/AmAmm.d.ts +11 -0
  159. package/build/dex/bunni-v2/logic/AmAmm.js +156 -0
  160. package/build/dex/bunni-v2/logic/AmAmm.js.map +1 -0
  161. package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +10 -0
  162. package/build/dex/bunni-v2/logic/BunniHookLogic.js +298 -0
  163. package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +1 -0
  164. package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +5 -0
  165. package/build/dex/bunni-v2/logic/BunniHubLogic.js +245 -0
  166. package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +1 -0
  167. package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +12 -0
  168. package/build/dex/bunni-v2/logic/BunniQuoter.js +201 -0
  169. package/build/dex/bunni-v2/logic/BunniQuoter.js.map +1 -0
  170. package/build/dex/bunni-v2/subgraph.d.ts +7 -0
  171. package/build/dex/bunni-v2/subgraph.js +184 -0
  172. package/build/dex/bunni-v2/subgraph.js.map +1 -0
  173. package/build/dex/bunni-v2/types.d.ts +257 -0
  174. package/build/dex/{renegade/api → bunni-v2}/types.js.map +1 -1
  175. package/build/dex/bunni-v2/utils.d.ts +12 -0
  176. package/build/dex/bunni-v2/utils.js +182 -0
  177. package/build/dex/bunni-v2/utils.js.map +1 -0
  178. package/build/dex/compound/compound.d.ts +15 -0
  179. package/build/dex/compound/compound.js +57 -0
  180. package/build/dex/compound/compound.js.map +1 -0
  181. package/build/dex/compound/types.d.ts +8 -0
  182. package/build/dex/compound/types.js +9 -0
  183. package/build/dex/compound/types.js.map +1 -0
  184. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +17 -0
  185. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +69 -0
  186. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +1 -0
  187. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +41 -0
  188. package/build/dex/concentrator-arusd/concentrator-arusd.js +202 -0
  189. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +1 -0
  190. package/build/dex/concentrator-arusd/config.d.ts +3 -0
  191. package/build/dex/concentrator-arusd/config.js +14 -0
  192. package/build/dex/concentrator-arusd/config.js.map +1 -0
  193. package/build/dex/concentrator-arusd/types.d.ts +14 -0
  194. package/build/dex/concentrator-arusd/types.js.map +1 -0
  195. package/build/dex/concentrator-arusd/utils.d.ts +4 -0
  196. package/build/dex/concentrator-arusd/utils.js +26 -0
  197. package/build/dex/concentrator-arusd/utils.js.map +1 -0
  198. package/build/dex/curve-v1/forks/swerve/config.d.ts +4 -0
  199. package/build/dex/curve-v1/forks/swerve/config.js +47 -0
  200. package/build/dex/curve-v1/forks/swerve/config.js.map +1 -0
  201. package/build/dex/curve-v1/forks/swerve/swerve.d.ts +16 -0
  202. package/build/dex/curve-v1/forks/swerve/swerve.js +46 -0
  203. package/build/dex/curve-v1/forks/swerve/swerve.js.map +1 -0
  204. package/build/dex/gmx/config.d.ts +11 -0
  205. package/build/dex/gmx/config.js +61 -0
  206. package/build/dex/gmx/config.js.map +1 -0
  207. package/build/dex/gmx/fast-price-feed.d.ts +26 -0
  208. package/build/dex/gmx/fast-price-feed.js +184 -0
  209. package/build/dex/gmx/fast-price-feed.js.map +1 -0
  210. package/build/dex/gmx/gmx.d.ts +54 -0
  211. package/build/dex/gmx/gmx.js +247 -0
  212. package/build/dex/gmx/gmx.js.map +1 -0
  213. package/build/dex/gmx/pool.d.ts +21 -0
  214. package/build/dex/gmx/pool.js +212 -0
  215. package/build/dex/gmx/pool.js.map +1 -0
  216. package/build/dex/gmx/types.d.ts +100 -0
  217. package/build/dex/gmx/types.js +3 -0
  218. package/build/dex/gmx/types.js.map +1 -0
  219. package/build/dex/gmx/usdg.d.ts +15 -0
  220. package/build/dex/gmx/usdg.js +62 -0
  221. package/build/dex/gmx/usdg.js.map +1 -0
  222. package/build/dex/gmx/vault-price-feed.d.ts +47 -0
  223. package/build/dex/gmx/vault-price-feed.js +245 -0
  224. package/build/dex/gmx/vault-price-feed.js.map +1 -0
  225. package/build/dex/gmx/vault-utils.d.ts +8 -0
  226. package/build/dex/gmx/vault-utils.js +42 -0
  227. package/build/dex/gmx/vault-utils.js.map +1 -0
  228. package/build/dex/gmx/vault.d.ts +46 -0
  229. package/build/dex/gmx/vault.js +182 -0
  230. package/build/dex/gmx/vault.js.map +1 -0
  231. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.d.ts +15 -0
  232. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js +51 -0
  233. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +1 -0
  234. package/build/dex/jarvis-v6/config.d.ts +4 -0
  235. package/build/dex/jarvis-v6/config.js +244 -0
  236. package/build/dex/jarvis-v6/config.js.map +1 -0
  237. package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +27 -0
  238. package/build/dex/jarvis-v6/jarvis-v6-events.js +54 -0
  239. package/build/dex/jarvis-v6/jarvis-v6-events.js.map +1 -0
  240. package/build/dex/jarvis-v6/jarvis-v6.d.ts +49 -0
  241. package/build/dex/jarvis-v6/jarvis-v6.js +321 -0
  242. package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -0
  243. package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +15 -0
  244. package/build/dex/jarvis-v6/syntheteumPool-event.js +49 -0
  245. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +1 -0
  246. package/build/dex/jarvis-v6/types.d.ts +48 -0
  247. package/build/dex/jarvis-v6/types.js +9 -0
  248. package/build/dex/jarvis-v6/types.js.map +1 -0
  249. package/build/dex/jarvis-v6/utils.d.ts +13 -0
  250. package/build/dex/jarvis-v6/utils.js +75 -0
  251. package/build/dex/jarvis-v6/utils.js.map +1 -0
  252. package/build/dex/kyberdmm/config.d.ts +9 -0
  253. package/build/dex/kyberdmm/config.js +59 -0
  254. package/build/dex/kyberdmm/config.js.map +1 -0
  255. package/build/dex/kyberdmm/fee-formula.d.ts +15 -0
  256. package/build/dex/kyberdmm/fee-formula.js +88 -0
  257. package/build/dex/kyberdmm/fee-formula.js.map +1 -0
  258. package/build/dex/kyberdmm/kyberdmm.d.ts +55 -0
  259. package/build/dex/kyberdmm/kyberdmm.js +447 -0
  260. package/build/dex/kyberdmm/kyberdmm.js.map +1 -0
  261. package/build/dex/kyberdmm/math-ext.d.ts +2 -0
  262. package/build/dex/kyberdmm/math-ext.js +27 -0
  263. package/build/dex/kyberdmm/math-ext.js.map +1 -0
  264. package/build/dex/kyberdmm/pool.d.ts +50 -0
  265. package/build/dex/kyberdmm/pool.js +157 -0
  266. package/build/dex/kyberdmm/pool.js.map +1 -0
  267. package/build/dex/kyberdmm/types.d.ts +81 -0
  268. package/build/dex/kyberdmm/types.js +9 -0
  269. package/build/dex/kyberdmm/types.js.map +1 -0
  270. package/build/dex/quickswap/thena-fusion.d.ts +6 -0
  271. package/build/dex/quickswap/thena-fusion.js +19 -0
  272. package/build/dex/quickswap/thena-fusion.js.map +1 -0
  273. package/build/dex/smoothy/smoothy.d.ts +16 -0
  274. package/build/dex/smoothy/smoothy.js +60 -0
  275. package/build/dex/smoothy/smoothy.js.map +1 -0
  276. package/build/dex/smoothy/types.d.ts +15 -0
  277. package/build/dex/smoothy/types.js +8 -0
  278. package/build/dex/smoothy/types.js.map +1 -0
  279. package/build/dex/stader/config.d.ts +3 -0
  280. package/build/dex/stader/config.js +14 -0
  281. package/build/dex/stader/config.js.map +1 -0
  282. package/build/dex/stader/stader-pool.d.ts +19 -0
  283. package/build/dex/stader/stader-pool.js +56 -0
  284. package/build/dex/stader/stader-pool.js.map +1 -0
  285. package/build/dex/stader/stader.d.ts +42 -0
  286. package/build/dex/stader/stader.js +195 -0
  287. package/build/dex/stader/stader.js.map +1 -0
  288. package/build/dex/stader/types.d.ts +13 -0
  289. package/build/dex/stader/types.js +8 -0
  290. package/build/dex/stader/types.js.map +1 -0
  291. package/build/dex/stader/utils.d.ts +4 -0
  292. package/build/dex/stader/utils.js +23 -0
  293. package/build/dex/stader/utils.js.map +1 -0
  294. package/build/dex/synthetix/config.d.ts +4 -0
  295. package/build/dex/synthetix/config.js +53 -0
  296. package/build/dex/synthetix/config.js.map +1 -0
  297. package/build/dex/synthetix/constants.d.ts +23 -0
  298. package/build/dex/synthetix/constants.js +32 -0
  299. package/build/dex/synthetix/constants.js.map +1 -0
  300. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.d.ts +17 -0
  301. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +102 -0
  302. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +1 -0
  303. package/build/dex/synthetix/contract-math/ExchangeRates.d.ts +8 -0
  304. package/build/dex/synthetix/contract-math/ExchangeRates.js +77 -0
  305. package/build/dex/synthetix/contract-math/ExchangeRates.js.map +1 -0
  306. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.d.ts +17 -0
  307. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js +126 -0
  308. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +1 -0
  309. package/build/dex/synthetix/contract-math/FullMath.d.ts +3 -0
  310. package/build/dex/synthetix/contract-math/FullMath.js +14 -0
  311. package/build/dex/synthetix/contract-math/FullMath.js.map +1 -0
  312. package/build/dex/synthetix/contract-math/OracleLibrary.d.ts +8 -0
  313. package/build/dex/synthetix/contract-math/OracleLibrary.js +60 -0
  314. package/build/dex/synthetix/contract-math/OracleLibrary.js.map +1 -0
  315. package/build/dex/synthetix/contract-math/SafeDecimalMath.d.ts +9 -0
  316. package/build/dex/synthetix/contract-math/SafeDecimalMath.js +41 -0
  317. package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +1 -0
  318. package/build/dex/synthetix/contract-math/TickMath.d.ts +7 -0
  319. package/build/dex/synthetix/contract-math/TickMath.js +63 -0
  320. package/build/dex/synthetix/contract-math/TickMath.js.map +1 -0
  321. package/build/dex/synthetix/contract-math/synthetix-math.d.ts +17 -0
  322. package/build/dex/synthetix/contract-math/synthetix-math.js +127 -0
  323. package/build/dex/synthetix/contract-math/synthetix-math.js.map +1 -0
  324. package/build/dex/synthetix/synthetix-state.d.ts +36 -0
  325. package/build/dex/synthetix/synthetix-state.js +615 -0
  326. package/build/dex/synthetix/synthetix-state.js.map +1 -0
  327. package/build/dex/synthetix/synthetix.d.ts +45 -0
  328. package/build/dex/synthetix/synthetix.js +304 -0
  329. package/build/dex/synthetix/synthetix.js.map +1 -0
  330. package/build/dex/synthetix/types.d.ts +90 -0
  331. package/build/dex/synthetix/types.js +3 -0
  332. package/build/dex/synthetix/types.js.map +1 -0
  333. package/build/dex/synthetix/utils.d.ts +10 -0
  334. package/build/dex/synthetix/utils.js +91 -0
  335. package/build/dex/synthetix/utils.js.map +1 -0
  336. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +7 -0
  337. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +20 -0
  338. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -0
  339. package/build/dex/uniswap-v4/api-go/compare-pricing.d.ts +1 -0
  340. package/build/dex/uniswap-v4/api-go/compare-pricing.js +187 -0
  341. package/build/dex/uniswap-v4/api-go/compare-pricing.js.map +1 -0
  342. package/build/dex/uniswap-v4/api-go/compare-states.d.ts +1 -0
  343. package/build/dex/uniswap-v4/api-go/compare-states.js +149 -0
  344. package/build/dex/uniswap-v4/api-go/compare-states.js.map +1 -0
  345. package/build/dex/uniswap-v4/api-go/fetch-pool-key.d.ts +0 -0
  346. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js +140 -0
  347. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js.map +1 -0
  348. package/build/dex/wombat/config.d.ts +4 -0
  349. package/build/dex/wombat/config.js +77 -0
  350. package/build/dex/wombat/config.js.map +1 -0
  351. package/build/dex/wombat/types.d.ts +34 -0
  352. package/build/dex/wombat/types.js +3 -0
  353. package/build/dex/wombat/types.js.map +1 -0
  354. package/build/dex/wombat/utils.d.ts +10 -0
  355. package/build/dex/wombat/utils.js +79 -0
  356. package/build/dex/wombat/utils.js.map +1 -0
  357. package/build/dex/wombat/wombat-bmw.d.ts +40 -0
  358. package/build/dex/wombat/wombat-bmw.js +136 -0
  359. package/build/dex/wombat/wombat-bmw.js.map +1 -0
  360. package/build/dex/wombat/wombat-pool.d.ts +60 -0
  361. package/build/dex/wombat/wombat-pool.js +488 -0
  362. package/build/dex/wombat/wombat-pool.js.map +1 -0
  363. package/build/dex/wombat/wombat-quoter.d.ts +17 -0
  364. package/build/dex/wombat/wombat-quoter.js +192 -0
  365. package/build/dex/wombat/wombat-quoter.js.map +1 -0
  366. package/build/dex/wombat/wombat.d.ts +58 -0
  367. package/build/dex/wombat/wombat.js +298 -0
  368. package/build/dex/wombat/wombat.js.map +1 -0
  369. package/build/tenderly-simulation.d.ts +221 -0
  370. package/build/tenderly-simulation.js +517 -0
  371. package/build/tenderly-simulation.js.map +1 -0
  372. package/package.json +1 -1
  373. package/build/abi/pancakeswap-infinity/cl-pool-manager.abi.json +0 -136
  374. package/build/abi/pancakeswap-infinity/cl-quoter.abi.json +0 -66
  375. package/build/abi/pancakeswap-infinity/router.abi.json +0 -23
  376. package/build/dex/pancakeswap-infinity/config.d.ts +0 -4
  377. package/build/dex/pancakeswap-infinity/config.js +0 -30
  378. package/build/dex/pancakeswap-infinity/config.js.map +0 -1
  379. package/build/dex/pancakeswap-infinity/constants.d.ts +0 -11
  380. package/build/dex/pancakeswap-infinity/constants.js +0 -15
  381. package/build/dex/pancakeswap-infinity/constants.js.map +0 -1
  382. package/build/dex/pancakeswap-infinity/encoder.d.ts +0 -16
  383. package/build/dex/pancakeswap-infinity/encoder.js.map +0 -1
  384. package/build/dex/pancakeswap-infinity/liquidity.d.ts +0 -1
  385. package/build/dex/pancakeswap-infinity/liquidity.js +0 -7
  386. package/build/dex/pancakeswap-infinity/liquidity.js.map +0 -1
  387. package/build/dex/pancakeswap-infinity/optimizer.d.ts +0 -2
  388. package/build/dex/pancakeswap-infinity/optimizer.js +0 -48
  389. package/build/dex/pancakeswap-infinity/optimizer.js.map +0 -1
  390. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.d.ts +0 -36
  391. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.js +0 -393
  392. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool-manager.js.map +0 -1
  393. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.d.ts +0 -37
  394. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.js +0 -289
  395. package/build/dex/pancakeswap-infinity/pancakeswap-infinity-pool.js.map +0 -1
  396. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.d.ts +0 -42
  397. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js +0 -350
  398. package/build/dex/pancakeswap-infinity/pancakeswap-infinity.js.map +0 -1
  399. package/build/dex/pancakeswap-infinity/subgraph.d.ts +0 -8
  400. package/build/dex/pancakeswap-infinity/subgraph.js +0 -122
  401. package/build/dex/pancakeswap-infinity/subgraph.js.map +0 -1
  402. package/build/dex/pancakeswap-infinity/types.d.ts +0 -101
  403. package/build/dex/pancakeswap-infinity/types.js.map +0 -1
  404. package/build/dex/pancakeswap-infinity/utils.d.ts +0 -5
  405. package/build/dex/pancakeswap-infinity/utils.js +0 -45
  406. package/build/dex/pancakeswap-infinity/utils.js.map +0 -1
  407. package/build/dex/renegade/api/auth.d.ts +0 -1
  408. package/build/dex/renegade/api/auth.js +0 -63
  409. package/build/dex/renegade/api/auth.js.map +0 -1
  410. package/build/dex/renegade/api/renegade-client.d.ts +0 -18
  411. package/build/dex/renegade/api/renegade-client.js +0 -82
  412. package/build/dex/renegade/api/renegade-client.js.map +0 -1
  413. package/build/dex/renegade/api/types.d.ts +0 -110
  414. package/build/dex/renegade/config.js +0 -16
  415. package/build/dex/renegade/config.js.map +0 -1
  416. package/build/dex/renegade/constants.d.ts +0 -25
  417. package/build/dex/renegade/constants.js +0 -47
  418. package/build/dex/renegade/constants.js.map +0 -1
  419. package/build/dex/renegade/rate-fetcher.d.ts +0 -23
  420. package/build/dex/renegade/rate-fetcher.js +0 -135
  421. package/build/dex/renegade/rate-fetcher.js.map +0 -1
  422. package/build/dex/renegade/renegade-levels-response.d.ts +0 -22
  423. package/build/dex/renegade/renegade-levels-response.js +0 -99
  424. package/build/dex/renegade/renegade-levels-response.js.map +0 -1
  425. package/build/dex/renegade/renegade.d.ts +0 -57
  426. package/build/dex/renegade/renegade.js +0 -499
  427. package/build/dex/renegade/renegade.js.map +0 -1
  428. package/build/dex/renegade/types.d.ts +0 -38
  429. package/build/dex/renegade/types.js +0 -4
  430. package/build/dex/renegade/types.js.map +0 -1
  431. /package/build/dex/{pancakeswap-infinity → bunni-v2}/types.js +0 -0
  432. /package/build/dex/{renegade/api → concentrator-arusd}/types.js +0 -0
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.JarvisV6 = void 0;
40
+ const constants_1 = require("../../constants");
41
+ const utils_1 = require("../../utils");
42
+ const types_1 = require("./types");
43
+ const jarvis_v6_pool_json_1 = __importDefault(require("../../abi/jarvis/jarvis-v6-pool.json"));
44
+ const simple_exchange_1 = require("../simple-exchange");
45
+ const config_1 = require("./config");
46
+ const jarvis_v6_events_1 = require("./jarvis-v6-events");
47
+ const utils_2 = require("./utils");
48
+ const abi_1 = require("@ethersproject/abi");
49
+ const bigint_constants_1 = require("../../bigint-constants");
50
+ const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
51
+ const SynthereumPriceFeed_json_1 = __importDefault(require("../../abi/jarvis/SynthereumPriceFeed.json"));
52
+ const POOL_CACHE_REFRESH_INTERVAL = 60 * 5; // 5 minutes
53
+ class JarvisV6 extends simple_exchange_1.SimpleExchange {
54
+ network;
55
+ dexHelper;
56
+ adapters;
57
+ poolConfigs;
58
+ priceFeedAddress;
59
+ eventPools;
60
+ // opt out of pool allocation as dex allows for constant price swaps
61
+ hasConstantPriceLargeAmounts = true;
62
+ isFeeOnTransferSupported = false;
63
+ static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.JarvisV6Config);
64
+ poolInterface = new abi_1.Interface(jarvis_v6_pool_json_1.default);
65
+ priceFeedContract;
66
+ logger;
67
+ constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network], poolConfigs = config_1.JarvisV6Config[dexKey][network].pools, priceFeedAddress = config_1.JarvisV6Config[dexKey][network]
68
+ .priceFeedAddress) {
69
+ super(dexHelper, dexKey);
70
+ this.network = network;
71
+ this.dexHelper = dexHelper;
72
+ this.adapters = adapters;
73
+ this.poolConfigs = poolConfigs;
74
+ this.priceFeedAddress = priceFeedAddress;
75
+ this.logger = dexHelper.getLogger(dexKey);
76
+ this.eventPools = {};
77
+ this.priceFeedContract = new dexHelper.web3Provider.eth.Contract(SynthereumPriceFeed_json_1.default, priceFeedAddress);
78
+ poolConfigs.forEach(pool => (this.eventPools[pool.address.toLowerCase()] = new jarvis_v6_events_1.JarvisV6EventPool(dexKey, network, dexHelper, this.logger, pool, this.priceFeedAddress, this.poolInterface, this.priceFeedContract)));
79
+ }
80
+ // Initialize pricing is called once in the start of
81
+ // pricing service. It is intended to setup the integration
82
+ // for pricing requests. It is optional for a DEX to
83
+ // implement this function
84
+ async initializePricing(blockNumber) {
85
+ const poolStates = await (0, utils_2.getOnChainState)(this.dexHelper, this.poolConfigs, blockNumber, {
86
+ poolInterface: this.poolInterface,
87
+ priceFeedContract: this.priceFeedContract,
88
+ });
89
+ await Promise.all(this.poolConfigs.map(async (pool, index) => {
90
+ const eventPool = this.eventPools[pool.address.toLowerCase()];
91
+ await eventPool.initialize(blockNumber, {
92
+ state: poolStates[index],
93
+ });
94
+ }));
95
+ }
96
+ // Returns the list of contract adapters (name and index)
97
+ // for a buy/sell. Return null if there are no adapters.
98
+ getAdapters(side) {
99
+ return this.adapters[side];
100
+ }
101
+ getEventPool(srcToken, destToken) {
102
+ const pool = (0, utils_2.getJarvisPoolFromTokens)(srcToken, destToken, this.poolConfigs);
103
+ return this.eventPools[pool?.address.toLowerCase()];
104
+ }
105
+ // Returns list of pool identifiers that can be used
106
+ // for a given swap. poolIdentifiers must be unique
107
+ // across DEXes. It is recommended to use
108
+ // ${dexKey}_${poolAddress} as a poolIdentifier
109
+ async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
110
+ const eventPool = this.getEventPool(srcToken, destToken);
111
+ if (!eventPool)
112
+ return [];
113
+ return [eventPool.getIdentifier()];
114
+ }
115
+ async getPoolState(pool, blockNumber) {
116
+ const eventState = pool.getState(blockNumber);
117
+ if (eventState)
118
+ return eventState;
119
+ const onChainState = await pool.generateState(blockNumber);
120
+ pool.setState(onChainState, blockNumber);
121
+ return onChainState;
122
+ }
123
+ // Returns pool prices for amounts.
124
+ // If limitPools is defined only pools in limitPools
125
+ // should be used. If limitPools is undefined then
126
+ // any pools can be used.
127
+ // Pair
128
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
129
+ if (side !== constants_1.SwapSide.SELL)
130
+ return null;
131
+ const eventPool = this.getEventPool(srcToken, destToken);
132
+ if (!eventPool)
133
+ return null;
134
+ const poolAddress = eventPool.poolConfig.address.toLowerCase();
135
+ const poolIdentifier = eventPool.getIdentifier();
136
+ const poolState = await this.getPoolState(eventPool, blockNumber);
137
+ const unitVolume = (0, utils_1.getBigIntPow)(srcToken.decimals);
138
+ const swapFunction = (0, utils_2.getJarvisSwapFunction)(srcToken, eventPool.poolConfig);
139
+ const systemMaxVars = await this.getSystemMaxVars(poolAddress, blockNumber);
140
+ const [unit, ...prices] = this.computePrices([unitVolume, ...amounts], swapFunction, systemMaxVars, eventPool.poolConfig, poolState);
141
+ return [
142
+ {
143
+ prices,
144
+ unit,
145
+ data: {
146
+ swapFunction,
147
+ poolAddress,
148
+ },
149
+ poolAddresses: [poolAddress],
150
+ exchange: this.dexKey,
151
+ gasCost: 475 * 1000, //between 450-500k gas
152
+ poolIdentifiers: [poolIdentifier],
153
+ },
154
+ ];
155
+ }
156
+ async getSystemMaxVars(poolAddress, blockNumber) {
157
+ const cacheKey = `${this.dexKey}_systemMaxVars_${poolAddress}`;
158
+ const cachedSystemMaxVars = await this.dexHelper.cache.getAndCacheLocally(this.dexKey, this.network, cacheKey, POOL_CACHE_REFRESH_INTERVAL);
159
+ if (cachedSystemMaxVars) {
160
+ const { maxTokensCapacity, totalSyntheticTokens } = JSON.parse(cachedSystemMaxVars);
161
+ return {
162
+ maxTokensCapacity: BigInt(maxTokensCapacity),
163
+ totalSyntheticTokens: BigInt(totalSyntheticTokens),
164
+ };
165
+ }
166
+ const multiContract = this.dexHelper.multiContract;
167
+ const encodedResp = (await multiContract.methods
168
+ .aggregate([
169
+ {
170
+ target: poolAddress,
171
+ callData: this.poolInterface.encodeFunctionData('maxTokensCapacity', []),
172
+ },
173
+ {
174
+ target: poolAddress,
175
+ callData: this.poolInterface.encodeFunctionData('totalSyntheticTokens', []),
176
+ },
177
+ ])
178
+ .call({}, blockNumber));
179
+ const maxTokensCapacity = this.poolInterface
180
+ .decodeFunctionResult('maxTokensCapacity', encodedResp.returnData[0])[0]
181
+ .toString();
182
+ const totalSyntheticTokens = this.poolInterface
183
+ .decodeFunctionResult('totalSyntheticTokens', encodedResp.returnData[1])[0]
184
+ .toString();
185
+ const systemMaxVarStr = JSON.stringify({
186
+ maxTokensCapacity,
187
+ totalSyntheticTokens,
188
+ });
189
+ this.dexHelper.cache.setexAndCacheLocally(this.dexKey, this.network, cacheKey, POOL_CACHE_REFRESH_INTERVAL, systemMaxVarStr);
190
+ return {
191
+ maxTokensCapacity: BigInt(maxTokensCapacity),
192
+ totalSyntheticTokens: BigInt(totalSyntheticTokens),
193
+ };
194
+ }
195
+ computePrices(amounts, swapFunction, { maxTokensCapacity, totalSyntheticTokens }, pool, poolState) {
196
+ return amounts.map(amount => {
197
+ if (swapFunction === types_1.JarvisSwapFunctions.MINT) {
198
+ return this.computePriceForMint(amount, maxTokensCapacity, poolState, pool.collateralToken.decimals);
199
+ }
200
+ if (swapFunction === types_1.JarvisSwapFunctions.REDEEM) {
201
+ if (amount > totalSyntheticTokens)
202
+ return 0n;
203
+ return this.computePriceForRedeem(amount, poolState, pool.collateralToken.decimals);
204
+ }
205
+ return 0n;
206
+ });
207
+ }
208
+ computePriceForMint(amount, maxTokensCapacity, poolState, collateralDecimalsNumber) {
209
+ const feePercentage = poolState.pool.feesPercentage;
210
+ const UsdcPriceFeed = poolState.priceFeed.usdcPrice;
211
+ const syntheticAmount = this.getSyntheticAmountToReceive(amount, collateralDecimalsNumber, UsdcPriceFeed, feePercentage);
212
+ return syntheticAmount <= maxTokensCapacity ? syntheticAmount : 0n;
213
+ }
214
+ computePriceForRedeem(amount, poolState, collateralDecimalsNumber) {
215
+ const feePercentage = poolState.pool.feesPercentage;
216
+ const UsdcPriceFeed = poolState.priceFeed.usdcPrice;
217
+ return this.getCollateralAmountToReceive(amount, collateralDecimalsNumber, UsdcPriceFeed, feePercentage);
218
+ }
219
+ getSyntheticAmountToReceive(collateralAmount, collateralDecimals, UsdcPriceFeed, feePercentage) {
220
+ let collateralAmountIn18Decimals = (0, utils_2.convertToNewDecimals)(collateralAmount, collateralDecimals, 18);
221
+ return (((collateralAmountIn18Decimals -
222
+ (collateralAmountIn18Decimals * feePercentage) / bigint_constants_1.BI_POWS[18]) *
223
+ bigint_constants_1.BI_POWS[18]) /
224
+ UsdcPriceFeed);
225
+ }
226
+ getCollateralAmountToReceive(syntheticAmount, collateralDecimals, UsdcPriceFeed, feePercentage) {
227
+ const result = (syntheticAmount * UsdcPriceFeed) / bigint_constants_1.BI_POWS[18] -
228
+ (((syntheticAmount * UsdcPriceFeed) / bigint_constants_1.BI_POWS[18]) * feePercentage) /
229
+ bigint_constants_1.BI_POWS[18];
230
+ if (collateralDecimals === 18)
231
+ return result;
232
+ return (0, utils_2.convertToNewDecimals)(result, 18, collateralDecimals);
233
+ }
234
+ // Encode params required by the exchange adapter
235
+ // Used for multiSwap, buy & megaSwap
236
+ // Hint: abiCoder.encodeParameter() could be useful
237
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
238
+ const { swapFunction } = data;
239
+ const type = [types_1.JarvisSwapFunctions.MINT, types_1.JarvisSwapFunctions.REDEEM].indexOf(swapFunction);
240
+ if (type === undefined) {
241
+ throw new Error(`Jarvis: Invalid OpType ${swapFunction}, Should be one of ['mint', 'redeem']`);
242
+ }
243
+ const payload = this.abiCoder.encodeParameter({
244
+ ParentStruct: {
245
+ opType: 'uint',
246
+ expiration: 'uint128',
247
+ },
248
+ }, {
249
+ opType: type,
250
+ expiration: (Date.now() / 1000 + utils_2.THIRTY_MINUTES).toFixed(0),
251
+ });
252
+ return {
253
+ targetExchange: data.poolAddress.toLowerCase(),
254
+ payload,
255
+ networkFee: '0',
256
+ };
257
+ }
258
+ // Encode call data used by simpleSwap like routers
259
+ // Used for simpleSwap & simpleBuy
260
+ // Hint: this.buildSimpleParamWithoutWETHConversion
261
+ // could be useful
262
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
263
+ const { swapFunction } = data;
264
+ const timestamp = (Date.now() / 1000 + utils_2.THIRTY_MINUTES).toFixed(0);
265
+ let swapFunctionParams;
266
+ switch (swapFunction) {
267
+ case types_1.JarvisSwapFunctions.MINT:
268
+ swapFunctionParams = ['1', srcAmount, timestamp, this.augustusAddress];
269
+ break;
270
+ case types_1.JarvisSwapFunctions.REDEEM:
271
+ swapFunctionParams = [srcAmount, '1', timestamp, this.augustusAddress];
272
+ break;
273
+ default:
274
+ throw new Error(`Unknown function ${swapFunction}`);
275
+ }
276
+ const swapData = this.poolInterface.encodeFunctionData(swapFunction, [
277
+ swapFunctionParams,
278
+ ]);
279
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, data.poolAddress.toLowerCase());
280
+ }
281
+ getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side) {
282
+ const { swapFunction } = data;
283
+ const timestamp = (Date.now() / 1000 + utils_2.THIRTY_MINUTES).toFixed(0);
284
+ let swapFunctionParams;
285
+ switch (swapFunction) {
286
+ case types_1.JarvisSwapFunctions.MINT:
287
+ swapFunctionParams = ['1', srcAmount, timestamp, recipient];
288
+ break;
289
+ case types_1.JarvisSwapFunctions.REDEEM:
290
+ swapFunctionParams = [srcAmount, '1', timestamp, recipient];
291
+ break;
292
+ default:
293
+ throw new Error(`Unknown function ${swapFunction}`);
294
+ }
295
+ const exchangeData = this.poolInterface.encodeFunctionData(swapFunction, [
296
+ swapFunctionParams,
297
+ ]);
298
+ return {
299
+ needWrapNative: this.needWrapNative,
300
+ dexFuncHasRecipient: true,
301
+ exchangeData,
302
+ targetExchange: data.poolAddress.toLowerCase(),
303
+ returnAmountPos: undefined,
304
+ };
305
+ }
306
+ // Returns list of top pools based on liquidity. Max
307
+ // limit number pools should be returned.
308
+ async getTopPoolsForToken(tokenAddress, limit) {
309
+ return [];
310
+ }
311
+ getCalldataGasCost(poolPrices) {
312
+ return (CALLDATA_GAS_COST.DEX_OVERHEAD +
313
+ CALLDATA_GAS_COST.LENGTH_SMALL +
314
+ // opType
315
+ CALLDATA_GAS_COST.INDEX +
316
+ // expiration
317
+ CALLDATA_GAS_COST.TIMESTAMP);
318
+ }
319
+ }
320
+ exports.JarvisV6 = JarvisV6;
321
+ //# sourceMappingURL=jarvis-v6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jarvis-v6.js","sourceRoot":"","sources":["../../../src/dex/jarvis-v6/jarvis-v6.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { DeepReadonly } from 'ts-essentials';
3
+ import { PartialEventSubscriber } from '../../composed-event-subscriber';
4
+ import { Address, MultiCallInput, MultiCallOutput, Logger, Log, BlockHeader } from '../../types';
5
+ import { Lens } from '../../lens';
6
+ import { SynthereumPoolState } from './types';
7
+ export declare class SynthereumPoolEvent<State> extends PartialEventSubscriber<State, SynthereumPoolState> {
8
+ private poolAddress;
9
+ private poolInterface;
10
+ constructor(poolAddress: Address, poolInterface: Interface, lens: Lens<DeepReadonly<State>, DeepReadonly<SynthereumPoolState>>, logger: Logger);
11
+ getFeesPercentage(state: DeepReadonly<State>): bigint;
12
+ processLog(state: DeepReadonly<SynthereumPoolState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<SynthereumPoolState> | null;
13
+ getGenerateStateMultiCallInputs(): MultiCallInput[];
14
+ generateState(multicallOutputs: MultiCallOutput[], blockNumber?: number | 'latest'): DeepReadonly<SynthereumPoolState>;
15
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SynthereumPoolEvent = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const composed_event_subscriber_1 = require("../../composed-event-subscriber");
9
+ const utils_1 = require("../nerve/utils");
10
+ class SynthereumPoolEvent extends composed_event_subscriber_1.PartialEventSubscriber {
11
+ poolAddress;
12
+ poolInterface;
13
+ constructor(poolAddress, poolInterface, lens, logger) {
14
+ super([poolAddress], lens, logger);
15
+ this.poolAddress = poolAddress;
16
+ this.poolInterface = poolInterface;
17
+ }
18
+ getFeesPercentage(state) {
19
+ return this.lens.get()(state).feesPercentage;
20
+ }
21
+ processLog(state, log, blockHeader) {
22
+ try {
23
+ const parsed = this.poolInterface.parseLog(log);
24
+ const _state = lodash_1.default.cloneDeep(state);
25
+ switch (parsed.name) {
26
+ case 'SetFeePercentage': {
27
+ _state.feesPercentage = (0, utils_1.bigIntify)(parsed.args.newFee.toString());
28
+ return _state;
29
+ }
30
+ default:
31
+ return null;
32
+ }
33
+ }
34
+ catch (e) {
35
+ this.logger.error('Failed to parse log', e);
36
+ return null;
37
+ }
38
+ }
39
+ getGenerateStateMultiCallInputs() {
40
+ return [];
41
+ }
42
+ generateState(multicallOutputs, blockNumber) {
43
+ return {
44
+ feesPercentage: 0n,
45
+ };
46
+ }
47
+ }
48
+ exports.SynthereumPoolEvent = SynthereumPoolEvent;
49
+ //# sourceMappingURL=syntheteumPool-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntheteumPool-event.js","sourceRoot":"","sources":["../../../src/dex/jarvis-v6/syntheteumPool-event.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,+EAAyE;AAWzE,0CAA2C;AAE3C,MAAa,mBAA2B,SAAQ,kDAG/C;IAEW;IACA;IAFV,YACU,WAAoB,EACpB,aAAwB,EAChC,IAAkE,EAClE,MAAc;QAEd,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAL3B,gBAAW,GAAX,WAAW,CAAS;QACpB,kBAAa,GAAb,aAAa,CAAW;IAKlC,CAAC;IAED,iBAAiB,CAAC,KAA0B;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;IAC/C,CAAC;IAEM,UAAU,CACf,KAAwC,EACxC,GAAkB,EAClB,WAAkC;QAElC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,MAAM,GAAwB,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACxB,MAAM,CAAC,cAAc,GAAG,IAAA,iBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjE,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEM,+BAA+B;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,aAAa,CAClB,gBAAmC,EACnC,WAA+B;QAE/B,OAAO;YACL,cAAc,EAAE,EAAE;SACnB,CAAC;IACJ,CAAC;CACF;AAnDD,kDAmDC"}
@@ -0,0 +1,48 @@
1
+ import { Address, Token } from '../../types';
2
+ export type PoolState = {
3
+ priceFeed: ChainLinkPriceFeedState;
4
+ pool: SynthereumPoolState;
5
+ };
6
+ export type ChainLinkPriceFeedState = {
7
+ usdcPrice: bigint;
8
+ };
9
+ export type SynthereumPoolState = {
10
+ feesPercentage: bigint;
11
+ };
12
+ export type JarvisV6Data = {
13
+ poolAddress: string;
14
+ swapFunction: JarvisSwapFunctions;
15
+ };
16
+ export type PoolConfig = {
17
+ address: Address;
18
+ priceFeedPair: string;
19
+ syntheticToken: Token;
20
+ collateralToken: Token;
21
+ chainLinkAggregatorAddress: Address;
22
+ };
23
+ export type DexParams = {
24
+ priceFeedAddress: Address;
25
+ pools: PoolConfig[];
26
+ };
27
+ type JarvisV6MintParam = [
28
+ minNumTokens: string,
29
+ collateralAmount: string,
30
+ expiration: string,
31
+ recipient: string
32
+ ];
33
+ type JarvisV6RedeemParam = [
34
+ numTokens: string,
35
+ minCollateral: string,
36
+ expiration: string,
37
+ recipient: string
38
+ ];
39
+ export type JarvisV6Params = JarvisV6MintParam | JarvisV6RedeemParam;
40
+ export declare enum JarvisSwapFunctions {
41
+ MINT = "mint",
42
+ REDEEM = "redeem"
43
+ }
44
+ export type JarvisV6SystemMaxVars = {
45
+ maxTokensCapacity: bigint;
46
+ totalSyntheticTokens: bigint;
47
+ };
48
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JarvisSwapFunctions = void 0;
4
+ var JarvisSwapFunctions;
5
+ (function (JarvisSwapFunctions) {
6
+ JarvisSwapFunctions["MINT"] = "mint";
7
+ JarvisSwapFunctions["REDEEM"] = "redeem";
8
+ })(JarvisSwapFunctions || (exports.JarvisSwapFunctions = JarvisSwapFunctions = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/jarvis-v6/types.ts"],"names":[],"mappings":";;;AAkDA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,wCAAiB,CAAA;AACnB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B"}
@@ -0,0 +1,13 @@
1
+ import { IDexHelper } from '../../dex-helper';
2
+ import { Token } from '../../types';
3
+ import { JarvisSwapFunctions, PoolConfig, PoolState } from './types';
4
+ import { Interface } from '@ethersproject/abi';
5
+ import { Contract } from 'web3-eth-contract';
6
+ export declare const THIRTY_MINUTES: number;
7
+ export declare function getOnChainState(dexHelper: IDexHelper, poolConfigs: PoolConfig[], blockNumber: number | 'latest', { priceFeedContract, poolInterface, }: {
8
+ priceFeedContract: Contract;
9
+ poolInterface: Interface;
10
+ }): Promise<PoolState[]>;
11
+ export declare function getJarvisPoolFromTokens(srcToken: Token, destToken: Token, poolConfigs: PoolConfig[]): PoolConfig | null;
12
+ export declare function convertToNewDecimals(amount: bigint, currentDecimal: number, desireDecimal: number): bigint;
13
+ export declare function getJarvisSwapFunction(srcToken: Token, pool: PoolConfig): JarvisSwapFunctions;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.THIRTY_MINUTES = void 0;
4
+ exports.getOnChainState = getOnChainState;
5
+ exports.getJarvisPoolFromTokens = getJarvisPoolFromTokens;
6
+ exports.convertToNewDecimals = convertToNewDecimals;
7
+ exports.getJarvisSwapFunction = getJarvisSwapFunction;
8
+ const ethers_1 = require("ethers");
9
+ const utils_1 = require("../nerve/utils");
10
+ const utils_2 = require("../../utils");
11
+ const types_1 = require("./types");
12
+ exports.THIRTY_MINUTES = 60 * 30;
13
+ // Note: PriceFeed contract can only be called directly or from Jarvis's whitelisted contract hence why we can't group in same init multicall call
14
+ async function getOnChainState(dexHelper, poolConfigs, blockNumber, { priceFeedContract, poolInterface, }) {
15
+ const [pricesFeedValues, poolFeePercentages] = await Promise.all([
16
+ _getPricesFeedValues(dexHelper, poolConfigs, blockNumber, priceFeedContract),
17
+ _getPoolFeePercentages(dexHelper, poolConfigs, blockNumber, poolInterface),
18
+ ]);
19
+ return poolConfigs.map((_, index) => ({
20
+ priceFeed: pricesFeedValues[index],
21
+ pool: poolFeePercentages[index],
22
+ }));
23
+ }
24
+ async function _getPoolFeePercentages(dexHelper, poolConfigs, blockNumber, poolInterface) {
25
+ const multiContract = dexHelper.multiContract;
26
+ const PoolCallData = poolConfigs
27
+ .map(pool => [
28
+ {
29
+ target: pool.address,
30
+ callData: poolInterface.encodeFunctionData('feePercentage', []),
31
+ },
32
+ ])
33
+ .flat();
34
+ const poolDataCalled = (await multiContract.methods
35
+ .aggregate(PoolCallData)
36
+ .call({}, blockNumber));
37
+ return poolDataCalled.returnData.map(d => ({
38
+ feesPercentage: (0, utils_1.bigIntify)(poolInterface.decodeFunctionResult('feePercentage', d)[0]),
39
+ }));
40
+ }
41
+ async function _getPricesFeedValues(dexHelper, poolConfigs, blockNumber, priceFeedContract) {
42
+ const pairList = poolConfigs.map(pool => ethers_1.ethers.utils.formatBytes32String(pool.priceFeedPair));
43
+ const pricesFeedValues = (await priceFeedContract.methods
44
+ .getLatestPrices(pairList)
45
+ .call({}, blockNumber));
46
+ return pricesFeedValues.map(d => ({
47
+ usdcPrice: (0, utils_1.bigIntify)(d),
48
+ }));
49
+ }
50
+ function getJarvisPoolFromTokens(srcToken, destToken, poolConfigs) {
51
+ const srcAddress = srcToken.address.toLowerCase();
52
+ const destAddress = destToken.address.toLowerCase();
53
+ return (poolConfigs.find(pool => {
54
+ const collateralAddress = pool.collateralToken.address.toLowerCase();
55
+ const syntheticToken = pool.syntheticToken.address.toLowerCase();
56
+ return ((srcAddress === collateralAddress && destAddress === syntheticToken) ||
57
+ (srcAddress === syntheticToken && destAddress === collateralAddress));
58
+ }) ?? null);
59
+ }
60
+ function convertToNewDecimals(amount, currentDecimal, desireDecimal) {
61
+ if (currentDecimal === desireDecimal)
62
+ return amount;
63
+ const isDecimalIncrease = currentDecimal < desireDecimal;
64
+ const bigIntPow = (0, utils_2.getBigIntPow)(isDecimalIncrease
65
+ ? desireDecimal - currentDecimal
66
+ : currentDecimal - desireDecimal);
67
+ return isDecimalIncrease ? amount * bigIntPow : amount / bigIntPow;
68
+ }
69
+ function getJarvisSwapFunction(srcToken, pool) {
70
+ const srcAddress = srcToken.address.toLowerCase();
71
+ if (srcAddress === pool.collateralToken.address.toLowerCase())
72
+ return types_1.JarvisSwapFunctions.MINT;
73
+ return types_1.JarvisSwapFunctions.REDEEM;
74
+ }
75
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/jarvis-v6/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { DexConfigMap } from '../../types';
2
+ import { DexParams } from './types';
3
+ export declare const KyberDmmConfig: DexConfigMap<DexParams>;
4
+ export declare const Adapters: {
5
+ [chainId: number]: {
6
+ name: string;
7
+ index: number;
8
+ }[];
9
+ };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Adapters = exports.KyberDmmConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.KyberDmmConfig = {
6
+ KyberDmm: {
7
+ [constants_1.Network.MAINNET]: {
8
+ subgraphURL: '3fiN4bZMCnKg9cTMydbuacykz9Tyvpf4oh7TbWC3VnFZ',
9
+ routerAddress: '0x1c87257F5e8609940Bc751a07BB085Bb7f8cDBE6',
10
+ factoryAddress: '0x833e4083B7ae46CeA85695c4f7ed25CDAd8886dE',
11
+ poolGasCost: 150 * 1000,
12
+ },
13
+ [constants_1.Network.POLYGON]: {
14
+ subgraphURL: '4dEDdkKMJRB2pgfMsWXrtNnTfToZ9tNiWJdUyy5zBYC2',
15
+ routerAddress: '0x546C79662E028B661dFB4767664d0273184E4dD1',
16
+ factoryAddress: '0x5f1fe642060b5b9658c15721ea22e982643c095c',
17
+ poolGasCost: 150 * 1000,
18
+ },
19
+ [constants_1.Network.BSC]: {
20
+ subgraphURL: '8drriZ45KqVMwrT3ueEikxS89dH8pineh2gELGoZnhhu',
21
+ routerAddress: '0x78df70615ffc8066cc0887917f2Cd72092C86409',
22
+ factoryAddress: '0x878dfe971d44e9122048308301f540910bbd934c',
23
+ poolGasCost: 150 * 1000,
24
+ },
25
+ [constants_1.Network.AVALANCHE]: {
26
+ subgraphURL: 'FiC4V8ct3vif6zMoev9vcrtiKuCMVXFfRx8U7xS2daWN',
27
+ routerAddress: '0x8Efa5A9AD6D594Cf76830267077B78cE0Bc5A5F8',
28
+ factoryAddress: '0x10908c875d865c66f271f5d3949848971c9595c9',
29
+ poolGasCost: 150 * 1000,
30
+ },
31
+ },
32
+ };
33
+ exports.Adapters = {
34
+ [constants_1.Network.MAINNET]: [
35
+ {
36
+ name: 'Adapter03',
37
+ index: 6,
38
+ },
39
+ ],
40
+ [constants_1.Network.POLYGON]: [
41
+ {
42
+ name: 'PolygonAdapter01',
43
+ index: 10,
44
+ },
45
+ ],
46
+ [constants_1.Network.BSC]: [
47
+ {
48
+ name: 'BscAdapter01',
49
+ index: 12,
50
+ },
51
+ ],
52
+ [constants_1.Network.AVALANCHE]: [
53
+ {
54
+ name: 'AvalancheAdapter01',
55
+ index: 4,
56
+ },
57
+ ],
58
+ };
59
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/kyberdmm/config.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAI7B,QAAA,cAAc,GAA4B;IACrD,QAAQ,EAAE;QACR,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,8CAA8C;YAC3D,aAAa,EAAE,4CAA4C;YAC3D,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,GAAG,GAAG,IAAI;SACxB;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,8CAA8C;YAC3D,aAAa,EAAE,4CAA4C;YAC3D,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,GAAG,GAAG,IAAI;SACxB;QACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,WAAW,EAAE,8CAA8C;YAC3D,aAAa,EAAE,4CAA4C;YAC3D,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,GAAG,GAAG,IAAI;SACxB;QACD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,WAAW,EAAE,8CAA8C;YAC3D,aAAa,EAAE,4CAA4C;YAC3D,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,GAAG,GAAG,IAAI;SACxB;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAEjB;IACF,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC;SACT;KACF;IACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,EAAE;SACV;KACF;IACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;QACb;YACE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,EAAE;SACV;KACF;IACD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;QACnB;YACE,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,CAAC;SACT;KACF;CACF,CAAC"}