@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
@@ -1 +1 @@
1
- {"version":3,"file":"simpleswap.js","sourceRoot":"","sources":["../../src/router/simpleswap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleswap.js","sourceRoot":"","sources":["../../src/router/simpleswap.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -145,6 +145,7 @@ export declare type DexExchangeParam = {
145
145
  specialDexSupportsInsertFromAmount?: boolean;
146
146
  swappedAmountNotPresentInExchangeData?: boolean;
147
147
  preSwapUnwrapCalldata?: string;
148
+ returnAmountPos: number | undefined;
148
149
  };
149
150
  export declare type DexExchangeBuildParam = DexExchangeParam & {
150
151
  approveData?: {
@@ -70,16 +70,9 @@ function testForNetwork(
70
70
 
71
71
  // TODO: Add any direct swap contractMethod name if it exists
72
72
  const sideToContractMethods = new Map([
73
- [
74
- SwapSide.SELL,
75
- [
76
- ContractMethod.simpleSwap,
77
- ContractMethod.multiSwap,
78
- ContractMethod.megaSwap,
79
- ],
80
- ],
73
+ [SwapSide.SELL, [ContractMethod.swapExactAmountIn]],
81
74
  // TODO: If buy is not supported remove the buy contract methods
82
- [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
75
+ [SwapSide.BUY, [ContractMethod.swapExactAmountOut]],
83
76
  ]);
84
77
 
85
78
  describe(`${network}`, () => {
@@ -105,7 +105,8 @@ export class __DexName__
105
105
  }
106
106
 
107
107
  // Encode params required by the exchange adapter
108
- // Used for multiSwap, buy & megaSwap
108
+ // V5: Used for multiSwap, buy & megaSwap
109
+ // V6: Not used, can be left blank
109
110
  // Hint: abiCoder.encodeParameter() could be useful
110
111
  getAdapterParam(
111
112
  srcToken: string,
@@ -128,34 +129,6 @@ export class __DexName__
128
129
  };
129
130
  }
130
131
 
131
- // Encode call data used by simpleSwap like routers
132
- // Used for simpleSwap & simpleBuy
133
- // Hint: this.buildSimpleParamWithoutWETHConversion
134
- // could be useful
135
- async getSimpleParam(
136
- srcToken: string,
137
- destToken: string,
138
- srcAmount: string,
139
- destAmount: string,
140
- data: __DexName__Data,
141
- side: SwapSide,
142
- ): Promise<SimpleExchangeParam> {
143
- // TODO: complete me!
144
- const { exchange } = data;
145
-
146
- // Encode here the transaction arguments
147
- const swapData = '';
148
-
149
- return this.buildSimpleParamWithoutWETHConversion(
150
- srcToken,
151
- srcAmount,
152
- destToken,
153
- destAmount,
154
- swapData,
155
- exchange,
156
- );
157
- }
158
-
159
132
  // This is called once before getTopPoolsForToken is
160
133
  // called for multiple tokens. This can be helpful to
161
134
  // update common state required for calculating
package/funding.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "opRetro": {
3
+ "projectId": "0x40666399bef533ba8b13292f910c26f5523b057ed33a51d3d90d2fe0079a1c9e"
4
+ }
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.3.0",
3
+ "version": "3.3.1-return-amount-pos.1",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -237,6 +237,7 @@ export class AaveV1
237
237
  dexFuncHasRecipient: false,
238
238
  exchangeData,
239
239
  targetExchange: swapCallee,
240
+ returnAmountPos: undefined,
240
241
  };
241
242
  }
242
243
 
@@ -386,6 +386,7 @@ export class AaveV2
386
386
  dexFuncHasRecipient: true,
387
387
  exchangeData,
388
388
  targetExchange: swapCallee,
389
+ returnAmountPos: undefined,
389
390
  };
390
391
  }
391
392
 
@@ -245,6 +245,7 @@ export class AaveV3 extends SimpleExchange implements IDex<Data, Param> {
245
245
  dexFuncHasRecipient: true,
246
246
  exchangeData,
247
247
  targetExchange: swapCallee,
248
+ returnAmountPos: undefined,
248
249
  };
249
250
  }
250
251
 
@@ -52,6 +52,7 @@ import { AlgebraEventPoolV1_9 } from './algebra-pool-v1_9';
52
52
  import { AlgebraFactory, OnPoolCreatedCallback } from './algebra-factory';
53
53
  import { applyTransferFee } from '../../lib/token-transfer-fee';
54
54
  import { AlgebraEventPoolV1_9_bidirectional_fee } from './algebra-pool-v1_9_bidirectional_fee';
55
+ import { extractReturnAmountPosition } from '../../executor/utils';
55
56
 
56
57
  type PoolPairsInfo = {
57
58
  token0: Address;
@@ -942,6 +943,14 @@ export class Algebra extends SimpleExchange implements IDex<AlgebraData> {
942
943
  dexFuncHasRecipient: true,
943
944
  exchangeData,
944
945
  targetExchange: this.config.router,
946
+ returnAmountPos:
947
+ side === SwapSide.SELL
948
+ ? extractReturnAmountPosition(
949
+ this.routerIface,
950
+ swapFunction,
951
+ 'amountOut',
952
+ )
953
+ : undefined,
945
954
  };
946
955
  }
947
956
 
@@ -12,7 +12,7 @@ import type {
12
12
  NumberAsString,
13
13
  DexExchangeParam,
14
14
  } from '../../types';
15
- import { SwapSide, type Network } from '../../constants';
15
+ import { SwapSide, Network } from '../../constants';
16
16
  import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
17
17
  import { getDexKeysWithNetwork } from '../../utils';
18
18
  import type { Context, IDex } from '../../dex/idex';
@@ -187,10 +187,6 @@ export class AngleStakedStable
187
187
  };
