@paraswap/dex-lib 3.3.0 → 3.3.1-return-amount-pos.1

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 (521) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/prettier.xml +7 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/README.md +12 -0
  10. package/build/abi/AugustusV6.abi.json +395 -0
  11. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  12. package/build/abi/curve-v1/StableSwapFRXETH.json +889 -0
  13. package/build/abi/curve-v1/StableSwapWBETH.json +1223 -0
  14. package/build/abi/{wombat/pool.json → integral/relayer.json} +446 -587
  15. package/build/abi/sushiswap-v3/QuoterV2.json +267 -0
  16. package/build/abi/sushiswap-v3/RouterProcessor3.json +289 -0
  17. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  18. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
  19. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  20. package/build/abi/wBETH.json +1527 -0
  21. package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
  22. package/build/abi/woo-fi/WooPP.abi.json +548 -0
  23. package/build/abi/woo-fi/Wooracle.abi.json +260 -0
  24. package/build/dex/aave-v1/aave-v1.js +1 -0
  25. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  26. package/build/dex/aave-v2/aave-v2.js +1 -0
  27. package/build/dex/aave-v2/aave-v2.js.map +1 -1
  28. package/build/dex/aave-v3/aave-v3.js +1 -0
  29. package/build/dex/aave-v3/aave-v3.js.map +1 -1
  30. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  31. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  32. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  33. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  34. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  35. package/build/dex/algebra/algebra-pool.d.ts +114 -0
  36. package/build/dex/algebra/algebra-pool.js +448 -0
  37. package/build/dex/algebra/algebra-pool.js.map +1 -0
  38. package/build/dex/algebra/algebra.js +4 -0
  39. package/build/dex/algebra/algebra.js.map +1 -1
  40. package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +1 -1
  41. package/build/dex/angle-staked-stable/angle-staked-stable.js +1 -4
  42. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +1 -1
  43. package/build/dex/bProtocol/bProtocol.js +5 -0
  44. package/build/dex/bProtocol/bProtocol.js.map +1 -1
  45. package/build/dex/balancer-v1/balancer-v1.js +4 -0
  46. package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
  47. package/build/dex/balancer-v2/Gyro3Pool.d.ts +43 -0
  48. package/build/dex/balancer-v2/Gyro3Pool.js +160 -0
  49. package/build/dex/balancer-v2/Gyro3Pool.js.map +1 -0
  50. package/build/dex/balancer-v2/LinearMath.d.ts +88 -0
  51. package/build/dex/balancer-v2/LinearMath.js +285 -0
  52. package/build/dex/balancer-v2/LinearMath.js.map +1 -0
  53. package/build/dex/balancer-v2/LinearPool.d.ts +81 -0
  54. package/build/dex/balancer-v2/LinearPool.js +444 -0
  55. package/build/dex/balancer-v2/LinearPool.js.map +1 -0
  56. package/build/dex/balancer-v2/PhantomStablePool.d.ts +90 -0
  57. package/build/dex/balancer-v2/PhantomStablePool.js +418 -0
  58. package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
  59. package/build/dex/balancer-v2/StableMath.d.ts +9 -0
  60. package/build/dex/balancer-v2/StableMath.js +272 -0
  61. package/build/dex/balancer-v2/StableMath.js.map +1 -0
  62. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +140 -0
  63. package/build/dex/balancer-v2/balancer-v2-pool.js +647 -0
  64. package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
  65. package/build/dex/balancer-v2/balancer-v2.js +1 -0
  66. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  67. package/build/dex/bancor/bancor.js +4 -0
  68. package/build/dex/bancor/bancor.js.map +1 -1
  69. package/build/dex/camelot/camelot.js +1 -0
  70. package/build/dex/camelot/camelot.js.map +1 -1
  71. package/build/dex/compound/compound.js +1 -0
  72. package/build/dex/compound/compound.js.map +1 -1
  73. package/build/dex/curve-v1/curve-v1.js +1 -0
  74. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  75. package/build/dex/curve-v1/pools/frxETHpool.d.ts +7 -0
  76. package/build/dex/curve-v1/pools/frxETHpool.js +27 -0
  77. package/build/dex/curve-v1/pools/frxETHpool.js.map +1 -0
  78. package/build/dex/curve-v1/pools/wbETHpool.d.ts +29 -0
  79. package/build/dex/curve-v1/pools/wbETHpool.js +408 -0
  80. package/build/dex/curve-v1/pools/wbETHpool.js.map +1 -0
  81. package/build/dex/curve-v1-factory/curve-v1-factory.js +1 -0
  82. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  83. package/build/dex/curve-v2/curve-v2.js +1 -0
  84. package/build/dex/curve-v2/curve-v2.js.map +1 -1
  85. package/build/dex/dexalot/dexalot.js +1 -0
  86. package/build/dex/dexalot/dexalot.js.map +1 -1
  87. package/build/dex/dodo-v1/dodo-v1.js +4 -0
  88. package/build/dex/dodo-v1/dodo-v1.js.map +1 -1
  89. package/build/dex/dodo-v2.js +4 -0
  90. package/build/dex/dodo-v2.js.map +1 -1
  91. package/build/dex/etherfi.js +2 -0
  92. package/build/dex/etherfi.js.map +1 -1
  93. package/build/dex/generic-rfq/generic-rfq.js +1 -0
  94. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  95. package/build/dex/gmx/gmx.js +4 -0
  96. package/build/dex/gmx/gmx.js.map +1 -1
  97. package/build/dex/hashflow/hashflow.js +1 -0
  98. package/build/dex/hashflow/hashflow.js.map +1 -1
  99. package/build/dex/idex.d.ts +1 -1
  100. package/build/dex/{trader-joe-v2-1-2 → integral}/config.d.ts +1 -1
  101. package/build/dex/integral/config.js +18 -0
  102. package/build/dex/integral/config.js.map +1 -0
  103. package/build/dex/{angle-transmuter/morphoOracle.d.ts → integral/integral-pool.d.ts} +12 -15
  104. package/build/dex/integral/integral-pool.js +67 -0
  105. package/build/dex/integral/integral-pool.js.map +1 -0
  106. package/build/dex/integral/integral.d.ts +48 -0
  107. package/build/dex/integral/integral.js +402 -0
  108. package/build/dex/integral/integral.js.map +1 -0
  109. package/build/dex/integral/types.d.ts +25 -0
  110. package/build/dex/integral/types.js +9 -0
  111. package/build/dex/integral/types.js.map +1 -0
  112. package/build/dex/jarvis-v6/jarvis-v6.js +1 -0
  113. package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
  114. package/build/dex/jarvis.js +8 -0
  115. package/build/dex/jarvis.js.map +1 -1
  116. package/build/dex/kyberdmm/kyberdmm.js +4 -0
  117. package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
  118. package/build/dex/lido/lido.js +5 -0
  119. package/build/dex/lido/lido.js.map +1 -1
  120. package/build/{abi/angle-transmuter/MorphoOracle.json → dex/lighter-v1/abi/erc20.json} +126 -97
  121. package/build/dex/lighter-v1/abi/factory.json +291 -0
  122. package/build/dex/lighter-v1/abi/order_book.json +594 -0
  123. package/build/dex/lighter-v1/abi/order_book_helper.json +176 -0
  124. package/build/dex/lighter-v1/abi/router.json +488 -0
  125. package/build/dex/{trader-joe-v2_1 → lighter-v1}/config.d.ts +1 -1
  126. package/build/dex/lighter-v1/config.js +17 -0
  127. package/build/dex/lighter-v1/config.js.map +1 -0
  128. package/build/dex/lighter-v1/constants.d.ts +2 -0
  129. package/build/dex/lighter-v1/constants.js +13 -0
  130. package/build/dex/lighter-v1/constants.js.map +1 -0
  131. package/build/dex/lighter-v1/lighter-v1-pool.d.ts +57 -0
  132. package/build/dex/lighter-v1/lighter-v1-pool.js +310 -0
  133. package/build/dex/lighter-v1/lighter-v1-pool.js.map +1 -0
  134. package/build/dex/{angle-transmuter/angle-transmuter.d.ts → lighter-v1/lighter-v1.d.ts} +17 -31
  135. package/build/dex/lighter-v1/lighter-v1.js +331 -0
  136. package/build/dex/lighter-v1/lighter-v1.js.map +1 -0
  137. package/build/dex/lighter-v1/types.d.ts +40 -0
  138. package/build/dex/lighter-v1/types.js +3 -0
  139. package/build/dex/lighter-v1/types.js.map +1 -0
  140. package/build/dex/maker-psm/maker-psm.js +1 -0
  141. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  142. package/build/dex/maverick-v1/maverick-v1.js +4 -0
  143. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  144. package/build/dex/nerve/nerve.js +4 -0
  145. package/build/dex/nerve/nerve.js.map +1 -1
  146. package/build/dex/onebit/onebit.js +5 -0
  147. package/build/dex/onebit/onebit.js.map +1 -1
  148. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +4 -0
  149. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  150. package/build/dex/pancakeswap-v3/types.d.ts +14 -0
  151. package/build/dex/pancakeswap-v3/types.js +3 -0
  152. package/build/dex/pancakeswap-v3/types.js.map +1 -0
  153. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +1 -0
  154. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
  155. package/build/dex/platypus/platypus.js +17 -3
  156. package/build/dex/platypus/platypus.js.map +1 -1
  157. package/build/dex/polygon-migrator/polygon-migrator.js +1 -0
  158. package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
  159. package/build/dex/quick-perps/quick-perps.js +7 -1
  160. package/build/dex/quick-perps/quick-perps.js.map +1 -1
  161. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  162. package/build/dex/quickswap/camelot-v3.js +19 -0
  163. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  164. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  165. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  166. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  167. package/build/dex/quickswap-v3.d.ts +21 -0
  168. package/build/dex/quickswap-v3.js +40 -0
  169. package/build/dex/quickswap-v3.js.map +1 -0
  170. package/build/dex/{angle-transmuter → ramses-v2}/config.d.ts +1 -1
  171. package/build/dex/ramses-v2/config.js +28 -0
  172. package/build/dex/ramses-v2/config.js.map +1 -0
  173. package/build/dex/ramses-v2/constants.d.ts +28 -0
  174. package/build/dex/ramses-v2/constants.js +35 -0
  175. package/build/dex/ramses-v2/constants.js.map +1 -0
  176. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +4 -0
  177. package/build/dex/ramses-v2/contract-math/BitMath.js +93 -0
  178. package/build/dex/ramses-v2/contract-math/BitMath.js.map +1 -0
  179. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +3 -0
  180. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +8 -0
  181. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +1 -0
  182. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +4 -0
  183. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +9 -0
  184. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +1 -0
  185. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +4 -0
  186. package/build/dex/ramses-v2/contract-math/FullMath.js +19 -0
  187. package/build/dex/ramses-v2/contract-math/FullMath.js.map +1 -0
  188. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +3 -0
  189. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +22 -0
  190. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +1 -0
  191. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +10 -0
  192. package/build/dex/ramses-v2/contract-math/Oracle.js +133 -0
  193. package/build/dex/ramses-v2/contract-math/Oracle.js.map +1 -0
  194. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +10 -0
  195. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +91 -0
  196. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +1 -0
  197. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +8 -0
  198. package/build/dex/ramses-v2/contract-math/SwapMath.js +70 -0
  199. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +1 -0
  200. package/build/dex/ramses-v2/contract-math/Tick.d.ts +7 -0
  201. package/build/dex/ramses-v2/contract-math/Tick.js +45 -0
  202. package/build/dex/ramses-v2/contract-math/Tick.js.map +1 -0
  203. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +8 -0
  204. package/build/dex/ramses-v2/contract-math/TickBitMap.js +87 -0
  205. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +1 -0
  206. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +8 -0
  207. package/build/dex/ramses-v2/contract-math/TickMath.js +162 -0
  208. package/build/dex/ramses-v2/contract-math/TickMath.js.map +1 -0
  209. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +3 -0
  210. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +10 -0
  211. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +1 -0
  212. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +18 -0
  213. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +392 -0
  214. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +1 -0
  215. package/build/dex/ramses-v2/contract-math/utils.d.ts +3 -0
  216. package/build/dex/ramses-v2/contract-math/utils.js +16 -0
  217. package/build/dex/ramses-v2/contract-math/utils.js.map +1 -0
  218. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +42 -0
  219. package/build/dex/ramses-v2/ramses-v2-pool.js +307 -0
  220. package/build/dex/ramses-v2/ramses-v2-pool.js.map +1 -0
  221. package/build/dex/ramses-v2/ramses-v2.d.ts +61 -0
  222. package/build/dex/ramses-v2/ramses-v2.js +690 -0
  223. package/build/dex/ramses-v2/ramses-v2.js.map +1 -0
  224. package/build/dex/ramses-v2/types.d.ts +154 -0
  225. package/build/dex/ramses-v2/types.js +9 -0
  226. package/build/dex/ramses-v2/types.js.map +1 -0
  227. package/build/dex/ramses-v2/utils.d.ts +6 -0
  228. package/build/dex/ramses-v2/utils.js +71 -0
  229. package/build/dex/ramses-v2/utils.js.map +1 -0
  230. package/build/dex/smoothy/smoothy.js +1 -0
  231. package/build/dex/smoothy/smoothy.js.map +1 -1
  232. package/build/dex/solidly/forks-override/fvm.d.ts +20 -0
  233. package/build/dex/solidly/forks-override/fvm.js +42 -0
  234. package/build/dex/solidly/forks-override/fvm.js.map +1 -0
  235. package/build/dex/solidly/solidly.js +1 -0
  236. package/build/dex/solidly/solidly.js.map +1 -1
  237. package/build/dex/solidly-v3/solidly-v3.js +1 -0
  238. package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
  239. package/build/dex/spark/spark.js +6 -0
  240. package/build/dex/spark/spark.js.map +1 -1
  241. package/build/dex/stable-pool/stable-pool.js +4 -0
  242. package/build/dex/stable-pool/stable-pool.js.map +1 -1
  243. package/build/dex/sushiswap-v3/config.d.ts +4 -0
  244. package/build/dex/sushiswap-v3/config.js +132 -0
  245. package/build/dex/sushiswap-v3/config.js.map +1 -0
  246. package/build/dex/sushiswap-v3/constants.d.ts +4 -0
  247. package/build/dex/sushiswap-v3/constants.js +32 -0
  248. package/build/dex/sushiswap-v3/constants.js.map +1 -0
  249. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +56 -0
  250. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +598 -0
  251. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +1 -0
  252. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +1 -0
  253. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +6 -0
  254. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +1 -0
  255. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +21 -0
  256. package/build/dex/sushiswap-v3/sushiswap-v3.js +58 -0
  257. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +1 -0
  258. package/build/dex/sushiswap-v3/token.d.ts +6 -0
  259. package/build/dex/sushiswap-v3/token.js +23 -0
  260. package/build/dex/sushiswap-v3/token.js.map +1 -0
  261. package/build/dex/sushiswap-v3/types.d.ts +15 -0
  262. package/build/dex/sushiswap-v3/types.js +18 -0
  263. package/build/dex/sushiswap-v3/types.js.map +1 -0
  264. package/build/dex/swaap-v1/swaap-v1.js +4 -0
  265. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  266. package/build/dex/swaap-v2/swaap-v2.js +1 -0
  267. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  268. package/build/dex/swell/swell.js +1 -0
  269. package/build/dex/swell/swell.js.map +1 -1
  270. package/build/dex/synthetix/synthetix.js +6 -0
  271. package/build/dex/synthetix/synthetix.js.map +1 -1
  272. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +4 -0
  273. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -1
  274. package/build/dex/uniswap-v2/uniswap-v2.js +1 -0
  275. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  276. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
  277. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
  278. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  279. package/build/dex/uniswap-v3/uniswap-v3.js +4 -0
  280. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  281. package/build/dex/uniswap-v3.js +4 -0
  282. package/build/dex/uniswap-v3.js.map +1 -1
  283. package/build/dex/weth/weth.js +1 -0
  284. package/build/dex/weth/weth.js.map +1 -1
  285. package/build/dex/wombat/wombat.js +4 -0
  286. package/build/dex/wombat/wombat.js.map +1 -1
  287. package/build/dex/woo-fi/config.d.ts +4 -0
  288. package/build/dex/woo-fi/config.js +141 -0
  289. package/build/dex/woo-fi/config.js.map +1 -0
  290. package/build/dex/woo-fi/constants.d.ts +5 -0
  291. package/build/dex/woo-fi/constants.js +20 -0
  292. package/build/dex/woo-fi/constants.js.map +1 -0
  293. package/build/dex/woo-fi/types.d.ts +48 -0
  294. package/build/dex/woo-fi/types.js +3 -0
  295. package/build/dex/woo-fi/types.js.map +1 -0
  296. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
  297. package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
  298. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
  299. package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
  300. package/build/dex/woo-fi/woo-fi-math.js +300 -0
  301. package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
  302. package/build/dex/woo-fi/woo-fi.d.ts +65 -0
  303. package/build/dex/woo-fi/woo-fi.js +480 -0
  304. package/build/dex/woo-fi/woo-fi.js.map +1 -0
  305. package/build/dex/woo-fi-v2/woo-fi-v2.js +4 -0
  306. package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
  307. package/build/dex/wsteth/wsteth.js +8 -1
  308. package/build/dex/wsteth/wsteth.js.map +1 -1
  309. package/build/dex/zerox/index.js +1 -0
  310. package/build/dex/zerox/index.js.map +1 -1
  311. package/build/executor/Executor01BytecodeBuilder.js +4 -1
  312. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  313. package/build/executor/Executor02BytecodeBuilder.js +5 -1
  314. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  315. package/build/executor/ExecutorBytecodeBuilder.d.ts +1 -1
  316. package/build/executor/ExecutorBytecodeBuilder.js +5 -4
  317. package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
  318. package/build/executor/ExecutorDetector.d.ts +1 -1
  319. package/build/executor/ExecutorDetector.js.map +1 -1
  320. package/build/executor/IExecutorBytecodeBuilder.d.ts +6 -0
  321. package/build/executor/IExecutorBytecodeBuilder.js +3 -0
  322. package/build/executor/IExecutorBytecodeBuilder.js.map +1 -0
  323. package/build/executor/constants.d.ts +3 -1
  324. package/build/executor/constants.js +4 -2
  325. package/build/executor/constants.js.map +1 -1
  326. package/build/executor/utils.d.ts +2 -0
  327. package/build/executor/utils.js +30 -0
  328. package/build/executor/utils.js.map +1 -0
  329. package/build/router/simpleswap.js +6 -3
  330. package/build/router/simpleswap.js.map +1 -1
  331. package/build/types.d.ts +1 -0
  332. package/dex-template/__DexName__-e2e.test.ts.template +2 -9
  333. package/dex-template/__DexName__.ts.template +2 -29
  334. package/funding.json +5 -0
  335. package/package.json +1 -1
  336. package/src/dex/aave-v1/aave-v1.ts +1 -0
  337. package/src/dex/aave-v2/aave-v2.ts +1 -0
  338. package/src/dex/aave-v3/aave-v3.ts +1 -0
  339. package/src/dex/algebra/algebra.ts +9 -0
  340. package/src/dex/angle-staked-stable/angle-staked-stable.ts +2 -5
  341. package/src/dex/bProtocol/bProtocol.ts +8 -0
  342. package/src/dex/balancer-v1/balancer-v1.ts +9 -0
  343. package/src/dex/balancer-v2/balancer-v2.ts +3 -2
  344. package/src/dex/bancor/bancor.ts +8 -0
  345. package/src/dex/camelot/camelot.ts +1 -0
  346. package/src/dex/compound/compound.ts +1 -0
  347. package/src/dex/curve-v1/curve-v1.ts +1 -0
  348. package/src/dex/curve-v1-factory/curve-v1-factory.ts +1 -0
  349. package/src/dex/curve-v2/curve-v2.ts +1 -0
  350. package/src/dex/dexalot/dexalot.ts +1 -0
  351. package/src/dex/dodo-v1/dodo-v1.ts +9 -0
  352. package/src/dex/dodo-v2.ts +9 -0
  353. package/src/dex/etherfi.ts +2 -0
  354. package/src/dex/generic-rfq/generic-rfq.ts +1 -0
  355. package/src/dex/gmx/gmx.ts +8 -0
  356. package/src/dex/hashflow/hashflow.ts +1 -0
  357. package/src/dex/idex.ts +5 -3
  358. package/src/dex/jarvis-v6/jarvis-v6.ts +1 -0
  359. package/src/dex/jarvis.ts +14 -0
  360. package/src/dex/kyberdmm/kyberdmm.ts +9 -0
  361. package/src/dex/lido/lido.ts +8 -0
  362. package/src/dex/maker-psm/maker-psm.ts +1 -0
  363. package/src/dex/maverick-v1/maverick-v1.ts +9 -0
  364. package/src/dex/nerve/nerve.ts +8 -0
  365. package/src/dex/onebit/onebit.ts +8 -0
  366. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +9 -0
  367. package/src/dex/paraswap-limit-orders/paraswap-limit-orders.ts +1 -0
  368. package/src/dex/platypus/platypus.ts +20 -3
  369. package/src/dex/polygon-migrator/polygon-migrator.ts +1 -0
  370. package/src/dex/quick-perps/quick-perps.ts +11 -1
  371. package/src/dex/smoothy/smoothy.ts +1 -0
  372. package/src/dex/solidly/solidly.ts +1 -0
  373. package/src/dex/solidly-v3/solidly-v3.ts +1 -1
  374. package/src/dex/spark/spark.ts +10 -0
  375. package/src/dex/stable-pool/stable-pool.ts +8 -0
  376. package/src/dex/swaap-v1/swaap-v1.ts +9 -0
  377. package/src/dex/swaap-v2/swaap-v2.ts +1 -0
  378. package/src/dex/swell/swell.ts +1 -0
  379. package/src/dex/synthetix/synthetix.ts +11 -0
  380. package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +9 -0
  381. package/src/dex/uniswap-v2/uniswap-v2.ts +1 -0
  382. package/src/dex/uniswap-v3/uniswap-v3.ts +9 -0
  383. package/src/dex/uniswap-v3.ts +9 -0
  384. package/src/dex/weth/weth.ts +1 -0
  385. package/src/dex/wombat/wombat.ts +9 -0
  386. package/src/dex/woo-fi-v2/woo-fi-v2.ts +5 -0
  387. package/src/dex/wsteth/wsteth.ts +13 -4
  388. package/src/dex/zerox/index.ts +1 -0
  389. package/src/executor/Executor01BytecodeBuilder.ts +8 -1
  390. package/src/executor/Executor02BytecodeBuilder.ts +13 -0
  391. package/src/executor/ExecutorBytecodeBuilder.ts +6 -1
  392. package/src/executor/ExecutorDetector.ts +3 -2
  393. package/src/executor/constants.ts +4 -1
  394. package/src/executor/executor01-bytecode-builder-e2e.test.ts +39 -0
  395. package/src/executor/utils.ts +44 -0
  396. package/src/router/simpleswap.ts +7 -3
  397. package/src/types.ts +1 -0
  398. package/tests/constants-e2e.ts +6 -1
  399. package/build/abi/Redstone.json +0 -739
  400. package/build/abi/angle-transmuter/MorphoVault.json +0 -2506
  401. package/build/abi/angle-transmuter/Pyth.json +0 -1534
  402. package/build/abi/angle-transmuter/Transmuter.json +0 -1711
  403. package/build/abi/idle-dao/idle-cdo-factory.json +0 -38
  404. package/build/abi/idle-dao/idle-cdo.json +0 -1245
  405. package/build/abi/pharaoh/PharaohPool.abi.json +0 -1582
  406. package/build/abi/smardex/smardex-factory.json +0 -185
  407. package/build/abi/smardex/smardex-pool.json +0 -578
  408. package/build/abi/smardex/smardex-router.json +0 -648
  409. package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -1208
  410. package/build/abi/trader-joe-v2_1/PairABI.json +0 -1493
  411. package/build/abi/trader-joe-v2_1/RouterABI.json +0 -1489
  412. package/build/abi/trader-joe-v2_1/StateMulticall.json +0 -193
  413. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -61
  414. package/build/dex/angle-transmuter/angle-transmuter-pool.js +0 -415
  415. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +0 -1
  416. package/build/dex/angle-transmuter/angle-transmuter.js +0 -262
  417. package/build/dex/angle-transmuter/angle-transmuter.js.map +0 -1
  418. package/build/dex/angle-transmuter/backedOracle.d.ts +0 -19
  419. package/build/dex/angle-transmuter/backedOracle.js +0 -56
  420. package/build/dex/angle-transmuter/backedOracle.js.map +0 -1
  421. package/build/dex/angle-transmuter/config.js +0 -30
  422. package/build/dex/angle-transmuter/config.js.map +0 -1
  423. package/build/dex/angle-transmuter/constants.d.ts +0 -77
  424. package/build/dex/angle-transmuter/constants.js +0 -94
  425. package/build/dex/angle-transmuter/constants.js.map +0 -1
  426. package/build/dex/angle-transmuter/morphoOracle.js +0 -179
  427. package/build/dex/angle-transmuter/morphoOracle.js.map +0 -1
  428. package/build/dex/angle-transmuter/morphoVault.d.ts +0 -19
  429. package/build/dex/angle-transmuter/morphoVault.js +0 -78
  430. package/build/dex/angle-transmuter/morphoVault.js.map +0 -1
  431. package/build/dex/angle-transmuter/pyth.d.ts +0 -19
  432. package/build/dex/angle-transmuter/pyth.js +0 -70
  433. package/build/dex/angle-transmuter/pyth.js.map +0 -1
  434. package/build/dex/angle-transmuter/redstone.d.ts +0 -20
  435. package/build/dex/angle-transmuter/redstone.js +0 -73
  436. package/build/dex/angle-transmuter/redstone.js.map +0 -1
  437. package/build/dex/angle-transmuter/transmuter.d.ts +0 -52
  438. package/build/dex/angle-transmuter/transmuter.js +0 -374
  439. package/build/dex/angle-transmuter/transmuter.js.map +0 -1
  440. package/build/dex/angle-transmuter/types.d.ts +0 -188
  441. package/build/dex/angle-transmuter/types.js +0 -33
  442. package/build/dex/angle-transmuter/types.js.map +0 -1
  443. package/build/dex/angle-transmuter/utils.d.ts +0 -9
  444. package/build/dex/angle-transmuter/utils.js +0 -252
  445. package/build/dex/angle-transmuter/utils.js.map +0 -1
  446. package/build/dex/idle-dao/config.d.ts +0 -6
  447. package/build/dex/idle-dao/config.js +0 -29
  448. package/build/dex/idle-dao/config.js.map +0 -1
  449. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  450. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  451. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  452. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  453. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  454. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  455. package/build/dex/idle-dao/idle-dao.d.ts +0 -52
  456. package/build/dex/idle-dao/idle-dao.js +0 -310
  457. package/build/dex/idle-dao/idle-dao.js.map +0 -1
  458. package/build/dex/idle-dao/tokens.d.ts +0 -16
  459. package/build/dex/idle-dao/tokens.js +0 -87
  460. package/build/dex/idle-dao/tokens.js.map +0 -1
  461. package/build/dex/idle-dao/types.d.ts +0 -37
  462. package/build/dex/idle-dao/types.js +0 -11
  463. package/build/dex/idle-dao/types.js.map +0 -1
  464. package/build/dex/idle-dao/utils.d.ts +0 -8
  465. package/build/dex/idle-dao/utils.js +0 -145
  466. package/build/dex/idle-dao/utils.js.map +0 -1
  467. package/build/dex/smardex/subgraph-queries.d.ts +0 -1
  468. package/build/dex/smardex/subgraph-queries.js +0 -17
  469. package/build/dex/smardex/subgraph-queries.js.map +0 -1
  470. package/build/dex/smardex/usd-reserves.d.ts +0 -23
  471. package/build/dex/smardex/usd-reserves.js +0 -86
  472. package/build/dex/smardex/usd-reserves.js.map +0 -1
  473. package/build/dex/trader-joe-v2-1-2/config.js +0 -47
  474. package/build/dex/trader-joe-v2-1-2/config.js.map +0 -1
  475. package/build/dex/trader-joe-v2-1-2/constants.d.ts +0 -20
  476. package/build/dex/trader-joe-v2-1-2/constants.js +0 -22
  477. package/build/dex/trader-joe-v2-1-2/constants.js.map +0 -1
  478. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +0 -37
  479. package/build/dex/trader-joe-v2-1-2/math/index.js +0 -291
  480. package/build/dex/trader-joe-v2-1-2/math/index.js.map +0 -1
  481. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +0 -60
  482. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +0 -248
  483. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +0 -1
  484. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +0 -53
  485. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +0 -307
  486. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +0 -1
  487. package/build/dex/trader-joe-v2-1-2/types.d.ts +0 -82
  488. package/build/dex/trader-joe-v2-1-2/types.js +0 -9
  489. package/build/dex/trader-joe-v2-1-2/types.js.map +0 -1
  490. package/build/dex/trader-joe-v2_1/config.js +0 -47
  491. package/build/dex/trader-joe-v2_1/config.js.map +0 -1
  492. package/build/dex/trader-joe-v2_1/constants.d.ts +0 -20
  493. package/build/dex/trader-joe-v2_1/constants.js +0 -22
  494. package/build/dex/trader-joe-v2_1/constants.js.map +0 -1
  495. package/build/dex/trader-joe-v2_1/math/index.d.ts +0 -37
  496. package/build/dex/trader-joe-v2_1/math/index.js +0 -291
  497. package/build/dex/trader-joe-v2_1/math/index.js.map +0 -1
  498. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  499. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +0 -384
  500. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +0 -1
  501. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +0 -60
  502. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +0 -247
  503. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +0 -1
  504. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +0 -53
  505. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +0 -307
  506. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +0 -1
  507. package/build/dex/trader-joe-v2_1/types.d.ts +0 -82
  508. package/build/dex/trader-joe-v2_1/types.js +0 -9
  509. package/build/dex/trader-joe-v2_1/types.js.map +0 -1
  510. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  511. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  512. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  513. package/build/dex-helper/Cache.d.ts +0 -31
  514. package/build/dex-helper/Cache.js +0 -106
  515. package/build/dex-helper/Cache.js.map +0 -1
  516. package/build/dex-helper/RedisBatcher.d.ts +0 -20
  517. package/build/dex-helper/RedisBatcher.js +0 -75
  518. package/build/dex-helper/RedisBatcher.js.map +0 -1
  519. package/build/dex-helper/RedisWrapper.d.ts +0 -37
  520. package/build/dex-helper/RedisWrapper.js +0 -165
  521. package/build/dex-helper/RedisWrapper.js.map +0 -1