188
188
  }
189
189
 
190
- // Encode call data used by simpleSwap like routers
191
- // Used for simpleSwap & simpleBuy
192
- // Hint: this.buildSimpleParamWithoutWETHConversion
193
- // could be useful
194
190
  async getSimpleParam(
195
191
  srcToken: string,
196
192
  destToken: string,
@@ -263,6 +259,7 @@ export class AngleStakedStable
263
259
  dexFuncHasRecipient: true,
264
260
  exchangeData: swapData,
265
261
  targetExchange: exchange,
262
+ returnAmountPos: undefined,
266
263
  };
267
264
  }
268
265
 
@@ -12,6 +12,7 @@ import { SimpleExchange } from '../simple-exchange';
12
12
  import BProtocolABI from '../../abi/BProtocol.json';
13
13
  import { IDexHelper } from '../../dex-helper';
14
14
  import { BProtocolData, BProtocolFunctions, BProtocolParam } from './types';
15
+ import { extractReturnAmountPosition } from '../../executor/utils';
15
16
 
16
17
  export class BProtocol
17
18
  extends SimpleExchange
@@ -95,6 +96,13 @@ export class BProtocol
95
96
  dexFuncHasRecipient: true,
96
97
  exchangeData: swapData,
97
98
  targetExchange: data.exchange,
99
+ returnAmountPos:
100
+ _side === SwapSide.SELL
101
+ ? extractReturnAmountPosition(
102
+ this.exchangeRouterInterface,
103
+ swapFunction,
104
+ )
105
+ : undefined,
98
106
  };
99
107
  }
100
108
  }
@@ -43,6 +43,7 @@ import BalancerCustomMulticallABI from '../../abi/BalancerCustomMulticall.json';
43
43
  import { NumberAsString, SwapSide } from '@paraswap/core';
44
44
  import { BigNumber, ethers } from 'ethers';
45
45
  import { SpecialDex } from '../../executor/types';
46
+ import { extractReturnAmountPosition } from '../../executor/utils';
46
47
 
47
48
  const {
48
49
  utils: { hexlify, hexZeroPad, solidityPack },
@@ -416,6 +417,14 @@ export class BalancerV1
416
417
  dexFuncHasRecipient: false,
417
418
  exchangeData: exchangeData,
418
419
  targetExchange: this.config.exchangeProxy,
420
+ returnAmountPos:
421
+ side === SwapSide.SELL
422
+ ? extractReturnAmountPosition(
423
+ BalancerV1.proxyIface,
424
+ swapFunction,
425
+ 'totalAmountOut',
426
+ )
427
+ : undefined,
419
428
  };
420
429
  }
421
430
 
@@ -1142,9 +1142,9 @@ export class BalancerV2
1142
1142
  sender = recipient = augustusV6
1143
1143
  else (so generic swaps)
1144
1144
  if sell
1145
- if swap.destToken = priceRoute.destToken <> ETH (need withdraw for eth currently, need fix in future)
1145
+ if swap.destToken = priceRoute.destToken <> ETH (need withdraw for eth currently, need fix in future)
1146
1146
  sender = executor and recipient = augustusV6 (skip 1 extra transfer)
1147
- else
1147
+ else
1148
1148
  sender = recipient = executor
1149
1149
  # note: we pass sender=null then the address of the executor is inferred contract side
1150
1150
  else (so buy)
@@ -1585,6 +1585,7 @@ export class BalancerV2
1585
1585
  exchangeData,
1586
1586
  specialDexFlag,
1587
1587
  targetExchange: this.vaultAddress,
1588
+ returnAmountPos: undefined,
1588
1589
  };
1589
1590
  }
1590
1591
 
@@ -13,6 +13,7 @@ import BancorABI from '../../abi/Bancor.json';
13
13
  import { IDexHelper } from '../../dex-helper';
14
14
  import { BancorData, BancorFunctions, BancorParam } from './types';
15
15
  import { BANCOR_NETWORK, BancorRegistry } from './config';
16
+ import { extractReturnAmountPosition } from '../../executor/utils';
16
17
 
17
18
  export class Bancor
18
19
  extends SimpleExchange
@@ -115,6 +116,13 @@ export class Bancor
115
116
  dexFuncHasRecipient: false,
116
117
  exchangeData: swapData,
117
118
  targetExchange: data.bancorNetwork || BANCOR_NETWORK[this.network],
119
+ returnAmountPos:
120
+ side === SwapSide.SELL
121
+ ? extractReturnAmountPosition(
122
+ this.exchangeRouterInterface,
123
+ swapMethod,
124
+ )
125
+ : undefined,
118
126
  };
119
127
  }
120
128
  }
@@ -867,6 +867,7 @@ export class Camelot
867
867
  transferSrcTokenBeforeSwap: data.isFeeTokenInRoute
868
868
  ? undefined
869
869
  : data.pools[0].address,
870
+ returnAmountPos: undefined,
870
871
  };
871
872
  }
872
873
  }
@@ -101,6 +101,7 @@ export class Compound
101
101
  dexFuncHasRecipient: false,
102
102
  exchangeData: swapData,
103
103
  targetExchange: cToken,
104
+ returnAmountPos: undefined,
104
105
  };
105
106
  }
106
107
  }
@@ -1075,6 +1075,7 @@ export class CurveV1
1075
1075
  sendEthButSupportsInsertFromAmount: true,
1076
1076
  dexFuncHasRecipient: false,
1077
1077
  targetExchange: exchange,
1078
+ returnAmountPos: undefined,
1078
1079
  };
1079
1080
  }
1080
1081
 
@@ -1176,6 +1176,7 @@ export class CurveV1Factory
1176
1176
  sendEthButSupportsInsertFromAmount: true,
1177
1177
  dexFuncHasRecipient: false,
1178
1178
  targetExchange: exchange,
1179
+ returnAmountPos: undefined,
1179
1180
  };
1180
1181
  }
1181
1182
 
@@ -434,6 +434,7 @@ export class CurveV2
434
434
  dexFuncHasRecipient: false,
435
435
  exchangeData: swapData,
436
436
  targetExchange: exchange,
437
+ returnAmountPos: undefined,
437
438
  };
438
439
  }
439
440
  }
@@ -1021,6 +1021,7 @@ export class Dexalot extends SimpleExchange implements IDex<DexalotData> {
1021
1021
  needWrapNative: this.needWrapNative,
1022
1022
  dexFuncHasRecipient: false,
1023
1023
  targetExchange: this.mainnetRFQAddress,
1024
+ returnAmountPos: undefined,
1024
1025
  };
1025
1026
  }
1026
1027
 
@@ -13,6 +13,7 @@ import { NumberAsString } from '@paraswap/core';
13
13
  import { IDexHelper } from '../../dex-helper';