@@ -0,0 +1,67 @@
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.IntegralEventPool = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
9
+ const relayer_json_1 = __importDefault(require("../../abi/integral/relayer.json"));
10
+ class IntegralEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
11
+ constructor(parentName, network, dexHelper, token0, token1, logger, integralIface = new abi_1.Interface(relayer_json_1.default)) {
12
+ super(parentName, `${token0}_${token1}`, dexHelper, logger);
13
+ this.parentName = parentName;
14
+ this.network = network;
15
+ this.dexHelper = dexHelper;
16
+ this.integralIface = integralIface;
17
+ this.handlers = {};
18
+ // TODO: make logDecoder decode logs that
19
+ this.logDecoder = (log) => this.integralIface.parseLog(log);
20
+ this.addressesSubscribed = [
21
+ /* subscribed addresses */
22
+ ];
23
+ }
24
+ /**
25
+ * The function is called every time any of the subscribed
26
+ * addresses release log. The function accepts the current
27
+ * state, updates the state according to the log, and returns
28
+ * the updated state.
29
+ * @param state - Current state of event subscriber
30
+ * @param log - Log released by one of the subscribed addresses
31
+ * @returns Updates state of the event subscriber after the log
32
+ */
33
+ processLog(state, log) {
34
+ try {
35
+ const event = this.logDecoder(log);
36
+ if (event.name in this.handlers) {
37
+ return this.handlers[event.name](event, state, log);
38
+ }
39
+ return state;
40
+ }
41
+ catch (e) {
42
+ this.logger.error(`Error_${this.parentName}_processLog could not parse the log with topic ${log.topics}:`, e);
43
+ return null;
44
+ }
45
+ }
46
+ /**
47
+ * The function generates state using on-chain calls. This
48
+ * function is called to regenerate state if the event based
49
+ * system fails to fetch events and the local state is no
50
+ * more correct.
51
+ * @param blockNumber - Blocknumber for which the state should
52
+ * should be generated
53
+ * @returns state of the event subscriber at blocknumber
54
+ */
55
+ async generateState(blockNumber) {
56
+ // TODO: complete me!
57
+ return {
58
+ price: 0n,
59
+ invertedPrice: 0n,
60
+ fee: 0n,
61
+ limits0: [0n, 0n],
62
+ limits1: [0n, 0n],
63
+ };
64
+ }
65
+ }
66
+ exports.IntegralEventPool = IntegralEventPool;
67
+ //# sourceMappingURL=integral-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integral-pool.js","sourceRoot":"","sources":["../../../src/dex/integral/integral-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAG/C,+EAA0E;AAG1E,mFAAiE;AAGjE,MAAa,iBAAkB,SAAQ,mDAA0C;IAa/E,YACS,UAAkB,EACf,OAAe,EACf,SAAqB,EAC/B,MAAe,EACf,MAAe,EACf,MAAc,EACJ,gBAAgB,IAAI,eAAS,CAAC,sBAAkB,CAAC;QAE3D,KAAK,CAAC,UAAU,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QARrD,eAAU,GAAV,UAAU,CAAQ;QACf,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAIrB,kBAAa,GAAb,aAAa,CAAoC;QAnB7D,aAAQ,GAMJ,EAAE,CAAC;QAiBL,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,mBAAmB,GAAG;QACzB,0BAA0B;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACO,UAAU,CAClB,KAAsC,EACtC,GAAkB;QAElB,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aACrD;YACD,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,UAAU,kDAAkD,GAAG,CAAC,MAAM,GAAG,EACvF,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,WAAmB;QAEnB,qBAAqB;QACrB,OAAO;YACL,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,EAAE;YACjB,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;CACF;AAhFD,8CAgFC"}
@@ -0,0 +1,48 @@
1
+ import { Token, Address, ExchangePrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, PoolPrices } from '../../types';
2
+ import { SwapSide, Network } from '../../constants';
3
+ import { IDex } from '../idex';
4
+ import { IDexHelper } from '../../dex-helper/idex-helper';
5
+ import { IntegralData, IntegralPair, IntegralPoolState } from './types';
6
+ import { SimpleExchange } from '../simple-exchange';
7
+ export declare class Integral extends SimpleExchange implements IDex<IntegralData> {
8
+ readonly network: Network;
9
+ readonly dexKey: string;
10
+ readonly dexHelper: IDexHelper;
11
+ protected adapters: import("../../types").AdapterMappings;
12
+ pairs: {
13
+ [key: string]: IntegralPair;
14
+ };
15
+ protected relayerAddress: Address;
16
+ protected subgraphURL: string | undefined;
17
+ readonly hasConstantPriceLargeAmounts = false;
18
+ readonly isFeeOnTransferSupported = false;
19
+ static dexKeysWithNetwork: {
20
+ key: string;
21
+ networks: Network[];
22
+ }[];
23
+ logger: Logger;
24
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings);
25
+ initializePricing(blockNumber: number): Promise<void>;
26
+ getAdapters(side: SwapSide): {
27
+ name: string;
28
+ index: number;
29
+ }[] | null;
30
+ getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
31
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<IntegralData>>;
32
+ getCalldataGasCost(poolPrices: PoolPrices<IntegralData>): number | number[];
33
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: IntegralData, side: SwapSide): AdapterExchangeParam;
34
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: IntegralData, side: SwapSide): Promise<SimpleExchangeParam>;
35
+ updatePoolState(): Promise<void>;
36
+ getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
37
+ getPriceOnChain(pair: IntegralPair, blockNumber: number): Promise<IntegralPoolState | null>;
38
+ protected addPool(pair: IntegralPair, params: IntegralPoolState, blockNumber: number): Promise<void>;
39
+ syncPair(_pair: [Token, Token], blockNumber: number): Promise<void>;
40
+ private findPair;
41
+ private generatePairKey;
42
+ private quoteSell;
43
+ private quoteBuy;
44
+ private isFirst;
45
+ private ceil_div;
46
+ private getDecimalsConverter;
47
+ private checkLimits;
48
+ }
@@ -0,0 +1,402 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Integral = void 0;
30
+ const lodash_1 = __importDefault(require("lodash"));
31
+ const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
32
+ const constants_1 = require("../../constants");
33
+ const utils_1 = require("../../utils");
34
+ const types_1 = require("./types");
35
+ const simple_exchange_1 = require("../simple-exchange");
36
+ const config_1 = require("./config");
37
+ const integral_pool_1 = require("./integral-pool");
38
+ const relayer_json_1 = __importDefault(require("../../abi/integral/relayer.json"));
39
+ const abi_1 = require("@ethersproject/abi");
40
+ const bigint_constants_1 = require("../../bigint-constants");
41
+ const PRECISION = bigint_constants_1.BI_POWS[18];
42
+ const SUBGRAPH_TIMEOUT = 20 * 1000;
43
+ const relayerInterface = new abi_1.Interface(relayer_json_1.default);
44
+ class Integral extends simple_exchange_1.SimpleExchange {
45
+ constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}) {
46
+ super(dexHelper, dexKey);
47
+ this.network = network;
48
+ this.dexKey = dexKey;
49
+ this.dexHelper = dexHelper;
50
+ this.adapters = adapters;
51
+ this.pairs = {};
52
+ this.hasConstantPriceLargeAmounts = false;
53
+ this.isFeeOnTransferSupported = false;
54
+ this.logger = dexHelper.getLogger(dexKey);
55
+ this.relayerAddress = config_1.IntegralConfig[dexKey][network].relayerAddress;
56
+ this.subgraphURL = config_1.IntegralConfig[dexKey][network].subgraphURL;
57
+ }
58
+ async initializePricing(blockNumber) { }
59
+ // Returns the list of contract adapters (name and index)
60
+ // for a buy/sell. Return null if there are no adapters.
61
+ getAdapters(side) {
62
+ return this.adapters[side] ? this.adapters[side] : null;
63
+ }
64
+ async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
65
+ const src = this.dexHelper.config.wrapETH(srcToken);
66
+ const dest = this.dexHelper.config.wrapETH(destToken);
67
+ if (src.address.toLowerCase() === dest.address.toLowerCase()) {
68
+ return [];
69
+ }
70
+ const tokenAddress = [src.address.toLowerCase(), dest.address.toLowerCase()]
71
+ .sort((a, b) => (a > b ? 1 : -1))
72
+ .join('_');
73
+ const poolIdentifier = `${this.dexKey}_${tokenAddress}`;
74
+ return [poolIdentifier];
75
+ }
76
+ // Returns pool prices for amounts.
77
+ // If limitPools is defined only pools in limitPools
78
+ // should be used. If limitPools is undefined then
79
+ // any pools can be used.
80
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
81
+ const src = this.dexHelper.config.wrapETH(srcToken);
82
+ const dest = this.dexHelper.config.wrapETH(destToken);
83
+ if (src.address.toLowerCase() === dest.address.toLowerCase()) {
84
+ return null;
85
+ }
86
+ const tokenAddress = [src.address.toLowerCase(), dest.address.toLowerCase()]
87
+ .sort((a, b) => (a > b ? 1 : -1))
88
+ .join('_');
89
+ const poolIdentifier = `${this.dexKey}_${tokenAddress}`;
90
+ if (limitPools && limitPools.every(p => p !== poolIdentifier)) {
91
+ return null;
92
+ }
93
+ await this.syncPair([src, dest], blockNumber);
94
+ const pair = this.findPair(src, dest);
95
+ if (!(pair && pair.pool)) {
96
+ return null;
97
+ }
98
+ const pairState = pair.pool.getState(blockNumber);
99
+ if (!pairState) {
100
+ return null;
101
+ }
102
+ const unitAmount = (0, utils_1.getBigIntPow)(side == constants_1.SwapSide.SELL ? src.decimals : dest.decimals);
103
+ const unit = side == constants_1.SwapSide.SELL
104
+ ? this.quoteSell(unitAmount, src, dest, pairState, false)
105
+ : this.quoteBuy(unitAmount, src, dest, pairState, false);
106
+ try {
107
+ const prices = side == constants_1.SwapSide.SELL
108
+ ? amounts.map(amount => this.quoteSell(amount, src, dest, pairState))
109
+ : amounts.map(amount => this.quoteBuy(amount, src, dest, pairState));
110
+ return [
111
+ {
112
+ prices: prices,
113
+ unit: unit,
114
+ data: {
115
+ relayer: this.relayerAddress,
116
+ },
117
+ exchange: this.dexKey,
118
+ poolIdentifier,
119
+ gasCost: 0,
120
+ poolAddresses: [this.relayerAddress],
121
+ },
122
+ ];
123
+ }
124
+ catch (e) {
125
+ this.logger.error(`Error_getPricesVolume could not get price with error:`, e);
126
+ return null;
127
+ }
128
+ }
129
+ // Returns estimated gas cost of calldata for this DEX in multiSwap
130
+ getCalldataGasCost(poolPrices) {
131
+ return CALLDATA_GAS_COST.DEX_NO_PAYLOAD;
132
+ }
133
+ // Encode params required by the exchange adapter
134
+ // Used for multiSwap, buy & megaSwap
135
+ // Hint: abiCoder.encodeParameter() could be useful
136
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
137
+ const { relayer: exchange } = data;
138
+ // Encode here the payload for adapter
139
+ const payload = '0x';
140
+ return {
141
+ targetExchange: exchange,
142
+ payload,
143
+ networkFee: '0',
144
+ };
145
+ }
146
+ // Encode call data used by simpleSwap like routers
147
+ // Used for simpleSwap & simpleBuy
148
+ // Hint: this.buildSimpleParamWithoutWETHConversion
149
+ // could be useful
150
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
151
+ const { relayer: exchange } = data;
152
+ // Encode here the transaction arguments
153
+ const swapData = relayerInterface.encodeFunctionData(side === constants_1.SwapSide.SELL ? types_1.IntegralFunctions.swap : types_1.IntegralFunctions.buy, [
154
+ {
155
+ ...{
156
+ tokenIn: this.dexHelper.config.wrapETH({
157
+ address: srcToken,
158
+ }).address,
159
+ tokenOut: this.dexHelper.config.wrapETH({
160
+ address: destToken,
161
+ }).address,
162
+ wrapUnwrap: (0, utils_1.isETHAddress)(srcToken) || (0, utils_1.isETHAddress)(destToken),
163
+ to: this.augustusAddress,
164
+ submitDeadline: Math.floor(Date.now() / 1000) + 24 * 3600,
165
+ },
166
+ ...(side === constants_1.SwapSide.SELL
167
+ ? { amountIn: srcAmount, amountOutMin: destAmount }
168
+ : { amountInMax: srcAmount, amountOut: destAmount }),
169
+ },
170
+ ]);
171
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
172
+ }
173
+ async updatePoolState() { }
174
+ // Returns list of top pools based on liquidity. Max
175
+ // limit number pools should be returned.
176
+ async getTopPoolsForToken(tokenAddress, limit) {
177
+ if (!this.subgraphURL) {
178
+ return [];
179
+ }
180
+ const query = `
181
+ query ($token: Bytes!, $count: Int) {
182
+ pools0: pairs(
183
+ first: $count
184
+ orderBy: reserveUSD
185
+ orderDirection: desc
186
+ where: {token0: $token}
187
+ ) {
188
+ id
189
+ token0 {
190
+ id
191
+ decimals
192
+ }
193
+ token1 {
194
+ id
195
+ decimals
196
+ }
197
+ reserveUSD
198
+ }
199
+ pools1: pairs(
200
+ first: $count
201
+ orderBy: reserveUSD
202
+ orderDirection: desc
203
+ where: {token1: $token}
204
+ ) {
205
+ id
206
+ token0 {
207
+ id
208
+ decimals
209
+ }
210
+ token1 {
211
+ id
212
+ decimals
213
+ }
214
+ reserveUSD
215
+ }
216
+ }`;
217
+ const { data } = await this.dexHelper.httpRequest.post(this.subgraphURL, {
218
+ query,
219
+ variables: { token: tokenAddress.toLowerCase(), limit },
220
+ }, SUBGRAPH_TIMEOUT);
221
+ if (!(data && data.pools0 && data.pools1))
222
+ throw new Error("Couldn't fetch the pools from the subgraph");
223
+ const pools0 = lodash_1.default.map(data.pools0, pool => ({
224
+ exchange: this.dexKey,
225
+ address: pool.id.toLowerCase(),
226
+ connectorTokens: [
227
+ {
228
+ address: pool.token1.id.toLowerCase(),
229
+ decimals: parseInt(pool.token1.decimals),
230
+ },
231
+ ],
232
+ liquidityUSD: parseFloat(pool.reserveUSD),
233
+ }));
234
+ const pools1 = lodash_1.default.map(data.pools1, pool => ({
235
+ exchange: this.dexKey,
236
+ address: pool.id.toLowerCase(),
237
+ connectorTokens: [
238
+ {
239
+ address: pool.token0.id.toLowerCase(),
240
+ decimals: parseInt(pool.token0.decimals),
241
+ },
242
+ ],
243
+ liquidityUSD: parseFloat(pool.reserveUSD),
244
+ }));
245
+ return lodash_1.default.slice(lodash_1.default.sortBy(lodash_1.default.concat(pools0, pools1), [pool => -1 * pool.liquidityUSD]), 0, limit);
246
+ }
247
+ async getPriceOnChain(pair, blockNumber) {
248
+ try {
249
+ const calldata = [
250
+ {
251
+ target: this.relayerAddress,
252
+ callData: relayerInterface.encodeFunctionData('getPoolState', [
253
+ pair.token0.address,
254
+ pair.token1.address,
255
+ ]),
256
+ },
257
+ {
258
+ target: this.relayerAddress,
259
+ callData: relayerInterface.encodeFunctionData('getPoolState', [
260
+ pair.token1.address,
261
+ pair.token0.address,
262
+ ]),
263
+ },
264
+ ];
265
+ const data = await this.dexHelper.multiContract.methods
266
+ .aggregate(calldata)
267
+ .call({}, blockNumber);
268
+ const result = relayerInterface.decodeFunctionResult('getPoolState', data.returnData[0]);
269
+ const invertedResult = relayerInterface.decodeFunctionResult('getPoolState', data.returnData[1]);
270
+ return {
271
+ price: BigInt(result.price.toString()),
272
+ invertedPrice: BigInt(invertedResult.price.toString()),
273
+ fee: BigInt(result.fee.toString()),
274
+ limits0: [result.limitMin0, result.limitMax0].map((limit) => BigInt(limit.toString())),
275
+ limits1: [result.limitMin1, result.limitMax1].map((limit) => BigInt(limit.toString())),
276
+ };
277
+ }
278
+ catch (e) {
279
+ this.logger.error(`Error_getPriceOnChain could not get data with error:`, e);
280
+ return null;
281
+ }
282
+ }
283
+ async addPool(pair, params, blockNumber) {
284
+ pair.pool = new integral_pool_1.IntegralEventPool(this.dexKey, this.network, this.dexHelper, pair.token0.address, pair.token1.address, this.logger);
285
+ if (blockNumber) {
286
+ pair.pool.setState(params, blockNumber);
287
+ }
288
+ }
289
+ async syncPair(_pair, blockNumber) {
290
+ if (!blockNumber) {
291
+ return;
292
+ }
293
+ const pair = this.findPair(_pair[0], _pair[1]);
294
+ if (!pair) {
295
+ return;
296
+ }
297
+ if (pair.pool && pair.pool.getState(blockNumber)) {
298
+ return;
299
+ }
300
+ const states = await this.getPriceOnChain(pair, blockNumber);
301
+ if (!states) {
302
+ this.logger.error(`Error_getPriceOnChain didn't get any prices`);
303
+ return;
304
+ }
305
+ if (!pair.pool) {
306
+ await this.addPool(pair, states, blockNumber);
307
+ }
308
+ else {
309
+ pair.pool.setState(states, blockNumber);
310
+ }
311
+ }
312
+ findPair(from, to) {
313
+ if (from.address.toLocaleLowerCase() === to.address.toLowerCase()) {
314
+ return null;
315
+ }
316
+ const { key, token0, token1 } = this.generatePairKey(from, to);
317
+ if (!this.pairs[key]) {
318
+ this.pairs[key] = { token0, token1 };
319
+ }
320
+ return this.pairs[key];
321
+ }
322
+ generatePairKey(tokenA, tokenB) {
323
+ const inverted = tokenA.address.toLowerCase() > tokenB.address.toLowerCase();
324
+ const [token0, token1] = inverted ? [tokenB, tokenA] : [tokenA, tokenB];
325
+ return {
326
+ key: `${token0.address.toLowerCase()}-${token1.address.toLowerCase()}`,
327
+ token0,
328
+ token1,
329
+ };
330
+ }
331
+ quoteSell(amountIn, tokenIn, tokenOut, state, checkLimit = true) {
332
+ if (amountIn === 0n) {
333
+ return 0n;
334
+ }
335
+ const pair = this.findPair(tokenIn, tokenOut);
336
+ if (!pair) {
337
+ return 0n;
338
+ }
339
+ const inverted = !this.isFirst(tokenIn.address, pair);
340
+ const fee = (amountIn * state.fee) / PRECISION;
341
+ const amountInMinusFee = amountIn - fee;
342
+ const price = inverted ? state.invertedPrice : state.price;
343
+ const decimalsConverter = this.getDecimalsConverter(pair.token0.decimals, pair.token1.decimals, inverted);
344
+ const amountOut = (amountInMinusFee * price) / decimalsConverter;
345
+ const limits = this.isFirst(tokenOut.address, pair)
346
+ ? state.limits0
347
+ : state.limits1;
348
+ if (checkLimit && !this.checkLimits(amountOut, limits)) {
349
+ throw new Error(`Out of Limits - amountOut ${amountOut} not in between limits ${limits}`);
350
+ }
351
+ return amountOut;
352
+ }
353
+ quoteBuy(amountOut, tokenIn, tokenOut, state, checkLimit = true) {
354
+ if (amountOut === 0n) {
355
+ return 0n;
356
+ }
357
+ const pair = this.findPair(tokenIn, tokenOut);
358
+ if (!pair) {
359
+ return 0n;
360
+ }
361
+ const inverted = !this.isFirst(tokenIn.address, pair);
362
+ const limits = this.isFirst(tokenOut.address, pair)
363
+ ? state.limits0
364
+ : state.limits1;
365
+ if (checkLimit && !this.checkLimits(amountOut, limits)) {
366
+ throw new Error(`Out of Limits - amountOut ${amountOut} not in between limits ${limits}`);
367
+ }
368
+ const price = inverted ? state.invertedPrice : state.price;
369
+ const decimalsConverter = this.getDecimalsConverter(pair.token0.decimals, pair.token1.decimals, inverted);
370
+ const amountIn = this.ceil_div(amountOut * decimalsConverter, price);
371
+ if (amountIn <= 0n) {
372
+ return 0n;
373
+ }
374
+ const amountInPlusFee = this.ceil_div(amountIn * PRECISION, PRECISION - state.fee);
375
+ return amountInPlusFee;
376
+ }
377
+ isFirst(address, pair) {
378
+ return address.toLowerCase() === pair.token0.address.toLowerCase();
379
+ }
380
+ ceil_div(a, b) {
381
+ const c = a / b;
382
+ if (a != b * c) {
383
+ return c + 1n;
384
+ }
385
+ else {
386
+ return c;
387
+ }
388
+ }
389
+ getDecimalsConverter(decimals0, decimals1, inverted) {
390
+ return (10n **
391
+ (18n + BigInt(inverted ? decimals1 - decimals0 : decimals0 - decimals1)));
392
+ }
393
+ checkLimits(amount, limits) {
394
+ if (amount < limits[0] || amount > limits[1]) {
395
+ return false;
396
+ }
397
+ return true;
398
+ }
399
+ }
400
+ exports.Integral = Integral;
401
+ Integral.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.IntegralConfig);
402
+ //# sourceMappingURL=integral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integral.js","sourceRoot":"","sources":["../../../src/dex/integral/integral.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Address, Token } from '../../types';
2
+ import { IntegralEventPool } from './integral-pool';
3
+ export declare type IntegralPoolState = {
4
+ price: bigint;
5
+ invertedPrice: bigint;
6
+ fee: bigint;
7
+ limits0: [bigint, bigint];
8
+ limits1: [bigint, bigint];
9
+ };
10
+ export declare type IntegralData = {
11
+ relayer: Address;
12
+ };
13
+ export declare type DexParams = {
14
+ relayerAddress: string;
15
+ subgraphURL?: string;
16
+ };
17
+ export declare type IntegralPair = {
18
+ token0: Token;
19
+ token1: Token;
20
+ pool?: IntegralEventPool;
21
+ };
22
+ export declare enum IntegralFunctions {
23
+ swap = "sell",
24
+ buy = "buy"
25
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntegralFunctions = void 0;
4
+ var IntegralFunctions;
5
+ (function (IntegralFunctions) {
6
+ IntegralFunctions["swap"] = "sell";
7
+ IntegralFunctions["buy"] = "buy";
8
+ })(IntegralFunctions = exports.IntegralFunctions || (exports.IntegralFunctions = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/integral/types.ts"],"names":[],"mappings":";;;AA0BA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,gCAAW,CAAA;AACb,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B"}
@@ -281,6 +281,7 @@ class JarvisV6 extends simple_exchange_1.SimpleExchange {
281
281
  dexFuncHasRecipient: true,
282
282
  exchangeData,
283
283
  targetExchange: data.poolAddress.toLowerCase(),
284
+ returnAmountPos: undefined,
284
285
  };
285
286
  }
286
287
  // Returns list of top pools based on liquidity. Max
@@ -1 +1 @@
1
- {"version":3,"file":"jarvis-v6.js","sourceRoot":"","sources":["../../../src/dex/jarvis-v6/jarvis-v6.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jarvis-v6.js","sourceRoot":"","sources":["../../../src/dex/jarvis-v6/jarvis-v6.ts"],"names":[],"mappings":"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"}