14
14
  import { DodoV1Data, DodoV1Functions, DodoV1Param } from './types';
15
15
  import { DODOAproveAddress, DODOV2ProxyAddress } from './config';
16
+ import { extractReturnAmountPosition } from '../../executor/utils';
16
17
 
17
18
  export class DodoV1
18
19
  extends SimpleExchange
@@ -118,6 +119,14 @@ export class DodoV1
118
119
  exchangeData: swapData,
119
120
  targetExchange: DODOV2ProxyAddress[this.network],
120
121
  spender: DODOAproveAddress[this.network],
122
+ returnAmountPos:
123
+ _side === SwapSide.SELL
124
+ ? extractReturnAmountPosition(
125
+ this.dodoV2Proxy,
126
+ swapFunction,
127
+ 'returnAmount',
128
+ )
129
+ : undefined,
121
130
  };
122
131
  }
123
132
  }
@@ -13,6 +13,7 @@ import { NumberAsString } from '@paraswap/core';
13
13
  import { isETHAddress } from '../utils';
14
14
  import Web3 from 'web3';
15
15
  import { IDexHelper } from '../dex-helper';
16
+ import { extractReturnAmountPosition } from '../executor/utils';
16
17
 
17
18
  const DODOAproveAddress: { [network: number]: Address } = {
18
19
  [Network.MAINNET]: '0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149',
@@ -252,6 +253,14 @@ export class DodoV2
252
253
  exchangeData: swapData,
253
254
  targetExchange: data.dodoProxy,
254
255
  spender: maybeSpender,
256
+ returnAmountPos:
257
+ _side === SwapSide.SELL
258
+ ? extractReturnAmountPosition(
259
+ this.exchangeRouterInterface,
260
+ swapFunction,
261
+ 'returnAmount',
262
+ )
263
+ : undefined,
255
264
  };
256
265
  }
257
266
  }
@@ -15,6 +15,7 @@ import { IDexHelper } from '../dex-helper';
15
15
  import { isETHAddress } from '../utils';
16
16
  import { assert } from 'ts-essentials';
17
17
  import { WethFunctions } from './weth/types';
18
+ import { extractReturnAmountPosition } from '../executor/utils';
18
19
 
19
20
  type EtherFiData = void;
20
21
 
@@ -217,6 +218,7 @@ export class EtherFi
217
218
  srcAmount,
218
219
  ])
219
220
  : undefined,
221
+ returnAmountPos: extractReturnAmountPosition(Interface, swapFunction)
220
222
  };
221
223
  }
222
224
 
@@ -302,6 +302,7 @@ export class GenericRFQ extends ParaSwapLimitOrders {
302
302
  specialDexFlag: SpecialDex.SWAP_ON_AUGUSTUS_RFQ,
303
303
  targetExchange: this.augustusRFQAddress,
304
304
  specialDexSupportsInsertFromAmount: true,
305
+ returnAmountPos: undefined,
305
306
  };
306
307
  }
307
308
 
@@ -22,6 +22,7 @@ import { SimpleExchange } from '../simple-exchange';
22
22
  import { GMXConfig, Adapters } from './config';
23
23
  import { Vault } from './vault';
24
24
  import ERC20ABI from '../../abi/erc20.json';
25
+ import { extractReturnAmountPosition } from '../../executor/utils';
25
26
 
26
27
  const GMXGasCost = 300 * 1000;
27
28
 
@@ -231,6 +232,13 @@ export class GMX extends SimpleExchange implements IDex<GMXData> {
231
232
  swappedAmountNotPresentInExchangeData: true,
232
233
  exchangeData,
233
234
  targetExchange: this.params.vault,
235
+ returnAmountPos:
236
+ side === SwapSide.SELL
237
+ ? extractReturnAmountPosition(
238
+ Vault.interface,
239
+ 'swap',
240
+ )
241
+ : undefined,
234
242
  };
235
243
  }
236
244
 
@@ -1039,6 +1039,7 @@ export class Hashflow extends SimpleExchange implements IDex<HashflowData> {
1039
1039
  dexFuncHasRecipient: true,
1040
1040
  exchangeData,
1041
1041
  targetExchange: this.routerAddress,
1042
+ returnAmountPos: undefined,
1042
1043
  };
1043
1044
  }
1044
1045
 
package/src/dex/idex.ts CHANGED
@@ -53,7 +53,8 @@ export interface IDexTxBuilder<ExchangeData, DirectParam = null> {
53
53
  getTokenFromAddress?(address: Address): Token;
54
54
 
55
55
  // Encode params required by the exchange adapter
56
- // Used for multiSwap, buy & megaSwap
56
+ // V5: Used for multiSwap, buy & megaSwap
57
+ // V6: NOT used, pass a placeholder
57
58
  getAdapterParam(
58
59
  srcToken: Address,
59
60
  destToken: Address,
@@ -64,8 +65,9 @@ export interface IDexTxBuilder<ExchangeData, DirectParam = null> {
64
65
  ): AdapterExchangeParam;
65
66
 
66
67
  // Encode call data used by simpleSwap like routers
67
- // Used for simpleSwap & simpleBuy
68
- getSimpleParam(
68
+ // V5: Used for simpleSwap & simpleBuy
69
+ // V6: NOT used, don't implement
70
+ getSimpleParam?(
69
71
  srcToken: Address,
70
72
  destToken: Address,
71
73
  srcAmount: NumberAsString,
@@ -483,6 +483,7 @@ export class JarvisV6
483
483
  dexFuncHasRecipient: true,
484
484
  exchangeData,
485
485
  targetExchange: data.poolAddress.toLowerCase(),
486
+ returnAmountPos: undefined,
486
487
  };
487
488
  }
488
489
 
package/src/dex/jarvis.ts CHANGED
@@ -12,6 +12,7 @@ import { SimpleExchange } from './simple-exchange';
12
12
  import JarvisABI from '../abi/Jarvis.json';
13
13
  import Web3 from 'web3';
14
14
  import { IDexHelper } from '../dex-helper';
15
+ import { extractReturnAmountPosition } from '../executor/utils';
15
16
 
16
17
  const THIRTY_MINUTES = 60 * 30;
17
18
 
@@ -197,6 +198,8 @@ export class Jarvis
197
198
  const swapFunction = data.method;
198
199
  const timestamp = (Date.now() / 1000 + THIRTY_MINUTES).toFixed(0);
199
200
  let swapFunctionParams: JarvisParam;
201
+ let outputName: string;
202
+
200
203
  switch (swapFunction) {
201
204
  case JarvisFunctions.mint:
202
205
  swapFunctionParams = [
@@ -207,6 +210,7 @@ export class Jarvis
207
210
  timestamp,
208
211
  recipient,
209
212
  ];
213
+ outputName = 'syntheticTokensMinted';
210
214
  break;
211
215
  case JarvisFunctions.redeem:
212
216
  swapFunctionParams = [
@@ -217,6 +221,7 @@ export class Jarvis
217
221
  timestamp,
218
222
  recipient,
219
223
  ];
224
+ outputName = 'collateralRedeemed';
220
225
  break;
221
226
  case JarvisFunctions.exchange:
222
227
  swapFunctionParams = [
@@ -229,6 +234,7 @@ export class Jarvis
229
234
  timestamp,
230
235
  recipient,
231
236
  ];
237
+ outputName = 'destNumTokensMinted';
232
238
  break;
233
239
  default:
234
240
  throw new Error(`Unknown function ${swapFunction}`);
@@ -243,6 +249,14 @@ export class Jarvis
243
249
  dexFuncHasRecipient: true,
244
250
  exchangeData: swapData,
245
251
  targetExchange: data.pools[0],
252
+ returnAmountPos:
253
+ side === SwapSide.SELL
254
+ ? extractReturnAmountPosition(
255
+ this.poolInterface,
256
+ swapFunction,
257
+ outputName,
258
+ )
259
+ : undefined,
246
260
  };
247
261
  }
248
262
  }
@@ -38,6 +38,7 @@ import kyberDmmFactoryABI from '../../abi/kyberdmm/kyber-dmm-factory.abi.json';
38
38
  import kyberDmmPoolABI from '../../abi/kyberdmm/kyber-dmm-pool.abi.json';
39
39
  import KyberDmmExchangeRouterABI from '../../abi/kyberdmm/kyber-dmm-exchange-router.abi.json';
40
40
  import { getBigIntPow, getDexKeysWithNetwork } from '../../utils';
41
+ import { extractReturnAmountPosition } from '../../executor/utils';
41
42
 
42
43
  const MAX_TRACKED_PAIR_POOLS = 3;
43
44
 
@@ -262,6 +263,14 @@ export class KyberDmm
262
263
  dexFuncHasRecipient: true,
263
264
  exchangeData,
264
265
  targetExchange: data.router,
266
+ returnAmountPos:
267
+ side === SwapSide.SELL
268
+ ? extractReturnAmountPosition(
269
+ this.exchangeRouterInterface,
270
+ KyberDMMFunctions.swapExactTokensForTokens,
271
+ 'amounts',
272
+ )
273
+ : undefined,
265
274
  };
266
275
  }
267
276
 
@@ -14,6 +14,7 @@ import { LidoData, stETHFunctions } from './types';
14
14
  import { stETH } from './config';
15
15
  import { WethFunctions } from '../weth/types';
16
16
  import ERC20ABI from '../../abi/erc20.json';
17
+ import { extractReturnAmountPosition } from '../../executor/utils';
17
18
 
18
19
  export class Lido implements IDexTxBuilder<LidoData, any> {
19
20
  static dexKeys = ['lido'];
@@ -97,6 +98,13 @@ export class Lido implements IDexTxBuilder<LidoData, any> {
97
98
  srcAmount,
98
99
  ])
99
100
  : undefined,
101
+ returnAmountPos:
102
+ _side === SwapSide.SELL
103
+ ? extractReturnAmountPosition(
104
+ this.stETHInterface,
105
+ stETHFunctions.submit,
106
+ )
107
+ : undefined,
100
108
  };
101
109
  }
102
110
  }
@@ -541,6 +541,7 @@ export class MakerPsm extends SimpleExchange implements IDex<MakerPsmData> {
541
541
  targetExchange: data.psmAddress,
542
542
  specialDexFlag,
543
543
  spender: isGemSell ? data.gemJoinAddress : data.psmAddress,
544
+ returnAmountPos: undefined,
544
545
  };
545
546
  }
546
547
  // Returns list of top pools based on liquidity. Max
@@ -41,6 +41,7 @@ import {
41
41
  import { SUBGRAPH_TIMEOUT } from '../../constants';
42
42
  import RouterABI from '../../abi/maverick-v1/router.json';
43
43
  import { NumberAsString } from '@paraswap/core';
44
+ import { extractReturnAmountPosition } from '../../executor/utils';
44
45
 
45
46
  const MAX_POOL_CNT = 1000;
46
47
 
@@ -402,6 +403,14 @@ export class MaverickV1
402
403
  dexFuncHasRecipient: true,
403
404
  exchangeData,
404
405
  targetExchange: this.config.routerAddress,
406
+ returnAmountPos:
407
+ side === SwapSide.SELL
408
+ ? extractReturnAmountPosition(
409
+ this.routerIface,
410
+ MaverickV1Functions.exactInputSingle,
411
+ 'amountOut',
412
+ )
413
+ : undefined,
405
414
  };
406
415
  }
407
416
 
@@ -33,6 +33,7 @@ import { NerveConfig, Adapters, NERVE_GAS_COST } from './config';
33
33
  import { NerveEventPool } from './nerve-pool';
34
34
  import _ from 'lodash';
35
35
  import { bigIntify } from './utils';
36
+ import { extractReturnAmountPosition } from '../../executor/utils';
36
37
 
37
38
  export class Nerve
38
39
  extends SimpleExchange
@@ -382,6 +383,13 @@ export class Nerve
382
383
  dexFuncHasRecipient: false,
383
384
  exchangeData: swapData,
384
385
  targetExchange: exchange,
386
+ returnAmountPos:
387
+ side === SwapSide.SELL
388
+ ? extractReturnAmountPosition(
389
+ this.nervePoolIface,
390
+ NervePoolFunctions.swap,
391
+ )
392
+ : undefined,
385
393
  };
386
394
  }
387
395